{"_id":"cloudflare-expression-lint","_rev":"74-f0f6ed5ddec011522f1017771fc6a567","name":"cloudflare-expression-lint","dist-tags":{"latest":"0.15.0"},"versions":{"0.1.0":{"name":"cloudflare-expression-lint","version":"0.1.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"92be874c9e7e8b40f3b11b2989b46d61b57443be","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.0.tgz","fileCount":37,"integrity":"sha512-Fxn1qfPvi2/2tBi2R4JpS4OqFCjQnldWmv3gNzdyfuiX0yr/oDtWVsRJzaYVHeylnayAvHrYOEM6GjvPZOP7SA==","signatures":[{"sig":"MEYCIQDi3LloeCtjfbc6w7oRSHxqr1XpIMvJmXVHvUzLpvNvJQIhAKYB3TJBGGyLYStFuddG2TMU9/wVkLEVaOU6kaNpqfRo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223027},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"e7aa232de02571dad08f0c2ea569b30913761778","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"troymjones","email":"troymjones@gmail.com"},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"10.8.2","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.0_1773681424957_0.9937578357798125","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"cloudflare-expression-lint","version":"0.1.2","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.2","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"f5876c90437858af3aa070bee54ce76efa5da929","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.2.tgz","fileCount":37,"integrity":"sha512-OnXvX4e1ATk33LjqC8H1qECDof527z5Zh1RqdpW0qL8XYpX6LC8Wq3cPG+fMbcOcknhZBSegKjzLw2b5uL3QDQ==","signatures":[{"sig":"MEYCIQD6h4kJn5oyqJP95VA2ENxK9P36SwI0tc6qUUxuhLX/qgIhALUKbK5Nr+1PVzYV4HAjKXJdHt/u6Ga7TlxGQlMZXwHE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":223027},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"c628837add3bdf8dbcbaebde40c80c0ba7f0c71f","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.2_1773684272615_0.9463164039873917","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"cloudflare-expression-lint","version":"0.1.3","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.3","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"4e2e28681414aa59210936386b4c1a351c67d2c9","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.3.tgz","fileCount":37,"integrity":"sha512-HJF2hN2RRCUNp/rY+fQg63Y4WKIsrjV8EO3g3kvzzPds8CELXXKCGfvjfLgAtZtdA2JdwpKMFsZZWk+fA1JMeQ==","signatures":[{"sig":"MEYCIQCnDUy5kU1jFcp6swEwdpxflk3UjHTvK/USMIb+U/aOPQIhALfGQObawmDfww/tdd3LWWTBBvpPVBE0Cx5Ed3CdWWH/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":230735},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"33461ae2b9279290a842241f9027f17af890ab70","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.3_1773685371089_0.8106585092144114","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"cloudflare-expression-lint","version":"0.1.4","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.4","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"2800830d761d623a50432388931e52e66d61acbe","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.4.tgz","fileCount":37,"integrity":"sha512-6xVMZ1Hf+IZXPPY26zi8bU4Kw+XW7QO2z3WEx4sjiexJZUr+6w52wd0QwSKeh8/KtEKWwaf7ZAYpGmtD5dFhaw==","signatures":[{"sig":"MEQCIHFzvSPPesApnRjWHk9g5jkwFs7d8qDXbjGVYf0WOT8jAiAKSgY2FN7/Z8DSPs39TNuvNrxP/nuAcbW11oC7h2ClSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":231057},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"2136a4b141d3dfad1127cf4e01a3b3720d8e1bfc","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.4_1773685783182_0.6107388073016133","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"cloudflare-expression-lint","version":"0.1.5","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.5","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"f2afcf489e75be506115fa65e6a731ae31223647","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.5.tgz","fileCount":37,"integrity":"sha512-VoV6JLsCZbFuZdTevwASJjUTMYzsmNFJjMCv/FDuPR7zke6HFXbwz3jxkY637Rr3zqqXik5zTtrW9vKtPHctPg==","signatures":[{"sig":"MEQCIDbbEopCTtt6gjzWObs7HglMrjD7Q94rn/ApY8mV3o8OAiBbH0km2Bv0arvOqO07R2sQ1Lx9KWzGkzFHXBBkCKSEpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232052},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"fdd110b2f876be0d989eb42df3d64553bcf702d4","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.5_1773686893186_0.3784965912764009","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"cloudflare-expression-lint","version":"0.1.6","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.6","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"2ad8089ebbf2a62defe32c047246f5d7b7f91778","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.6.tgz","fileCount":37,"integrity":"sha512-madoFE/J1Xv+lHr9RYFXis9tTrL85fYEb7yXOVmUTgSFGHZzFqHSjyYK0094Q7WLivahgQ8HEQ0XFLrlmZJKtA==","signatures":[{"sig":"MEUCIFKRGbkP7c66kPba9nZv+/L6IG7m/uByVaWYoOVNC5OIAiEA3ayYUq0bivb6KbHhrtTE6Bvi1L/QgAOWGS+sMLyCKRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":233391},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"9b1c63b77911d4c0bbe296be8bf6ddae37c484d1","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.6_1773692129338_0.7015809341892953","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"cloudflare-expression-lint","version":"0.1.7","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.7","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"d8dd55aadf57494304300bf006bcebfa2e82d8e2","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.7.tgz","fileCount":37,"integrity":"sha512-UzTtJHx/zqMBLrQKTessjz+OZheThCWj3FjMwExTd4eaTkaY92DANwJaMuw7eFZ9vtPPWnnNvsH13XOYmscNKw==","signatures":[{"sig":"MEUCIAGgV0NlvAMhumtVyXzWX/MpjBmjdoEI9bKY2SChz7w5AiEAsbGdO4aj+OF4d2c65a9MJ2OX/TRws3/jGJE3U2PWBk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":235269},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"16d3198a4431ddb2fa658f6307ac8ff876de920a","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.7_1773693782944_0.1402530374023392","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"cloudflare-expression-lint","version":"0.1.8","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.8","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"96b2d43a1482580811f5b02215afb4aaa475b8bd","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.8.tgz","fileCount":37,"integrity":"sha512-oSZlt1adWS157UK21MopSji5AOomlTNHL1PCmJi9I5m88Ftg9tOHOD2/zrqqufIub42fl3jCqesme7I1Y4yrZA==","signatures":[{"sig":"MEUCIQDGbm1+xWlhhOAziCEpRbTFMbiIFrZrS91pBV14jNJlCwIgZqEDuMkqiAkxxuAH/tqfjJcM5F/fMBsyQsdmvDOM+cQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":235364},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"3a2b8660374050c16cb0a4f8b28d9dadecf9361e","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.8_1773694003486_0.7725879229819432","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"cloudflare-expression-lint","version":"0.1.9","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.9","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"56dddeb483407ff4a16af5fcf5a8b798f8408bef","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.9.tgz","fileCount":37,"integrity":"sha512-IZ5vBNwe4vTZyqo26cIboeXqp+zadEZjJn/vsaDx7REu5d50rx4zh7zystOw+JzJMi6Dnqy44Q32iGbtMa+IOA==","signatures":[{"sig":"MEQCIHGNC3b7cBYZHpgIOiobjh+wZhNQ4UfahAbngPzm1KLXAiB3L3kkBUFS5KgmLdNAFFJt/TIyQg9yutryV399n/Du/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":238976},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"95fc31e51ff8f003410d38c779e34d2017cc38f5","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.9_1773757892992_0.14076792818845152","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"cloudflare-expression-lint","version":"0.1.10","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.10","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"4ba1715fd385f2f2cc44d99bffddb20c2eef14ba","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.10.tgz","fileCount":37,"integrity":"sha512-AmNj+DN7uMvCPaQruhVqsfyMonsCZ7O8UKto+I5OMCsdz1M/hVHHb3c/0axcgtPr58EoTKEt/VN588kJqn4V0w==","signatures":[{"sig":"MEUCIQDjrfrvmeIv3DxaxTQLC9SQuLDyNIzDN9cDgJL1MOmitgIgC+kx5Gy9ynYJa+MIlwnKruLj5K/r6LxINQZ9G7mIZBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244121},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"01bc8beab3c864199b2c87cdf91d025661640c5a","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.10_1773857581178_0.7822647525309474","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"cloudflare-expression-lint","version":"0.1.11","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.11","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"475886f286ff4e853063837171e19a4d6569b6e0","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.11.tgz","fileCount":37,"integrity":"sha512-T7lN6W4JAhL83Pw+8OcOKw1GFcDgbrfuFDzwo8Nd3bonwDPIFp/k/Kt63/GJKH89Pn2J3/F7Sxd1kB4YjANlXA==","signatures":[{"sig":"MEUCIQDhjbNTpChrY7kgp9zHHJBYYpZUDAPdiBa7OcOU6uE1RAIgTYfnL7BFgvICLl0N45m2Gh5/bgY9ii6vTY2xjNZfnVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244541},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"620629bd72d47ba13dcec4a7ea7d986df17aed1a","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.11_1773857842320_0.005022815365458566","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"cloudflare-expression-lint","version":"0.1.12","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.12","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"62d26c550f782c7b417ffc8a2f45939e68e02653","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.12.tgz","fileCount":37,"integrity":"sha512-FGTuYFpH6445Cu5+WqhpDX6HxRWmtA2YUK/Keu6HP3ctQVXnCKFGHBoX6Tf3knRbfCRlGOjdOCdPO8Yg22YpKQ==","signatures":[{"sig":"MEUCICbPXIcwzIbHpBEoS0S5hVA/nAjjp5JtqZwnKV/lpSAiAiEA3TzjxwAEieMqsu+hb0iGg7VoAMnz1xAnhiD5l8usPoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243075},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"6faa9eea1f4fbd3069ba96f97d3d1bebfadb9cc1","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.12_1773859078244_0.9550454955188552","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"cloudflare-expression-lint","version":"0.1.13","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.13","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"b6fa0b1e301e431b325e09c0243f959f844fd748","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.13.tgz","fileCount":37,"integrity":"sha512-chfGqD/eJ0qJOa43rizC0raF7YSdI7d00OPPqRcyyCBUUiHM3N7SpAUgnlXMhXWgrpfQ/+ApI4rNXzz2Deu+LQ==","signatures":[{"sig":"MEUCIQCswEmbDX/NuSjD1vY9mSa/5k045lV+ChtVNl1rk8mb/AIgDXp53Z3L2ockrHrUDtOLOwqi8awfJnSOWo8laFZUQak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247816},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"a97ae9d39c83bd65a339009233ad15f5fdf7973a","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.13_1773859426443_0.3736469127004385","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"cloudflare-expression-lint","version":"0.1.14","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.14","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"fc4d73ddb5a6d16f18f3a8df628191ebac9ad9bb","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.14.tgz","fileCount":37,"integrity":"sha512-i/D55/3poa4YVWSXvsXB2vTtP13YQ4sWyxDUXp2BKNFbmwaYHDtkIXDPlOL5rfUxSOjjhi1s+pgTVDcFdDDHIw==","signatures":[{"sig":"MEYCIQD10NlNEeTfWE/+jmc9wd/82AlruAVpGBiehH+u62n2dwIhAOFvGkKdwugtPHZXgSYGnaoGmsfRk2BrvPwWaWlarETw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251899},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"3602e4e383ab069b2af21e2e48a0ed1e6e50caa7","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.14_1773859803978_0.29327185781381804","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"cloudflare-expression-lint","version":"0.1.15","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.15","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"1a70e6dfc89093302ad79a9af5ad0d41c85cf57b","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.15.tgz","fileCount":37,"integrity":"sha512-U/zvCBVhtaVZCSlO3tqibs1xBJ2+HnYxDFOjYccFC6RMYpI57cH3OhDRn2mIdjbFfKmqzejN0e+61MpIZlzJDw==","signatures":[{"sig":"MEUCICYvXUamglHNdxAbfUuDZ1dIGv3phCSzLhbMvn9EaS7jAiEAs1oLZxm+xiQh60Qi6mtOQYfI15vbq7w9mqp1EzPlXNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251899},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"b9d2f6d4fbeed2079978c647b53d443ab0e86b77","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.15_1773859903425_0.5874212915581092","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"cloudflare-expression-lint","version":"0.1.16","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.16","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"bc948f50cf4de969b79b32f6592da3b93bcdb855","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.16.tgz","fileCount":37,"integrity":"sha512-2sO3MgaKawqaJyEtBNgAkgNcpmZq85gv/GRh3VlmaeOFs9VBLyQdctkiWWsMRe10+NqPDSzqR9ir3Cnh581CVg==","signatures":[{"sig":"MEQCIEbfoHHSOYgpPgl5K/wCiGkcwf7clNg3fwygkgcWMbheAiBTYaRgYJk663mHNPh+sVS/XjSdWDuuELPE4cXwsqpHQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":252372},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"93c157b6b239caf8bd43cfd373d91219af1bf173","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.16_1773860380198_0.379956764843113","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"cloudflare-expression-lint","version":"0.1.17","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.17","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"9ca64b26bd1a0159ae272bd6160861e2f08557f7","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.17.tgz","fileCount":37,"integrity":"sha512-jsTW66xUK0t8X8UdTLTlGT8oX1hNvGc79/gO/K2G+bv6ISb3tQLq031fJ001brGBZH7wvBaElQGFYdveHCY6QA==","signatures":[{"sig":"MEQCIGU39HoMED45pnVID0ySDROKtjUe5LDKUhNyxzN3j2ppAiBE+B97uN9fbNFuHKBuZlO3bYNoXPBvTCZhK5pKiGkBcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":252734},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"d536483461ebe5bb9cdf50b5a2e73294e57c3326","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.17_1773861152404_0.1260822366232366","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"cloudflare-expression-lint","version":"0.1.18","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.18","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"bdb5cd3faa6dba21dced1b787b4fc9a1e6b2dadf","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.18.tgz","fileCount":37,"integrity":"sha512-YySwIcYa/ZYx+zY8s7QcB4gp1M6dObAs4M5rLDucWN9CI6lYUq19lIUmfxj6WqAh0u2yc1s8PLyxqdsXm+MVrw==","signatures":[{"sig":"MEYCIQCDSAWg3PsWRjkZakgATjncnpB6tcyWammQ8b0K1ZSByQIhAJR18L+dRjWIp8vDuPCgKZ772TyL7IMCbxmu6oNpbhBj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":253334},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"f17065a170d87b05d5ce05a613f62961d4ec3ed4","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.18_1773861286704_0.5959889366432709","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"cloudflare-expression-lint","version":"0.1.19","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.19","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"ec236e3c2e047ac0cbb4bd86cf25330b21925a93","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.19.tgz","fileCount":37,"integrity":"sha512-iNH2Czuu1NSOXyqsdcnTfpi3UDPbn4fd0Nk0DYu+jbevarc+48uuuBt1KQtRhdRqmoVCBLrM5Ui+6A4BM/tzVA==","signatures":[{"sig":"MEQCIB+K52tM3M3zLSmKc6Kld8PxiEoJ00JQqJaH2npDt7+bAiAPV7LFAS0CnN6d7t6AWAI9nT8wYl0ltuO8pcvXFgQEwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":257324},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"8f70482ac78981bf4954369f901509a80ff826e7","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.19_1773861490558_0.9828121067743592","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"cloudflare-expression-lint","version":"0.1.20","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.20","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"77d9b09d9bb355cfec719946de09bb42df0195d3","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.20.tgz","fileCount":37,"integrity":"sha512-ot8duSGi6I+n6mfvtdPDE9M1gW2jSZW2ZpxE0U095IYWltAsw1A7CnQhosE/ni6S4Roi5hhz6BQBGXozZXJmng==","signatures":[{"sig":"MEUCIQCh9K4aeWBF/IrZm90QTJnz6RgfntmiCcjVmzDjrK+D+QIgBUDYk32sB/04UJHyrKOrw2PYNzIvkWSyHEDBekf/z/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261804},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"1725e43c83065d85d60ea1b4318853c80dc6b6cb","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.20_1773868142575_0.08637203874362798","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"cloudflare-expression-lint","version":"0.1.21","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.21","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"e3aa95dffc8a5600ce684021a1205a6752c39238","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.21.tgz","fileCount":37,"integrity":"sha512-RBUmZpWJ2kKE/BlKWTBaHb4+HhJwoUmcaJxp0xy2oVeN19Gl36ikyPixiGZhNHbPThsJ2nxiPZL0kQLpV8DYMg==","signatures":[{"sig":"MEYCIQCcxbSHbIQMvmn+nszD6oMC9idzqJzY6H4YJId8nv0R2AIhANOKbiRzEVJRgkV7pHQocwp9OWvDajjm2Ey//fchGITc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":262292},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"0d6f9e172a922f6ec13a46812533d607cced3479","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.11.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.21_1773868682458_0.42184570490077644","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"cloudflare-expression-lint","version":"0.1.22","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.22","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"084e33291eadf499879762fe7b0be3d074c3a5dc","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.22.tgz","fileCount":37,"integrity":"sha512-Y+msc3gFahazlGTvwDPQFFhnrOFNMIguuBfVlj0wSg0c1M2/fhFeF3padvP/e2Od7SD8StvFLScRwZItvy55gw==","signatures":[{"sig":"MEQCIFfMdYUkywSDe4syIJ6XrCBpmUxVzdJ3z6iriYlDnWaCAiBmeeEva4ygObloHJlwHRaN1NX1rBbXiTyGU38Ixn7NFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":267294},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"43895a18be9c4438295f047385feff6dc0eb6a5b","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.22_1773941791054_0.5401434148129409","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"cloudflare-expression-lint","version":"0.1.23","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.23","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"d237b0536a21b1431b33e100354e4e14b7705fe2","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.23.tgz","fileCount":37,"integrity":"sha512-+ac4JkeKTHMDgu2qk/Jyr03sE/7Reh08R7phGQOH5QQMA4la7Q03/o6G21r6Up0V5lTv4yK0PMClN9L5PLpYTg==","signatures":[{"sig":"MEUCIQCrJYCmSrg+SxUQ1jc287h5OOBwIhZKJTlUGzmccV0+1gIgE9hzjF4b65hw611VGH9Uy5Q2qL/KB2OYLT/ONX5On3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":268037},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"2a20d82a2e81a7b5eaabde35d4df7900145da562","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.23_1773946412907_0.021304008223410165","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"cloudflare-expression-lint","version":"0.1.24","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.24","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"cc7eb603a169f643001d99697d911d578d949192","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.24.tgz","fileCount":37,"integrity":"sha512-m9M+jQCWmNVre6XPSfL+IcWp9G7b6+v45VFOkNVDN+zfMRzqQLI8ehqKLdbADDgE8I1kpzT7caBlKDWhJjJEJw==","signatures":[{"sig":"MEUCIEhSgjbv1eNqB/VvPGGLVWEpAGBIKyO2JszEjvvH4ALjAiEAnwWKfW7giF9fuOYejK2fJJvtygaCVocy6DenfYe9jjg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":270297},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"c4609709c347e46df224a33139c7ae8d5c42b8ea","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.24_1773948980114_0.6322103226894178","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"cloudflare-expression-lint","version":"0.1.25","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.25","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"864b5161ae17c5c009a1d3ea7d3853a2b8397407","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.25.tgz","fileCount":37,"integrity":"sha512-S+uCKcslQwPKZa2AiSCUKLef4js9a2eshTZ/tbocFL2q7ESj2reM1q7lqRG0HiUAI8fTGOX93EtycklfUu7eKg==","signatures":[{"sig":"MEUCIHwnGQqziqvXvlXmVqzvinGHQBJxvpOCIUKGAmND7Yy5AiEA1niapp48R+EEqJMDCO9v/AFsF18uZvmcze4Kt2QZtMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278972},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"a692a715b6e6629fc71c53e59074823809008e14","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.25_1774016455929_0.12075611759444826","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"cloudflare-expression-lint","version":"0.1.26","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.26","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"18b4bf6a394d2b4521f436bd2f3d18b0cc5d2102","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.26.tgz","fileCount":37,"integrity":"sha512-EFcPYCHwUTpwpUg49ttL9Z6RBLowkkrVAl0Gwu1taIrKC6bR5bIWmdesyhhawXj/XJvxxGVNY2QjN3bYzk4fDQ==","signatures":[{"sig":"MEUCIEakSmKFlbCZ24eT5FESJDvolZSQOhuoX6AtaI0087QHAiEA8hQkAY90tLmkGfyn/mldVmVy4+4LwECgQPMH6NnRZPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280915},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"162a90fb33d265bf760714c3dd80498b84e0a7ea","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.26_1774296120236_0.5601321805591024","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"cloudflare-expression-lint","version":"0.1.27","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.1.27","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"44af15ed06127ebc313687dd496103c271907d5d","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.1.27.tgz","fileCount":37,"integrity":"sha512-3ojj9u2d9FIeTVedtK1fq26hhvBPLLPSeug6eLyiIMsPZg/0AnvGmy2n6j4m35TooPEfX1sL+iyhG0eo0Cf0Tg==","signatures":[{"sig":"MEQCIBinVNArk5YT9hlVVYfn0Q81KosO1GQO+53gFUaYyOKcAiAQyT5nahKz++ZyowhYw3XiZRFh+/8PC56quaD7Kany4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.1.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280915},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"1dd71cf346159e98342f3ef4f83c721986644d25","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.1.27_1774296523144_0.1452358866253609","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"cloudflare-expression-lint","version":"0.2.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.2.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"fcdc3f396e21b2f285e76a6bded746d33b41b463","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.2.0.tgz","fileCount":40,"integrity":"sha512-p/imqCvxDAbLrSZCA/ECw9xALk/Y9TPoYg/d5vdsWP6vKbdDZsx9gpfwg78Eik/TqMQ11Gu7XrfslGPyLi4t6w==","signatures":[{"sig":"MEUCIQCQWEz+jDn06GGadaQn9JVyqzQcMbdxECRhIfxRK0dCSwIgOJyqQaBPPyfcTIf0ZEI2m73unPKW5E+tHwpzQzpWg5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307442},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"f13764bec746c5af00fbb9b302aa956c9e8fcbec","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.2.0_1774299197514_0.6836585713612471","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"cloudflare-expression-lint","version":"0.2.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.2.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"38140dfcf655bfd45d52e60cf188118c77c0f6d8","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.2.1.tgz","fileCount":40,"integrity":"sha512-zBa5+XlYE5n2fUziIi1CU8H6dphYCEfMETr2uSbky6TBtXQxJbiHNmdiUJS28mnaWLFTxt4nijTMBAMb7Z+2+w==","signatures":[{"sig":"MEUCIQDhMfL5qEwPChP2jKscNx71aTXJoCREt7B31Qh+3v9eqgIgIAnzQwvdnuY9PqzLNfN2QLgVxSS3fBFdF/Qyl0HvXOA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307442},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"061b97f91955e5ea8efe802de7bab631f6502aab","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.2.1_1774299317233_0.902795860822077","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"cloudflare-expression-lint","version":"0.2.2","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.2.2","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"8e97c640680dbee0a58e549e8503fe81ddfb30c0","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.2.2.tgz","fileCount":43,"integrity":"sha512-lSnDhiSz7QIuCDTR1aYv5ZzBYcs36aPw3mrZ8WxXS05mt23OflNh6koI4+x8i/ltYzfnzFcFHqPu5fSN+5tqVw==","signatures":[{"sig":"MEYCIQCJwkif07GbRbm/p7HdMReQ0f4At1ONtAn2fJiwovXj2wIhANdGzuwHp40qfo4k9wRmp2/1/G0PNRY15CkbXIfvKWYK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310068},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"492e0b5565a021645678e7b3e212082270459737","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.2.2_1774300048255_0.8432078039955291","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"cloudflare-expression-lint","version":"0.2.3","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.2.3","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"58145862aefc79072332b218403bee809df4dc3f","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.2.3.tgz","fileCount":43,"integrity":"sha512-2GJ27OVVMtXL6YaxU+Z9FcS5DnTJpwKxikoT4jQP7LZpATjfaeQY2jT63hXK8KItJ8xLhs+lTn7/H4YiTYU1pA==","signatures":[{"sig":"MEUCIC9G+nnbKiUEv5DnzbCGg1i8ajSVlu3hOLVZSVyj98gAAiEAoSP5QugGtz7TloSnF3MPHHiCwyVTnf1jbFHj/D3QynA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":309637},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"d0b60fdb7cf4b4c41d310b1e2309fc35a3843c6e","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.2.3_1774301862136_0.10443473239827195","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"cloudflare-expression-lint","version":"0.3.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.3.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"1571503a48a9b366941811092938a33d1e469f16","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.3.0.tgz","fileCount":46,"integrity":"sha512-555mpWYcbc5khHJb2Uy0AlWfpjeHsVH+fBS9GdpH+REsc4EoNIrZUq05dOyMCaFVH5Kwuxj3EfYBN02JjObyag==","signatures":[{"sig":"MEQCIG261jEMg8UVgh0cUY80FhRv2JeTsRPn6ISqmemIF3LBAiA8XUE8r/lmZ15wzCUGSFgVl6UO3iqIsOGctNfbmxbRrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343028},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"11efc3bdcadb192e89fc70d99117e8b3c033116c","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.3.0_1774327014716_0.028357628862555995","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"cloudflare-expression-lint","version":"0.3.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.3.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"f28cdf41f6a3b80b615d2ed78c28764c358915f8","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.3.1.tgz","fileCount":46,"integrity":"sha512-C0Z++wq5lTvqXDBzd87AxUeedzAjZY79isNYS5xrJku1xFVx2JXUYtgKpIU4f6/TFtdUIzmTGQHNKsH0skF8Sg==","signatures":[{"sig":"MEYCIQDAEhjYuu+Jxr3fi8m61QiliSOpr0XDHh/+/CfL0wn3wgIhAJfp9vWdxBjqSwHWuqFe0WRhIkd1zSe2pX1y7lBJ6e0U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343559},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"c8dcc8d2ab591b9884058a8c6c538ad87bfc12b5","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.3.1_1774327793133_0.4488154218677243","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"cloudflare-expression-lint","version":"0.3.2","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.3.2","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"ef2948bbc16c2659602b75c76794bc6cc7d1220a","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.3.2.tgz","fileCount":46,"integrity":"sha512-/h/+c9baoaO1uOPMwSVZ6dRKxpU9rDpk0aKKVIGc52zzyaEnN8KHl9bF7jjkQuslG1oYdiHz7aLUFbRHa3Dy3g==","signatures":[{"sig":"MEUCICcl3JA/NGrLizagyLwt3Wmt0LJZ8QYuLG7UxvJRmASJAiEA9Z2UQVD6FdC70L6VXScFh0ZD22yeu6Ckh1hrOrrTuhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343559},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"0ea4dd3d564952afddb744f377720147bf2fb2ee","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.3.2_1774328250663_0.702789227391801","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"cloudflare-expression-lint","version":"0.3.3","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.3.3","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"012dc7130869e025aa3d5b89749c442e4047d0db","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.3.3.tgz","fileCount":46,"integrity":"sha512-k3lI7vPesJJaIl8aqpHIRxb5eAlVakBCybDqP8Ighdm9PKQBdxxcOLgK0tuobqiE70ns48p86eXPRY5DArjG0g==","signatures":[{"sig":"MEUCIQDCH2qjrLfEaaagI9UdGDVMUJa2eRPBCUAz2LRxZSyc0QIgF8sDwaLiEXSgfIvgbJPSJd3eLAUMJvQ5IUUoZ1t7SLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346071},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"e03775975ede9b91b5efde95926a37565cf6bebd","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.3.3_1774328455132_0.4925249114560979","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"cloudflare-expression-lint","version":"0.3.4","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.3.4","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"ef1640d368ed7f19f3be44f38df3bc96bc9cef11","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.3.4.tgz","fileCount":46,"integrity":"sha512-GYlaxmuZKS57OGuMouYdQRtYBdYSZ46h3GAQLMWRaWxkkYD82N+9nB5VJUiGHS6mK+/qxnTGrNhd6aHMPUZlFw==","signatures":[{"sig":"MEUCIQCqgt5f6kWn+J8ip2l/W54OpbhtL/axkZLRRPyeT4v2HgIgXk5aTFNmOB2C/JxS8nqN/BrBInRfHHLc1EaTlhT13Cw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346148},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"23d511cdd5d4b382a729d377512317f044796742","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.3.4_1774328567927_0.10534897380250463","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"cloudflare-expression-lint","version":"0.4.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.4.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"39b92ca3ddd7f6c9220a021ecd75701ef61c4a4b","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.4.0.tgz","fileCount":46,"integrity":"sha512-hTAbFg98qrKMujbhHFJwLEtxgh2yWrhr8b0FFgH49X0AM4vDrCH7RrKYrlgl1gTPq3xXtZIyI21ofYbpBu1Izg==","signatures":[{"sig":"MEUCIQCRSiUZNIac68zCpwg08JCmeQM3t+LQ2ClBW7gObAPbggIgWYmyTAnhYG2P2A3LAzKcTDUu8ZzMisSVmEBLGOSV2WY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343532},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"1fce4f6f53cfac4c7fa2e7558877b4940de72d0f","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.4.0_1774329263204_0.7407791437915932","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"cloudflare-expression-lint","version":"0.4.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.4.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"2d2c3032201e3af9e460031774e2aed777874715","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.4.1.tgz","fileCount":46,"integrity":"sha512-62FN90Ahce/3NX0dZ7xQF4zUrwVqDMNKIWq8vWdxmZZye/fqvZ5C/nOUjW7iouH2z31XV25ayJqPSNZVuZn+YA==","signatures":[{"sig":"MEYCIQCFrkGwEyz/SJwc7LFeE9s1KcxSVvP6nuUVqH5MjspcjwIhAPO8IhgNb+TfbkbStrlWbLyzSemvGk94d2TmM305sBor","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343532},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"7d85bf42acb6550c5ece640d63646458751b3748","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.4.1_1774329914662_0.08386451538149697","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"cloudflare-expression-lint","version":"0.4.2","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.4.2","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"7dc76f41c539154801e994b19b749312da873aa2","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.4.2.tgz","fileCount":46,"integrity":"sha512-SZrOU4T4mLR84oaxm1jPvGJSDHbdSgab3qktIbSkua1wC6+ww9BzhjaF2R4QT+rl3OFS4FM7eaEXxo/8cZJHzA==","signatures":[{"sig":"MEYCIQDPWh0XzyyNSuOf9wGmiIq8ZhBb8bAwL5QM+i4Q45HbaQIhAPOLJX6XUb9Hav9nDa6z/6dJM3UxirCbODjBCRGjjb3A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343719},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"8e59ed5b6874cd28365acff7e9a8f22a938f7e66","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.4.2_1774330911182_0.7308699961900753","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"cloudflare-expression-lint","version":"0.4.3","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.4.3","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"418677943223329bb539ed8acbc3272da47e248a","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.4.3.tgz","fileCount":46,"integrity":"sha512-B19mPZ3ep6YZQZx1EXy7eAAip5Rc7HcDF8xP/QcPLGbRx/6UWDmecZAN5I51MdJhaybqjtImxefYmcgkC08khw==","signatures":[{"sig":"MEYCIQCR38Cybp5ezXvzua0pyFMeGmdRTizDEIUY4UKfHwshXwIhAIthCyvjOZFabdVODfeLf6k05lh1IUNepTRZSv8fbcP2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343719},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"b4453bca10959df56f1451a54b6348779559baf3","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.4.3_1774331064324_0.1601837789389049","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"cloudflare-expression-lint","version":"0.4.4","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.4.4","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"1caa165efde980340a2501ff69e590f407294412","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.4.4.tgz","fileCount":46,"integrity":"sha512-2Vy49Juv8zgOa4FtTYnxLzS3bNj22XI2h9N84yon9f80Fa0ghO0W0OvhWzil4pk/TQmUWbh8uKq/e211ovhybg==","signatures":[{"sig":"MEUCIQDRvEIAfRnMn75cr7NKJi/WLoCOm7PtGakjQs1ppABHqAIgMuKUP/u4qTJjxM2sinpiv/BL7CQfjv5vzBnJ8CZHJLc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343316},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"59b8b4c4c00674cf096f0031375ef6cfffd540de","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.4.4_1774331409175_0.3621171466840676","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"cloudflare-expression-lint","version":"0.4.5","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.4.5","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"a41ec6a045a7b7ad99416e295803d439a5a2253e","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.4.5.tgz","fileCount":46,"integrity":"sha512-KIvHE4u+Z6jPsjkO6vqpD+IM6PFl9NWGdQAZbTRwAlQgLp0iLZUOwEPoBcevScrwd2fSFX84bXD5hs37BQo5fA==","signatures":[{"sig":"MEYCIQDtr2moz7SSXsDFr8YlijZosoJWDsPbgd+VpknShVM/fAIhALiBE6s247LKYQm1TBzimeHf3tWOPR2erFZHGBcw4qkL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343316},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"895e2affc06b002db6f75e09186161aad8a76497","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.4.5_1774332363127_0.8073882876193663","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"cloudflare-expression-lint","version":"0.4.6","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.4.6","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"a27e34de134a3351263f5cc734b46e71b79dae0c","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.4.6.tgz","fileCount":46,"integrity":"sha512-hnVPDoWVxpxjXMD7cFL3NyCVeaibNBTnMcn4NjzqRqU4odTXmC6EASYRRRTd8i7n8wlKw99YRYOLbuXAuMHrhA==","signatures":[{"sig":"MEQCIAx9MJTBKDhWuTD7JwrdkRZIKQaCGjxSp6+f/kOn++poAiBCxJvVNdF9XoJR1WzVX1H1nBYyuSm60/yjV0d9ZsO8vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":345814},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"650f623ba7ae99dc8922e22a467ca308a36afbb5","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.4.6_1774370337125_0.6664077690791648","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"cloudflare-expression-lint","version":"0.4.7","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.4.7","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"2a4f4cc489392e76fa0b59b7eeefc6fc647d60a8","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.4.7.tgz","fileCount":46,"integrity":"sha512-AsRxhu+5bAdi3mOPPPtkHdpP+mKKbjdByjj1OLusyIyoGthuW/KK9BVOlwuxlVFtqCVEtBneZcT7UY9xkxnWhQ==","signatures":[{"sig":"MEQCICSXenqwPGlAWuC8Xqk5WUH0Llf7YKpjvn+14JA/2lqbAiBETqG/0X2WRgoyCt7VH7qypTORU2zc21KpJTcRGadAiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346391},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"65e1c599aacd1820df5ffbe4a3f95ef9fc6f557b","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.4.7_1774370746934_0.4942545890508483","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"cloudflare-expression-lint","version":"0.5.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.5.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"d8250e5f83ea356de09f3b59391c0f6519aa7980","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.5.0.tgz","fileCount":46,"integrity":"sha512-aGAefcqbn9wju/QJLRZ9HMfUUVZeK3rwj4dwaQyr1nBCa9dzQLSg3Q6qHAgtcpdxow/VOzwafb1RvimdxMr8OQ==","signatures":[{"sig":"MEUCIQDBBAyt9G2E/QQUquzgXj9dtohXdGEzWgoJj9/6/2PDNwIgfqNqYcnBue5yuSzJtrzRWYdo1HPRvMXtf4bDU4r5jFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":348865},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"bf1fcbb1e9cc1cde4bdcef37453b26ecc1d1cfc2","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.5.0_1774372146251_0.44956614587857757","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"cloudflare-expression-lint","version":"0.5.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.5.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"c7993ce681c9f087ff3389dfd66d4d8fd6164044","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.5.1.tgz","fileCount":46,"integrity":"sha512-NCyaGXH4geWiosFrX2OVVxgSSijpL+JHr5C7mQ6KJro1Yq1dbJGe0HdRNeprVBbonTroUN9V7/mEJFsG1hRsuQ==","signatures":[{"sig":"MEUCIB4tv/NIQzYf7V8rcrnAr/4nfLG3FJ38VyBy8yF6ofHiAiEA63HqzLPMljC6P8vbdX34hOlnFvpict+yigl3sK4Ur/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":350540},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"fc9c96d8fb5e224bd4dd7c4c3a9d8aeb69ce2f2a","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.5.1_1774373578486_0.006359478492449888","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"cloudflare-expression-lint","version":"0.5.2","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.5.2","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"47321942d141f3cb044ca0d156a4d4ceac50546b","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.5.2.tgz","fileCount":46,"integrity":"sha512-ZLJtanPw64TXMJvX8IGLw7fMD7zVpQ4KMAHxbzA8Fxk3w2IJn4ZISSDL1qqLd2/rn35GaBVpl55JD6d5U+HSxQ==","signatures":[{"sig":"MEQCIDcPE3q6akpUsdTPa6KDHNOj0uBIVxcxlMiqy46ztQpAAiBzr5L7GHr0qaONpEljgQGxSIeoG7L288ksc8SMNbbVng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":352798},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"ea5d3292792489d89cafb70fd20837a962fd0e04","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.5.2_1774375407671_0.11951029898602794","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"cloudflare-expression-lint","version":"0.5.3","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.5.3","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"2dad8e7c36d48d38de3ec1d907de65faf405d846","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.5.3.tgz","fileCount":46,"integrity":"sha512-KPBjCDMWUx4UbwSjFCKfb4P3TE6fevFwfAobXlv0Fzfq/fw3b9yA2BFhIPB1f4qYY9AJpjsBco7tL/2BP7xTWQ==","signatures":[{"sig":"MEYCIQC5K0o2Rq1UHVpcKlDIO5wDPfqorG3z4aVz5wstzHMslwIhAMR1HhyCB5KBjIb18OXllQgpCYHeIbZFcYdx13krb1E8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":352798},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"5c60c02cd7133b06580fe090221cb3bd655a7f9d","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.5.3_1774376850190_0.9182288476116964","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"cloudflare-expression-lint","version":"0.5.4","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.5.4","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"bc49b2451f609c26fc61e7efb40113405313d2bf","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.5.4.tgz","fileCount":46,"integrity":"sha512-uRsHQNl8eoPetrFt6/9r456Zq/1yerd6GgDMQbP03IbqyeRopa6/cLjCTURYuGRGmHPutPzxCvCPv7gWtUtIvQ==","signatures":[{"sig":"MEQCIEWlUln1i4rjsWZRR7WaNIeOCnq9m7DWVo/GA/rybnQBAiAR6oeA9FXS5oDTqNYaOhrQG5Z1djbUYRjVEoA4oeMgVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":355289},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"3ec24d61f8e2d148c037d55d90636eebc7575059","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.5.4_1774377327077_0.34728803765083094","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"cloudflare-expression-lint","version":"0.5.5","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.5.5","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"42104d3c2cfe434e9a8aa68b5c20b0ce81136724","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.5.5.tgz","fileCount":46,"integrity":"sha512-YPGqVE/B0jnVWk6Y1425kt7vgSYQgi42h5ai0qOWyNJfwFdC6aXLJMv3xwB+yRq85LvOPa3QXU4MEth+/mpPRg==","signatures":[{"sig":"MEUCIQDKcfhOF9X9yUDAcmiTzsoPqbQFNvLLPatbgCFdEIh68QIgHdbi36cYWGOS8bmEZSpsQzEcHvLy2tVCr8EhhL2Dbjw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.5.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":356255},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"8b09e663890f145aec711f3e08ce2ebbda48df9b","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.5.5_1774377797129_0.959760186613513","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"cloudflare-expression-lint","version":"0.5.6","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.5.6","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"addc90ebd3621b3ed994f52c951bb93edb584195","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.5.6.tgz","fileCount":49,"integrity":"sha512-1wwZE2KepvnoLnzE5NRpLEx/dE6qZPbneNFrrmEwPQ2TRVcurIdTbRVtn8sL1U5A3/YSQnOAf0Rm9yOEH+ptvA==","signatures":[{"sig":"MEYCIQDQTLHm+zktOzmkgjcLFChJ6zAL+6v8tWbWWI2gISQZOQIhAK7xqDvK19SirMmA9/v+/Uu9GHeVUX9Td9jLEao06c+o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.5.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":368735},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"1901d18067fbcbccbbc567f1830c2b96460a0465","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.5.6_1774379972544_0.4418985638504749","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"cloudflare-expression-lint","version":"0.5.7","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.5.7","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"e0109095ef3270d4a3dd969e8260fc71a847befc","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.5.7.tgz","fileCount":49,"integrity":"sha512-ATSvbgPMUhPHuqkFZY3HARZALl5nRLjyS5xIenSUEe4HELg1b9iC5FjsTlC5zGo4eyxU+6KdbZLp1HridJw7cQ==","signatures":[{"sig":"MEUCIQDZbbGEXtvi1wTJCLyti3sZNoNsnKlZTg1q/ywTsMe+7gIgG+CEm1eWGbZ4cy2gO99LzYLVzPBZILOUT5h66uPDswE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.5.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":370971},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"5fd9a008082bfde79ebe1b5a27e3c8cb0a7d3dbf","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.5.7_1774383773791_0.18357257453845355","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"cloudflare-expression-lint","version":"0.5.8","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.5.8","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"4dc9a16a6ae3b8f0b2ace7062b29beeb99b370d8","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.5.8.tgz","fileCount":49,"integrity":"sha512-a1NzW3Ny4OFYcRmnyS+D0kzi9FHxSzB4TVH2onrvTZzzx2NDDwUW2nAkQyVnB7HcPHVnCIEqwLYZIJmpujlhOw==","signatures":[{"sig":"MEUCIDsx4eB9YAHG9Db+df0Gybk6lQN6Y+xj8D2wAInsltyeAiEA0Kuf59iAk7+C6eO9POw/aR2cn0c8UdvhXGqI0Rm+Yj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.5.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":370971},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"eec17fce1484e85157a040b3e7269b9aa7690e3d","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.5.8_1774384157194_0.7895978940782311","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"cloudflare-expression-lint","version":"0.6.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.6.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"92cc7d942cb963d2ee5edce22c115ced0e24cd1e","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.6.0.tgz","fileCount":49,"integrity":"sha512-tsPmNHZhceFneqLFFRAxUc0u9ylXO4EMvTo4UDptNDN06OZVvfnXyIt8lOzjoaTo6tmQcAX2InNid9MFULPlIg==","signatures":[{"sig":"MEUCIHrL4ynGzI54KkM+szwagIqF1D0Vur637CWW0yhwgikKAiEAtqWiRMZ88yVEskTbMBrk183jHTB2caSdcyyMa+h9vrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":372518},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"bf72d1b597008a968ce0645b94ffed0ed06d95e9","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.6.0_1774452145798_0.3793870043918186","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"cloudflare-expression-lint","version":"0.6.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.6.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"14476718102a454a91647f1d534e0c5b13cce8ad","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.6.1.tgz","fileCount":49,"integrity":"sha512-Px5y3ga09NTk5C6LNNNso+AQwyoOGhqWkMDHJ9JQlkbH0ePGOFLGS0IMqxWz0Jx468j9cFIyPNkJ3GzViXuz3g==","signatures":[{"sig":"MEUCIQDJH0flOIsoPjZF0RUNYLZHrrZukGRyK3fd6Jg+E1X8XgIgdgL3M+EH5UlgfxKHUo1XyYLM1rJkuu81HVPrb7gLDZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":376409},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"72773b234048c54fec180547662a10339a3e21ca","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.6.1_1774452602989_0.6091044386977382","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"cloudflare-expression-lint","version":"0.7.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.7.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"f53fab9a0d1ea3a4201a9d94fb568f24a0d07589","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.7.0.tgz","fileCount":49,"integrity":"sha512-dKpyJiU1/OsCN+rTtZOlDbNfzKkrNbS+HA13RG3aPKllClhRzf1lVEGOt6O8F6Mrnk5R6ULKSWZdcLhTxMeobw==","signatures":[{"sig":"MEQCIE0vBHTNpwkj3TSyM8sA/LDCvxoJmUuTW+YpNAyypJliAiBbwzta6fVcidQ/rJLZxW0URR/J1N4asvE2vdWNNiHv1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":376495},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"422202dc1bc8f5778599af3bdfedd1d8f808553f","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.7.0_1774453367183_0.16687537315564716","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"cloudflare-expression-lint","version":"0.7.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.7.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"f58af6a590760e5d8c220007500233c56b5fee31","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.7.1.tgz","fileCount":49,"integrity":"sha512-b2yFmQepAsUTVHBHl/4GJ1gGxasFBRC+OwoGU0dyP/3sbNnpjyD4UDWdWjEQM6O5fy4aHzbHk3Xdv66WRDUZFw==","signatures":[{"sig":"MEUCIQDCk7WrI8KMMkK/FlNesOyKnNmd2tAJQsf/Ewt/a5hPfQIgYDyjNwwak61rDH3DnrhYeyVCgWOjxN/I+4s0tMcBpFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":383516},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"f041378c5a4cf8cb10f35d6b878d8f647ac46464","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.7.1_1774454158878_0.4166385176585998","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"cloudflare-expression-lint","version":"0.7.2","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.7.2","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"d71621eb6eb0b71926720b27b391a8e3157b9d3e","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.7.2.tgz","fileCount":49,"integrity":"sha512-erU1idLHUID+UF/+86jhtcnieWeth3Hc5rlOWTh/Rvdqkyw08yYp22PgUPSAkzaVjE1EzgiWdL8kMmCKNUCkcQ==","signatures":[{"sig":"MEYCIQCBXmYCQoBH9x+ohsMXh5wrQd0q9Q0kQpf3qTpck/qBPQIhAMczFb8O0VQjbPYUwvAd+2rZIjVwZtI3eBrObku+j7rT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":383543},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"9c290badb4d2810b41f509f6dde6da6efb771546","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.7.2_1774461216035_0.870116623712812","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"cloudflare-expression-lint","version":"0.8.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.8.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"7c6c88155bccae587d8a615e9a9e92d6a6732b51","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.8.1.tgz","fileCount":61,"integrity":"sha512-vPDv+UUm0LQsdJ/tANAcpgV7Rrrm06TxHvKkimx1mlA76FPQz3RJF4czre8mZQyG3cOY+X8BvUwpmh9kZ0lVBw==","signatures":[{"sig":"MEUCICHl1PZWNuYdgKk9vo2zw4pGFgFoIs8Sg1dWM3w0WW0zAiEA41b/quFAN2oKW5aacBPtD44G3YL2MMEWyR5EADX6MdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":380139},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"38b31fae2a6cfc26085b5f73b568dc1291b7c8cb","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.8.1_1774483382665_0.3321482807524805","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"cloudflare-expression-lint","version":"0.8.2","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.8.2","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"549b280349762643b923dbee43bbf766ed7e0a33","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.8.2.tgz","fileCount":61,"integrity":"sha512-UT5KIcUFDjU6lh4a37Km4rLaFYF6ZW+iSJ1SHLoQ7loYDlOjM6x6QH2bvxPnh2dLBua/YR3JAbM+oIXnFV0prw==","signatures":[{"sig":"MEUCICmvod3U/luCd5qEKoMpoaxakDJBs3HM/11ZD+/lSz86AiEA7COcXogseV3rNEsOzCflzpUFAyiHf0toGwAxTeNxf8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":381366},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"09c8a3a6b1ed00b4852575690ae7c9ca3bb7b03a","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.8.2_1774503510978_0.8135909059996929","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"cloudflare-expression-lint","version":"0.8.3","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.8.3","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"f4335622f2b1bee35013478d31aee2e138201b6e","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.8.3.tgz","fileCount":61,"integrity":"sha512-bGdhZ8wN+l9oEtVen3iziY6be8778eyfBBd1Qx3YMikSA5ScxTqdIBETBIf8P72FuDHRBARUJANbRUY0kqJf7w==","signatures":[{"sig":"MEUCIDDaR+TZ7iWOGr9uJzBcS/kyUyabfq5bWEa8MNvjsqahAiEAs0jSo9bwbEyLDNQtJYUdZVPkZtetXFYiE/3LzOrvTwg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":381936},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"ae336960fc4b71119899c04106792c030fb168d6","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.8.3_1774883282353_0.059877042102653544","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"cloudflare-expression-lint","version":"0.8.4","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.8.4","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"c4535f60844488c4959917c5205e1c203e362d7c","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.8.4.tgz","fileCount":61,"integrity":"sha512-6fdhLcUH/83PCtbLTo43rG67Lw7dimg85ED/WkW50+zDpaKeSN1kPxa8M8Grl4pe4q4gJuMAIP06t78Pl3zxzQ==","signatures":[{"sig":"MEYCIQCmD6Sd3oOz69HDcHcMfbJEAc+b+zTJ+ps1Pjh8M9oxrQIhAKopCbXoV4TT6Naywlgb4W/WllHP3+ukCxcJh/Y6QOS5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":381366},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"e3dbd3fd23a6759107be31aa8f2f6b8468e3370c","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.8.4_1774885524840_0.5061768298458449","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"cloudflare-expression-lint","version":"0.8.5","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.8.5","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"e2d8bcb50fdb62094621c3f69f69a54a92b1d8a5","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.8.5.tgz","fileCount":61,"integrity":"sha512-zXlGnZdaKA3LHDME33Ebn0lCV49Z14SyOVY2jKhZUdQRn2aSAAKLtaHkbPWFWGNzulV676jxgQ/K/F2xnh1JDQ==","signatures":[{"sig":"MEUCIEKMaST9w9ii9g5ONW44DEQ07BZ0CHtwFn3PNs+4LrYSAiEAqJsshyXKZJifIu2HxvN+0cL88JJMmR6stWg8a3tRNsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.8.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":382417},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"880497f5f8535e9e130c735ec97bd02ea9846ecf","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.8.5_1775060910904_0.6980175707064222","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"cloudflare-expression-lint","version":"0.8.6","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.8.6","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"94c8e2bcd0e19a435fa1496cddb9d23032ac5b25","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.8.6.tgz","fileCount":61,"integrity":"sha512-Wg8gAFR+4nRkUt8sbnoQm4Y2KJVtZdLAPryuHWWdvhnXr8kxWdUCmLbb1hgLCgTa9mWLlngyaMs7cgRqhfESzQ==","signatures":[{"sig":"MEUCIQDnUTqauD8C3RCyNnTaOlhyJfagTZWQKlOufbypSEjT3QIgDYXAWa7d9n2H3y1QLqQ4e7TlbL1Hzavu55O4QeKlZyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":383358},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"be6b014d79b118b78edfe248ad9b1acc5c177298","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.8.6_1776367834205_0.7562295776619776","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"cloudflare-expression-lint","version":"0.9.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.9.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"e1e7fb54397f55b598895bab41ef5d92666321e3","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.9.0.tgz","fileCount":61,"integrity":"sha512-t7WlME6d4QAzBLfXE8hKtTafCSUZ0VHd6wMQt7CcVRIZAM9HvIe7vR6lfVxKAdAfHmrZek2HkJjRjjiFCrjNng==","signatures":[{"sig":"MEYCIQDQTkkPEn50TAmDwUruYPa0+zoBJa+wdA9CLeeu4Y3CIQIhAMplZCnPq0T7+pRRaxnUcnI3jqMvbAsI3guCJ3EVX3Mn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":404430},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"481608e0ec6491bfe879c1d74bb6c727954f85cd","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.12.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.9.0_1776878200296_0.3972887665929903","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"cloudflare-expression-lint","version":"0.11.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.11.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"a9c2a32dedcb8daf6638dc8ffae306ae9f087b74","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.11.0.tgz","fileCount":61,"integrity":"sha512-fNrVS9r0cNR/EusrMMYSN4qOeAEXkqF7fsI+tQ7KBwKzOj7p4IswxUScG2S6x9T6E4RGQWU10HCrHMlik4/N0w==","signatures":[{"sig":"MEYCIQDuU0TH2TNKWJrxtocJ8ikVsiOHmd+wOeWcBUJEAWOKswIhANNOvYfRL6F0GCmy8uCMSRKH3GJVcqWRllDv1fLsX89D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":406824},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"c2fe5490af5d5eeaa75530f2b3b2d395a0cc0d2a","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.13.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.11.0_1776893120767_0.24547963252864147","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"cloudflare-expression-lint","version":"0.11.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.11.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"9193e5820f38eadc2b27c64fbd27ec46f00ef712","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.11.1.tgz","fileCount":61,"integrity":"sha512-+V8CB2vkQX6uyemP23/SDLenA8lDJOZZ0OiFyuWjIc8o8IKn/j/baWgxzYHNop2jOK67XbEbnQzX6rOa1bX59A==","signatures":[{"sig":"MEUCIQCEex99jesMI4RWCwz14+R7LvXvrrokTq1lR/Vx+8LN8AIgNmRsB5oWYCbk8ptJSF+SKHYyGFs+5D5qPUgDM1FyAdc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":407535},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"2277857afbbba67a33fa5c4b49e8793db4abb280","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.13.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.11.1_1776967087268_0.9080596823501599","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"cloudflare-expression-lint","version":"0.12.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.12.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"6be925d9efa2f0ecbc1b64ef9215638fefeea9d2","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.12.0.tgz","fileCount":64,"integrity":"sha512-sljcSb7LliuNTyko2VHtzNc9cDT0zJjCP3p+jsBSoAN2TW5E4FpTK45P2gSUnx1myGSXqbQNI8qYDszh2HtGgA==","signatures":[{"sig":"MEQCIDnh/ReChP99Xxz7sT+2PSGH+nPNL+T7onSywYe7B83/AiAza7L+NSYaOl9GBsdtASYe+y1+eB6Az3duHwg4mBaZEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":430291},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"8bb52a889ba63238d475fe3e7245a65c7cc23121","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"11.14.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.12.0_1778167070277_0.8998928230153118","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"cloudflare-expression-lint","version":"0.12.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.12.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"4b2c58edc62756a02c60dd468e631e1d41b6b480","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.12.1.tgz","fileCount":64,"integrity":"sha512-lNsbAAuhJB3TJbSdfvc/cEDe81XpKETRasi50CP+CjrlGlBIiQHWMi09ke6mOWHjDRqjhWklGLuBD4QFhQ+M0A==","signatures":[{"sig":"MEYCIQCmlXuI0TnFKs+++VmqZgK5R6Zn+3oslp6cjQhlHhB2JAIhAOC1vIxzH/fXMclEmSMIHMarjcFF9sJkKYNqaBs3Y8c7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434205},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"8568cb4376d7e6fc6218092642e537058b86ba14","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"12.0.1","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.12.1_1785352429336_0.0920226333621128","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"cloudflare-expression-lint","version":"0.13.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.13.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"9f2088468f97b94a9cababf7a01389020ab804cd","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.13.0.tgz","fileCount":64,"integrity":"sha512-ePTcshd1tdSQT+FVmMYXyRiLR110kl0LijSD+POK5zFPSL6jUoJM+uqhdLMZ9i0wyMZjpjMqE1LcXe2TLnlFNw==","signatures":[{"sig":"MEUCIQD7CHiX1GvOW5dLgs2PKS9LP1coW6nLiET3WlX9rnwS8AIgep1njLrPdOiegtIUlwN0oVq10tZLXvdAWdMByAteNW8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434665},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"e5d9cb22cc28c7495d135cd5a16b2c4ff15212c6","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"12.0.2","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"22.23.2","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.13.0_1786639296869_0.31861224821594747","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"cloudflare-expression-lint","version":"0.14.0","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.14.0","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"45012623591d8dceea8b588a5e90f7c487fe1946","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.14.0.tgz","fileCount":64,"integrity":"sha512-TMc5Qit86EyDkMpQ3+fry+kqBNbrDL6nL6WXYVra0VI8M4mKMHcCT/h8Yudh2Qp+2LaiSETUba7+Nxspq21RFQ==","signatures":[{"sig":"MEUCIQC7zJO1sUEiq0a70SlHOmvU3rbRDLjEIYWuRDNuHudieAIgD1zPcC+9E5VnC34emhCRcZ6dWwjn+0eGh5c1STecgR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":444166},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"bd965ab8fa485efda2292ab29b85590f6c6f465e","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"12.0.2","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"22.23.2","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.14.0_1786984787086_0.7756445284792703","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"cloudflare-expression-lint","version":"0.14.1","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.14.1","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"0294b76df91fc9b8fbf9e62b5026066a568f35d8","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.14.1.tgz","fileCount":64,"integrity":"sha512-MgHEwNzEX7CEo9mkyPqRaCNQpv2+9LvOXdkL8YQ4pKKCpxUwGXMTsiNQmtj9pTdcR7Qq5wr2sxuiwRIRB+Rk9w==","signatures":[{"sig":"MEYCIQCamUGfqkhV+Zs3Bm1OD2+sNr1LPgJIWREzd5C7cRiQOgIhAIBaaFFY+2IXW8aJAZLCgi91ES+edrKB1LdY9rfL5leD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":444852},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"8898078416c528f81f5b23d0f0fc60fc647caa9c","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"12.0.2","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"22.23.2","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.14.1_1786984961084_0.5928170069963505","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"cloudflare-expression-lint","version":"0.14.2","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","_id":"cloudflare-expression-lint@0.14.2","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"bin":{"cf-expr-lint":"dist/cli.js"},"dist":{"shasum":"a92f36a03aa605940dc20e1b99f54bf0df887aaf","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.14.2.tgz","fileCount":64,"integrity":"sha512-NgXJQkS+QbbWNIFhrLzBD2cFVJkHvUuhZu1Q+4WrvOxXwKnzNkxRNJYknbjBa6X1MI3swDiEfMk/m9tTvfTzGw==","signatures":[{"sig":"MEUCIQDwZENT7ztWn6Ai+Is1r1NhBj0vCZqZ5nJ79Hn9gRDqvwIgZgekIooqQHDRAlGek1VWZvWQnFT8dyeBnnSVG2H8PKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446604},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./eslint-plugin":{"types":"./dist/eslint-plugin.d.ts","import":"./dist/eslint-plugin.js"}},"gitHead":"a1843da1b8ff2f208f638846a29db4e008c8cb8e","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"repository":{"url":"git+https://github.com/troymjones/cloudflare-expression-lint.git","type":"git"},"_npmVersion":"12.0.2","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","directories":{},"_nodeVersion":"22.23.2","dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-expression-lint_0.14.2_1786985542637_0.6297662539472157","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"cloudflare-expression-lint","version":"0.15.0","description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"cf-expr-lint":"dist/cli.js"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./eslint-plugin":{"import":"./dist/eslint-plugin.js","types":"./dist/eslint-plugin.d.ts"}},"scripts":{"build":"tsc","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"tsc --noEmit","sync-docs":"tsx scripts/sync-cloudflare-docs.ts","sync-docs:apply":"tsx scripts/sync-cloudflare-docs.ts --apply"},"keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"author":{"name":"Troy Jones"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/troymjones/cloudflare-expression-lint.git"},"bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","devDependencies":{"@types/node":"^20.11.0","tsx":"^4.21.0","typescript":"^5.3.3","vitest":"^1.2.0"},"dependencies":{"glob":"^10.3.10","yaml":"^2.3.4"},"peerDependencies":{"eslint":">=8.0.0","yaml-eslint-parser":">=1.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"yaml-eslint-parser":{"optional":true}},"engines":{"node":">=18.0.0"},"gitHead":"9ea20541d604133f7130c550aad3d45d76fdd994","_id":"cloudflare-expression-lint@0.15.0","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-YX2QrzLrOlGnzTIn0ZvMdMVCiGj4FcIxpKHUsFbWH6jHrlwsi2maAuGOi5LSfAmTajz1YHDTVX2/9gVIOb69bA==","shasum":"cd5f3d33d572a052e355d89a2a01747e7a6499ff","tarball":"https://registry.npmjs.org/cloudflare-expression-lint/-/cloudflare-expression-lint-0.15.0.tgz","fileCount":64,"unpackedSize":449535,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cloudflare-expression-lint@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCFUG2Do/za7Ip6xqIywS9sNgg6/IY2f/S3Ns73VOT1zQIgGgZ/xwGoLyQPaWTNZm1r+T38u7uVTZMuzUzOjh3HPxk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d521ac9b-3213-4748-aed2-2a4d68ddfacb"}},"directories":{},"maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cloudflare-expression-lint_0.15.0_1787238420816_0.1542878868996067"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-16T17:17:04.834Z","modified":"2026-08-20T15:07:01.295Z","0.1.0":"2026-03-16T17:17:05.106Z","0.1.2":"2026-03-16T18:04:32.806Z","0.1.3":"2026-03-16T18:22:51.236Z","0.1.4":"2026-03-16T18:29:43.395Z","0.1.5":"2026-03-16T18:48:13.331Z","0.1.6":"2026-03-16T20:15:29.482Z","0.1.7":"2026-03-16T20:43:03.097Z","0.1.8":"2026-03-16T20:46:43.658Z","0.1.9":"2026-03-17T14:31:33.151Z","0.1.10":"2026-03-18T18:13:01.349Z","0.1.11":"2026-03-18T18:17:22.469Z","0.1.12":"2026-03-18T18:37:58.386Z","0.1.13":"2026-03-18T18:43:46.588Z","0.1.14":"2026-03-18T18:50:04.186Z","0.1.15":"2026-03-18T18:51:43.600Z","0.1.16":"2026-03-18T18:59:40.449Z","0.1.17":"2026-03-18T19:12:32.560Z","0.1.18":"2026-03-18T19:14:46.861Z","0.1.19":"2026-03-18T19:18:10.745Z","0.1.20":"2026-03-18T21:09:02.714Z","0.1.21":"2026-03-18T21:18:02.631Z","0.1.22":"2026-03-19T17:36:31.187Z","0.1.23":"2026-03-19T18:53:33.052Z","0.1.24":"2026-03-19T19:36:20.278Z","0.1.25":"2026-03-20T14:20:56.090Z","0.1.26":"2026-03-23T20:02:00.400Z","0.1.27":"2026-03-23T20:08:43.300Z","0.2.0":"2026-03-23T20:53:17.645Z","0.2.1":"2026-03-23T20:55:17.394Z","0.2.2":"2026-03-23T21:07:28.407Z","0.2.3":"2026-03-23T21:37:42.410Z","0.3.0":"2026-03-24T04:36:54.874Z","0.3.1":"2026-03-24T04:49:53.288Z","0.3.2":"2026-03-24T04:57:30.850Z","0.3.3":"2026-03-24T05:00:55.279Z","0.3.4":"2026-03-24T05:02:48.086Z","0.4.0":"2026-03-24T05:14:23.346Z","0.4.1":"2026-03-24T05:25:14.814Z","0.4.2":"2026-03-24T05:41:51.324Z","0.4.3":"2026-03-24T05:44:24.496Z","0.4.4":"2026-03-24T05:50:09.312Z","0.4.5":"2026-03-24T06:06:03.246Z","0.4.6":"2026-03-24T16:38:57.272Z","0.4.7":"2026-03-24T16:45:47.098Z","0.5.0":"2026-03-24T17:09:06.441Z","0.5.1":"2026-03-24T17:32:58.644Z","0.5.2":"2026-03-24T18:03:27.830Z","0.5.3":"2026-03-24T18:27:30.348Z","0.5.4":"2026-03-24T18:35:27.249Z","0.5.5":"2026-03-24T18:43:17.322Z","0.5.6":"2026-03-24T19:19:32.705Z","0.5.7":"2026-03-24T20:22:53.928Z","0.5.8":"2026-03-24T20:29:17.338Z","0.6.0":"2026-03-25T15:22:25.988Z","0.6.1":"2026-03-25T15:30:03.163Z","0.7.0":"2026-03-25T15:42:47.345Z","0.7.1":"2026-03-25T15:55:59.024Z","0.7.2":"2026-03-25T17:53:36.237Z","0.8.1":"2026-03-26T00:03:02.830Z","0.8.2":"2026-03-26T05:38:31.131Z","0.8.3":"2026-03-30T15:08:02.537Z","0.8.4":"2026-03-30T15:45:25.007Z","0.8.5":"2026-04-01T16:28:31.053Z","0.8.6":"2026-04-16T19:30:34.354Z","0.9.0":"2026-04-22T17:16:40.458Z","0.11.0":"2026-04-22T21:25:20.978Z","0.11.1":"2026-04-23T17:58:07.487Z","0.12.0":"2026-05-07T15:17:50.422Z","0.12.1":"2026-07-29T19:13:49.505Z","0.13.0":"2026-08-13T16:41:37.017Z","0.14.0":"2026-08-17T16:39:47.242Z","0.14.1":"2026-08-17T16:42:41.235Z","0.14.2":"2026-08-17T16:52:22.790Z","0.15.0":"2026-08-20T15:07:00.950Z"},"bugs":{"url":"https://github.com/troymjones/cloudflare-expression-lint/issues"},"author":{"name":"Troy Jones"},"license":"MIT","homepage":"https://github.com/troymjones/cloudflare-expression-lint#readme","keywords":["cloudflare","expression","lint","validator","parser","firewall","waf","terraform","wirefilter","rules-language"],"repository":{"type":"git","url":"git+https://github.com/troymjones/cloudflare-expression-lint.git"},"description":"A parser, validator, and linter for Cloudflare Rules Language expressions with phase-aware field and function checking","maintainers":[{"name":"troymjones","email":"troymjones@gmail.com"}],"readme":"# cloudflare-expression-lint\n\nA parser, validator, linter, formatter, and auto-fixer for [Cloudflare Rules Language](https://developers.cloudflare.com/ruleset-engine/rules-language/) expressions with phase-aware field and function checking.\n\nCatches errors **before** `terraform apply` — no API calls required.\n\n## Features\n\n- **Full expression parser** — lexer + recursive-descent parser for the Cloudflare wirefilter expression syntax\n- **211+ known fields** with type information\n- **Deprecated field detection** — warns on legacy fields like `ip.geoip.country` with replacement suggestions\n- **Phase-aware validation** — knows which fields are available in which Cloudflare phase\n- **Function context validation** — `regex_replace()` is only valid in rewrite/redirect contexts\n- **Expression Builder compatibility** — flags expressions that can't be loaded in the Cloudflare UI\n- **Auto-fixer** — `--fix` rewrites expressions for Builder compatibility (wraps bare expressions, merges and-groups, applies De Morgan's law, normalizes operators), scopeable to a single diagnostic code with `--fix-only`\n- **Prettifier** — `--prettify` reformats long expressions across multiple lines using `>-` block scalars\n- **Operator style** — configurable preference for English (`eq`, `and`) vs C-like (`==`, `&&`)\n- **YAML scanner** — auto-detects expressions in YAML files and infers Cloudflare phase from context\n- **Raw string preservation** — `r\"...\"` prefixes survive formatting and fixing\n- **CLI tool** — validate, fix, and format expressions from the command line or CI/CD pipelines\n- **Programmatic API** — use as a library in your own tools\n\n## Installation\n\n```bash\nnpm install cloudflare-expression-lint\n```\n\nOr run directly with npx:\n\n```bash\nnpx cloudflare-expression-lint config/**/*.yaml\n```\n\n## CLI Usage\n\n### Validate YAML files\n\n```bash\n# Scan all YAML files for expressions\ncf-expr-lint config/**/*.yaml\n\n# Scan with JSON output (for CI integration)\ncf-expr-lint --format json config/**/*.yaml\n\n# Only show errors (suppress warnings)\ncf-expr-lint --quiet config/**/*.yaml\n```\n\n### Validate a single expression\n\n```bash\n# Filter expression (default)\ncf-expr-lint -e '(http.host eq \"example.com\")'\n\n# Rewrite expression\ncf-expr-lint -e 'regex_replace(http.request.uri.path, \"^/old/\", \"/new/\")' -t rewrite_url\n\n# With phase validation\ncf-expr-lint -e 'http.response.code eq 200' -p http_request_firewall_custom\n# ✗ [field-not-in-phase]: Field \"http.response.code\" is not available in phase \"http_request_firewall_custom\"\n\n# From stdin\necho '(ip.src.country in {\"US\" \"JP\"})' | cf-expr-lint --stdin\n```\n\n### Auto-fix expressions\n\n```bash\n# Fix a single expression\ncf-expr-lint --fix -e 'not (http.cookie eq \"a\" or http.cookie eq \"b\")'\n# Output: (not http.cookie eq \"a\" and not http.cookie eq \"b\")\n\n# Fix all expressions in YAML files\ncf-expr-lint --fix --config .cf-expr-lint.json config/**/*.yaml\n\n# Dry-run — check if fixes are needed (exits non-zero if so)\ncf-expr-lint --fix --check config/**/*.yaml\n\n# Apply only the missing-parenthesis wraps, leaving every rewrite alone\ncf-expr-lint --fix --fix-only builder-unwrapped config/**/*.yaml\n```\n\nThe fixer applies these transformations:\n\n| Fix | Diagnostic code |\n|-----|-----------------|\n| Wrap bare expressions: `A eq B` → `(A eq B)` | `builder-unwrapped` |\n| Wrap bare `not`: `not A eq B` → `(not A eq B)` | `builder-unwrapped` |\n| Wrap and-chains: `A and B` → `(A and B)` | `builder-unwrapped` |\n| Merge and-groups: `(A) and (B)` → `(A and B)` | `builder-incompatible` |\n| Remove outer parens from or-chains: `((A) or (B))` → `(A) or (B)` | `builder-incompatible` |\n| Wrap or-branches: `A or B` → `(A) or (B)` | `builder-incompatible` |\n| Unwrap individually-wrapped and-conditions: `((A) and (B))` → `(A and B)` | `builder-incompatible` |\n| De Morgan's law: `not (A or B)` → `(not A and not B)` | `builder-incompatible` |\n| Negated comparison: `not A eq X` → `A ne X` | `negated-comparison` |\n| Collapse or-eq chain to in-list | `prefer-in-list` |\n| Operator style: `==` → `eq`, `&&` → `and` | `prefer-english-operator` |\n\n`--fix-only <code>` restricts a run to one code and is repeatable. The three\n`builder-unwrapped` fixes only add parentheses, so they cannot change what an\nexpression matches. Everything else reshapes a working expression, which is\nworth a human read. Scoping to `builder-unwrapped` is therefore the form that\nis safe to run unattended:\n\n```yaml\n# Fail CI on a new unwrapped expression, without ever proposing a rewrite\n- cf-expr-lint --fix --check --fix-only builder-unwrapped config/**/*.yaml\n```\n\nA scoped run only touches expressions the checker actually reports with that\ncode, so `--check` cannot fail on something the linter did not warn about. An\nunknown code is a hard error rather than a silent no-op.\n\n### Prettify expressions\n\n```bash\n# Format a single expression\ncf-expr-lint --prettify -e '(http.host eq \"test.com\" and http.request.method eq \"POST\" and not ip.src in $blocklist)'\n\n# Prettify all YAML files (rewrites in-place with >- block scalars)\ncf-expr-lint --prettify --config .cf-expr-lint.json config/**/*.yaml\n\n# Also convert existing | and |- block scalars to >-\ncf-expr-lint --prettify --convert-block-scalars config/**/*.yaml\n\n# Custom max line width (default: 120)\ncf-expr-lint --prettify --max-width 100 config/**/*.yaml\n\n# Dry-run — check if formatting is needed\ncf-expr-lint --prettify --check config/**/*.yaml\n```\n\nBefore:\n```yaml\nexpression: (http.host eq \"example.com\" and http.request.method eq \"POST\" and not ip.src in $blocklist and http.request.uri.path eq \"/api/webhook\")\n```\n\nAfter:\n```yaml\nexpression: >-\n  (\n    http.host eq \"example.com\"\n    and http.request.method eq \"POST\"\n    and not ip.src in $blocklist\n    and http.request.uri.path eq \"/api/webhook\"\n  )\n```\n\n### Custom YAML key mappings (CLI)\n\nBy default, the scanner only looks for the `expression` key (the standard\nCloudflare Terraform provider attribute). If your YAML uses other key\nnames for expressions, tell the scanner about them:\n\n```bash\ncf-expr-lint \\\n  --expr-key rewrite_expression:rewrite_url:http_request_transform \\\n  --expr-key source_url_expression:filter:http_request_dynamic_redirect \\\n  --phase-map waf_rules:http_request_firewall_custom \\\n  config/**/*.yaml\n```\n\n### Config file\n\nFor projects with many custom mappings, use a `.cf-expr-lint.json` config file:\n\n```json\n{\n  \"expressionKeys\": {\n    \"rewrite_expression\": { \"type\": \"rewrite_url\", \"phaseHint\": \"http_request_transform\" },\n    \"source_url_expression\": { \"type\": \"filter\", \"phaseHint\": \"http_request_dynamic_redirect\" }\n  },\n  \"phaseMappings\": {\n    \"waf_rules\": \"http_request_firewall_custom\",\n    \"custom_rules\": \"http_request_firewall_custom\",\n    \"ratelimit_rules\": \"http_ratelimit\"\n  },\n  \"accountLevelPaths\": [\"config/account/\"],\n  \"ignoreCodes\": [\"contains-placeholders\"],\n  \"operatorStyle\": \"english\"\n}\n```\n\n### CLI Options\n\n| Option | Short | Description |\n|--------|-------|-------------|\n| `--expression` | `-e` | Validate a single expression string |\n| `--stdin` | | Read expression from stdin |\n| `--type` | `-t` | Expression type: `filter` (default), `rewrite_url`, `rewrite_header`, `redirect_target` |\n| `--phase` | `-p` | Cloudflare phase for field validation |\n| `--config` | `-c` | Path to config file (JSON) with custom mappings |\n| `--expr-key` | | Add expression key mapping: `key:type[:phase]` (repeatable) |\n| `--phase-map` | | Add phase mapping: `yaml_key:phase` (repeatable) |\n| `--format` | `-f` | Output format: `text` (default), `json` |\n| `--quiet` | `-q` | Only show errors (suppress warnings) |\n| `--warn-exit-code` | | Exit code when warnings found (default: 0, use 2 for CI) |\n| `--ignore-code` | | Suppress a diagnostic code repo-wide (repeatable). For per-expression suppression, use [inline directives](#inline-disable-directives). |\n| `--operator-style` | | Operator style: `english` (default), `clike`, `off` |\n| `--fix` | | Auto-fix expressions for Builder compatibility |\n| `--fix-only` | | Restrict `--fix` to one diagnostic code (repeatable) |\n| `--prettify` | | Reformat long expressions as multi-line `>-` block scalars |\n| `--convert-block-scalars` | | Convert `\\|` and `\\|-` to `>-` (use with `--prettify`) |\n| `--max-width` | | Max line width for `--prettify` (default: 120) |\n| `--check` | | Dry-run for `--fix` or `--prettify` (exits 1 if changes needed) |\n| `--help` | `-h` | Show help |\n\n## Inline Disable Directives\n\nSuppress diagnostics from inside YAML files, in addition to the repo-wide `--ignore-code` / `ignoreCodes` config option. All directives accept an optional comma- or space-separated list of diagnostic codes; omit the codes to suppress every code in scope.\n\n### Whole file\n\n```yaml\n# cf-expr-lint-disable-file unknown-field\n\nrules:\n  - expression: '(http.totally_made_up eq \"x\")'\n```\n\n### Block\n\n```yaml\nrules:\n  - expression: '(http.host eq \"a\")'   # checked\n\n# cf-expr-lint-disable unknown-field\n  - expression: '(http.bogus eq \"b\")'  # suppressed\n  - expression: '(http.bogus eq \"c\")'  # suppressed\n# cf-expr-lint-enable\n\n  - expression: '(http.host eq \"d\")'   # checked\n```\n\nAn unterminated `disable` block runs to end-of-file.\n\n### Next line (works inside `>-` block scalars)\n\n```yaml\nrules:\n  # cf-expr-lint-disable-next-line unknown-field\n  - expression: >-\n      (http.totally_made_up eq \"x\")\n      and (http.request.uri.path eq \"/foo\")\n```\n\nWhen the line following a `disable-next-line` is an expression key (e.g. `expression:`, or a custom key configured via `expressionKeys`), the suppression covers the entire value, including every line of a `>-` block scalar. This is the form to reach for when a multi-line expression triggers a diagnostic.\n\nBlank lines and additional comment lines between the directive and the expression key are skipped.\n\n### Same line\n\n```yaml\nrules:\n  - expression: '(http.totally_made_up eq \"x\")'  # cf-expr-lint-disable-line unknown-field\n```\n\nUse this for inline single-line expression values where a trailing comment is the most readable form.\n\n## Expression Builder Compatibility\n\nThe Cloudflare Expression Builder UI requires expressions in a specific format:\n\n**Compatible:**\n- Single group: `(A and B and C)`\n- Or-chain: `(A) or (B and C) or (D)`\n- Not toggle: `(not A and not B)`\n- Functions: `(starts_with(field, \"val\"))`, `(ends_with(field, \"val\"))`\n\n**Not compatible (with suggested rewrites):**\n- `(A) and (B)` → merge: `(A and B)`\n- `(A or B)` → split: `(A) or (B)`\n- `not (A)` → move inside: `(not A)`\n- `not (A or B)` → De Morgan's: `(not A and not B)`\n- `((A) or (B))` → remove outer: `(A) or (B)`\n- `((A) and (B))` → unwrap: `(A and B)`\n\nUse `--fix` to apply these automatically.\n\n## CI/CD Integration\n\n### GitLab CI\n\n```yaml\nlint-expressions:\n  stage: validate\n  image: node:20\n  script:\n    - npm install -g cloudflare-expression-lint@latest\n    - cf-expr-lint --warn-exit-code 2 --config .cf-expr-lint.json $(find config -name \"*.yaml\" -o -name \"*.yml\")\n    - cf-expr-lint --fix --check --config .cf-expr-lint.json $(find config -name \"*.yaml\" -o -name \"*.yml\")\n    - cf-expr-lint --prettify --check --config .cf-expr-lint.json $(find config -name \"*.yaml\" -o -name \"*.yml\")\n  allow_failure:\n    exit_codes: [2]\n```\n\n### GitHub Actions\n\n```yaml\n- name: Lint Cloudflare expressions\n  run: |\n    npm install -g cloudflare-expression-lint@latest\n    cf-expr-lint --warn-exit-code 2 config/**/*.yaml\n    cf-expr-lint --fix --check config/**/*.yaml\n    cf-expr-lint --prettify --check config/**/*.yaml\n```\n\n## Programmatic API\n\n```typescript\nimport { validate, parse, fixExpression, formatExpression } from 'cloudflare-expression-lint';\n\n// Validate\nconst result = validate('(http.host eq \"example.com\")', {\n  expressionType: 'filter',\n  phase: 'http_request_firewall_custom',\n});\n\n// Auto-fix\nconst fixed = fixExpression('not (http.cookie eq \"a\" or http.cookie eq \"b\")');\nconsole.log(fixed.expression); // '(not http.cookie eq \"a\" and not http.cookie eq \"b\")'\n\n// Prettify\nconst pretty = formatExpression('(A and B and C)', { maxWidth: 40 });\n```\n\n## Diagnostic Codes\n\n| Code | Severity | Description |\n|------|----------|-------------|\n| `parse-error` | error | Syntax error in expression |\n| `unknown-field` | error | Field name not recognized |\n| `unknown-function` | error | Function name not recognized |\n| `field-not-in-phase` | error | Field not available in the specified Cloudflare phase |\n| `function-not-in-context` | error | Function not available in the expression context |\n| `function-max-exceeded` | error | Function used more times than allowed |\n| `operator-type-mismatch` | error | Operator not compatible with field type |\n| `missing-array-unpack` | error | Function applied to an array is missing the trailing `[*]` |\n| `invalid-cidr-mask` | error | CIDR mask out of valid range |\n| `deprecated-field` | warning | Field is deprecated; replacement suggested |\n| `expression-too-long` | warning | Expression exceeds 4096 character limit |\n| `ambiguous-precedence` | warning | Mixed `and`/`or` without explicit grouping |\n| `expression-whitespace` | warning | Leading or trailing whitespace |\n| `missing-zone-plan-filter` | warning | Account-level expression missing ENT suffix |\n| `empty-in-list` | warning | Empty `in {}` will never match |\n| `too-many-regex` | warning | More than 64 regex patterns |\n| `header-key-not-lowercase` | warning | Header map key should be lowercase |\n| `invalid-wildcard-pattern` | warning | Wildcard contains `**` |\n| `builder-unwrapped` | warning | Expression is not wrapped in parentheses |\n\n| `builder-incompatible` | info | Not in Expression Builder format |\n| `prefer-english-operator` | info | Suggests English notation (`eq`, `and`) |\n| `prefer-clike-operator` | info | Suggests C-like notation (`==`, `&&`) |\n| `prefer-bare-boolean` | info | Prefer `ssl` over `ssl == true` |\n\n## Architecture\n\n```\nsrc/\n├── lexer.ts          # Tokenizer: string → Token[]\n├── parser.ts         # Parser: Token[] → AST (recursive descent)\n├── validator.ts      # Validator: AST → Diagnostic[] (semantic analysis)\n├── fixer.ts          # Auto-fixer: AST → AST (Builder compatibility transforms)\n├── formatter.ts      # Prettifier: AST → multi-line string\n├── rewriter.ts       # YAML rewriter: replaces expressions in files\n├── yaml-scanner.ts   # YAML file scanner with configurable phase inference\n├── eslint-plugin.ts  # ESLint plugin adapter (optional)\n├── cli.ts            # CLI entry point\n├── types.ts          # Shared type definitions\n├── index.ts          # Public API exports\n└── schemas/\n    ├── fields.ts     # 211+ field definitions\n    ├── functions.ts  # 25+ function definitions\n    └── operators.ts  # Operator type constraints\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}