{"_id":"@cfmleditor/tree-sitter-cfml","_rev":"20-43107fba5f4210949a4892953e696730","name":"@cfmleditor/tree-sitter-cfml","dist-tags":{"latest":"0.26.35"},"versions":{"0.26.1":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.1","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.1","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"7868c4e8b094fac65d4d7ed9e4486aea895c0704","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.1.tgz","fileCount":57,"integrity":"sha512-2JhxosezFAIZ2RkctughV1EinlV9kyCTEk7oBitqDiamdbzz0jGDdwcTflPiOuFUpRLbmeuroIVR4lcdFnOQJg==","signatures":[{"sig":"MEQCIDnntzdQ89s5tyF6cggJP66Pq0gvYEZi436G7s7slWceAiBV7L6kpmV7ScKPXUovJ4DFTyOo1QKml8Gh056noxkygw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26339320},"main":"bindings/node","types":"bindings/node","gitHead":"c8211ec74347405b2dc4d1c236f2786fb4f90e4f","scripts":{"test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"tree-sitter playground","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","prestart":"tree-sitter build --wasm","playground":"node scripts/playground.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.6.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prebuildify":"^6.0.1","tree-sitter-cli":"^0.26.7"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree_sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.1_1773658468573_0.2158511324952852","host":"s3://npm-registry-packages-npm-production"}},"0.26.2":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.2","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.2","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"c8dfb281a668f6353fd4ec66cf3fec55174ea0d0","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.2.tgz","fileCount":68,"integrity":"sha512-mzmvmzQOFlJ3hcmsuxc3Dv65w0yb6b3lBf7bxybv/y1D9N2eFhLERNzKXTq7tgUnkCy23ynogPIrnNGHbMwkRA==","signatures":[{"sig":"MEQCIBvrL9jVLnT/zUg+54MsIm3469OBf3kbI6WZo0krm2PSAiAjZ6DDOkaQ+bTp8YZQuz0/n5QmeyIo0KwyOXqYLrDmLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35834167},"main":"bindings/node","types":"bindings/node","gitHead":"1207005eebcf67859ee921d495f7f8b17d951883","scripts":{"test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"tree-sitter playground","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","prestart":"tree-sitter build --wasm","playground":"node scripts/playground.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.6.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prebuildify":"^6.0.1","tree-sitter-cli":"^0.26.7"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree_sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.2_1774069657905_0.27674790685866046","host":"s3://npm-registry-packages-npm-production"}},"0.26.3":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.3","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.3","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"94eaec837a01edb7c3bd3391ebc339b69555a512","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.3.tgz","fileCount":78,"integrity":"sha512-i9KjqsAniUDEDs7tRrEGS4j/lKx8cgOaBLcWnuIFH+NLgz3Ix+MhVR3iyd445KbkUIJHvHB6DFtuG/hqWvU+zA==","signatures":[{"sig":"MEQCIBdz/1PV8X9UrUusXVtpTbcCOM2/tCYvp0UEAD3bwQTXAiA8AHi2UAqxIkBM5sPiYaQqfEFTwWhvJn/7UeCnEgKhsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41069675},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <24"},"gitHead":"2b5815d0c9fdab7323ce546a63782908d747d91c","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.3.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.7","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.3_1777034046770_0.14398210638450726","host":"s3://npm-registry-packages-npm-production"}},"0.26.4":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.4","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.4","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"109262e9a8e8bf639d9fb44fbd06365804d4e011","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.4.tgz","fileCount":78,"integrity":"sha512-YPaglLXL2I7wMWEr5QS+6JR00chElgRf6KOMIWAfPmOt2qiuqXTOoAPkoJv0hYAZ5UCEJWVSHDYj+BLFybIBdA==","signatures":[{"sig":"MEUCIBwbZVngN9YiLPsNmuw8BN77Oy90Pf/K9J2OeYSD1uD5AiEAjVsQAJQZEpu6TllA++t3f0yuhVNwPiHW68n0BK4Nots=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50780615},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <24"},"gitHead":"66bb2ba2bda0c1c006d75221824a338550222e2c","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.3.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.7","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.4_1777265763093_0.7499449867833985","host":"s3://npm-registry-packages-npm-production"}},"0.26.5":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.5","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.5","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"b50f6dca740904c52a321560ee1b7249be6adc9c","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.5.tgz","fileCount":76,"integrity":"sha512-pdJh+RSY5eaQTL6mo/H7WVcfVhBpkToUaePXxdl7s2DEl2QPFBug3rLKIp9wv4KsQ8sc1lJjLhx148u0MOYAbQ==","signatures":[{"sig":"MEUCIQDB+fzh/LRm46cLeh1/yaSfGCdjBgATM97wgOa8f4/i4gIgPfb5NjK2f/U3o2Kc7eRDYEtFRCN/giCclOjwodIj6Ts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39442994},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <24"},"gitHead":"d15bb6b5c62d1f8fe3c5ec035704eb5fbac1a30c","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.5_1777373599029_0.6941858960334735","host":"s3://npm-registry-packages-npm-production"}},"0.26.8":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.8","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.8","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"ba781b12d080bcce84095e5b76aa26befe8b120e","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.8.tgz","fileCount":77,"integrity":"sha512-Grzg+2UvFC7aI0iUssXeTNlzwyRifkPZAdV0FZ7QCXIbvq3atd5neYVlzEG5ayc5Q4T5mJOwqxjSh7Grx5NgHA==","signatures":[{"sig":"MEUCICH/I4VQAOJ/WERoCl6hWARfE7YOf81gHeGYQVXiy21fAiEAwH8pg5kEikCG3guwy0BglglmmiirO+x7C/OptsrB+rs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38413916},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"f90a2c61fdc6994c63ac0f1fa62bd6821a2cc328","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.8_1777791801983_0.5613080989309052","host":"s3://npm-registry-packages-npm-production"}},"0.26.10":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.10","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.10","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"a84fbaf245bbee15c5e3430a1a0217c63d2d2617","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.10.tgz","fileCount":77,"integrity":"sha512-y5RbygUV7+ChHUp7W+5As30TNjH79CKyheA6uxE2L0LArMesOWQ4BEQrct+ZO+Hs1X+pJZVVY7gk0wYG4jj72A==","signatures":[{"sig":"MEQCIEx6jMYqhs0q6vq1JLvrOMlBDN7cBE+/TIN/eVsqDKWJAiAaR3f3qKv0Fi0PvUUxunLt0cqsZhLo9h/aXo9g4Hyk7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36708401},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"a71d674de231b1bf22e9257f096643d015e72efe","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.10_1777979287421_0.630976563201888","host":"s3://npm-registry-packages-npm-production"}},"0.26.11":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.11","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.11","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"37a09e7c1bc8cd872eedaf59404654be143709e9","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.11.tgz","fileCount":77,"integrity":"sha512-JhtyvvIxarRC+/IqxjbGC8JbuIaAQ90x2k3CIhgPNSn/c1qwuEV8jYRFHp2OcMmFbEoGxclGQpJY0aOfc9HD1Q==","signatures":[{"sig":"MEMCIDyVPwDz5wyDXaKRlLHI2WZ6hEQ2nA7yt6XK445C1+yeAh9VDnAK8nQ++HTgkWGmOId8m1MY93xy8m3pbJ0ABEYJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37067561},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"41b4b489883661ee345e33aa3acc82d6a8f9ab3e","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.11_1778808763008_0.8705941474464778","host":"s3://npm-registry-packages-npm-production"}},"0.26.12":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.12","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.12","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"e59f527ee10dd4707ca1402dd66efe105851fd4d","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.12.tgz","fileCount":77,"integrity":"sha512-Th32Tl2G5ohUlwk2zKnu7F9H5LENrbX508S5is1HJfKFoHMuZO1U84E+cU8RBYOm9krh1s3RkwTxhMpknGanZA==","signatures":[{"sig":"MEUCIEXSSLA3kWFES7k9SJlOjri0FeEoQ16IznuNJBixnW+NAiEAm8jP1vGIYdHtSkU2njORJnJ/tohfMz5cPCXzyd+3RWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37065313},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"7f59b2808bf64a123cfc401a7f9c1f071934af53","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.12_1778913540458_0.27413148525997655","host":"s3://npm-registry-packages-npm-production"}},"0.26.14":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.14","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.14","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"f5422a1bed0f9c44651532becf0961fa90e687e3","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.14.tgz","fileCount":77,"integrity":"sha512-oy/4FlbYezACCgOUTtJQ2cKwFTySR/PttbBj4JmD38dmaolOKyi3TnK6uqRS+80H4hOHIH4/i1jOauEWJMmBww==","signatures":[{"sig":"MEUCICYsQ66TbvzEKuj4SXcdciuQPKrd/XCOzShiy6j6O+UAAiEAuJe8QcRl4dTLdQILv24E+xizh5Qx4YuPu3ExHkYKne0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37226202},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"7755ea12af39746f47949e004e0d0ddcf4f8e762","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.14_1779001110307_0.2744915284687979","host":"s3://npm-registry-packages-npm-production"}},"0.26.15":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.15","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.15","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"3485c8aaa72a9a5c95a4815155511d86627c6822","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.15.tgz","fileCount":63,"integrity":"sha512-An2tDznhYwcMoDGXBO07g7u7ZukvDc6cCjbBcVZ18Qj8vWoxlZU/MlAHYbtB95+a+IJtd9hfGcHFIxCeiH4NEA==","signatures":[{"sig":"MEQCIEip4OZ66J5wEjmhZTkTdl9bnC4Id1YooWjPWnDERaQzAiBrgzBiTd1IX085rUOZIyKnlaMnUgYaqQYNbHo6Cuq9VQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27876670},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"044670707dcc16061627d259fc23181d61cc9c1b","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.15_1779013656600_0.020965792514583637","host":"s3://npm-registry-packages-npm-production"}},"0.26.18":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.18","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.18","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"a9e31fafbc717d1d6aad2e2fcfa6d959253157f8","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.18.tgz","fileCount":64,"integrity":"sha512-E/cTNpN1HhEiJ521uS+E2Gm8ZFORrM5kuwVL3vD1doSyV2lYGiR8EpTqLrs/937QVIHHHFqkmhCf/QXzM8BDOg==","signatures":[{"sig":"MEYCIQDRnyuTYQUmcpOjyiaRi7hce0Tfqn1D6xWIqhN+fhNeLwIhAIhXTYJb25yz0nX6lTs15cpjJJxXxyE6ZrgoShdEFstH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28105041},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"dbe52666ce743b8e1a56001aa26d7861fd171083","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","release":"node scripts/release.js","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.3","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.19.0","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.18_1779102757086_0.116425275198071","host":"s3://npm-registry-packages-npm-production"}},"0.26.19":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.19","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.19","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"d0e9f429132fbda8356aace141778c6bb8ce28fa","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.19.tgz","fileCount":59,"integrity":"sha512-ypb5y2e2LppIUZQC87QpfJX5iYju+1IjN1moLKXRPhlUUn22Mu2Jz6or9Iu7O6Th2yBx8h2N2/eucnWIb1ZNwg==","signatures":[{"sig":"MEUCICIzYCq468f8cQarrvi1SEawRJ6XO8gT7ot9DIqEwsM9AiEAqHvUXjz4jrFH65ICVSkLIx+dKBQ0jH/fk0Vj4UN+Hw0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25367422},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"6ba872172b48618e99bd98279c11a4264acb867b","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","release":"node scripts/release.js","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.7","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.22.2","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.19_1779109070442_0.007053242949816019","host":"s3://npm-registry-packages-npm-production"}},"0.26.20":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.20","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.20","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"1284dcc82b6f03c3ee8fcccaa520947f1834f0d9","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.20.tgz","fileCount":59,"integrity":"sha512-112d7wS+tbz/pDdrmR6ryWVuSXNe1/+Pmi1Pa0DvuzrDvLvNOLmzkTcN3/qVMTenoi8jlvlv+UN1n5TR01YwQw==","signatures":[{"sig":"MEUCIQDFb2jdjuBuag9jCp0MZelsz3kN9Da1FDljIFVaelsYUgIgFhEzfPKqf5BJEqrDCU5ZkIU32P3EuERmgu4aejvZUNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25370978},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"6b4a43943c191950ee2c77f7b94cec5e903318a4","scripts":{"lint":"eslint .","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","release":"node scripts/release.js","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.7","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.22.2","dependencies":{"node-addon-api":"^8.7.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.8","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.20_1779164823166_0.8261987206438712","host":"s3://npm-registry-packages-npm-production"}},"0.26.30":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.30","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.30","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"0cb36ac531c645fdb119ea8867faaaf90ea40c5d","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.30.tgz","fileCount":81,"integrity":"sha512-BTC/s5j9SNkgDjxJTEKqZM65Erxh0y/6m3qs4NjdY5BSlxg/2baJpV27w6e8ExGGmdJvdo3jwY2hJedq1TPnSg==","signatures":[{"sig":"MEYCIQDdR7FA1NX76g1OZmcgElA0IE4D2cP3/KzMmhyz2ow2fQIhAKLJC4RHB5S7dwFMb9vk/xJxGyKK3eh5MhqRTNiusI2H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35676319},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"776f83d82440aeb05d163bc454e88890a8a99870","scripts":{"lint":"eslint .","scan":"node scripts/scan.js","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","start":"node scripts/start-playground.js","install":"node-gyp-build","release":"node scripts/release.js","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","testbindings":"node --test bindings/node/*_test.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.8","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.23.1","dependencies":{"node-addon-api":"^8.8.0","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","globals":"^17.6.0","prebuildify":"^6.0.1","tree-sitter":"0.25.0","tree-sitter-cli":"0.26.9","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.0"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.30_1783645074021_0.4677863933367341","host":"s3://npm-registry-packages-npm-production"}},"0.26.31":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.31","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.31","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"6df0a71ac0d969ad40aa2524e1efb9ac841a412a","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.31.tgz","fileCount":85,"integrity":"sha512-UkXZt/a5NMMDmmb0j7mr2MaW1kGoqOiaVlFi6S2R3LXFHaeSHiaFMqEwtTORmhksbjP0KAUemVanBfzCt+s6eA==","signatures":[{"sig":"MEYCIQDtRVW4n5i0pDGzxbOOmU2llF7KuS6492+lrlLCKlKQNgIhAJKuXM8N85TyYF+jy+RonrTYccK8sU/chfsmDYfafngs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45291778},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"6c90676087aae3a9c15a564e8836373095d34314","scripts":{"fuzz":"node scripts/fuzz.js","lint":"eslint .","scan":"node scripts/scan.js","test":"node scripts/test.js","build":"node scripts/build.js","parse":"node scripts/parse.js","probe":"node scripts/probe.js","start":"node scripts/start-playground.js","install":"node-gyp-build","release":"node scripts/release.js","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","test:update":"node scripts/test.js --update","corpus:fetch":"node scripts/fetch-corpus.js","testbindings":"node --test bindings/node/*_test.js","corpus:report":"node scripts/corpus-report.js"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"overrides":{"eslint-plugin-jsdoc":"^62.9.0"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.8","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.23.1","allowScripts":{"tree-sitter@0.25.1":true,"tree-sitter-cli@0.26.11":true},"dependencies":{"node-addon-api":"^8.9.1","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","globals":"^17.8.0","prebuildify":"^6.0.1","tree-sitter":"0.25.1","tree-sitter-cli":"0.26.11","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.1"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.31_1786000518502_0.18687713203882295","host":"s3://npm-registry-packages-npm-production"}},"0.26.32":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.32","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.32","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"677f7ec486c030911f56fee09ece573d653cf5a7","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.32.tgz","fileCount":87,"integrity":"sha512-yZeTWXGukxyecLIew20JWA2SXGLUQVwAYxhpYsuBI6c5GB9VRQmNvKKqpykAvcx6wB3TEcQ72NPUcIgwYzm8/g==","signatures":[{"sig":"MEYCIQDLt75SZL+y7UwsmPsxBSMLEE5Ccl9nwdjlaarH0HvkEAIhAKgO1pEVT0ydjm5JaNBNPGhk59K+GEYgedN3a941HE2s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46866522},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"a5360957c8b36ee9d3648b48a9a1a8dba84faae2","scripts":{"fuzz":"node scripts/fuzz.js","lint":"eslint .","scan":"node scripts/scan.js","test":"node scripts/test.js","bench":"node scripts/bench.js","build":"node scripts/build.js","parse":"node scripts/parse.js","probe":"node scripts/probe.js","start":"node scripts/start-playground.js","install":"node-gyp-build","release":"node scripts/release.js","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","test:update":"node scripts/test.js --update","build:native":"node scripts/build-native.js","corpus:fetch":"node scripts/fetch-corpus.js","testbindings":"node --test bindings/node/*_test.js","corpus:report":"node scripts/corpus-report.js","scan:examples":"node scripts/scan.js examples --isolate --retries 3 --expect examples/expected.json"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"overrides":{"eslint-plugin-jsdoc":"^62.9.0"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.8","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"tree-sitter@0.25.1":true,"tree-sitter-cli@0.26.11":true},"dependencies":{"node-addon-api":"^8.9.1","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","globals":"^17.8.0","prebuildify":"^6.0.1","tree-sitter":"0.25.1","tree-sitter-cli":"0.26.11","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.1"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.32_1786860398999_0.30703362892631203","host":"s3://npm-registry-packages-npm-production"}},"0.26.33":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.33","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.33","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"168df85fad360f702bdc274870d6c7ed2487deae","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.33.tgz","fileCount":88,"integrity":"sha512-t5zGM1VC0pBUOLceNByN+PdbUNkTJmqvTlC+xt7tf/Q7JMEzHXpelcokoD/NozPgsSKwUi4fNikM9U5rocwqYw==","signatures":[{"sig":"MEQCIBke8R2p/f4n1BWyDIZJSQONVOIgG73BaBjl/vEL+5EqAiAIo2BaZK7T76kREGttpYYbCExfjUEljAua/VDbDUecQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47929544},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"b7d4d48c92367e3829fd0b4caee7364de541d60c","scripts":{"fuzz":"node scripts/fuzz.js","lint":"eslint .","scan":"node scripts/scan.js","test":"node scripts/test.js","bench":"node scripts/bench.js","build":"node scripts/build.js","parse":"node scripts/parse.js","probe":"node scripts/probe.js","start":"node scripts/start-playground.js","install":"node-gyp-build","release":"node scripts/release.js","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","test:update":"node scripts/test.js --update","build:native":"node scripts/build-native.js","corpus:fetch":"node scripts/fetch-corpus.js","testbindings":"node --test bindings/node/*_test.js","corpus:report":"node scripts/corpus-report.js","scan:examples":"node scripts/scan.js examples --isolate --retries 3 --expect examples/expected.json"},"_npmUser":{"name":"garetheddies","email":"ghedwards@gmail.com"},"overrides":{"eslint-plugin-jsdoc":"^62.9.0"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"10.9.8","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"tree-sitter@0.25.1":true,"tree-sitter-cli@0.26.11":true},"dependencies":{"node-addon-api":"^8.9.1","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","globals":"^17.8.0","prebuildify":"^6.0.1","tree-sitter":"0.25.1","tree-sitter-cli":"0.26.11","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.1"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.33_1786933085662_0.8092483733431","host":"s3://npm-registry-packages-npm-production"}},"0.26.34":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.34","keywords":["incremental","parsing","tree-sitter","cfml"],"author":{"name":"garetheddies"},"license":"MIT","_id":"@cfmleditor/tree-sitter-cfml@0.26.34","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"dist":{"shasum":"dd89e1aa0ebce42314a2b54bbff82656c50b950a","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.34.tgz","fileCount":90,"integrity":"sha512-L993AR4yz78ZNQd9jwRydZY7Afq31+QZHNzDhSPMSAyyO/rqf+2O3VrDH/2pxIrXmzUfGlwxx4rQVzMk3uR3jg==","signatures":[{"sig":"MEQCIBYer2ARyYcT8lVrO+0qRVWml5XZcbjFDYXANqxEfvKUAiAMcV8WJ/1itujxClVnAgPrd/X35fuwY+xA5IUs4wMdxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cfmleditor%2ftree-sitter-cfml@0.26.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48858989},"main":"bindings/node","types":"bindings/node","engines":{"node":">=18 <=24"},"gitHead":"60769475046eec15c277775b03b02a4ab3388b64","scripts":{"fuzz":"node scripts/fuzz.js","lint":"eslint .","scan":"node scripts/scan.js","test":"node scripts/test.js","bench":"node scripts/bench.js","build":"node scripts/build.js","parse":"node scripts/parse.js","probe":"node scripts/probe.js","start":"node scripts/start-playground.js","install":"node-gyp-build","release":"node scripts/release.js","docswasm":"node scripts/docswasm.js","lint:fix":"eslint . --fix","prestart":"node scripts/prestart-wasm.js","treediff":"node scripts/treediff.js","playground":"node scripts/playground.js","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","test:update":"node scripts/test.js --update","build:native":"node scripts/build-native.js","corpus:fetch":"node scripts/fetch-corpus.js","testbindings":"node --test bindings/node/*_test.js","corpus:report":"node scripts/corpus-report.js","scan:examples":"node scripts/scan.js examples --isolate --retries 3 --expect examples/expected.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c3c152a0-f9a4-48fa-aa01-3ad3af8744eb"}},"overrides":{"eslint-plugin-jsdoc":"^62.9.0"},"repository":{"url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git","type":"git"},"_npmVersion":"11.19.0","description":"CFML grammar for tree-sitter","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"tree-sitter@0.25.1":true,"tree-sitter-cli@0.27.0":true},"dependencies":{"node-addon-api":"^8.9.2","node-gyp-build":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.9.1","globals":"^17.12.0","prebuildify":"^6.0.1","tree-sitter":"0.25.1","tree-sitter-cli":"0.27.0","eslint-config-treesitter":"^1.0.2"},"peerDependencies":{"tree-sitter":"^0.25.1"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tree-sitter-cfml_0.26.34_1788520314998_0.874078895442985","host":"s3://npm-registry-packages-npm-production"}},"0.26.35":{"name":"@cfmleditor/tree-sitter-cfml","version":"0.26.35","description":"CFML grammar for tree-sitter","repository":{"type":"git","url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git"},"license":"MIT","main":"bindings/node","types":"bindings/node","author":{"name":"garetheddies"},"keywords":["incremental","parsing","tree-sitter","cfml"],"dependencies":{"node-addon-api":"^8.9.2","node-gyp-build":"^4.8.4"},"devDependencies":{"eslint":"^10.9.1","eslint-config-treesitter":"^1.0.2","globals":"^17.12.0","prebuildify":"^6.0.1","tree-sitter":"0.25.1","tree-sitter-cli":"0.27.0"},"overrides":{"eslint-plugin-jsdoc":"^62.9.0"},"peerDependencies":{"tree-sitter":"^0.25.1"},"peerDependenciesMeta":{"tree-sitter":{"optional":true}},"engines":{"node":">=18 <=24"},"scripts":{"build":"node scripts/build.js","build:native":"node scripts/build-native.js","parse":"node scripts/parse.js","treediff":"node scripts/treediff.js","scan":"node scripts/scan.js","scan:examples":"node scripts/scan.js examples --isolate --retries 3 --expect examples/expected.json","probe":"node scripts/probe.js","bench":"node scripts/bench.js","fuzz":"node scripts/fuzz.js","corpus:fetch":"node scripts/fetch-corpus.js","corpus:report":"node scripts/corpus-report.js","test":"node scripts/test.js","test:update":"node scripts/test.js --update","docswasm":"node scripts/docswasm.js","install":"node-gyp-build","postinstall":"node scripts/ensure-tree-sitter-cli-binary.js","prestart":"node scripts/prestart-wasm.js","start":"node scripts/start-playground.js","playground":"node scripts/playground.js","testbindings":"node --test bindings/node/*_test.js","lint":"eslint .","lint:fix":"eslint . --fix","release":"node scripts/release.js"},"publishConfig":{"access":"public"},"allowScripts":{"tree-sitter@0.25.1":true,"tree-sitter-cli@0.27.0":true},"gitHead":"a4b5b72881e7bfdba2165fcb479ba46c79a87e69","_id":"@cfmleditor/tree-sitter-cfml@0.26.35","bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-ey3FWI6ffWijklfDJISQZJ3ZwKRbfWqcgPV7BZ7ECeewO2ins6ZEqlRvSmcr2VUrviM8Q0WOLvVXOhug9acjqg==","shasum":"711039ea056ed131d10e3f84f0703764dd87d501","tarball":"https://registry.npmjs.org/@cfmleditor/tree-sitter-cfml/-/tree-sitter-cfml-0.26.35.tgz","fileCount":90,"unpackedSize":49166292,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cfmleditor%2ftree-sitter-cfml@0.26.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC59fItiXeLeZWd+jAxr+WQ/JsMGjNUH5G1fusW33xq4AiBrXq7mzljf0/JxftM8Hn6FpOD7LbuKzmgK1OD6Tpg9rQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c3c152a0-f9a4-48fa-aa01-3ad3af8744eb"}},"directories":{},"maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tree-sitter-cfml_0.26.35_1788763977182_0.8868882610326279"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-16T10:54:28.459Z","modified":"2026-09-07T06:52:57.690Z","0.26.1":"2026-03-16T10:54:28.756Z","0.26.2":"2026-03-21T05:07:38.225Z","0.26.3":"2026-04-24T12:34:07.007Z","0.26.4":"2026-04-27T04:56:03.301Z","0.26.5":"2026-04-28T10:53:19.253Z","0.26.8":"2026-05-03T07:03:22.171Z","0.26.10":"2026-05-05T11:08:07.626Z","0.26.11":"2026-05-15T01:32:43.224Z","0.26.12":"2026-05-16T06:39:00.885Z","0.26.14":"2026-05-17T06:58:30.537Z","0.26.15":"2026-05-17T10:27:36.768Z","0.26.18":"2026-05-18T11:12:37.311Z","0.26.19":"2026-05-18T12:57:50.622Z","0.26.20":"2026-05-19T04:27:03.407Z","0.26.30":"2026-07-10T00:57:54.221Z","0.26.31":"2026-08-06T07:15:18.677Z","0.26.32":"2026-08-16T06:06:39.205Z","0.26.33":"2026-08-17T02:18:05.857Z","0.26.34":"2026-09-04T11:11:55.160Z","0.26.35":"2026-09-07T06:52:57.376Z"},"bugs":{"url":"https://github.com/cfmleditor/tree-sitter-cfml/issues"},"author":{"name":"garetheddies"},"license":"MIT","homepage":"https://github.com/cfmleditor/tree-sitter-cfml#readme","keywords":["incremental","parsing","tree-sitter","cfml"],"repository":{"type":"git","url":"git+https://github.com/cfmleditor/tree-sitter-cfml.git"},"description":"CFML grammar for tree-sitter","maintainers":[{"name":"garetheddies","email":"ghedwards@gmail.com"}],"readme":"# tree-sitter-cfml\n\n[![npm](https://img.shields.io/npm/v/@cfmleditor/tree-sitter-cfml)](https://www.npmjs.com/package/@cfmleditor/tree-sitter-cfml)\n[![crates.io](https://img.shields.io/crates/v/tree-sitter-cfml)](https://crates.io/crates/tree-sitter-cfml)\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/garetheddies)\n\n[Tree-sitter](https://tree-sitter.github.io/) grammars for [ColdFusion Markup Language (CFML)](https://en.wikipedia.org/wiki/ColdFusion_Markup_Language).\n\nThere are three grammars: two for CFML in `.cfc`/`.cfm` and `.cfs` files, and one for SQL inside `<cfquery>` (embedded dialect).\n\n| Grammar    | Scope             | File types     | Description                                                                                                             |\n| ---------- | ----------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------- |\n| `cfml`     | `source.cfml`     | `.cfc`, `.cfm` | ColdFusion components and template files - CFScript, tag-based components, and HTML with embedded CF tags                |\n| `cfscript` | `source.cfscript` | `.cfs`         | Pure CFScript files                                                                                                     |\n| `cfquery`  | `source.cfquery`  | _(embedded)_   | SQL inside `<cfquery>` bodies (including QueryExecute-style usage), with `#hash#` interpolation and CF tags in the body |\n\n## Playground\n\nBrowser demo: [cfmleditor.github.io/tree-sitter-cfml](https://cfmleditor.github.io/tree-sitter-cfml/)\n\n## Installation\n\n### Node.js\n\n```bash\nnpm install @cfmleditor/tree-sitter-cfml\n```\n\n```js\nconst {\n  cfml,\n  cfscript,\n  cfquery,\n} = require(\"@cfmleditor/tree-sitter-cfml\");\nconst Parser = require(\"tree-sitter\");\n\nconst parser = new Parser();\nparser.setLanguage(cfml.language);\n\nconst tree = parser.parse(\"<cfif condition>#value#</cfif>\");\nconsole.log(tree.rootNode.toString());\n```\n\n### Rust\n\n```toml\n[dependencies]\ntree-sitter = \"0.25\"\ntree-sitter-cfml = \"0.26.35\"\n```\n\nThe `tree-sitter` crate should be **0.25+** so the ABI matches the generated parsers (see `LANGUAGE_VERSION` in `cf*/src/parser.c`).\n\n```rust\nuse tree_sitter_cfml::LANGUAGE_CFML;\n\nlet mut parser = tree_sitter::Parser::new();\nparser.set_language(&LANGUAGE_CFML.into())\n    .expect(\"Error loading CFML grammar\");\n// LANGUAGE_CFSCRIPT, LANGUAGE_CFQUERY load the same way.\n```\n\n### Python\n\n```bash\npip install tree-sitter-cfml\n```\n\n```python\nimport tree_sitter_cfml as ts_cfml\nfrom tree_sitter import Language, Parser\n\n# cfml for .cfc and .cfm files\nparser = Parser(Language(ts_cfml.language_cfml()))\ntree = parser.parse(b'<cfif x GT 0>#x#</cfif>')\n\n# cfscript for .cfs pure script files\nparser = Parser(Language(ts_cfml.language_cfscript()))\n\n# cfquery SQL dialect (embedded)\nparser = Parser(Language(ts_cfml.language_cfquery()))\n```\n\n### Go\n\n```go\nimport (\n    tree_sitter_cfml \"github.com/cfmleditor/tree-sitter-cfml/bindings/go\"\n    sitter \"github.com/tree-sitter/go-tree-sitter\"\n)\n\n// cfml for .cfc and .cfm files\nparser := sitter.NewParser()\nparser.SetLanguage(sitter.NewLanguage(tree_sitter_cfml.LanguageCfml()))\n\n// cfscript for .cfs pure script files\nparser.SetLanguage(sitter.NewLanguage(tree_sitter_cfml.LanguageCfscript()))\n\n// cfquery SQL dialect (embedded)\nparser.SetLanguage(sitter.NewLanguage(tree_sitter_cfml.LanguageCfquery()))\n```\n\n### Java\n\nNeeds **JDK 23+** — the binding is built on the Foreign Function & Memory API, through [jtreesitter](https://github.com/tree-sitter/java-tree-sitter).\n\n```xml\n<dependency>\n  <groupId>io.github.cfmleditor</groupId>\n  <artifactId>tree-sitter-cfml</artifactId>\n  <version>0.26.31</version>\n</dependency>\n```\n\n```java\nimport io.github.cfmleditor.jtreesitter.cfml.TreeSitterCfml;\nimport io.github.cfmleditor.jtreesitter.cfscript.TreeSitterCfscript;\nimport io.github.cfmleditor.jtreesitter.cfquery.TreeSitterCfquery;\nimport io.github.treesitter.jtreesitter.Language;\nimport io.github.treesitter.jtreesitter.Parser;\n\n// cfml for .cfc and .cfm files\ntry (var parser = new Parser(new Language(TreeSitterCfml.language()))) {\n    var tree = parser.parse(\"<cfif x GT 0>#x#</cfif>\").orElseThrow();\n}\n\n// cfscript for .cfs pure script files\nvar cfscript = new Language(TreeSitterCfscript.language());\n\n// cfquery SQL dialect (embedded)\nvar cfquery = new Language(TreeSitterCfquery.language());\n```\n\nUnlike the other bindings, this one does not compile the C for you. It loads\nfour shared libraries at runtime — `libtree-sitter` plus one per grammar — so\nthey have to be somewhere the loader looks (`LD_LIBRARY_PATH`,\n`java.library.path`, or a system library directory). Either install them:\n\n```bash\nmake && sudo make install    # libtree-sitter-{cfml,cfscript,cfquery}\n```\n\nor, from a checkout, build all four (including the tree-sitter runtime, pinned\nby `package-lock.json`) into `build/native/`:\n\n```bash\nnpm install && npm run build:native\njava --enable-native-access=ALL-UNNAMED -Djava.library.path=build/native …\n```\n\nRun the binding's own tests with `mvn test` — it points `java.library.path` at\nboth locations.\n\nThe artifact is not on Maven Central yet; see the note on `publish-maven` in\n[`.github/workflows/release.yml`](.github/workflows/release.yml).\n\n## Development\n\nEach dialect has `grammar.js`, generated C under `src/`, corpus tests under `test/corpus/`, and queries under `queries/`. Shared scanner code is under `common/`. The multi-grammar CLI and playground config is [`tree-sitter.json`](tree-sitter.json). Upstream docs: [Creating parsers](https://tree-sitter.github.io/tree-sitter/creating-parsers), [CLI](https://tree-sitter.github.io/tree-sitter/cli/overview.html).\n\n### Setup\n\n```bash\ngit clone https://github.com/cfmleditor/tree-sitter-cfml.git\ncd tree-sitter-cfml\n```\n\nUse Node **>=18** and **<24** (`package.json` `engines`). Optional: [`.nvmrc`](.nvmrc) with [nvm](https://github.com/nvm-sh/nvm) / [fnm](https://github.com/Schniz/fnm) (`nvm use`).\n\n```bash\nnpm install\n```\n\nThat installs dependencies, builds the Node native addon (`node-gyp-build`), and runs `postinstall`, which downloads the tree-sitter CLI binary into `node_modules/tree-sitter-cli/` when needed. Repo `npm` scripts do not require a global `tree-sitter` on `PATH`.\n\n```bash\nnpm test          # all three grammars\nnpm run lint      # ESLint\nnpm run build     # regenerate parsers + rebuild native addon (after grammar edits)\n```\n\n#### Windows\n\nPut **GCC** from **MinGW-w64** on your `PATH` (`gcc` / `g++`). This repo uses GCC for **`npm test`** (tree-sitter compile), the **Node** native binding, **Python** extension builds, and **Go** CGO — not MSVC.\n\n**Standalone toolchain (recommended):** install [WinLibs](https://winlibs.com/) with winget, then add the extracted **`mingw64\\bin`** directory (contains `gcc.exe`) to your user **PATH**, open a new terminal, and verify:\n\n```powershell\ngcc --version\n```\n\nExample package (UCRT, POSIX threads):\n\n```powershell\nwinget install BrechtSanders.WinLibs.POSIX.UCRT\n```\n\nThe installer path varies by machine; locate `mingw64\\bin` under the WinLibs folder (or under `%LOCALAPPDATA%\\Microsoft\\WinGet\\Packages\\` after install) and add **that `bin`** to PATH.\n\n**Alternatively:** [MSYS2](https://www.msys2.org/) with `pacman -S mingw-w64-x86_64-gcc`, then prepend **`msys64\\mingw64\\bin`** to PATH (or develop from an MSYS2 MinGW64 shell).\n\nIf **`node-gyp`** still picks Visual Studio instead of MinGW, set `CC` / `CXX` to your MinGW **`gcc`** / **`g++`** for `npm install` / `npm rebuild`, or keep MinGW’s `bin` **before** MSVC entries on `PATH`.\n\n#### macOS\n\nInstall the Xcode command-line tools:\n\n```bash\nxcode-select --install\n```\n\n##### Homebrew\n\n```bash\nbrew install gcc\n```\n\n#### Linux\n\nInstall a C/C++ toolchain (for example `build-essential` on Debian/Ubuntu, `gcc` / `clang` plus development headers on other distributions).\n\n#### CI\n\nCI ([`.github/workflows/ci.yml`](.github/workflows/ci.yml)): `npm install`, `npm test`, `npm run lint` on Ubuntu, macOS, and Windows. It does not run `npm run build`; generated `cf*/src/` files are committed.\n\n#### Tree-sitter CLI\n\nScripts use [`scripts/tree-sitter-cli.cjs`](scripts/tree-sitter-cli.cjs) (`node node_modules/tree-sitter-cli/cli.js`). A global `tree-sitter-cli` install is optional. If the binary is missing after install:\n\n```bash\nnode scripts/ensure-tree-sitter-cli-binary.js\n```\n\n**From a dialect directory** (after `npm install` at repo root):\n\n```bash\ncd cfml\nnode ../node_modules/tree-sitter-cli/cli.js test\nnode ../node_modules/tree-sitter-cli/cli.js generate\nnode ../node_modules/tree-sitter-cli/cli.js parse path/to/file.cfc\n```\n\n### Dependency versions\n\nPinned in `package.json` / `tree-sitter.json`; approximate roles:\n\n| Role                        | Package           | Version      |\n| --------------------------- | ----------------- | ------------ |\n| Native binding (peer / dev) | `tree-sitter`     | `0.25.0`     |\n| Parser CLI                  | `tree-sitter-cli` | `0.26.8`     |\n| Native addon                | `node-addon-api`  | `^8.3.0`     |\n| Native addon                | `node-gyp-build`  | `^4.8.4`     |\n| Prebuild                    | `prebuildify`     | `^6.0.1`     |\n| Runtime                     | Node.js           | `>=18` `<24` |\n| Java binding (`pom.xml`)    | `jtreesitter`     | `0.26.1`     |\n| Java binding                | JDK               | `>=23`       |\n\n### CFML engines\n\nCorpus and behavior are checked mainly against [Lucee](https://lucee.org/). Overlapping Adobe ColdFusion syntax should still parse in a reasonable way. Avoid Adobe-only or Lucee-only assumptions in examples or grammar design where portable CFML is enough.\n\n### Building\n\nAfter changing `common/define-grammar.js` or a `grammar.js`:\n\n```bash\nnpm run build\n```\n\nOn Unix, `make generate` at the repo root works if `tree-sitter` is on your `PATH`; otherwise use `npm run build`.\n\n`tree-sitter generate` may warn about “unnecessary conflicts” (expressions vs `_property_name`, **cfscript** `declaration` / `primary_expression`, **cfquery** hash rules, etc.). Those come from `common/define-grammar.js`. If `npm run build` and `npm test` succeed, the warnings can be ignored.\n\n### Testing and helpers\n\nSee **[Setup](#setup)** for `npm test`, `npm run lint`, and `npm run build`.\n\n```bash\nnpm run testbindings  # Node binding smoke test\nnpm run probe         # real-world construct probes (test/probes/)\nnpm run build:native && mvn test  # Java binding smoke test (JDK 23+)\n```\n\nOne grammar only: run `test` via the CLI from that dialect’s directory ([above](#setup)), or `npm test` for all three.\n\n**Real-world corpus:** `npm run corpus:fetch` shallow-clones ~25 public CFML projects into a gitignored `corpus/`, `npm run scan corpus` reports every ERROR/MISSING node, and `npm run corpus:report` clusters those into distinct failure sites. See **[CORPUS.md](CORPUS.md)** for the current results and the known gaps they turned up.\n\n**Parse a file:** from the dialect folder (e.g. `cfml` for `.cfc`), use the `parse` subcommand with the same `node ../node_modules/.../cli.js` pattern.\n\n**Playground / WebAssembly (WASM)**\n\n- `npm start` — playground at repo root (`tree-sitter.json`). Run `npm run prestart` first if WASM is stale.\n- `npm run prestart` — `tree-sitter build --wasm`\n- `npm run playground` — playground in each of `cfml/`, `cfscript/`, `cfquery/`\n- `npm run docswasm` — writes `docs/tree-sitter-{cfml,cfscript,cfquery}.wasm` for `docs/` (e.g. GitHub Pages)\n\n### Releasing\n\n```bash\nnpm run release -- 0.26.18\nnpm run release -- 0.26.18 --user=ghedwards  # optional: switch gh auth before push\n```\n\nThe release script (`scripts/release.js`) will:\n\n1. Validate version format and ensure it's greater than current\n2. Ensure the working tree is clean and local branch is not behind remote\n3. Verify tag `v<version>` doesn't already exist\n4. Verify `CHANGELOG.md` has a `## [<version>]` or `## [Unreleased]` entry with notes\n5. Update the version in `package.json`, `Cargo.toml`, `pyproject.toml`, `tree-sitter.json` and `pom.xml`\n6. Run `npm run build` (regenerate parsers)\n7. Run `npm run lint` (ESLint)\n8. Run `npm test` (all three grammars)\n9. Run `npm run docswasm` (rebuild playground WASM)\n10. Run `npm run install` (rebuild native addon)\n11. Commit all changes and create a `v<version>` tag (prompted)\n12. Push commit and tag (prompted)\n\nOnce the tag is pushed, the GitHub Release workflow (`.github/workflows/release.yml`) will automatically publish to npm, PyPI, crates.io, and create a GitHub Release with the changelog notes. Maven Central is wired up but disabled — see `publish-maven` in that workflow.\n\n## Grammar structure\n\nShared rules: `common/define-grammar.js`. External scanner: `common/scanner.h` (implicit end tags, CF tag names, hash expressions, raw text).\n\n```\ncommon/\n  define-grammar.js\n  scanner.h\n  tag.h\n\ncfml/          # .cfc, .cfm\n  grammar.js\n  src/         # generated\n  queries/\n\ncfscript/      # .cfs\n  grammar.js\n  src/\n  queries/\n\ncfquery/       # embedded SQL\n  grammar.js\n  src/\n  queries/\n```\n\n## Queries\n\n| Grammar    | Highlights | Indents | Injections | Tags |\n| ---------- | ---------- | ------- | ---------- | ---- |\n| `cfml`     | yes        | yes     | yes        | yes  |\n| `cfscript` | yes        | no      | no         | yes  |\n| `cfquery`  | yes        | no      | no         | yes  |\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Security\n\nSee [SECURITY.md](SECURITY.md).\n\n## Agent and AI assistant guidance\n\nSee [`AGENTS.md`](AGENTS.md).\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}