{"versions":{"6.1.0":{"name":"@bpmn-io/feelin","version":"6.1.0","description":"A FEEL parser and interpreter","author":{"name":"Nico Rehwaldt","email":"git_nikku@nixis.de"},"license":"MIT","type":"module","source":"./src/index.ts","types":"./dist/index.d.ts","main":"./dist/index.js","exports":{".":"./dist/index.js","./package.json":"./package.json"},"publishConfig":{"access":"public"},"devDependencies":{"@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.3.0","@types/luxon":"^3.7.1","@types/mocha":"^10.0.10","chai":"^6.2.2","chokidar-cli":"^3.0.0","eslint":"^9.39.1","eslint-plugin-bpmn-io":"^2.2.0","fast-glob":"^3.3.3","mocha":"^11.7.5","npm-run-all2":"^8.0.4","rollup":"^4.53.3","saxen":"^11.0.0","source-map-support":"^0.5.21","strip-indent":"^4.1.1","tslib":"^2.8.1","typescript":"^5.9.3","typescript-eslint":"^8.48.0"},"dependencies":{"@bpmn-io/lezer-feel":"^2.1.0","@lezer/common":"^1.5.0","luxon":"^3.7.2","min-dash":"^5.0.0"},"repository":{"type":"git","url":"git+https://github.com/bpmn-io/feelin.git"},"engines":{"node":">= 20.12.0"},"sideEffects":false,"scripts":{"all":"run-s lint build generate-typings test lint:types","lint":"eslint .","lint:types":"tsc --noEmit --lib es2019 test/types.ts","build":"rollup -c --bundleConfigAsCjs","build:dev":"npm run build -- --watch","dev":"run-p *:dev","generate-typings":"tsc --emitDeclarationOnly --declaration --outDir dist","prepare":"run-s build generate-typings","test":"mocha -r source-map-support/register test/*-spec.js test/*-spec.cjs","test:dev":"chokidar '{dist,test}/**/*.js' -c 'npm test'","tck":"run-s tck:extract tck:test","tck:extract":"node tasks/extract-tck-tests.js","tck:test":"mocha --reporter=test/reporters/tck.cjs -r source-map-support/register test/tck/*.js"},"gitHead":"194e531212cd15e091eb1d63eba7ca469fbb8f6b","_id":"@bpmn-io/feelin@6.1.0","bugs":{"url":"https://github.com/bpmn-io/feelin/issues"},"homepage":"https://github.com/bpmn-io/feelin#readme","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-nqmmlHRD9tl0ZcpYTEkZdpc/rAMoYc+ct0SOg9fFIFWRaEApme3DuXC7v9AMA5g+upGCKd6cUc3t97y+unpfMw==","shasum":"f612f8784ce5badfa9a31b974a705fb7b3ef8759","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@bpmn-io/feelin/-/feelin-6.1.0.tgz","fileCount":12,"unpackedSize":252855,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDReJ+yxL+RoG1GC27kRuMMY8A2bmdYYbpguYPeKgYGmQIhAJLmaBmA/VLXrw2vz85fQ72ElpJpW0n8+Z8E284HMI4E"}],"size":51293},"_npmUser":{"name":"anonymous","email":"git_nikku@nixis.de"},"directories":{},"maintainers":[{"name":"anonymous","email":"bpmnio@camunda.com"},{"name":"anonymous","email":"git_nikku@nixis.de"},{"name":"anonymous","email":"maciejbarel@gmail.com"},{"name":"anonymous","email":"philippfromme@outlook.com"},{"name":"anonymous","email":"maximilian.trumpf@camunda.com"},{"name":"anonymous","email":"valentin.serra@camunda.com"},{"name":"anonymous","email":"vinicius@vsgoulart.com"},{"name":"anonymous","email":"ali.barin53@gmail.com"},{"name":"anonymous","email":"jarek.danielak@camunda.com"},{"name":"anonymous","email":"alekseyManetov@gmail.com"},{"name":"anonymous","email":"simon.steinruecken@camunda.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/feelin_6.1.0_1770205265801_0.693422814711153"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-04T11:41:05.952Z","publish_time":1770205265952,"_source_registry_name":"default","contributors":[]}},"dist-tags":{"latest":"6.1.0"},"name":"@bpmn-io/feelin","time":{"created":"2026-02-06T07:15:48.057Z","modified":"2026-05-04T11:47:48.602Z","6.1.0":"2026-02-04T11:41:05.952Z"},"readme":"# @bpmn-io/feelin\n\n[![CI](https://github.com/bpmn-io/feelin/actions/workflows/CI.yml/badge.svg)](https://github.com/bpmn-io/feelin/actions/workflows/CI.yml)\n\n> [!NOTE]\n> This is a fork of [feelin](https://github.com/nikku/feelin)\n\nA [DMN](https://www.omg.org/spec/DMN/) FEEL parser and interpreter written in JavaScript. [__:arrow_right: Try it out__](https://nikku.github.io/feel-playground).\n\n\n## Usage\n\n```javascript\nimport {\n  unaryTest,\n  evaluate\n} from '@bpmn-io/feelin';\n\nunaryTest('1', { '?': 1 }); // { value: true, warnings: [] }\nunaryTest('[1..end]', { '?': 1, end: 10 }); // { value: true, warnings: [] }\n\nevaluate(\"Mike's daughter.name\", {\n  'Mike\\'s daughter.name': 'Lisa'\n}); // { value: 'Lisa', warnings: [] }\n\nevaluate('for a in [1, 2, 3] return a * 2'); // { value: [ 2, 4, 6 ], ... }\n\nevaluate('every rate in rates() satisfies rate < 10', {\n  rates() {\n    return [ 10, 20 ];\n  }\n}); // { value: false, warnings: [] }\n```\n\nTo understand `null` conversions due to errors, inspect `warnings` returned:\n\n```javascript\nconst { value, warnings } = evaluate('x');\n\nconsole.log(warnings);\n// [\n//   {\n//     message: \"Variable 'x' not found\",\n//     type: 'NO_VARIABLE_FOUND',\n//     position: { from: 0, to: 1 },\n//   }\n// ]\n```\n\n## Features\n\n* [x] Recognizes full FEEL grammar\n* [x] Context sensitive (incl. names with spaces)\n* [x] Recovers on errors\n* [x] Temporal types and operations\n* [x] Built-in FEEL functions\n* [ ] Full [DMN TCK](https://github.com/dmn-tck/tck) compliance (cf. [coverage](./docs/DMN_TCK.md))\n\n\n## Build and Run\n\n```sh\n# build the library and run all tests\nnpm run all\n\n# spin up for local development\nnpm run dev\n\n# execute FEEL tests in DMN TCK\nnpm run tck\n```\n\n\n## Related\n\n* [lezer-feel](https://github.com/nikku/lezer-feel) - FEEL language definition for the [Lezer](https://lezer.codemirror.net/) parser system\n* [feel-playground](https://github.com/nikku/feel-playground) - Interactive playground to learn the FEEL language\n\n\n## License\n\nMIT","users":{}}