{"_id":"@bpmn-io/feel-analyzer","_rev":"12-7040be23b05b3094318c69440ab0c0b6","name":"@bpmn-io/feel-analyzer","dist-tags":{"latest":"0.5.1"},"versions":{"0.1.0":{"name":"@bpmn-io/feel-analyzer","version":"0.1.0","keywords":["feel","bpmn-io","analyzer"],"author":{"url":"https://github.com/Buckwich","name":"Simon Steinrücken"},"license":"MIT","_id":"@bpmn-io/feel-analyzer@0.1.0","maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"},{"name":"simon-steinruecken-camunda","email":"simon.steinruecken@camunda.com"}],"contributors":[{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"}],"homepage":"https://github.com/bpmn-io/feel-analyzer#readme","bugs":{"url":"https://github.com/bpmn-io/feel-analyzer/issues"},"dist":{"shasum":"8c0748ac3c0d69dd5a587235dd8f55903458a3dc","tarball":"https://registry.npmjs.org/@bpmn-io/feel-analyzer/-/feel-analyzer-0.1.0.tgz","fileCount":21,"integrity":"sha512-lQp3EZY6WbBI0y0PwnlXIk+fJO9yZpotFbd2a1UaIrule9i+wk9au99J+Md1RjT38GiqcBzk2mMftRkRb8Iezg==","signatures":[{"sig":"MEUCIEK9Dlt5NId4Wk2x+Qrs1VHAkoZxlQtQyGnQap7W83ZZAiEA0hQS5V9z7z9XlE4yvzt1ZZFdkAfpuMUQUdQw1qmcpkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58725},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">= 20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"aabe1673dcc2b7e566d39f7365debfb7ada94a9d","scripts":{"all":"run-s lint test build","lint":"eslint .","test":"mocha --node-option import=tsx test/**/*.spec.ts","build":"rollup -c","prepare":"npm run build"},"_npmUser":{"name":"simon-steinruecken-camunda","email":"simon.steinruecken@camunda.com"},"repository":{"url":"git+https://github.com/bpmn-io/feel-analyzer.git","type":"git"},"_npmVersion":"11.10.0","description":"Static FEEL expression analyzer","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"@bpmn-io/lezer-feel":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","chai":"^6.2.2","mocha":"^11.7.5","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.57.1","typescript":"^5.9.3","@types/chai":"^5.2.3","@types/mocha":"^10.0.10","npm-run-all2":"^8.0.4","typescript-eslint":"^8.54.0","eslint-plugin-bpmn-io":"^2.2.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/feel-analyzer_0.1.0_1771445745256_0.367758979122192","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bpmn-io/feel-analyzer","version":"0.2.0","keywords":["feel","bpmn-io","analyzer"],"author":{"url":"https://github.com/Buckwich","name":"Simon Steinrücken"},"license":"MIT","_id":"@bpmn-io/feel-analyzer@0.2.0","maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"contributors":[{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"}],"homepage":"https://github.com/bpmn-io/feel-analyzer#readme","bugs":{"url":"https://github.com/bpmn-io/feel-analyzer/issues"},"dist":{"shasum":"771a236e729c7ba88a9e7a6bddbaeed160f01551","tarball":"https://registry.npmjs.org/@bpmn-io/feel-analyzer/-/feel-analyzer-0.2.0.tgz","fileCount":19,"integrity":"sha512-5qz4snQgNxkhKrKj6gB6qM4D8KxM/QZDT7DqHHEkwr3eXsUz6+tgbeVgeXMb6M2aeEHyAz5LmTvHyditifTQ6A==","signatures":[{"sig":"MEUCIHhL/KyGoi9HKrIEILnfzsftqJlEwSFs00yxQBHmOqNYAiEAyrLO0GK16+rPgQcF9K9hR+XH/2WQUOP9B7/KH/Nwml8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60003},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">= 20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7a076374b75e54b7bf768bfbe022ce41734fe497","scripts":{"all":"run-s lint test build","lint":"eslint .","test":"mocha --node-option import=tsx test/**/*.spec.ts","build":"rollup -c","prepare":"npm run build"},"_npmUser":{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},"repository":{"url":"git+https://github.com/bpmn-io/feel-analyzer.git","type":"git"},"_npmVersion":"11.11.0","description":"Static FEEL expression analyzer","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@bpmn-io/lezer-feel":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","chai":"^6.2.2","mocha":"^11.7.5","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.57.1","typescript":"^5.9.3","@types/chai":"^5.2.3","@types/mocha":"^10.0.10","npm-run-all2":"^8.0.4","typescript-eslint":"^8.54.0","eslint-plugin-bpmn-io":"^2.2.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/feel-analyzer_0.2.0_1778227130694_0.27125401547606187","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bpmn-io/feel-analyzer","version":"0.2.1","keywords":["feel","bpmn-io","analyzer"],"author":{"url":"https://github.com/Buckwich","name":"Simon Steinrücken"},"license":"MIT","_id":"@bpmn-io/feel-analyzer@0.2.1","maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"contributors":[{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"}],"homepage":"https://github.com/bpmn-io/feel-analyzer#readme","bugs":{"url":"https://github.com/bpmn-io/feel-analyzer/issues"},"dist":{"shasum":"88a7edb1a34813f3115e311ff055f92727b153c5","tarball":"https://registry.npmjs.org/@bpmn-io/feel-analyzer/-/feel-analyzer-0.2.1.tgz","fileCount":19,"integrity":"sha512-n9vYG0NmcaXDwXsjlVKczkX5d/5JfSaewAdtV7EMLoptw040BtKCfD2JTiXHgpMXpC7NWgmojnWycvfsKnidFw==","signatures":[{"sig":"MEYCIQCriWhJXEmDiZITb04GxTHelFVoz46qc0shpKUodG5iGgIhAJvGa4mqpijlspshtIa9D5jriilghi1JDk97yLlhsntB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60063},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">= 20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"29f5163794e63b1c0d53b58cf7f479efa4ae697c","scripts":{"all":"run-s lint test build","lint":"eslint .","test":"mocha --node-option import=tsx test/**/*.spec.ts test/**/*.spec.cjs","build":"rollup -c","prepare":"npm run build"},"_npmUser":{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},"repository":{"url":"git+https://github.com/bpmn-io/feel-analyzer.git","type":"git"},"_npmVersion":"11.11.0","description":"Static FEEL expression analyzer","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@bpmn-io/lezer-feel":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","chai":"^6.2.2","mocha":"^11.7.5","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.57.1","typescript":"^5.9.3","@types/chai":"^5.2.3","@types/mocha":"^10.0.10","npm-run-all2":"^8.0.4","typescript-eslint":"^8.54.0","eslint-plugin-bpmn-io":"^2.2.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/feel-analyzer_0.2.1_1778236991900_0.6057629252923551","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@bpmn-io/feel-analyzer","version":"0.2.2","keywords":["feel","bpmn-io","analyzer"],"author":{"url":"https://github.com/Buckwich","name":"Simon Steinrücken"},"license":"MIT","_id":"@bpmn-io/feel-analyzer@0.2.2","maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"contributors":[{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"}],"homepage":"https://github.com/bpmn-io/feel-analyzer#readme","bugs":{"url":"https://github.com/bpmn-io/feel-analyzer/issues"},"dist":{"shasum":"0f2acd684a25de294da91aceec39f1f44dfcc3e6","tarball":"https://registry.npmjs.org/@bpmn-io/feel-analyzer/-/feel-analyzer-0.2.2.tgz","fileCount":19,"integrity":"sha512-tol+bCFVWjj9kcG7BcVMJbqUKGQZv8p2hNSxL1/SJcJuMxqOyXjDeYdGe/PHz7OPGbBmaWQT8UPi5Tm8yeM9Yw==","signatures":[{"sig":"MEUCIQCVcI3sbBe8FAyBDS5Kgq9Uv9Fh9W/Bb6z8+Zk513ysdgIgC5wCxjEuEkQ5kXpKVIFPXbYyvhB4HYjcszoPtN/JWU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64391},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">= 20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"8b1aeab7051c307d30ea89bf4bd6a5f9e2000efb","scripts":{"all":"run-s lint test build","lint":"eslint .","test":"mocha --node-option import=tsx test/**/*.spec.ts test/**/*.spec.cjs","build":"rollup -c","prepare":"npm run build"},"_npmUser":{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},"repository":{"url":"git+https://github.com/bpmn-io/feel-analyzer.git","type":"git"},"_npmVersion":"11.11.0","description":"Static FEEL expression analyzer","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@bpmn-io/lezer-feel":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","chai":"^6.2.2","mocha":"^11.7.5","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.57.1","typescript":"^5.9.3","@types/chai":"^5.2.3","@types/mocha":"^10.0.10","npm-run-all2":"^8.0.4","typescript-eslint":"^8.54.0","eslint-plugin-bpmn-io":"^2.2.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/feel-analyzer_0.2.2_1778589102047_0.27852782764504935","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bpmn-io/feel-analyzer","version":"0.3.0","keywords":["feel","bpmn-io","analyzer"],"author":{"url":"https://github.com/Buckwich","name":"Simon Steinrücken"},"license":"MIT","_id":"@bpmn-io/feel-analyzer@0.3.0","maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"contributors":[{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"}],"homepage":"https://github.com/bpmn-io/feel-analyzer#readme","bugs":{"url":"https://github.com/bpmn-io/feel-analyzer/issues"},"dist":{"shasum":"773896ab15fd496a8c04354ace4f97c391945263","tarball":"https://registry.npmjs.org/@bpmn-io/feel-analyzer/-/feel-analyzer-0.3.0.tgz","fileCount":21,"integrity":"sha512-TJjNDg9c8f3Vg9rPuUTMV1vKQfX2mZGejyTUAzOWy4KXjqMTRG1PxlpAma5P444niivnZPtEukHgvO8R3aGd3g==","signatures":[{"sig":"MEUCIELp9RuaYsvGpE2eFkeAkMnbU9nl3m+JAy4/8xWfHbNAAiEA76Wbzrp6qBYYCHn8ynh0vnzHM+2uF/3QRswbePJ+/5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65412},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">= 20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"c5e651e932de097b0dee0ff8b9c3993a0750e2d9","scripts":{"all":"run-s lint test build","lint":"eslint .","test":"mocha --node-option import=tsx test/**/*.spec.ts test/**/*.spec.cjs","build":"rollup -c","prepare":"npm run build"},"_npmUser":{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},"repository":{"url":"git+https://github.com/bpmn-io/feel-analyzer.git","type":"git"},"_npmVersion":"11.11.0","description":"Static FEEL expression analyzer","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@bpmn-io/lezer-feel":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","chai":"^6.2.2","mocha":"^11.7.5","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.57.1","typescript":"^5.9.3","@types/chai":"^5.2.3","@types/mocha":"^10.0.10","npm-run-all2":"^8.0.4","typescript-eslint":"^8.54.0","eslint-plugin-bpmn-io":"^2.2.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/feel-analyzer_0.3.0_1779193339768_0.89207918766645","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bpmn-io/feel-analyzer","version":"0.4.0","keywords":["feel","bpmn-io","analyzer"],"author":{"url":"https://github.com/Buckwich","name":"Simon Steinrücken"},"license":"MIT","_id":"@bpmn-io/feel-analyzer@0.4.0","maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"contributors":[{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"}],"homepage":"https://github.com/bpmn-io/feel-analyzer#readme","bugs":{"url":"https://github.com/bpmn-io/feel-analyzer/issues"},"dist":{"shasum":"4e586776399390dcb9b719355e894851694eaea9","tarball":"https://registry.npmjs.org/@bpmn-io/feel-analyzer/-/feel-analyzer-0.4.0.tgz","fileCount":21,"integrity":"sha512-L0NpjcLhUI7L7TfRYpWv8tNGVciQQGJQurys1mSk4bQsdxnOcAQqiHGmiaV0ZHclVgVy5wd96qImb1hL497nAA==","signatures":[{"sig":"MEYCIQDJAndSns3g6DgGA3Ci4/GOBhG/hGqklPhTduLeotqQ9wIhAPhDHWnCVP90xgmX9p04DzVw/yjEKPq2DOrkW/ltwWZx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65180},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">= 20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"7fc1dc872458f98c6e7beb90d4a63309a98ed631","scripts":{"all":"run-s lint test build","lint":"eslint .","test":"mocha --node-option import=tsx test/**/*.spec.ts test/**/*.spec.cjs","build":"rollup -c","prepare":"npm run build"},"_npmUser":{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},"repository":{"url":"git+https://github.com/bpmn-io/feel-analyzer.git","type":"git"},"_npmVersion":"11.13.0","description":"Static FEEL expression analyzer","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@bpmn-io/lezer-feel":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","chai":"^6.2.2","mocha":"^11.7.5","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.57.1","typescript":"^5.9.3","@types/chai":"^5.2.3","@types/mocha":"^10.0.10","npm-run-all2":"^8.0.4","typescript-eslint":"^8.54.0","eslint-plugin-bpmn-io":"^2.2.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/feel-analyzer_0.4.0_1782907926793_0.04970030049756624","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bpmn-io/feel-analyzer","version":"0.5.0","keywords":["feel","bpmn-io","analyzer"],"author":{"url":"https://github.com/Buckwich","name":"Simon Steinrücken"},"license":"MIT","_id":"@bpmn-io/feel-analyzer@0.5.0","maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"contributors":[{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"}],"homepage":"https://github.com/bpmn-io/feel-analyzer#readme","bugs":{"url":"https://github.com/bpmn-io/feel-analyzer/issues"},"dist":{"shasum":"23af1550451c8498e2a21df41298e99dd6d4fd79","tarball":"https://registry.npmjs.org/@bpmn-io/feel-analyzer/-/feel-analyzer-0.5.0.tgz","fileCount":21,"integrity":"sha512-g1H9MMkVH94fl0Hz2MiZ+AU2hnVTL+qsz8MvXx9xz+lBgBSp3tY342Vrxrzt36H8QqE4fn9noJc1emNA9BE3Dg==","signatures":[{"sig":"MEUCICGgFvvV86MiSZlC5v6KYKcHsCE3jaH0z0vpY5W8p0TnAiEAuIVRi+fuKXeOeKtUUWq5Dy/hDcis6HuMTPbbGmBB6kE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65899},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">= 20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"9f1240999b8e672cd0e7842e5d72ae7c8679e0ed","scripts":{"all":"run-s lint test build","lint":"eslint .","test":"mocha --node-option import=tsx test/**/*.spec.ts test/**/*.spec.cjs","build":"rollup -c","prepare":"npm run build"},"_npmUser":{"name":"barmac","email":"maciejbarel@gmail.com"},"repository":{"url":"git+https://github.com/bpmn-io/feel-analyzer.git","type":"git"},"_npmVersion":"11.17.0","description":"Static FEEL expression analyzer","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@lezer/common":"^1.5.2","@bpmn-io/lezer-feel":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","chai":"^6.2.2","mocha":"^11.7.5","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.57.1","typescript":"^5.9.3","@types/chai":"^5.2.3","@types/mocha":"^10.0.10","npm-run-all2":"^8.0.4","typescript-eslint":"^8.54.0","eslint-plugin-bpmn-io":"^2.2.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/feel-analyzer_0.5.0_1783516788120_0.6200088226344205","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@bpmn-io/feel-analyzer","version":"0.5.1","description":"Static FEEL expression analyzer","license":"MIT","type":"module","sideEffects":false,"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"all":"run-s lint test build","lint":"eslint .","test":"mocha --node-option import=tsx test/**/*.spec.ts test/**/*.spec.cjs","build":"rollup -c","prepare":"npm run build"},"dependencies":{"@bpmn-io/lezer-feel":"^3.0.1","@lezer/common":"^1.5.2"},"devDependencies":{"@rollup/plugin-node-resolve":"^16.0.3","@rollup/plugin-typescript":"^12.3.0","@types/chai":"^5.2.3","@types/mocha":"^10.0.10","chai":"^6.2.2","eslint":"^9.39.2","eslint-plugin-bpmn-io":"^2.2.0","mocha":"^11.7.5","npm-run-all2":"^8.0.4","rollup":"^4.57.1","tslib":"^2.8.1","tsx":"^4.21.0","typescript":"^5.9.3","typescript-eslint":"^8.54.0"},"engines":{"node":">= 20"},"repository":{"type":"git","url":"git+https://github.com/bpmn-io/feel-analyzer.git"},"homepage":"https://github.com/bpmn-io/feel-analyzer#readme","bugs":{"url":"https://github.com/bpmn-io/feel-analyzer/issues"},"author":{"name":"Simon Steinrücken","url":"https://github.com/Buckwich"},"contributors":[{"name":"bpmn.io contributors","url":"https://github.com/bpmn-io"}],"keywords":["feel","bpmn-io","analyzer"],"gitHead":"bd61743c1d0b4359449859d34e573bc891929ed2","_id":"@bpmn-io/feel-analyzer@0.5.1","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-On6hWdV9gwrXK/+VDqqllgbJtwSI4v98pA+3LhvcSKMMEy9IdlvcB8GntsPLg4ROLh4vrsu/o9opp/vIpdBSLA==","shasum":"9985351cb8a4d5fbb55c9a95c0e2725e6e1bf495","tarball":"https://registry.npmjs.org/@bpmn-io/feel-analyzer/-/feel-analyzer-0.5.1.tgz","fileCount":21,"unpackedSize":67124,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDAISy6w+8zBOzBgjVeSY0+6oczaMPYFWSCoTeVoT84lQIhAK+ucatkYMBBju1l7KGIXTd8he+uQY0AfG5JK6ONXbDm"}]},"_npmUser":{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},"directories":{},"maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/feel-analyzer_0.5.1_1788873855901_0.1429796439337312"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-18T20:15:45.101Z","modified":"2026-09-08T13:24:16.210Z","0.1.0":"2026-02-18T20:15:45.391Z","0.2.0":"2026-05-08T07:58:50.876Z","0.2.1":"2026-05-08T10:43:12.041Z","0.2.2":"2026-05-12T12:31:42.209Z","0.3.0":"2026-05-19T12:22:19.928Z","0.4.0":"2026-07-01T12:12:06.916Z","0.5.0":"2026-07-08T13:19:48.264Z","0.5.1":"2026-09-08T13:24:16.015Z"},"bugs":{"url":"https://github.com/bpmn-io/feel-analyzer/issues"},"author":{"name":"Simon Steinrücken","url":"https://github.com/Buckwich"},"license":"MIT","homepage":"https://github.com/bpmn-io/feel-analyzer#readme","keywords":["feel","bpmn-io","analyzer"],"repository":{"type":"git","url":"git+https://github.com/bpmn-io/feel-analyzer.git"},"description":"Static FEEL expression analyzer","contributors":[{"name":"bpmn.io contributors","url":"https://github.com/bpmn-io"}],"maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"readme":"# FEEL Analyzer\n\n> A library for analyzing FEEL (Friendly Enough Expression Language) expressions.\n\n[![CI](https://github.com/bpmn-io/feel-analyzer/workflows/CI/badge.svg)](https://github.com/bpmn-io/feel-analyzer/actions?query=workflow%3ACI)\n\n## Installation\n\n```bash\nnpm install @bpmn-io/feel-analyzer\n```\n\n## Usage\n\nTo get started, create a `FeelAnalyzer` instance:\n\n```javascript\nimport { FeelAnalyzer } from '@bpmn-io/feel-analyzer';\n\nconst analyzer = new FeelAnalyzer();\n```\n\nAnalyze a FEEL expression to extract input variables:\n\n```javascript\nconst result = analyzer.analyzeExpression('x + y');\n\nconsole.log(result.valid); // true\nconsole.log(result.inputs);\n// [\n//   { name: 'x' },\n//   { name: 'y' }\n// ]\n```\n\nConfigure the FEEL dialect (expression or unary tests):\n\n```javascript\nconst analyzer = new FeelAnalyzer({\n  dialect: 'unaryTests' // defaults to 'expression'\n});\n```\n\n### Builtins\n\nYou can provide `builtins` and `reservedNameBuiltins` to exclude built-in names from input detection. Use [`@camunda/feel-builtins`](https://github.com/camunda/feel-builtins) to supply these:\n\n```javascript\nimport { FeelAnalyzer } from '@bpmn-io/feel-analyzer';\nimport { builtins, reservedNameBuiltins } from '@camunda/feel-builtins';\n\nconst analyzer = new FeelAnalyzer({\n  dialect: 'expression',\n  parserDialect: 'camunda',\n  builtins,\n  reservedNameBuiltins\n});\n\nconst result = analyzer.analyzeExpression('sum(orders.amount) > 100');\n\nconsole.log(result.inputs);\n// [\n//   {\n//     name: 'orders',\n//     type: 'List',\n//     entries: [\n//       { name: 'amount' }\n//     ]\n//   }\n// ]\n```\n\n### Input Variables\n\nThe analyzer extracts input variables with type information, including nested structures. The data model is aligned with [variable-resolver](https://github.com/bpmn-io/variable-resolver):\n\n```javascript\nconst result = analyzer.analyzeExpression('person.name = \"John\" and scores[1] > 10');\n\nconsole.log(result.inputs);\n// [\n//   {\n//     name: 'person',\n//     type: 'Context',\n//     entries: [\n//       { name: 'name' }\n//     ]\n//   },\n//   {\n//     name: 'scores',\n//     type: 'List'\n//   }\n// ]\n```\n\n### Invoked Functions\n\nThe analyzer extracts all function invocations from the expression, sorted by name and deduplicated. Each function is classified as `builtin` or `user` based on the provided `builtins` list:\n\n```javascript\nimport { FeelAnalyzer } from '@bpmn-io/feel-analyzer';\nimport { camundaBuiltins, camundaReservedNameBuiltins } from '@camunda/feel-builtins';\n\nconst analyzer = new FeelAnalyzer({\n  parserDialect: 'camunda',\n  builtins: camundaBuiltins,\n  reservedNameBuiltins: camundaReservedNameBuiltins\n});\n\nconst result = analyzer.analyzeExpression('from json(sum(myHelper(x)))');\n\nconsole.log(result.functions);\n// [\n//   { name: 'from json', type: 'builtin' },\n//   { name: 'myHelper', type: 'user' },\n//   { name: 'sum', type: 'builtin' }\n// ]\n```\n\n### Analyzing an Already-Parsed Tree\n\nIf you already have a parsed syntax tree—for example from a CodeMirror editor using the same parser—you can analyze it directly with `analyzeTree`, avoiding a redundant parse:\n\n```javascript\nconst analyzer = new FeelAnalyzer();\n\nconst expression = 'x + y';\nconst tree = analyzer.parser.parse(expression);\n\nconst result = analyzer.analyzeTree(tree, expression);\n```\n\nThe tree must come from a parser configured consistently with the analyzer (same `dialect`, `parserDialect`, and `reservedNameBuiltins`) - such as the provided `analyzer.parser`. A tree parsed with a different configuration may yield incorrect results.\n\n## Related\n\n- [@bpmn-io/lezer-feel](https://github.com/bpmn-io/lezer-feel) - FEEL language definition for the [Lezer](https://lezer.codemirror.net/) parser system\n\n## License\n\nMIT\n","readmeFilename":"README.md"}