{"_id":"@apexdevtools/vf-parser","_rev":"4-8e1a953838638ffb76b031bdd45b4750","name":"@apexdevtools/vf-parser","dist-tags":{"latest":"2.0.0","beta":"2.0.0-beta.1"},"versions":{"1.0.0":{"name":"@apexdevtools/vf-parser","version":"1.0.0","author":{"url":"https://github.com/apex-dev-tools","name":"Apex Dev Tools Team","email":"apexdevtools@gmail.com"},"license":"BSD-3-Clause","_id":"@apexdevtools/vf-parser@1.0.0","maintainers":[{"name":"apexdevtools","email":"apexdevtools@gmail.com"}],"homepage":"https://github.com/apex-dev-tools/vf-parser","bugs":{"url":"https://github.com/apex-dev-tools/vf-parser/issues"},"dist":{"shasum":"f0918687078473ed3c93721745549a098f434735","tarball":"https://registry.npmjs.org/@apexdevtools/vf-parser/-/vf-parser-1.0.0.tgz","fileCount":23,"integrity":"sha512-vUbRgI3KQA7hJGz0p7cZv6bRYK0jCdG4agwec1BouR3ajX7O4yyQ00PqyENlPBGrpJu6mA6pQtMccva7xiR0mQ==","signatures":[{"sig":"MEUCICQ/kvic3Pt3Zn/nB39XZuQmwSP0EW+ljSK5A+hpVumfAiEAk+l8aPhrBedmjL72dnat2PJiaUMeNFrfJePS0ZoauYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":166384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1arHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXRw//R8ATZjl59mXbTNB6jbOukyrYATEvsvosTkTPaIx7W0nkDKdt\r\nvmcVv/dzuZ/CMkBeJPlJnCEpwTUWSUYmi1AoY7ru/fDTqbFaGk7+U01RMrdd\r\n1CjZVOet3q5MsAWRC69eVNavppTJBBaoAbrzZNv1ZtGKwsJz3YYjuV1KpSup\r\nsFWHl0YYyzmjo1ZmeucOZO7ehyIyxuyitwicxCFgZOs07TbC61KkhDlLoyv3\r\nQBjggA+mnWO0OZyjTzjgqXWMlp1lOk+9rMWLbdckYW9eeLAzEKdShgTHvt8i\r\noiVEXyWxC/Pz57XPlyZgmCYV5u3897OjS5lDpORX/SPwWVWMv1QelvJ6tON1\r\ndtSgwIhmtZR9jkfjE5ZHNB6GLkQfc4tsNejmkx4asMw4Jzw3EGliTP0+Nyel\r\nXydPpR39DYBWERkdNRgIVPKIjPjH6ryCqF5nb8Az3T3o+QrDLmwhLs14UlOM\r\nYmkL6NJTFtO5j9P0gkPLTBAqgB8+kpV+0RZVNKSjSog6Ar4I+S+7IKaP4jDg\r\nHMEPSNBi6mseMU6CXUcqSTiENWn5Wrd1SnFyqeMhi6dzdd6EqAUlqiQI62cR\r\nVhAYEzmZNIzXc6EOiLkzbkDzNixhgY+AxvziruaxAJ73Ko52fvpCI5Qda0am\r\nsThyPfNiyF9G/N8yv89l0vDW+ofVCRI6pZ8=\r\n=H2Ad\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">=8.0.0"},"scripts":{"test":"jest --config jestconfig.json lib","build":"npm run antlr4ts && cp ../README.md . && tsc","check":"node -e require(\"./lib/index.js\").check()'","antlr4ts":"npm run antlr-build && npm run antlr-patch","antlr-build":"(cd antlr; antlr4ts -visitor -o ../src VFLexer.g4 VFParser.g4)","antlr-patch":"node patch"},"_npmUser":{"name":"apexdevtools","email":"apexdevtools@gmail.com"},"repository":{"url":"git+https://github.com/apex-dev-tools/vf-parser.git","type":"git"},"_npmVersion":"6.14.17","description":"Salesforce Visualforce parser","directories":{},"_nodeVersion":"14.20.0","dependencies":{"antlr4ts":"0.5.0-alpha.4","node-dir":"^0.1.17"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","jest":"^27.0.6","eslint":"^7.32.0","typescript":"^4.3.5","@types/jest":"^26.0.24","@types/node":"^14.14.16","antlr4ts-cli":"0.5.0-alpha.4","@types/node-dir":"^0.0.34","@typescript-eslint/parser":"^4.29.0","@typescript-eslint/eslint-plugin":"^4.29.0"},"_npmOperationalInternal":{"tmp":"tmp/vf-parser_1.0.0_1658170054803_0.9285003894070192","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@apexdevtools/vf-parser","version":"1.1.0","author":{"url":"https://github.com/apex-dev-tools","name":"Apex Dev Tools Team","email":"apexdevtools@gmail.com"},"license":"BSD-3-Clause","_id":"@apexdevtools/vf-parser@1.1.0","maintainers":[{"name":"apexdevtools","email":"apexdevtools@gmail.com"}],"homepage":"https://github.com/apex-dev-tools/vf-parser","bugs":{"url":"https://github.com/apex-dev-tools/vf-parser/issues"},"dist":{"shasum":"7e2db28fea7808a58bcd70503a83db92d3e570f7","tarball":"https://registry.npmjs.org/@apexdevtools/vf-parser/-/vf-parser-1.1.0.tgz","fileCount":23,"integrity":"sha512-dP45Y3b4F0b8HosvGEMo6ugRx8yKhaz7h6eJh1cD/YvFxajk6x9Hfrtw63U2EKAstug6waBsT6QC7h+4USjBnA==","signatures":[{"sig":"MEYCIQDE4TzsLwMk7VNmsVXb5NMpuiS82Y4OvkTgXraxF4fmhgIhAKX0nR5eEMhiMhPbd2ewnf5zoHpeSMSxc2QkN04iDYEA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":166370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUOYEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTPA//RaHhQS8byjxTFfefwtAE0vyNLzF5U4YTigLzin+Xj38PAQ9h\r\nviMppShuAOgQY2Z5s6kU44H+Ms2/0/V9fp+Fczh9NUhO+/JV3ZB9yFI2e3lG\r\nM4PHsIOWBR8k+VUrh5yYSDHpYdTsXzQsfbakOqZAHKZJ2z++95eqSbgoV9+0\r\nJCY3BEJxhgxO3Be6dY1kPNz6jfwPnWC0JS367n/9Xb25A+of0bX9GDXeqkdn\r\nwXyU73e3V8yiXn2Mrt9Iq/2sP5vOptPDr3zEg4ZqtoMS3yga3UZgnQqSE4lY\r\ni7m15BQ1i/Ch3VokZdlny8ZSVwfsQtOxYrmVlPe35pyZ2FZ2uzW4l4KHud/1\r\ngnnfTgcKnBHMSf/Ly6UCLF/j9fvUN8mt7b2HzW0NpPPI4E31M5vv2Nmtg/q8\r\n5r1y0TlKV+hxX6c8z6HZ6dfTTonR3dOfCtX7/DZzabyfk9g8Gg5qfPrDwGWh\r\nF9STzKoO9+oo6E+pULPA0VEBm94vkSqzpwRGbo8Fip449jN+f/EZQX5xLGPB\r\nOsKpYJSb2eJnkHJ0a2CBEsOgBbT9ktkVm65t20WDA2mFPdD6Gb5db4nZFEit\r\niC0ae1qI/qMzvtEWwuZsfCig7WqmgQQqU7cHTMbrYhf9tM+nN2l5rtC83MsZ\r\nb/8QhxQsUMtSPrhMM3LVCY43mmvwOqsCv/Y=\r\n=v44s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">=8.0.0"},"scripts":{"test":"jest --config jestconfig.json lib","build":"npm run antlr4ts && cp ../README.md . && tsc","check":"node -e 'require(\"./lib/index.js\").check()'","antlr4ts":"npm run antlr-build && npm run antlr-patch","antlr-build":"(cd antlr; antlr4ts -visitor -o ../src VFLexer.g4 VFParser.g4)","antlr-patch":"node patch"},"_npmUser":{"name":"apexdevtools","email":"apexdevtools@gmail.com"},"repository":{"url":"git+https://github.com/apex-dev-tools/vf-parser.git","type":"git"},"_npmVersion":"6.14.18","description":"Salesforce Visualforce parser","directories":{},"_nodeVersion":"14.21.3","dependencies":{"antlr4ts":"0.5.0-alpha.4","node-dir":"^0.1.17"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","jest":"^27.0.6","eslint":"^7.32.0","typescript":"^4.3.5","@types/jest":"^26.0.24","@types/node":"^14.14.16","antlr4ts-cli":"0.5.0-alpha.4","@types/node-dir":"^0.0.34","@typescript-eslint/parser":"^4.29.0","@typescript-eslint/eslint-plugin":"^4.29.0"},"_npmOperationalInternal":{"tmp":"tmp/vf-parser_1.1.0_1683023363760_0.09096314964019103","host":"s3://npm-registry-packages"}},"2.0.0-beta.1":{"name":"@apexdevtools/vf-parser","version":"2.0.0-beta.1","author":{"url":"https://github.com/apex-dev-tools","name":"Apex Dev Tools Team","email":"apexdevtools@gmail.com"},"license":"BSD-3-Clause","_id":"@apexdevtools/vf-parser@2.0.0-beta.1","maintainers":[{"name":"apexdevtools","email":"apexdevtools@gmail.com"}],"homepage":"https://github.com/apex-dev-tools/vf-parser","bugs":{"url":"https://github.com/apex-dev-tools/vf-parser/issues"},"dist":{"shasum":"a8c090eb88c5bb6935c74164d5c596a621c1b9da","tarball":"https://registry.npmjs.org/@apexdevtools/vf-parser/-/vf-parser-2.0.0-beta.1.tgz","fileCount":94,"integrity":"sha512-p/c9yIXTZa1wQIpXcEtMECxeRklpl20jla95GZwnSDUFnJpXjuW02PLAvACVUnLLO4K4AA8KcFWfRZGHw7SZ6Q==","signatures":[{"sig":"MEYCIQDV8fE5c7mci5YvW6baolldp1Q4PjmrBaP+nBX3L+3XHwIhAKht7NztFLy5kCPJntKhUBwDnIhbeJCykXx0J9zeyWXH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3339481},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":"^20.19.0 || ^22.13.0 || >=24"},"exports":{".":"./dist/src/index.js","./antlr/*":"./dist/src/antlr/*.js","./ThrowingErrorListener":"./dist/src/ThrowingErrorListener.js"},"gitHead":"bbb412e06787d5ff6b913eeeaea41ce5c22e29fd","scripts":{"init":"npm ci && npm run antlr","lint":"eslint --cache --cache-location .eslintcache ./src --fix","test":"jest --config jestconfig.json","antlr":"mvn exec:exec","build":"npm run clean && npm run antlr && tsc","check":"node -e 'import(\"./dist/src/index.js\").then(m => m.check())'","clean":"rm -rf dist","prepack":"cp ../*.md .","prepare":"patch-package","build:test":"npm run build && npm test"},"_npmUser":{"name":"apexdevtools","email":"apexdevtools@gmail.com"},"repository":{"url":"git+https://github.com/apex-dev-tools/vf-parser.git","type":"git"},"_npmVersion":"10.9.7","description":"Salesforce Visualforce parser","directories":{},"_nodeVersion":"22.22.2","dependencies":{"antlr4":"4.13.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.2.1","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^22.19.17","patch-package":"^8.0.1","typescript-eslint":"^8.59.0"},"bundleDependencies":["antlr4"],"_npmOperationalInternal":{"tmp":"tmp/vf-parser_2.0.0-beta.1_1779043608362_0.7470571850450893","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@apexdevtools/vf-parser","version":"2.0.0","author":{"name":"Apex Dev Tools Team","email":"apexdevtools@gmail.com","url":"https://github.com/apex-dev-tools"},"bugs":{"url":"https://github.com/apex-dev-tools/vf-parser/issues"},"description":"Salesforce Visualforce parser","homepage":"https://github.com/apex-dev-tools/vf-parser","repository":{"type":"git","url":"git+https://github.com/apex-dev-tools/vf-parser.git"},"license":"BSD-3-Clause","main":"dist/src/index.js","types":"dist/src/index.d.ts","type":"module","scripts":{"antlr":"mvn exec:exec","build":"npm run clean && npm run antlr && tsc","build:test":"npm run build && npm test","check":"node -e 'import(\"./dist/src/index.js\").then(m => m.check())'","clean":"rm -rf dist","init":"npm ci && npm run antlr","lint":"eslint --cache --cache-location .eslintcache ./src --fix","prepare":"patch-package","prepack":"cp ../*.md .","test":"jest --config jestconfig.json"},"bundleDependencies":["antlr4"],"dependencies":{"antlr4":"4.13.2"},"devDependencies":{"@eslint/js":"^10.0.1","@types/jest":"^30.0.0","@types/node":"^22.19.17","eslint":"^10.2.1","jest":"^30.3.0","patch-package":"^8.0.1","typescript":"^6.0.3","typescript-eslint":"^8.59.0"},"engines":{"node":"^20.19.0 || ^22.13.0 || >=24"},"exports":{".":"./dist/src/index.js","./antlr/*":"./dist/src/antlr/*.js","./ThrowingErrorListener":"./dist/src/ThrowingErrorListener.js"},"_id":"@apexdevtools/vf-parser@2.0.0","gitHead":"c9460487bb88348f3c7ea4328d546bb5101721d0","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-TSi5LlT4Xt+TPVAoeOFgWlWmBaDRsMJehyapirmnPPYNHu4Vslmyok1UTeN0cxvTPzEyQUuKQykfFTosPt/tKA==","shasum":"98462e10d298bfcb39eb30a6c2366bc52ba92513","tarball":"https://registry.npmjs.org/@apexdevtools/vf-parser/-/vf-parser-2.0.0.tgz","fileCount":94,"unpackedSize":3339474,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCiiAWJKtou/Z1iOL+nLpbhxHoequdApTup7R5oHxYL5wIgCqenhuJJyJDa2O1Jo7q1WrYs5tTKRxGCVOCBFczjes0="}]},"_npmUser":{"name":"apexdevtools","email":"apexdevtools@gmail.com"},"directories":{},"maintainers":[{"name":"apexdevtools","email":"apexdevtools@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vf-parser_2.0.0_1783114123745_0.9616444101660753"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-18T18:47:34.760Z","modified":"2026-07-03T21:28:44.041Z","1.0.0":"2022-07-18T18:47:34.998Z","1.1.0":"2023-05-02T10:29:23.971Z","2.0.0-beta.1":"2026-05-17T18:46:48.561Z","2.0.0":"2026-07-03T21:28:43.926Z"},"bugs":{"url":"https://github.com/apex-dev-tools/vf-parser/issues"},"author":{"name":"Apex Dev Tools Team","email":"apexdevtools@gmail.com","url":"https://github.com/apex-dev-tools"},"license":"BSD-3-Clause","homepage":"https://github.com/apex-dev-tools/vf-parser","repository":{"type":"git","url":"git+https://github.com/apex-dev-tools/vf-parser.git"},"description":"Salesforce Visualforce parser","maintainers":[{"name":"apexdevtools","email":"apexdevtools@gmail.com"}],"readme":"# vf-parser\n\nParser for Salesforce Visualforce. This is based on an [ANTLR4](https://www.antlr.org/) grammar, see antlr/ApexParser.g4.\n\nThere are two builds of the parser available, a NPM module for use with Node and a Maven package for use on JVMs.\n\nThese builds just contain the Parser & Lexer and provides no further support for analysing the generated parse trees beyond what is provided by ANTLR4.\n\n## Example\n\nTo parse a page file (NPM version):\n\n    let lexer = new VFLexer(CharStreams.fromString(\"<apex:page/>\"));\n    let tokens = new CommonTokenStream(lexer);\n\n    let parser = new VFParser(tokens);\n    let context = parser.vfUnit();\n\nThe 'context' is a VfUnitContext object which is the root of the parsed representation of the page. You can access the parse tree via functions on it.\n\n## Packages\n\nMaven\n\n    <dependency>\n        <groupId>io.github.apex-dev-tools</groupId>\n        <artifactId>vf-parser</artifactId>\n        <version>1.1.0</version>\n    </dependency>\n\nNPM\n\n    \"@apexdevtools/vf-parser\": \"^1.1.0\"\n\n## Building\n\nTo build both distributions:\n\n    npm run build\n\n## History\n\n    1.0.0 - Initial version, Move to @apexdevtools/vf-parser\n\n## Source & Licenses\n\nAll the source code included uses a 3-clause BSD license.\n","readmeFilename":"README.md"}