{"_id":"firebase-rules-parser","_rev":"5-2577588a29f8bc1f9ffb525be128f022","name":"firebase-rules-parser","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"firebase-rules-parser","version":"1.0.0","description":"Parser for Firebase rule files","main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"start":"yarn build && node lib/index.js","clean":"rimraf -f -r -d lib","prebuild":"yarn clean","build":"tsc","postbuild":"yarn copy-parser-files","test":"jest","test:watch":"jest --verbose --watch","lint":"tslint --fix ./src/**/*.ts*","semantic-release":"semantic-release","predeploy":"yarn build","deploy":"npm deploy","commit":"npx git-cz","copy-parser-files":"cpx ./src/parser/**/*.* ./lib/parser/","check-package":"tar tvf $(npm pack)","generate":"antlr4-tool --no-visitor -o ./src/parser ./src/FirebaseRules.g4 && yarn lint && yarn build"},"repository":{"type":"git","url":"git+https://github.com/mindhivefi/firebase-rules-parser.git"},"release":{"verifyConditions":"condition-circle","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","package-lock.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"keywords":["firebase","rules","security","parser"],"author":{"name":"Ville Venäläinen","email":"ville@mindhive.fi","url":"https://www.mindhive.fi"},"license":"ISC","bugs":{"url":"https://github.com/mindhivefi/firebase-rules-parser/issues"},"homepage":"https://github.com/mindhivefi/firebase-rules-parser#readme","devDependencies":{"@commitlint/cli":"7.5.2","@commitlint/config-conventional":"7.5.0","@semantic-release/changelog":"3.0.2","@semantic-release/git":"7.0.8","@semantic-release/npm":"5.1.4","@types/antlr4":"4.7.0","@types/jest":"24.0.11","antlr4":"4.7.2","antlr4-tool":"1.0.26","commitizen":"3.0.7","condition-circle":"2.0.2","cpx":"1.5.0","husky":"1.3.1","jest":"24.5.0","rimraf":"2.6.3","semantic-release":"15.13.3","ts-jest":"24.0.0","tslint":"5.14.0","tslint-config-prettier":"1.18.0","tslint-sonarts":"1.9.0","typescript":"3.3.3333"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","precommit":"yarn lint && yarn test && yarn clean","build":"yarn build"}},"dependencies":{"deepmerge":"3.2.0"},"gitHead":"966e4df12c2194931fe55cae7f304b0fb05e221f","_id":"firebase-rules-parser@1.0.0","_npmVersion":"6.5.0","_nodeVersion":"8.9.4","_npmUser":{"name":"villevenalainen","email":"ville@mindhive.fi"},"dist":{"integrity":"sha512-Vp98fra+c2VzaqTNb14Yd72AvWJ31O9HSdATIn1PZ3xvfCnhXqsHBGua/En/VW2N0AInetDYIdKKt6W22sDOzg==","shasum":"6c3397b45f5ecbe6f3da0a913e6048371eecd390","tarball":"https://registry.npmjs.org/firebase-rules-parser/-/firebase-rules-parser-1.0.0.tgz","fileCount":54,"unpackedSize":463552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcplfGCRA9TVsSAnZWagAAWrsP/1p91FplQOSANmDOmcm6\nakAfFlxp7ugPP9VE677mnVGG9iQmH511C3aMOVb+2zH2N3BKUWHDOogxkTCT\nEVsWUBDx4/Aaqy9bSlSZnH0Ox1EPZPs/KBZnP4bFu00HlAC1qJ/Nou4yW1nd\nYyz9pcWHIYmV5iPlMa+ANtG01cH7k0zv1rdLmAMACfD02QUc6G1/v5anVx/9\njPRP0a/EsBP1Lc8EYrdaBMke2Fphm44Q8sUvX9g6EQT/UIDvv7g4vcD6Jskz\n+lqHDzGa0zm0oBW0XJTxb36axqYQfp4r3UXxFG95TEZc7E2skfEZCqlwdb6b\nmt2ZjFdqqkHYCRvEujmbwne9kZSxS9UsFR1Z6nPRYqYHTPtZurFViKQxfP9Y\no7z1mbJ7lh1cWJhxcJkRHkwfbA8EeWCnFINLx52epiLsxWjBKTu75+BpXzcI\nOVrXUZ83n4E9V96YQCfy9dLhidOKUzCKANj53kLfuM/zfDsKUXSlvlD8qMJx\nWOdgMk760cNhRi1f03emaFPS9Gqe8B8gJGP7hizV79EkxFzyvtgsxQj/e9/U\nOE+8Xob+1Lb7pMCJrKAFTUg+g6a01DiyabFrwhQ0h5gKz4JMAaw3GC/BBabj\n5whQ9f4jS1jHz9JZOf2AwhzG1or+J3owHdOI0ytFsw7tlLvPgNjEhJCq3kye\n2OxQ\r\n=+xS6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaP6sgoroTkzrXcBFJO7fy4rXDVbJw7ZmWoyzFgDXgCQIgLbIC15sf3Mq57CUJ0krBAhzxtLpQDrjmftZv2dwk8Xk="}]},"maintainers":[{"name":"villevenalainen","email":"ville@mindhive.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/firebase-rules-parser_1.0.0_1554405318145_0.7721489588134207"},"_hasShrinkwrap":false},"1.0.1":{"name":"firebase-rules-parser","version":"1.0.1","description":"Parser for Firebase rule files","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"start":"yarn build && node lib/index.js","clean":"rimraf -f -r -d lib","prebuild":"yarn clean","build":"tsc","postbuild":"yarn copy-parser-files","test":"jest","test:watch":"jest --verbose --watch","lint":"tslint --fix ./src/**/*.ts*","semantic-release":"semantic-release","predeploy":"yarn build","deploy":"npm deploy","commit":"npx git-cz","copy-parser-files":"cpx ./src/parser/**/*.* ./lib/parser/","check-package":"tar tvf $(npm pack)","generate":"antlr4-tool --no-visitor -o ./src/parser ./src/FirebaseRules.g4 && yarn lint && yarn build"},"repository":{"type":"git","url":"git+https://github.com/mindhivefi/firebase-rules-parser.git"},"release":{"verifyConditions":"condition-circle","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","package-lock.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"keywords":["firebase","rules","security","parser"],"author":{"name":"Ville Venäläinen","email":"ville@mindhive.fi","url":"https://www.mindhive.fi"},"license":"ISC","bugs":{"url":"https://github.com/mindhivefi/firebase-rules-parser/issues"},"homepage":"https://github.com/mindhivefi/firebase-rules-parser#readme","devDependencies":{"@commitlint/cli":"7.5.2","@commitlint/config-conventional":"7.5.0","@semantic-release/changelog":"3.0.2","@semantic-release/git":"7.0.8","@semantic-release/npm":"5.1.4","@types/antlr4":"4.7.0","@types/jest":"24.0.11","antlr4":"4.7.2","antlr4-tool":"1.0.26","commitizen":"3.0.7","condition-circle":"2.0.2","cpx":"1.5.0","husky":"1.3.1","jest":"24.5.0","rimraf":"2.6.3","semantic-release":"15.13.3","ts-jest":"24.0.0","tslint":"5.14.0","tslint-config-prettier":"1.18.0","tslint-sonarts":"1.9.0","typescript":"3.3.3333"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","precommit":"yarn lint && yarn test && yarn clean","build":"yarn build"}},"dependencies":{"deepmerge":"3.2.0"},"gitHead":"0f099651d604dc8303285bf6fbf343c2c4ac09c3","_id":"firebase-rules-parser@1.0.1","_npmVersion":"6.5.0","_nodeVersion":"8.9.4","_npmUser":{"name":"villevenalainen","email":"ville@mindhive.fi"},"dist":{"integrity":"sha512-3LgzetGiBHY/ao3EVXV5UsbgTp47Cj0G52QjBRxJ/fh8phnIQ/ML9pjdW0j8SM6hPvylBAjdSVTRo2RAACHW3A==","shasum":"9ec622ae0ce81486598dbda2d6924b784908caf5","tarball":"https://registry.npmjs.org/firebase-rules-parser/-/firebase-rules-parser-1.0.1.tgz","fileCount":54,"unpackedSize":464669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcq3lfCRA9TVsSAnZWagAA02AQAISRucDTHUay1kXwBSvq\n0CPwOj9E8uwRFIbjmJmhxNhJpsr1/UuS/zoir2JV5P7sEBbz0oPHN/GWbV4b\n9qXIjTxtBJwWB3SYTXmcJVhD5XjHDOe6tXML9ngWP74/1ju4sWyrWarDbzbE\nQ4w+9P0T4jcJupAtAbE5sRJeUnIGuhcYjJLS33IsTpA21l4TIn2+lAUE02K3\nieV5izvZ2qQxCHf9DyQo9Ak06huLIZhNBixNjHiXFFT4le89aQj4KgEHX8+a\njKvLtW7qJQ+gloYpP/0fja+dJ9A71UtCgbVRfogIIkjvT2e5rE8x0HTLX5Jx\nTdnEMQFNd9wxHDRUEKXSD1PE75RMnFc5dmQWdkKZTPuE7roSjPcuGLCBZ07Q\nY7RN15dbAdqHihCAZIs2u7gsQvmFWlrkZ6OBr4JVRy90YX+9eQ7ZurldXJdV\nOqbxun5Rg0Ui8ZeM4/sQ77QaylTDOHQYfa7N9XtQzd9L2w6A5tTDRFz5GmTH\nCXIT0cuKRrGgb1CI5VrWfeIpq9+YjqKpWVlOX9Z8U/25+lSAUWEVp5y+8dob\nuG9jMR1sGMiEZo3CXs3PJ7DyHipw7VYhBJR9xLvRUblOY84mwiLCE6cyYu70\nSjlyUToNL7SqQtnYZUN060u7vGPeKglNa+wsH56CFMGzUXU0+MZyMTOFA1HU\noUsN\r\n=o2Ez\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDn1jTSp/hWtuc5/yAkyiLZ4NCfo7CMw8QANGPIEnEUjwIgXJJnPH9tkEAvLEpyIaGjmhert0a2bNmiTUmRs+vTeuo="}]},"maintainers":[{"name":"villevenalainen","email":"ville@mindhive.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/firebase-rules-parser_1.0.1_1554741598092_0.24199227593612505"},"_hasShrinkwrap":false},"1.0.2":{"name":"firebase-rules-parser","version":"1.0.2","description":"Parser for Firebase rule files","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"start":"yarn build && node lib/index.js","clean":"rimraf -f -r -d lib","prebuild":"yarn clean","build":"tsc","postbuild":"yarn copy-parser-files","test":"jest","test:watch":"jest --verbose --watch","lint":"tslint --fix ./src/**/*.ts*","semantic-release":"semantic-release","predeploy":"yarn build","deploy":"npm deploy","commit":"npx git-cz","copy-parser-files":"cpx ./src/parser/**/*.* ./lib/parser/","check-package":"tar tvf $(npm pack)","generate":"antlr4-tool --no-visitor -o ./src/parser ./src/FirebaseRules.g4 && yarn lint && yarn build"},"repository":{"type":"git","url":"git+https://github.com/mindhivefi/firebase-rules-parser.git"},"release":{"verifyConditions":"condition-circle","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","package-lock.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"keywords":["firebase","rules","security","parser"],"author":{"name":"Ville Venäläinen","email":"ville@mindhive.fi","url":"https://www.mindhive.fi"},"license":"ISC","bugs":{"url":"https://github.com/mindhivefi/firebase-rules-parser/issues"},"homepage":"https://github.com/mindhivefi/firebase-rules-parser#readme","peerDependencies":{"antlr4":"4.7.2"},"devDependencies":{"@commitlint/cli":"7.5.2","@commitlint/config-conventional":"7.5.0","@semantic-release/changelog":"3.0.2","@semantic-release/git":"7.0.8","@semantic-release/npm":"5.1.4","@types/antlr4":"4.7.0","@types/jest":"24.0.11","antlr4-tool":"1.0.26","commitizen":"3.0.7","condition-circle":"2.0.2","cpx":"1.5.0","husky":"1.3.1","jest":"24.7.1","rimraf":"2.6.3","semantic-release":"15.13.3","ts-jest":"24.0.2","tslint":"5.15.0","tslint-config-prettier":"1.18.0","tslint-sonarts":"1.9.0","typescript":"3.4.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","precommit":"yarn lint && yarn test && yarn clean","build":"yarn build"}},"dependencies":{"deepmerge":"3.2.0"},"gitHead":"553445fcc0ff6e70057f191311ea7678883df115","_id":"firebase-rules-parser@1.0.2","_npmVersion":"6.5.0","_nodeVersion":"8.9.4","_npmUser":{"name":"villevenalainen","email":"ville@mindhive.fi"},"dist":{"integrity":"sha512-rdID/nwcG6CQAUFCZRDn7/AkIUAFqk877ikPz3NEswVU8nmWYPovYhQODtG7zbuJ4GmlrH144g6Jx51bxpiKzw==","shasum":"2e646d53ee076fa8d7d12bd8543240d6aef39ca4","tarball":"https://registry.npmjs.org/firebase-rules-parser/-/firebase-rules-parser-1.0.2.tgz","fileCount":54,"unpackedSize":464929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcq31oCRA9TVsSAnZWagAA4fUP/34r23gOILmNGsCXbHTx\nHBzKSy1M14L3W/2fkmgwMbNHtMJFHBipdUVJRp8M5IDbRSZD5sPTZGoFWM3W\nAbzD1UKloyNykhgVygRhS3697No7CgNhHaNxUEOC95kblUDYcb4y/yyJJBxx\njjQ4e960QhLCsLNXWMKNqe9w3RzbfjGMCiAVkwcL/PJyKv10HLiw/zZsv2hi\nmaazXthoFLnpdK//4Dax35f+w3oOvDriaGYHeEtuHhOxKTqQ2OgbGBfFTsIJ\n+2i1qPyy7PBJl7+XKQODMPLkX00Fg8Um981PfDmRmW3i7gbh6AH4H4fF1Q9D\nvzz/NLQ9C9snrxUdjr7KhibYz6R6X87wkA4LnciBnXDt8HjxTIWQ/o0fz6CX\nFaXH1fLBmFAL/TUQtALqv66YGsXbFEESUhApg23Q3jmIoeTuZPqTRXfFJKK5\nJzSm06aURrKlZtqyR7l80zZ6K6H6gsOxwvU09FtZ1GruXh1utorM5ma+AL9i\nf3EBX40mWI+8e7rIIHy/xeGKm1pzZJ9O3ueRnf/o387j8rMbEdseSh//G1Er\np0TuG4cERt9HC6PtWpNaGZLwQhl4XS+74fgIzo+eaFNYbWPZLa6hshx/vUXE\n+62SmSoAIfPGOMxChLH0nnyCq6W6iU/jXFkMlDhJhL2sJNPW2gs5/T0ZJFGq\nQ8/R\r\n=x0Lh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHF2GnZ281U5D1rPZMjBJb4vH0vOCj4FvrwmMJ4zN7iSAiBy0Usns4u/SZDrBqBNUN++iIEG4/SjBohV6TZOlsur5A=="}]},"maintainers":[{"name":"villevenalainen","email":"ville@mindhive.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/firebase-rules-parser_1.0.2_1554742632010_0.7631304090148363"},"_hasShrinkwrap":false},"2.0.0":{"name":"firebase-rules-parser","version":"2.0.0","description":"Parser for Firebase rule files","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"start":"yarn build && node lib/index.js","clean":"rimraf -f -r -d lib","prebuild":"yarn clean","build":"tsc","postbuild":"yarn copy-parser-files","test":"jest","test:watch":"jest --verbose --watch","lint":"tslint --fix ./src/**/*.ts*","semantic-release":"semantic-release","predeploy":"yarn build","deploy":"npm deploy","commit":"npx git-cz","copy-parser-files":"cpx ./src/parser/**/*.* ./lib/parser/","check-package":"tar tvf $(npm pack)","generate":"antlr4-tool --no-visitor -o ./src/parser ./src/FirebaseRules.g4 && yarn lint && yarn build"},"repository":{"type":"git","url":"git+https://github.com/mindhivefi/firebase-rules-parser.git"},"release":{"verifyConditions":"condition-circle","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","package-lock.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"keywords":["firebase","rules","security","parser"],"author":{"name":"Ville Venäläinen","email":"ville@mindhive.fi","url":"https://www.mindhive.fi"},"license":"ISC","bugs":{"url":"https://github.com/mindhivefi/firebase-rules-parser/issues"},"homepage":"https://github.com/mindhivefi/firebase-rules-parser#readme","peerDependencies":{"antlr4":"4.7.2"},"devDependencies":{"@commitlint/cli":"7.5.2","@commitlint/config-conventional":"7.5.0","@semantic-release/changelog":"3.0.2","@semantic-release/git":"7.0.8","@semantic-release/npm":"5.1.4","@types/antlr4":"4.7.0","@types/jest":"24.0.11","antlr4-tool":"1.0.26","commitizen":"3.0.7","condition-circle":"2.0.2","cpx":"1.5.0","husky":"1.3.1","jest":"24.7.1","rimraf":"2.6.3","semantic-release":"15.13.3","ts-jest":"24.0.2","tslint":"5.15.0","tslint-config-prettier":"1.18.0","tslint-sonarts":"1.9.0","typescript":"3.4.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","precommit":"yarn lint && yarn test && yarn clean","build":"yarn build"}},"dependencies":{"deepmerge":"3.2.0"},"gitHead":"99fb1273e1cfaa671b6194a8525eb9c527212a9d","_id":"firebase-rules-parser@2.0.0","_npmVersion":"6.5.0","_nodeVersion":"8.9.4","_npmUser":{"name":"villevenalainen","email":"ville@mindhive.fi"},"dist":{"integrity":"sha512-KCSKymHpAhHFAi56tkcXQdYD2phqS/FVHJzBrySBD1Qoa9Nq2icyGHso3RBeIsSAZPxWW5mfhuflJjUCL61rjA==","shasum":"6f72937199b95f6d984ab3d22ed7d69a010b535e","tarball":"https://registry.npmjs.org/firebase-rules-parser/-/firebase-rules-parser-2.0.0.tgz","fileCount":54,"unpackedSize":466259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcq4tqCRA9TVsSAnZWagAAVbcQAJgCh0yDUSQaA9dTuSVE\nbRWAo+jHxMz79Dsa/A203EDKiWpIeXPemsD/74xYXLDRwIf/66IgczK3DP69\ntllzGoZYo3fhNHrJtAdguSkGtmd1UZmEYGPy9JGzoaFthytpwEMzJ0KHSS2K\n4ZcEQiJakW/eUXOkVf54OMAsvDn9Do2+XufnQnBQMW5UBtAkGG83w1N8j5Y0\ncg/x6E6ynbRWixfMeLvv9FTQ8LLpaFt0SET7Xo72J3sF6g7/IoHRXD+Ka/Nn\nvJkBsky9EfavaYZIemKuDyZ3thimtBdMVEGT6sXNx01TS6izIRnKFD0JkMJJ\nypSiNwQQrncu6TPQaQ1GQ3XvwkhCHBFaD5z0CcP0dooZRNpPYqU5Nzl1edpW\n6OL/ibuVWjWYxx1hnyrgQQe917TpFrqGMIEMoN99M0U/Vn1LhHGB7xSm/Syc\nS2qSpT661ZptGhIf8g3g3Q1VQ0NkJXGvZP8z2k8fvsVZDwCQ8fXQnAg6J4rt\ng/4YkgLlpnx99ZhBFVnm1mBFoPya2LhTPxQMFjQIkWgLwxW4Ugj4CdUkxe0Z\ndlKx1PRFOnsc0nrojzRLGdyrdRWTLS3i7wDe0EIgdNdm/YnrP+wiLrzMxJIB\nh2u06CvTmqKRyAMaoiExilhKwxO1wbcRVdda4A0xPd7zcKVUs8uUEpjx0/R8\nxdH8\r\n=93X3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTOmYFmNC7q+V4BkjwW3D7DJPz2kS1aI+zemwxYd49/wIhAM/zZ4+RdrA2T0L1kQnGzjSwENI8f0/vGJlVoQqDOdY4"}]},"maintainers":[{"name":"villevenalainen","email":"ville@mindhive.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/firebase-rules-parser_2.0.0_1554746217803_0.10728700065464314"},"_hasShrinkwrap":false},"2.0.1":{"name":"firebase-rules-parser","version":"2.0.1","description":"Parser for Firebase rule files","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"start":"yarn build && node lib/index.js","clean":"rimraf -f -r -d lib","prebuild":"yarn clean","build":"tsc","postbuild":"yarn copy-parser-files","test":"jest","test:watch":"jest --verbose --watch","lint":"tslint --fix ./src/**/*.ts*","semantic-release":"semantic-release","predeploy":"yarn build","deploy":"npm deploy","commit":"npx git-cz","copy-parser-files":"cpx ./src/parser/**/*.* ./lib/parser/","check-package":"tar tvf $(npm pack)","generate":"antlr4-tool --no-visitor -o ./src/parser ./src/FirebaseRules.g4 && yarn lint && yarn build"},"repository":{"type":"git","url":"git+https://github.com/mindhivefi/firebase-rules-parser.git"},"release":{"verifyConditions":"condition-circle","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","package-lock.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"keywords":["firebase","rules","security","parser"],"author":{"name":"Ville Venäläinen","email":"ville@mindhive.fi","url":"https://www.mindhive.fi"},"license":"ISC","bugs":{"url":"https://github.com/mindhivefi/firebase-rules-parser/issues"},"homepage":"https://github.com/mindhivefi/firebase-rules-parser#readme","devDependencies":{"@commitlint/cli":"7.6.1","@commitlint/config-conventional":"7.6.0","@semantic-release/changelog":"3.0.2","@semantic-release/git":"7.0.8","@semantic-release/npm":"5.1.7","@types/antlr4":"4.7.0","@types/jest":"24.0.13","antlr4-tool":"1.0.26","commitizen":"3.1.1","condition-circle":"2.0.2","cpx":"1.5.0","husky":"1.3.1","jest":"24.8.0","rimraf":"2.6.3","semantic-release":"15.13.3","ts-jest":"24.0.2","tslint":"5.16.0","tslint-config-prettier":"1.18.0","tslint-sonarts":"1.9.0","typescript":"3.4.5"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","precommit":"yarn lint && yarn test && yarn clean","build":"yarn build"}},"dependencies":{"antlr4":"4.7.2","deepmerge":"3.2.0"},"gitHead":"0dc4a0cbe6dc698da45a41c5fdca034bb3636460","_id":"firebase-rules-parser@2.0.1","_nodeVersion":"8.9.4","_npmVersion":"6.9.0","dist":{"integrity":"sha512-d3bUOmc7CkgSVcrpIoOdQGgcqffQJF2alJv0A7BwIsILgGNCORZKciqh0gj/oT8+kAoEan3+qkUocwB3E0oiQw==","shasum":"822d0da2caa2bcb2d412dee8231080482f2a662f","tarball":"https://registry.npmjs.org/firebase-rules-parser/-/firebase-rules-parser-2.0.1.tgz","fileCount":54,"unpackedSize":466695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5CQaCRA9TVsSAnZWagAA9zkP/2L+oRnQ1EDfCjwWeeJp\nMzJ56NCiBBxBfP08AkAJvS/9+zPXg6PtoT3G+tWcj7Zcwb9R0Txw8uNEp7Xy\njlV37ufXgE3zQmpipVLhZVHsr7eLnubYg4a/JbgeCggWnesMEeQZ9JutAxNd\nSCP7v/8FOp53XNwC//UN5i4hgUcFMU5Mxp/JjX1ktTvZkHoB7/AU3w5wp+nQ\nCSc6hWXtFd3iGy+ThH3VAM+4MsgbyBWR5IWBuB7jR5DkPH6KxuXISNSi4Sk1\n8bV48sXDQbbPY2HiF4tbl90zz1L48+bmuN+P/r6pke2BiOupcoaFpFA7svDU\ngXvj+oWU12mGQvUgq4IlTYPmuoavfgF6RNURBT9XGg+XCyiptIzDwKsHpCAJ\nazBDir+TuSk96LBuquyv5H1PBMtxuhz2vOoyLKUmSWLbhk0wMHTjYshwpeyO\nfmlK1HkcI6NRfDZ7WkngehQa4oZBBgDpQ4EB14McQOFQkIVsgKuZG3QT6Kfd\nX/A1Zk90hSaVQb0FZnX2thtdO28gO4QAE1S1vYv2ofRY4FDBFiLqLjUeV3ra\n4vLnFmzmbr2wuPL/7lVyX5OD2MUc2aErJ5MwBAGQXvdsXHp4AMahLSqIW2s8\nc8yumfGZxC2iXHfCfDigJYCP01rLaGG8N/gAXuzg1X1nEYLYgZHbsw5ATM/q\nn9o0\r\n=ON/g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH/DkpLbk2+EqYAk91AP0FkUql5cQll7tgAxuzyyiA4HAiEAq2PhqvLQNpvHZxhAhzjp093G9g1T6JQaLRiZCtafFdk="}]},"maintainers":[{"name":"villevenalainen","email":"ville@mindhive.fi"}],"_npmUser":{"name":"villevenalainen","email":"ville@mindhive.fi"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/firebase-rules-parser_2.0.1_1558455321628_0.8279519160214133"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-04T19:15:18.145Z","1.0.0":"2019-04-04T19:15:18.311Z","modified":"2022-05-02T11:25:12.960Z","1.0.1":"2019-04-08T16:39:58.212Z","1.0.2":"2019-04-08T16:57:12.190Z","2.0.0":"2019-04-08T17:56:57.981Z","2.0.1":"2019-05-21T16:15:21.723Z"},"maintainers":[{"name":"villevenalainen","email":"ville@mindhive.fi"}],"description":"Parser for Firebase rule files","homepage":"https://github.com/mindhivefi/firebase-rules-parser#readme","keywords":["firebase","rules","security","parser"],"repository":{"type":"git","url":"git+https://github.com/mindhivefi/firebase-rules-parser.git"},"author":{"name":"Ville Venäläinen","email":"ville@mindhive.fi","url":"https://www.mindhive.fi"},"bugs":{"url":"https://github.com/mindhivefi/firebase-rules-parser/issues"},"license":"ISC","readme":"# firebase-rules-parser\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/mindhivefi/firebase-rules-parser.svg)](https://greenkeeper.io/)\n\nFirebase rule parser parsers Firebase rule language files and emulates rules to check the access for different paths. Current version supports nearly all functionality of the rules language, except duaration, latlong and timestamp functions.\n\nThis project is a side project of [ts-mock-firebase](https://github.com/mindhivefi/ts-mock-firebase#readme), which is a mocking library for professional unit testing with Firebase projects. Even so, it is also possible to use this librarary individually.\n\n## Getting started\n\nInstall the library: \n\n```bash\nyarn add firebase-rules-parser\n```\nor \n```bash\nnpm install firebase-rules-parser\n```\n### Initializing rules\nTo load rules into intepreter:\n\n```typescript\nimport createFirebaseRulesIntepreter from 'firebase-rules-parser';\n\n// create an instance of intepreter\nconst rules = createFirebaseRulesIntepreter();\n// load your rules \nrules.init(source);\n```\nAbove, the source parameter is a string containing rules -file content. `Init` -method call, will automatically parse its content and if no parsing succeeds with no errors, rules are ready to be tested.\n\n### Checking access for a path\n\nTo check access for some path, you need to set up the case for the rule intepreter. Firebase rules are always tested against same path. So you need to define the path to resource what are you testing against. The path must be given in a full path form starting with `/databases/DEFAULT/documents/my-collection/my-doc/my-subcollection/doc-here` -form. In addition, you need to define the authentication state and the actual resource been accessed with the context object.\n\n```typescript\n\n// create a context object for call\nconst context = createFirebaseRulesContext({\n  // set up auth properties\n  auth: {\n    uid: '123', // authenticated user's id\n    email: 'john.doe@acme.com', // user's email\n  },\n  // define setup for resource \n  resource: {\n    // set the document id \n    id: 'abc', \n    // set the actual document data\n    data: {\n      value: 123, // refered document's data\n    }\n  },\n  // define a trigger for exists -function calls if any used in rules script\n  onExistsCall: (path) => {\n    return path === '/databases/DEFAULT/documents/users/123'; \n  },\n  // define a trigger for get -function calls if any used in rules script\n  onGetCall: (path) => {\n    if (path === '/databases/DEFAULT/documents/users/123') {\n      return {\n        uid: '123',\n        name: 'John Doe',\n      }\n    }\n  }\n});\n\nconst hasAccess = rules.hasAccess('/databases/DEFAULT/documents/users/123', context);\n```\n\n´hasAccess´ -method will return an object which contains all access right keys that were defined in rules script. If there were no allow -rule to set access to true or false, no key will be included in object. So for example, the result could something like this:\n\n```typescript\n{\n  read: true,\n  update: true,\n  create: false,\n}\n```\n\nThis would mean that the rules script defines that with path requested, read and update have been defined to be allowed and create is not. Delete is not defined at all, so that should be treated as false too.\n\nFirebase rules allow support access keys: `create`, `read`, `write`, `update`, `list` and `delete`.\n\n## Note\n\nPlease note, that this library have been created on information got from Google's Firebase documentation and testing the Firebase. There have been no actual specification of rules language available during the development. So it is possible that there are some small differences between the parser and the actual Firebase's rules engine. Please let me know if you face any this kind of anomalities. The goal of this project is to emulate fully Firebase rules functionality. \n","readmeFilename":"README.md"}