Registry / serialization / incremental-bars

incremental-bars

JSON →
library1.0.6jsnpmunverified

incremental-bars is a build-time tool that compiles standard Handlebars templates to incremental-dom instructions, enabling DOM patching instead of string replacement. Version 1.0.6, with no recent updates (appears unmaintained since ~2016). It supports all native Handlebars features (partials, block helpers, decorators) without rewriting Handlebars, unlike HtmlBars. The library is framework-agnostic and designed for precompilation, not runtime browser use. Key differentiators: reuse existing templates, no Handlebars fork, linear instruction representation.

npm install incremental-bars
INSTALL
IMPORT
SIG · INCREMENTAL-BARS
I
incremental-bars
serializationjavascriptv1.0.6
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
const Handlebars = require('incremental-bars');
import Handlebars from 'incremental-bars'; // ESM not supported
CommonJS only; yields a modified Handlebars instance.
precompile
const Handlebars = require('incremental-bars'); Handlebars.precompile(template, { transpilerOptions: { mode: 'incremental-dom' } });
Handlebars.precompile(template); // missing transpilerOptions, defaults to html
Must pass transpilerOptions with mode to get incremental-dom output.
compile
const Handlebars = require('incremental-bars'); const template = Handlebars.compile(source, { transpilerOptions: { mode: 'incremental-dom' } });
require('incremental-bars').compile(source); // no transpilerOptions
Same as precompile; without options, behaves like standard Handlebars.

Demonstrates compiling a Handlebars template to incremental-dom instructions and patching a DOM element.

const Handlebars = require('incremental-bars'); const IncrementalDOM = require('incremental-dom'); const source = '<div>{{name}}</div>'; const template = Handlebars.compile(source, { transpilerOptions: { mode: 'incremental-dom' } }); const data = { name: 'World' }; const patch = (node) => { IncrementalDOM.patch(node, () => { template(data); }); }; const el = document.createElement('div'); patch(el); console.log(el.innerHTML); // '<div>World</div>' // Re-render with new data data.name = 'Universe'; patch(el); console.log(el.innerHTML); // '<div>Universe</div>'
incremental-bars --version
Debug
Known issues
gotchaMust pass transpilerOptions to compile/precompile; otherwise acts like standard Handlebars string output.
fix
Add { transpilerOptions: { mode: 'incremental-dom' } } to compile/precompile options.
affects: >=1.0.0
deprecatedProject appears unmaintained; last release 2016, no updates for incremental-dom changes.
fix
Consider alternatives like lit-html or handlebars-incremental-dom if active support needed.
affects: <=1.0.6
gotchaOnly works with CommonJS require(); no ESM or TypeScript definitions.
fix
Use require() in Node.js; for TypeScript, add a custom declare module or use dynamic import.
affects: >=1.0.0
gotchaRuntime use in browser not recommended; intended as build-time precompiler.
fix
Precompile templates at build time and include the output JS in browser.
affects: >=1.0.0
gotchaRequires incremental-dom to be loaded/required at runtime for patch() calls.
fix
Ensure incremental-dom is installed and required in the runtime environment.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: Handlebars.compile is not a function
Incorrect import: imported from 'handlebars' instead of 'incremental-bars'.
fix
Use require('incremental-bars') instead of require('handlebars').
Cannot find module 'incremental-dom'
Missing peer dependency incremental-dom.
fix
Run: npm install incremental-dom
Template compiled without transpilerOptions; output is HTML string, not DOM instructions.
Missing transpilerOptions.mode in compile/precompile options.
fix
Pass { transpilerOptions: { mode: 'incremental-dom' } } to compile/precompile.
Upgrade
Version history
1.0.6latest on npm
Audit
Dependencies
handlebarsrequiredpeer dependency - requires Handlebars to compile templates
incremental-domrequiredruntime dependency for DOM patching instructions
Agent activity
4 hits · last 30 days
node
4
Resources
incremental-bars — npm install incremental-bars · libregistry