Registry / productivity / feelers

feelers

JSON →
library1.5.1jsnpmunverified

FEELers is a string templating library built on top of DMN FEEL (Friendly Enough Expression Language), similar to Mustache or Handlebars. Version 1.5.1 (stable) is maintained under the bpmn-io organization. It provides a Lezer grammar/parser, a CodeMirror editor integration, and an interpreter using the feelin engine. Key differentiators: uses FEEL expressions for logic, supports conditionals (#if), loops (#loop), and variable inserts ({{}}).

npm install feelers
INSTALL
IMPORT
SIG · FEELERS
F
feelers
productivityjavascriptv1.5.1
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.

evaluate
import { evaluate } from 'feelers'
const evaluate = require('feelers')
ESM-only; default export not available
createEditor
import { createEditor } from 'feelers'
import createEditor from 'feelers'
Named export for CodeMirror editor
language
import { language } from 'feelers'
import { feelersLanguage } from 'feelers'
Lezer language definition object

Shows basic evaluate usage: plain strings, FEEL expressions, inserts, conditionals, and loops.

import { evaluate } from 'feelers'; const context = { user: 'Dave', hobbies: ['surfing', 'coding'] }; // Simple string console.log(evaluate('Hello World', context)); // 'Hello World' // FEEL expression console.log(evaluate('= 2 + 3', context)); // '5' // Template with inserts console.log(evaluate('Hello {{user}}', context)); // 'Hello Dave' // Conditional section console.log(evaluate('{{#if true}}Visible{{/if}}', context)); // 'Visible' // Loop console.log(evaluate('{{#loop hobbies}}- {{this}}\n{{/loop}}', context)); // '- surfing\n- coding\n'
Debug
Known issues
gotchaTemplate evaluation always returns string or Error. Do not expect objects or arrays.
fix
Use FEEL expression (=) for object conversion and stringify manually.
affects: >=1.0
gotchaLoop variable 'this' refers to current element; 'name' resolution only works if array element is object. For primitives use {{this}}.
fix
Use {{this}} for primitive values in loops.
affects: >=1.0
deprecatedThe 'createEditor' function may be deprecated in favor of new CodeMirror integration.
fix
Check documentation for latest editor setup.
affects: >=1.5
Errors
Common errors & fixes
Error: FEEL evaluation error: <error message>
Invalid FEEL expression syntax
fix
Ensure FEEL syntax is correct, e.g., check keywords, operators, and context variables.
TypeError: evaluate is not a function
CommonJS require instead of ESM import
fix
Use `import { evaluate } from 'feelers'` instead of `require('feelers')`.
Error: Template syntax error at line X
Mismatched or unclosed tags like {{#if}} without {{/if}}
fix
Ensure all opened sections are properly closed.
Upgrade
Version history
1.5.1latest on npm
Audit
Dependencies
feelinrequiredFEEL expression evaluation engine
lezerrequiredLezer parser for grammar
Agent activity
31 hits · last 30 days
node
30
OpenAI (training)
1
Resources
feelers — npm install feelers · libregistry