{"_id":"@adguard/filters-compiler","_rev":"27-17c4de25385c5e3b5fa887b8eae69a83","name":"@adguard/filters-compiler","dist-tags":{"latest":"3.4.0","beta":"3.3.2-beta.0"},"versions":{"3.0.1":{"name":"@adguard/filters-compiler","version":"3.0.1","_id":"@adguard/filters-compiler@3.0.1","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"5651c8eff7f21b48ecdef1f16a3004ea1068270f","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.0.1.tgz","fileCount":12,"integrity":"sha512-3yg/N+4Scq6nuCfih1Vh8hsFytswNJRHW/FHdvnR2Qe/6r/6hnAFGgNnslvs5seXgr2d/TSLkTOKUf1a6VEFVA==","signatures":[{"sig":"MEUCIGDBS57DL312E5DLWFU3qjR6KsjvnCbAkKa1ZrSdLFWdAiEA5L1bO8fnxVioB13gMIv6hDB+CMn38xq4g9z+Eq5Yj7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7121192},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/1933315/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-3yg/N+4Scq6nuCfih1Vh8hsFytswNJRHW/FHdvnR2Qe/6r/6hnAFGgNnslvs5seXgr2d/TSLkTOKUf1a6VEFVA==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.2.2","@adguard/logger":"^2.0.0","@adguard/ecss-tree":"^1.1.0","@adguard/scriptlets":"^2.1.8","@adguard/tsurlfilter":"^3.2.4","@adguard/extended-css":"^2.1.1","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.0.1_1753972827654_0.632151877885788","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@adguard/filters-compiler","version":"3.0.2","_id":"@adguard/filters-compiler@3.0.2","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"f5d12fb52770ea3bbc9755226d7d5148bfd78a23","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.0.2.tgz","fileCount":12,"integrity":"sha512-F7Lw15G6rBpXjaKiR7H/emN8uLczYrPwBe7QZn2Ck1KQVDuKfBQaWaGLTPC1rffzwmE3SkOUrUSB3L693MeAVA==","signatures":[{"sig":"MEYCIQCg9lJGcCXnCds7AcN4iS3mxekh4h3Sc1aQ/KDN+ZchBQIhAL7Xr3EtbCEYcBct+HWGqmM+5PVhfGlqGBcSTkyrU2RZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7121019},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/1933313/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-F7Lw15G6rBpXjaKiR7H/emN8uLczYrPwBe7QZn2Ck1KQVDuKfBQaWaGLTPC1rffzwmE3SkOUrUSB3L693MeAVA==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.2.2","@adguard/logger":"^2.0.0","@adguard/ecss-tree":"^1.1.0","@adguard/scriptlets":"^2.1.8","@adguard/tsurlfilter":"^3.2.4","@adguard/extended-css":"^2.1.1","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.0.2_1753987258094_0.4842495847418975","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@adguard/filters-compiler","version":"3.1.0","_id":"@adguard/filters-compiler@3.1.0","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"4a8ef42a0b11890b97e4b18e0537cd0e036b393c","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.1.0.tgz","fileCount":12,"integrity":"sha512-8H4pGQLnXA3083gQVxpb+pplKf3FSz1rXrVVI+MLiMbgx8ITXA/cf2brx3d7pS1fjlo189Mo6ZZmG65mN2H9mw==","signatures":[{"sig":"MEUCIQDRnm47yaT2DjT+RmKiOHJ7iV+rJl8qSwQfIMtlH1KndAIgAXAzlr2IPk/OCfA6v5Q+qGzTbeGXloJJC2vuz30JvFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7122179},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/137953281/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-8H4pGQLnXA3083gQVxpb+pplKf3FSz1rXrVVI+MLiMbgx8ITXA/cf2brx3d7pS1fjlo189Mo6ZZmG65mN2H9mw==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.2.2","@adguard/logger":"^2.0.0","@adguard/ecss-tree":"^1.1.0","@adguard/scriptlets":"^2.1.8","@adguard/tsurlfilter":"^3.2.4","@adguard/extended-css":"^2.1.1","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.1.0_1754491573070_0.49872144816295627","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@adguard/filters-compiler","version":"3.1.1","_id":"@adguard/filters-compiler@3.1.1","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"4be5002712ce038c808f4d71ba6e4e74d588daf7","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.1.1.tgz","fileCount":12,"integrity":"sha512-eovQtU/wGj6yZK+Aa+vygzInnJX5SM4NmHQLCrnrQZjAE5SdY6xWIWH7ncoTB0uWQrTd1YbAVdKzK9KaCRFTVQ==","signatures":[{"sig":"MEQCIBWBGXjBFR0cXRKfYsQKg3Cq9WZ5JRyGDwNGGzlhRIAqAiAEULdkBtXekk5VL5rAkghsIMXwXCL3POpTYC9aQnEWeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7127401},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/204505107/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-eovQtU/wGj6yZK+Aa+vygzInnJX5SM4NmHQLCrnrQZjAE5SdY6xWIWH7ncoTB0uWQrTd1YbAVdKzK9KaCRFTVQ==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.2.2","@adguard/logger":"^2.0.0","@adguard/ecss-tree":"^1.1.0","@adguard/scriptlets":"^2.1.8","@adguard/tsurlfilter":"^3.2.4","@adguard/extended-css":"^2.1.1","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.1.1_1757058170296_0.31538832425856556","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"@adguard/filters-compiler","version":"3.1.2","_id":"@adguard/filters-compiler@3.1.2","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"0c9ed57d1cbc15c70ec40ed2a973163b869283ac","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.1.2.tgz","fileCount":12,"integrity":"sha512-r3EOq/4r05/EGNdnyefnm5ZhhNilhMTr78W6mHYISVDoXGwAfQhuy54c2oShtCyN62b0BcIMrb+H+NBdq64Kpw==","signatures":[{"sig":"MEUCIFKxQhv9KtGSQxM++QsVoss+d5w9JtWBWB8Hiu+oiwzYAiEAsGE/EDJ2jt5opYIM3jFMoKeo8SY5hNeOU0VpnQGyzXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7127402},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/72220673/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-r3EOq/4r05/EGNdnyefnm5ZhhNilhMTr78W6mHYISVDoXGwAfQhuy54c2oShtCyN62b0BcIMrb+H+NBdq64Kpw==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.2.4","@adguard/logger":"^2.0.0","@adguard/ecss-tree":"^1.1.0","@adguard/scriptlets":"^2.2.11","@adguard/tsurlfilter":"^3.2.7","@adguard/extended-css":"^2.1.1","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.1.2_1761021136654_0.013761603003892064","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"@adguard/filters-compiler","version":"3.1.3","_id":"@adguard/filters-compiler@3.1.3","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"cd63040817fea37758dee53b0a3e7c2153e9bac2","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.1.3.tgz","fileCount":12,"integrity":"sha512-Rh+tldqlRigywf2JTFgyg31zx9oV/lCTFPFs22Qq/HfLJCJx0z0N6vQ5UwdkRAuxjTOlf/mS79FOOGhwvGLI2A==","signatures":[{"sig":"MEUCIQC/35DIbZ7YLH00EnhD2Vz/f09UEbe8TYxSKdYa4SDs/gIgHzuyQnIHC4cAmVIgeOcQ3nmls1AOgDhsxZDsCu0K0/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7133348},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/163841/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-Rh+tldqlRigywf2JTFgyg31zx9oV/lCTFPFs22Qq/HfLJCJx0z0N6vQ5UwdkRAuxjTOlf/mS79FOOGhwvGLI2A==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.2.4","@adguard/logger":"^2.0.0","@adguard/ecss-tree":"^1.1.0","@adguard/scriptlets":"^2.2.11","@adguard/tsurlfilter":"^3.2.7","@adguard/extended-css":"^2.1.1","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.1.3_1761315517129_0.41585032151210766","host":"s3://npm-registry-packages-npm-production"}},"3.1.4":{"name":"@adguard/filters-compiler","version":"3.1.4","_id":"@adguard/filters-compiler@3.1.4","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"efd11adc5906a3641aa8524f45416e6baa95dd40","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.1.4.tgz","fileCount":12,"integrity":"sha512-S4aFb3Gar1QCawAcMkHXM8+mFDs27KvnCUfdJ+B8ReJopYakOnzB4u/qLy+ZizUQJ06njveTM0akDc9Vv39KYA==","signatures":[{"sig":"MEUCICzsRQtY1xVgZzsiISZQMD/nuk3JpAtu1kWQmbDI6Z52AiEAv5jRrXPuUMMsAxPMzQwswe/3LADdX7lcd053x2Lgi8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7133658},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/174817281/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-S4aFb3Gar1QCawAcMkHXM8+mFDs27KvnCUfdJ+B8ReJopYakOnzB4u/qLy+ZizUQJ06njveTM0akDc9Vv39KYA==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.2.5","@adguard/logger":"^2.0.0","@adguard/ecss-tree":"^1.1.0","@adguard/scriptlets":"^2.2.12","@adguard/tsurlfilter":"^3.2.8","@adguard/extended-css":"^2.1.1","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.1.4_1762978054547_0.6338333462946812","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@adguard/filters-compiler","version":"3.2.0","_id":"@adguard/filters-compiler@3.2.0","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"9489e8eadf68fdd62b46d5a54fe7b6b606024acb","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.0.tgz","fileCount":12,"integrity":"sha512-stwphygGwoAmwnUuA6/SVIQJuy+SQF7LwEklYsLC1k9uDLKmry1vCf7PSXgjA1LuLfqnrWWkdgwp0wi6K1ui9Q==","signatures":[{"sig":"MEUCIQDO57LI9M1eO0cZBtpMzFH3YcSqKm/vL7WZ/Argkv3sNQIgNOFglVUpkuorEbn4wURGFIc4CsoPl/fjg2yvsuZEUng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7133731},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/163512322/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-stwphygGwoAmwnUuA6/SVIQJuy+SQF7LwEklYsLC1k9uDLKmry1vCf7PSXgjA1LuLfqnrWWkdgwp0wi6K1ui9Q==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.3.1","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.2.13","@adguard/tsurlfilter":"^3.5.1","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.0_1764222025512_0.1515977365602601","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@adguard/filters-compiler","version":"3.2.1","_id":"@adguard/filters-compiler@3.2.1","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"94191892a8f193c95e88b257a793a767dbe76266","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.1.tgz","fileCount":15,"integrity":"sha512-l9Dw/LfbFLJmw7Q4pclsz8sRntREfdCrn8qxFm1tqmAOocfXeiZ9OBF5C6ls83eC2OJ5fB2jIAjkquHe1oPAeA==","signatures":[{"sig":"MEUCIQCjh7V6pR6ktB/nK9UZKpjoDBEdG0XDBjsKLfzuMnK+mQIgT69BOITw8CYwprMi6el4ENpP7l5sxWf8paNVZNu9k38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7134276},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/204505107/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-l9Dw/LfbFLJmw7Q4pclsz8sRntREfdCrn8qxFm1tqmAOocfXeiZ9OBF5C6ls83eC2OJ5fB2jIAjkquHe1oPAeA==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.3.1","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.2.13","@adguard/tsurlfilter":"^3.5.1","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.1_1764279143768_0.9864318196902848","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"@adguard/filters-compiler","version":"3.2.2","_id":"@adguard/filters-compiler@3.2.2","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"783b2ec4ea3c93b9ffb7c82d50c2dddd187a483f","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.2.tgz","fileCount":15,"integrity":"sha512-ZTdgmwrBLpx/fRSPb9dzrACbZQ5ZjW9D0gDzLH9hd5Djlt9qI22OPYYXYhd7I0amDsDy1SwKltQzrNtBeFgHXg==","signatures":[{"sig":"MEYCIQDk657eaS0tsVLUCukaelKGN8gcXjy+ELAo7zLjMs4YQgIhAMy0U/N2zbG+qY2jrATLYvGABbCgc5Ikgxk0vxYYVhT1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7134331},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"ameshkov","email":"am@adguard.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/1933313/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-ZTdgmwrBLpx/fRSPb9dzrACbZQ5ZjW9D0gDzLH9hd5Djlt9qI22OPYYXYhd7I0amDsDy1SwKltQzrNtBeFgHXg==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.3.1","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.2.13","@adguard/tsurlfilter":"^3.5.1","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.2_1764343621458_0.9073168142718211","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"@adguard/filters-compiler","version":"3.2.3","_id":"@adguard/filters-compiler@3.2.3","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"196319e55c27526b49034dff5bd955124f8a7995","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.3.tgz","fileCount":15,"integrity":"sha512-VBUL08vWWO1vLEEF0SLuJETOmtyM57frwiRqgnxwFthziPfNUO7H1ODNilwCO1WcyjiysacLCktZmbWvx7C+sw==","signatures":[{"sig":"MEQCIBe5/+fgOyrZC2dmIF2QQSAW0tjvjjRwmW5vC1EoDlHGAiAefrG2A3i8+juAG+EFQjv+26GBQocj2i5aTG4lS8g1xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7134351},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"maximtop","email":"maximtop@gmail.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/254879195/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-VBUL08vWWO1vLEEF0SLuJETOmtyM57frwiRqgnxwFthziPfNUO7H1ODNilwCO1WcyjiysacLCktZmbWvx7C+sw==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.3.1","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.2.13","@adguard/tsurlfilter":"^3.5.1","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.3_1765548412515_0.6019626031041871","host":"s3://npm-registry-packages-npm-production"}},"3.2.4":{"name":"@adguard/filters-compiler","version":"3.2.4","_id":"@adguard/filters-compiler@3.2.4","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"8ffefe3f6ad19200dfb4c951a6ba6b093223651f","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.4.tgz","fileCount":15,"integrity":"sha512-PE4eL65YbVXM0hFDWomKEkGsRzyaAjPDNZvDXaBKbGONTxoH9KkqtSUFIdqyUKME7QJUJSERJT7MuiQ0cKY7WQ==","signatures":[{"sig":"MEUCICfaQtGWrA2up8I/w2BnqN2x+ENoTx84mJ2RCc+NZur+AiEAt0SwfUpijPKub+CtR+HOcv70LRx9OvcgIva4VuOCXKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7134351},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"maximtop","email":"maximtop@gmail.com"},"_resolved":"/opt/atlassian/application-data/bamboo/shared/build-dir/174817281/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-PE4eL65YbVXM0hFDWomKEkGsRzyaAjPDNZvDXaBKbGONTxoH9KkqtSUFIdqyUKME7QJUJSERJT7MuiQ0cKY7WQ==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^3.4.3","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.2.14","@adguard/tsurlfilter":"^3.5.2","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.4_1765912758147_0.4645708985148185","host":"s3://npm-registry-packages-npm-production"}},"3.2.5":{"name":"@adguard/filters-compiler","version":"3.2.5","_id":"@adguard/filters-compiler@3.2.5","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"695e86b4876d14a452ad1c553bfaceb5cd905579","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.5.tgz","fileCount":15,"integrity":"sha512-9EyLYrO9Zp22lzWX55cifj95hsU4TybGXR5XgLnbjpih07yB0DXxeZ8qOZrL6NiVdFjVR/O9JTHkULxbsVDRdw==","signatures":[{"sig":"MEUCIFbdWvddKVFpOdlM0Tc+/58xWagHmlEIC2Y/Vk9OqKqfAiEA1JXVp60zWwjyhQYAWCegx18+L1u9hwL1B9w+QSDW+Mc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7135110},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"maximtop","email":"maximtop@gmail.com"},"_resolved":"/var/atlassian/application-data/bamboo/shared/build-dir/174817281/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-9EyLYrO9Zp22lzWX55cifj95hsU4TybGXR5XgLnbjpih07yB0DXxeZ8qOZrL6NiVdFjVR/O9JTHkULxbsVDRdw==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^4.0.2","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.3.0","@adguard/tsurlfilter":"^4.0.3","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.5_1773942983063_0.15426718088880387","host":"s3://npm-registry-packages-npm-production"}},"3.2.6":{"name":"@adguard/filters-compiler","version":"3.2.6","_id":"@adguard/filters-compiler@3.2.6","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"9df62fc199f6cd6390edc7f119438cdd3ab12b7e","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.6.tgz","fileCount":15,"integrity":"sha512-1YWRYkUbmpYgouNdQIBp+ayMSUVHhlc2K5yA9eE8I/l767t+0t67JeIBtUCLKnqdyEt070wQAByU+LHafsMV+w==","signatures":[{"sig":"MEYCIQD7hPHDtOiSE2GkLlIApP5ZlPNhOGamPfWhuuBjD3Wf1wIhAIMnn2g7T5V8B3A3CAC3F0dQm44KF8oDJcWUw73W+yIs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7135110},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"maximtop","email":"maximtop@gmail.com"},"_resolved":"/var/atlassian/application-data/bamboo/shared/build-dir/1933315/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-1YWRYkUbmpYgouNdQIBp+ayMSUVHhlc2K5yA9eE8I/l767t+0t67JeIBtUCLKnqdyEt070wQAByU+LHafsMV+w==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^4.0.3","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.3.1","@adguard/tsurlfilter":"^4.0.4","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.6_1774382695395_0.8814011266859132","host":"s3://npm-registry-packages-npm-production"}},"3.2.7":{"name":"@adguard/filters-compiler","version":"3.2.7","_id":"@adguard/filters-compiler@3.2.7","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"6e9addad11eb7f542ceeb7b7131a888d86f4e5e5","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.7.tgz","fileCount":15,"integrity":"sha512-udKKDE1p9cIgpHya9iOPzu2bIWiYyUbAA97IM+ywruh3uIEpB2iY1azWnT8zHStinEmAvsOwCi6suOJ7UCIcng==","signatures":[{"sig":"MEYCIQCRjuX8rUpWRhX8SMqBwjMZ/c+JDGnXnbHtVGmYwKzswwIhALiCjQlzNAmBICGs/v550TM8ytGKPOD0JL/WhxnXhxJo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7136822},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"maximtop","email":"maximtop@gmail.com"},"_resolved":"/var/atlassian/application-data/bamboo/shared/build-dir/254879197/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-udKKDE1p9cIgpHya9iOPzu2bIWiYyUbAA97IM+ywruh3uIEpB2iY1azWnT8zHStinEmAvsOwCi6suOJ7UCIcng==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^4.0.3","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.3.1","@adguard/tsurlfilter":"^4.0.4","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.7_1774442280302_0.01147037477680235","host":"s3://npm-registry-packages-npm-production"}},"3.2.8":{"name":"@adguard/filters-compiler","version":"3.2.8","_id":"@adguard/filters-compiler@3.2.8","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"b3b77419ab062d218a5dd7d8bf161493920f1147","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.8.tgz","fileCount":15,"integrity":"sha512-5BnIQgawIWb6+sOt1RKZwR76G1a8QjkZOw0JtLK53VInSTppEY+XeVanUOmZtzaiifbpu5Ddz8cTgc70tW7ERA==","signatures":[{"sig":"MEUCIQCHqThX5UhRO9P3WGXZUJaAAhvMGIiNlkbGK9omHEz/tAIgAS2j19v3FWG50XVcwU8pbxvbiKtRFNjy0x1yTRTarzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7136822},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"maximtop","email":"maximtop@gmail.com"},"_resolved":"/var/atlassian/application-data/bamboo/shared/build-dir/72220673/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-5BnIQgawIWb6+sOt1RKZwR76G1a8QjkZOw0JtLK53VInSTppEY+XeVanUOmZtzaiifbpu5Ddz8cTgc70tW7ERA==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"^4.0.4","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.3.1","@adguard/tsurlfilter":"^4.0.5","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.8_1774555638346_0.9311740037297866","host":"s3://npm-registry-packages-npm-production"}},"3.2.9":{"name":"@adguard/filters-compiler","version":"3.2.9","_id":"@adguard/filters-compiler@3.2.9","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"1b63a3ccd2c5a0c402edacb4c5768037b59d08da","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.9.tgz","fileCount":15,"integrity":"sha512-mhLX/YTjtwj3iBCuYJol8gSucr5gfmRIPiCX0/6zlpFyK+41ufXMyAjz5r6x4gifBx3QAWQwue8Nd8FOLZInkA==","signatures":[{"sig":"MEUCIQCQL2WdCprUx8e3LnNYT3gdV3KS2v/p9yGMbXAk1zF/dgIgM9SWLFPUORn5L/FgRtXtWlwmpq+fduiU8TKIIcEo24M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7136828},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","engines":{"node":">=22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"eslint --cache .","test":"vitest","build":"rollup --config rollup.config.js --silent","build-txt":"node tasks/build-txt.mjs","increment":"pnpm version patch --no-git-tag-version","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"maximtop","email":"maximtop@gmail.com"},"_resolved":"/var/atlassian/application-data/bamboo/shared/build-dir/204505107/256475146-256606229/filters-compiler.tgz","_integrity":"sha512-mhLX/YTjtwj3iBCuYJol8gSucr5gfmRIPiCX0/6zlpFyK+41ufXMyAjz5r6x4gifBx3QAWQwue8Nd8FOLZInkA==","_npmVersion":"10.9.2","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","md5":"2.3.0","utf8":"^3.0.0","jsdom":"^21.1.1","tldts":"^5.7.112","moment":"^2.29.4","child_process":">=1.0.2","@adguard/agtree":"4.1.0-beta.0","@adguard/logger":"^2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"^2.0.1","@adguard/scriptlets":"^2.3.1","@adguard/tsurlfilter":"^4.0.5","@adguard/extended-css":"^2.1.1","@adguard/css-tokenizer":"^1.2.0","@adguard/filters-downloader":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.2","eslint":"8.57.1","rollup":"^4.39.0","vitest":"^3.0.5","@types/jsdom":"^21.1.7","rollup-plugin-copy":"^3.5.0","eslint-plugin-import":"^2.31.0","eslint-config-airbnb-base":"^15.0.0","eslint-import-resolver-exports":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.9_1776775356996_0.2880517971004728","host":"s3://npm-registry-packages-npm-production"}},"3.2.10-beta.0":{"name":"@adguard/filters-compiler","version":"3.2.10-beta.0","_id":"@adguard/filters-compiler@3.2.10-beta.0","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"42e36018fb2e16a9590c3957046e843d39d9fb71","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.10-beta.0.tgz","fileCount":18,"integrity":"sha512-0fyDeCOTKWhcnjtc2OeflFYZrqh41sh/+weo7VbuchEzbkrVzk8twQaqi4p9rpaH5TBbL3GHEFLKFavdpYzQIw==","signatures":[{"sig":"MEUCIDaGyDfu2IaQ76yEBSsgyHAg+UxUahY09pxVEMXyPFkDAiEAjcR/SxuWuipCGWFX8eZjrOpcMzov2PRr0snw1PXDAR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7147121},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","types":"./dist/index.d.ts","engines":{"node":">=22","pnpm":">=10.33.4 <11"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"pnpm lint:code && pnpm lint:types && pnpm lint:md","test":"vitest","build":"rollup --config rollup.config.js --silent","lint:md":"markdownlint .","prebuild":"rimraf dist","lint:code":"eslint --cache .","lint:types":"tsc --noEmit","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d9d1ec2-55ed-4984-a737-1782ec5ad3ce"}},"_resolved":"/home/runner/work/ext-compiler/ext-compiler/filters-compiler.tgz","_integrity":"sha512-0fyDeCOTKWhcnjtc2OeflFYZrqh41sh/+weo7VbuchEzbkrVzk8twQaqi4p9rpaH5TBbL3GHEFLKFavdpYzQIw==","_npmVersion":"11.16.0","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"8.17.1","md5":"2.3.0","utf8":"3.0.0","jsdom":"21.1.2","tldts":"5.7.112","moment":"2.30.1","child_process":"1.0.2","@adguard/agtree":"4.1.0-beta.0","@adguard/logger":"2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"2.0.1","@adguard/scriptlets":"2.3.1","@adguard/tsurlfilter":"4.0.5","@adguard/extended-css":"2.1.1","@adguard/css-tokenizer":"1.2.0","@adguard/filters-downloader":"2.4.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"8.0.2","tslib":"2.8.1","eslint":"8.57.1","rimraf":"6.1.3","rollup":"4.39.0","vitest":"3.0.5","typescript":"6.0.3","@types/jsdom":"21.1.7","markdownlint":"0.40.0","markdownlint-cli":"0.48.0","rollup-plugin-copy":"3.5.0","eslint-plugin-import":"2.31.0","@rollup/plugin-typescript":"12.3.0","@typescript-eslint/parser":"8.59.0","eslint-config-airbnb-base":"15.0.0","eslint-import-resolver-exports":"1.0.0-beta.5","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.10-beta.0_1784675184515_0.08283324468931053","host":"s3://npm-registry-packages-npm-production"}},"3.2.10":{"name":"@adguard/filters-compiler","version":"3.2.10","_id":"@adguard/filters-compiler@3.2.10","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"c748bcf3e37718bd0aa71b4535cd67cf2efbe1a5","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.10.tgz","fileCount":18,"integrity":"sha512-1pLh4L2Eo7uY8sTPTSoytvn9feK3nBzOrPmq9q/5v0yzjjc5eaXhhlnDE1Yv3+2bGAwR2wesSZqJ/HydYZcy+w==","signatures":[{"sig":"MEYCIQCBUG/JuymGCaIlpiT/YhvtiHh3F+YQu1ihJ3r+uzBFDAIhAKPxQ+CXjbNJpzxT/F1mW3rlp+bpoUSlzb9+y2mmxwU6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7147114},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","types":"./dist/index.d.ts","engines":{"node":">=22","pnpm":">=10.33.4 <11"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"pnpm lint:code && pnpm lint:types && pnpm lint:md","test":"vitest","build":"rollup --config rollup.config.js --silent","lint:md":"markdownlint .","prebuild":"rimraf dist","lint:code":"eslint --cache .","lint:types":"tsc --noEmit","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d9d1ec2-55ed-4984-a737-1782ec5ad3ce"}},"_resolved":"/home/runner/work/ext-compiler/ext-compiler/filters-compiler.tgz","_integrity":"sha512-1pLh4L2Eo7uY8sTPTSoytvn9feK3nBzOrPmq9q/5v0yzjjc5eaXhhlnDE1Yv3+2bGAwR2wesSZqJ/HydYZcy+w==","_npmVersion":"11.16.0","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"8.17.1","md5":"2.3.0","utf8":"3.0.0","jsdom":"21.1.2","tldts":"5.7.112","moment":"2.30.1","child_process":"1.0.2","@adguard/agtree":"4.1.0-beta.0","@adguard/logger":"2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"2.0.1","@adguard/scriptlets":"2.3.1","@adguard/tsurlfilter":"4.0.5","@adguard/extended-css":"2.1.1","@adguard/css-tokenizer":"1.2.0","@adguard/filters-downloader":"2.4.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.2","tslib":"2.8.1","eslint":"8.57.1","rimraf":"6.1.3","rollup":"4.39.0","vitest":"3.0.5","typescript":"6.0.3","@types/jsdom":"21.1.7","markdownlint":"0.40.0","markdownlint-cli":"0.48.0","rollup-plugin-copy":"3.5.0","eslint-plugin-import":"2.31.0","@rollup/plugin-typescript":"12.3.0","@typescript-eslint/parser":"8.59.0","eslint-config-airbnb-base":"15.0.0","eslint-import-resolver-exports":"1.0.0-beta.5","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.10_1784675514853_0.9439831372334391","host":"s3://npm-registry-packages-npm-production"}},"3.2.11":{"name":"@adguard/filters-compiler","version":"3.2.11","_id":"@adguard/filters-compiler@3.2.11","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"a11979dbd73dc969ac41b2bca13f67ab31a50670","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.11.tgz","fileCount":18,"integrity":"sha512-9AHZyUAXV1d7d3+EWoW7gdE9FMT5UW9KK3zBljksmBJJ7fT4Uiob6sBpQkewsmwdKW7jhdKAIfVuEKdQnmcGfw==","signatures":[{"sig":"MEUCIQD97mPoVCTN+AQrXNZw9RgV7u1+HyfafaVoYCVEhQGfeQIgeQnNr39JY43qul3U4M1mogJI7uiAuntFObzoK820+j4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7147107},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","types":"./dist/index.d.ts","engines":{"node":">=22","pnpm":">=10.33.4 <11"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"pnpm lint:code && pnpm lint:types && pnpm lint:md","test":"vitest","build":"rollup --config rollup.config.js --silent","lint:md":"markdownlint .","prebuild":"rimraf dist","lint:code":"eslint --cache .","lint:types":"tsc --noEmit","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d9d1ec2-55ed-4984-a737-1782ec5ad3ce"}},"_resolved":"/home/runner/work/ext-compiler/ext-compiler/filters-compiler.tgz","_integrity":"sha512-9AHZyUAXV1d7d3+EWoW7gdE9FMT5UW9KK3zBljksmBJJ7fT4Uiob6sBpQkewsmwdKW7jhdKAIfVuEKdQnmcGfw==","_npmVersion":"11.16.0","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"8.17.1","md5":"2.3.0","utf8":"3.0.0","jsdom":"21.1.2","tldts":"5.7.112","moment":"2.30.1","child_process":"1.0.2","@adguard/agtree":"4.1.2","@adguard/logger":"2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"2.0.1","@adguard/scriptlets":"2.3.1","@adguard/tsurlfilter":"4.0.5","@adguard/extended-css":"2.1.1","@adguard/css-tokenizer":"1.2.0","@adguard/filters-downloader":"2.4.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.2","tslib":"2.8.1","eslint":"8.57.1","rimraf":"6.1.3","rollup":"4.39.0","vitest":"3.0.5","typescript":"6.0.3","@types/jsdom":"21.1.7","markdownlint":"0.40.0","markdownlint-cli":"0.48.0","rollup-plugin-copy":"3.5.0","eslint-plugin-import":"2.31.0","@rollup/plugin-typescript":"12.3.0","@typescript-eslint/parser":"8.59.0","eslint-config-airbnb-base":"15.0.0","eslint-import-resolver-exports":"1.0.0-beta.5","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.11_1784906781034_0.8334338235125804","host":"s3://npm-registry-packages-npm-production"}},"3.2.12":{"name":"@adguard/filters-compiler","version":"3.2.12","_id":"@adguard/filters-compiler@3.2.12","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"}],"homepage":"http://adguard.com","dist":{"shasum":"2be8548fe7f379b4b02e80abf2d8cb2b0f333b95","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.2.12.tgz","fileCount":25,"integrity":"sha512-INz+qL/FFDKuVSnshu4KTQYjoLcZJROsN/9KWY/lKmpTEK63NWmD51Yu/RAL4WrQQr9TqeWmm2CK29RNUmMpGg==","signatures":[{"sig":"MEUCIG+PTeUONQGIZuzmUAqjqWgrK9oIhlxD3FBzQAdNTbzXAiEAhdTNNapHaN+2MKWl3M8wfJ0Rz/0uNxkZ3VCjTMM0GnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7179761},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","types":"dist/index.d.ts","engines":{"node":">=22","pnpm":">=10.33.4 <11"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"pnpm lint:code && pnpm lint:types && pnpm lint:md","test":"vitest","build":"rollup --config rollup.config.js --silent","lint:md":"markdownlint .","prebuild":"rimraf dist","lint:code":"eslint --cache .","lint:types":"tsc --noEmit","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d9d1ec2-55ed-4984-a737-1782ec5ad3ce"}},"_resolved":"/home/runner/work/ext-compiler/ext-compiler/filters-compiler.tgz","_integrity":"sha512-INz+qL/FFDKuVSnshu4KTQYjoLcZJROsN/9KWY/lKmpTEK63NWmD51Yu/RAL4WrQQr9TqeWmm2CK29RNUmMpGg==","_npmVersion":"11.16.0","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"8.17.1","md5":"2.3.0","utf8":"3.0.0","jsdom":"21.1.2","tldts":"5.7.112","moment":"2.30.1","child_process":"1.0.2","@adguard/agtree":"4.1.2","@adguard/logger":"2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"2.0.1","@adguard/scriptlets":"2.3.1","@adguard/tsurlfilter":"4.0.5","@adguard/extended-css":"2.1.1","@adguard/css-tokenizer":"1.2.0","@adguard/filters-downloader":"2.4.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.2","tslib":"2.8.1","eslint":"8.57.1","rimraf":"6.1.3","rollup":"4.39.0","vitest":"3.0.5","typescript":"6.0.3","@types/jsdom":"21.1.7","markdownlint":"0.40.0","markdownlint-cli":"0.48.0","rollup-plugin-copy":"3.5.0","eslint-plugin-jsdoc":"63.2.0","eslint-plugin-import":"2.31.0","@rollup/plugin-typescript":"12.3.0","@typescript-eslint/parser":"8.59.0","eslint-config-airbnb-base":"15.0.0","eslint-import-resolver-exports":"1.0.0-beta.5","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.2.12_1786402401943_0.4041479554655776","host":"s3://npm-registry-packages-npm-production"}},"3.3.0-beta.1":{"name":"@adguard/filters-compiler","version":"3.3.0-beta.1","_id":"@adguard/filters-compiler@3.3.0-beta.1","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"},{"name":"d13410n3","email":"d.naumov@adguard.com"}],"homepage":"http://adguard.com","dist":{"shasum":"536c150df0aad33ed5919038c2c15b28f87ba142","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.3.0-beta.1.tgz","fileCount":25,"integrity":"sha512-LwPadn91JPVPrzn5UYENZsHqyDVvDGQALXxWwQCWdrV+FEQ6lpBHDtJmGlx85rCZ/YF9jZGlCRjLn6s2kTE+BA==","signatures":[{"sig":"MEYCIQD9dpCjTA89fTym4e2UZwxr7Ogbdi1wZ9SL6Vybncv6xQIhAI/x2afROUSJClCAtVXH4hdnEBgcynBonou2YmU68jhT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7181447},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","types":"dist/index.d.ts","engines":{"node":">=22","pnpm":">=10.33.4 <11"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"pnpm lint:code && pnpm lint:types && pnpm lint:md","test":"vitest","build":"rollup --config rollup.config.js --silent","lint:md":"markdownlint .","prebuild":"rimraf dist","lint:code":"eslint --cache .","lint:types":"tsc --noEmit","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d9d1ec2-55ed-4984-a737-1782ec5ad3ce"}},"_resolved":"/home/runner/work/ext-compiler/ext-compiler/filters-compiler.tgz","_integrity":"sha512-LwPadn91JPVPrzn5UYENZsHqyDVvDGQALXxWwQCWdrV+FEQ6lpBHDtJmGlx85rCZ/YF9jZGlCRjLn6s2kTE+BA==","_npmVersion":"11.17.0","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"8.17.1","md5":"2.3.0","utf8":"3.0.0","jsdom":"21.1.2","tldts":"5.7.112","moment":"2.30.1","child_process":"1.0.2","@adguard/agtree":"4.1.2","@adguard/logger":"2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"2.0.1","@adguard/scriptlets":"2.3.1","@adguard/tsurlfilter":"4.0.5","@adguard/extended-css":"2.1.1","@adguard/css-tokenizer":"1.2.0","@adguard/filters-downloader":"2.4.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"8.0.2","tslib":"2.8.1","eslint":"8.57.1","rimraf":"6.1.3","rollup":"4.39.0","vitest":"3.0.5","typescript":"6.0.3","@types/jsdom":"21.1.7","markdownlint":"0.40.0","markdownlint-cli":"0.48.0","rollup-plugin-copy":"3.5.0","eslint-plugin-jsdoc":"63.2.0","eslint-plugin-import":"2.31.0","@rollup/plugin-typescript":"12.3.0","@typescript-eslint/parser":"8.59.0","eslint-config-airbnb-base":"15.0.0","eslint-import-resolver-exports":"1.0.0-beta.5","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.3.0-beta.1_1787192942023_0.1339908919191708","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@adguard/filters-compiler","version":"3.3.0","_id":"@adguard/filters-compiler@3.3.0","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"},{"name":"d13410n3","email":"d.naumov@adguard.com"}],"homepage":"http://adguard.com","dist":{"shasum":"40b0f349f38453e177155af1985382ad8bbc0263","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.3.0.tgz","fileCount":25,"integrity":"sha512-zLIqsdN3oPghj7XtmCH6XGmCvgre672HY223Lbz0nvp+Rvdb0c8MXcsXXtcWmZE9754wqoHYcsaOlF+PS3HIgA==","signatures":[{"sig":"MEYCIQDQWon44Bq80H3Ii2YqViKJSo/IR0GOLY4HCAmAHRYXOwIhAK0GDsMjxze7CZqhY8veofAqnMFqV7hHQSHM/cymdtBz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7183766},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","types":"dist/index.d.ts","engines":{"node":">=22","pnpm":">=10.33.4 <11"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"pnpm lint:code && pnpm lint:types && pnpm lint:md","test":"vitest","build":"rollup --config rollup.config.js --silent","lint:md":"markdownlint .","prebuild":"rimraf dist","lint:code":"eslint --cache .","lint:types":"tsc --noEmit","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d9d1ec2-55ed-4984-a737-1782ec5ad3ce"}},"_resolved":"/home/runner/work/ext-compiler/ext-compiler/filters-compiler.tgz","_integrity":"sha512-zLIqsdN3oPghj7XtmCH6XGmCvgre672HY223Lbz0nvp+Rvdb0c8MXcsXXtcWmZE9754wqoHYcsaOlF+PS3HIgA==","_npmVersion":"11.17.0","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"8.17.1","md5":"2.3.0","utf8":"3.0.0","jsdom":"21.1.2","tldts":"5.7.112","date-fns":"^4.4.0","@date-fns/utc":"2.1.1","child_process":"1.0.2","@adguard/agtree":"4.2.1","@adguard/logger":"2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"2.0.1","@adguard/scriptlets":"2.5.1","@adguard/tsurlfilter":"6.0.3","@adguard/extended-css":"2.2.0","@adguard/css-tokenizer":"1.2.0","@adguard/filters-downloader":"2.4.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.2","tslib":"2.8.1","eslint":"8.57.1","rimraf":"6.1.3","rollup":"4.39.0","vitest":"3.0.5","typescript":"6.0.3","@types/jsdom":"21.1.7","markdownlint":"0.40.0","markdownlint-cli":"0.48.0","rollup-plugin-copy":"3.5.0","eslint-plugin-jsdoc":"63.2.0","eslint-plugin-import":"2.31.0","@rollup/plugin-typescript":"12.3.0","@typescript-eslint/parser":"8.59.0","eslint-config-airbnb-base":"15.0.0","eslint-import-resolver-exports":"1.0.0-beta.5","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.3.0_1787764448382_0.19352382354582187","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"@adguard/filters-compiler","version":"3.3.1","_id":"@adguard/filters-compiler@3.3.1","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"},{"name":"d13410n3","email":"d.naumov@adguard.com"}],"homepage":"http://adguard.com","dist":{"shasum":"61378f54191e7bcd8d44bf32f5b4771f9d5a4d57","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.3.1.tgz","fileCount":25,"integrity":"sha512-PrEiN2JN//uIXh7tfqetQAK2mPbfslpGQ7+w2IbjhWNmSxeOPVt8eMRDrbYsvwr2GbcV9mAy+WsOAD2CzRxTQw==","signatures":[{"sig":"MEUCIBjB9sqnQbJWTUQf7o+4HE9sGE2OghzhKsU0mjbge9fUAiEA3PCu8y6o5dhlap7W8K4XZNfMVy2Eidu/ycNchyJpfdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7183802},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","types":"dist/index.d.ts","engines":{"node":">=22","pnpm":">=10.33.4 <11"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"pnpm lint:code && pnpm lint:types && pnpm lint:md","test":"vitest","build":"rollup --config rollup.config.js --silent","lint:md":"markdownlint .","prebuild":"rimraf dist","lint:code":"eslint --cache .","lint:types":"tsc --noEmit","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d9d1ec2-55ed-4984-a737-1782ec5ad3ce"}},"_resolved":"/home/runner/work/ext-compiler/ext-compiler/filters-compiler.tgz","_integrity":"sha512-PrEiN2JN//uIXh7tfqetQAK2mPbfslpGQ7+w2IbjhWNmSxeOPVt8eMRDrbYsvwr2GbcV9mAy+WsOAD2CzRxTQw==","_npmVersion":"11.19.0","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"8.17.1","md5":"2.3.0","utf8":"3.0.0","jsdom":"21.1.2","tldts":"5.7.112","date-fns":"^4.4.0","@date-fns/utc":"2.1.1","child_process":"1.0.2","@adguard/agtree":"4.2.1","@adguard/logger":"2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"2.0.1","@adguard/scriptlets":"2.5.1","@adguard/tsurlfilter":"6.0.3","@adguard/extended-css":"2.2.0","@adguard/css-tokenizer":"1.2.0","@adguard/filters-downloader":"2.4.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.2","tslib":"2.8.1","eslint":"8.57.1","rimraf":"6.1.3","rollup":"4.39.0","vitest":"3.0.5","typescript":"6.0.3","@types/jsdom":"21.1.7","markdownlint":"0.40.0","markdownlint-cli":"0.48.0","rollup-plugin-copy":"3.5.0","eslint-plugin-jsdoc":"63.2.0","eslint-plugin-import":"2.31.0","@rollup/plugin-typescript":"12.3.0","@typescript-eslint/parser":"8.59.0","eslint-config-airbnb-base":"15.0.0","eslint-import-resolver-exports":"1.0.0-beta.5","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.3.1_1788956563184_0.8508728511335812","host":"s3://npm-registry-packages-npm-production"}},"3.3.2-beta.0":{"name":"@adguard/filters-compiler","version":"3.3.2-beta.0","_id":"@adguard/filters-compiler@3.3.2-beta.0","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"},{"name":"d13410n3","email":"d.naumov@adguard.com"}],"homepage":"http://adguard.com","dist":{"shasum":"91c91911427f6d64a5f4c6ecf600ef6dbe2f8784","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.3.2-beta.0.tgz","fileCount":25,"integrity":"sha512-E/fph/K+vufzz43GFglR7LhvS2/VMYzs9/1M6x+6IU3MMpKWpKhJ9KS/GVaEdYnn4BM/bmZtvJ/KVz0WJqEQpg==","signatures":[{"sig":"MEUCIQCnTQhttOG7XQtvyx1Y7wIq6gHTxSWjsRbn5GkaFTGz8AIgWrUvbK34ONHKacLrgvuHhq9pGFwURCP3aqrud/pMGeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAt3SISRXXq5Dy2nF6/PehFnhvPLkPwarxxdsXjynC9/AiEA+EUCstqqMs3JF9RKXssDLNcJo3R4nZUplPxwMLTh+Cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7192280},"main":"dist/index.js","type":"module","_from":"file:filters-compiler.tgz","types":"dist/index.d.ts","engines":{"node":">=22","pnpm":">=10.33.4 <11"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"pnpm lint:code && pnpm lint:types && pnpm lint:md","test":"vitest","build":"rollup --config rollup.config.js --silent","lint:md":"markdownlint .","prebuild":"rimraf dist","lint:code":"eslint --cache .","lint:types":"tsc --noEmit","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d9d1ec2-55ed-4984-a737-1782ec5ad3ce"}},"_resolved":"/home/runner/work/ext-compiler/ext-compiler/filters-compiler.tgz","_integrity":"sha512-E/fph/K+vufzz43GFglR7LhvS2/VMYzs9/1M6x+6IU3MMpKWpKhJ9KS/GVaEdYnn4BM/bmZtvJ/KVz0WJqEQpg==","_npmVersion":"11.19.0","description":"AdGuard filters compiler","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"8.17.1","md5":"2.3.0","utf8":"3.0.0","jsdom":"21.1.2","tldts":"5.7.112","date-fns":"^4.4.0","@date-fns/utc":"2.1.1","child_process":"1.0.2","@adguard/agtree":"4.2.1","@adguard/logger":"2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"2.0.1","@adguard/scriptlets":"2.5.1","@adguard/tsurlfilter":"6.0.3","@adguard/extended-css":"2.2.0","@adguard/css-tokenizer":"1.2.0","@adguard/filters-downloader":"2.4.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"8.0.2","tslib":"2.8.1","eslint":"8.57.1","rimraf":"6.1.3","rollup":"4.39.0","vitest":"3.0.5","typescript":"6.0.3","markdown-it":"15.0.1","@types/jsdom":"21.1.7","markdownlint":"0.40.0","markdownlint-cli":"0.48.0","rollup-plugin-copy":"3.5.0","eslint-plugin-jsdoc":"63.2.0","eslint-plugin-import":"2.31.0","@rollup/plugin-typescript":"12.3.0","@typescript-eslint/parser":"8.59.0","eslint-config-airbnb-base":"15.0.0","eslint-import-resolver-exports":"1.0.0-beta.5","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/filters-compiler_3.3.2-beta.0_1789596047072_0.9521664278705988","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"_id":"@adguard/filters-compiler@3.4.0","dist":{"shasum":"4f29088991e9543de25cb4660dd453fc77d68505","tarball":"https://registry.npmjs.org/@adguard/filters-compiler/-/filters-compiler-3.4.0.tgz","fileCount":25,"integrity":"sha512-9lunLHW1mZaAd+VrXl3bpp0wfSI194EUSwfo8b7ohebuL3uwmmvy0SCVx9MeqFKCDviY3sfE4TzLGm+73AV3Lw==","signatures":[{"sig":"MEUCIQDfBOw49n6Cox4QqHlk9Upl/YU9ZUgzhywozd8feksJiwIgIZ8+r9wCrK66TS/T5n1fEjKnpFJYmx5x3aq0CibXs2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD1MMaw91mSwpeMaZffwo5v8Z61Xt4XG7PKqHvFr6OP7wIhAPt4WrG5ejzMPlrJkCiWJ+BQ4Nd1QmNUVX8Zdc2zWK22"}],"unpackedSize":7202285},"main":"dist/index.js","name":"@adguard/filters-compiler","type":"module","_from":"file:filters-compiler.tgz","types":"dist/index.d.ts","engines":{"node":">=22","pnpm":">=10.33.4 <11"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"tgz":"pnpm pack --out filters-compiler.tgz","lint":"pnpm lint:code && pnpm lint:types && pnpm lint:md","test":"vitest","build":"rollup --config rollup.config.js --silent","lint:md":"markdownlint .","prebuild":"rimraf dist","lint:code":"eslint --cache .","lint:types":"tsc --noEmit","build-schemas":"node --experimental-specifier-resolution=node tasks/build-schemas/index.js"},"version":"3.4.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d9d1ec2-55ed-4984-a737-1782ec5ad3ce"}},"homepage":"http://adguard.com","_resolved":"/home/runner/work/ext-compiler/ext-compiler/filters-compiler.tgz","_integrity":"sha512-9lunLHW1mZaAd+VrXl3bpp0wfSI194EUSwfo8b7ohebuL3uwmmvy0SCVx9MeqFKCDviY3sfE4TzLGm+73AV3Lw==","_npmVersion":"11.19.0","description":"AdGuard filters compiler","directories":{},"maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"},{"name":"d13410n3","email":"d.naumov@adguard.com"}],"_nodeVersion":"24.20.0","dependencies":{"ajv":"8.17.1","md5":"2.3.0","utf8":"3.0.0","jsdom":"21.1.2","tldts":"5.7.112","date-fns":"^4.4.0","@date-fns/utc":"2.1.1","child_process":"1.0.2","@adguard/agtree":"4.2.1","@adguard/logger":"2.0.0","@eslint/css-tree":"3.6.6","@adguard/ecss-tree":"2.0.1","@adguard/scriptlets":"2.5.1","@adguard/tsurlfilter":"6.0.3","@adguard/extended-css":"2.2.0","@adguard/css-tokenizer":"1.2.0","@adguard/filters-downloader":"2.4.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.2","tslib":"2.8.1","eslint":"8.57.1","rimraf":"6.1.3","rollup":"4.39.0","vitest":"3.0.5","typescript":"6.0.3","markdown-it":"15.0.1","@types/jsdom":"21.1.7","markdownlint":"0.40.0","markdownlint-cli":"0.48.0","rollup-plugin-copy":"3.5.0","eslint-plugin-jsdoc":"63.2.0","eslint-plugin-import":"2.31.0","@rollup/plugin-typescript":"12.3.0","@typescript-eslint/parser":"8.59.0","eslint-config-airbnb-base":"15.0.0","eslint-import-resolver-exports":"1.0.0-beta.5","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/filters-compiler_3.4.0_1790021163895_0.9669499930433283"}}},"time":{"created":"2025-07-31T14:40:27.570Z","modified":"2026-09-21T20:06:04.199Z","3.0.1":"2025-07-31T14:40:27.917Z","3.0.2":"2025-07-31T18:40:58.363Z","3.1.0":"2025-08-06T14:46:13.308Z","3.1.1":"2025-09-05T07:42:50.528Z","3.1.2":"2025-10-21T04:32:16.935Z","3.1.3":"2025-10-24T14:18:37.366Z","3.1.4":"2025-11-12T20:07:34.780Z","3.2.0":"2025-11-27T05:40:25.773Z","3.2.1":"2025-11-27T21:32:23.995Z","3.2.2":"2025-11-28T15:27:01.728Z","3.2.3":"2025-12-12T14:06:52.711Z","3.2.4":"2025-12-16T19:19:18.304Z","3.2.5":"2026-03-19T17:56:23.340Z","3.2.6":"2026-03-24T20:04:55.692Z","3.2.7":"2026-03-25T12:38:00.506Z","3.2.8":"2026-03-26T20:07:18.529Z","3.2.9":"2026-04-21T12:42:37.156Z","3.2.10-beta.0":"2026-07-21T23:06:24.719Z","3.2.10":"2026-07-21T23:11:55.146Z","3.2.11":"2026-07-24T15:26:21.182Z","3.2.12":"2026-08-10T22:53:22.119Z","3.3.0-beta.1":"2026-08-20T02:29:02.167Z","3.3.0":"2026-08-26T17:14:08.561Z","3.3.1":"2026-09-09T12:22:43.334Z","3.3.2-beta.0":"2026-09-16T22:00:47.211Z","3.4.0":"2026-09-21T20:06:04.001Z"},"homepage":"http://adguard.com","description":"AdGuard filters compiler","maintainers":[{"name":"ameshkov","email":"am@adguard.com"},{"name":"maximtop","email":"maximtop@gmail.com"},{"name":"blakhard","email":"vlad.abdulmianov@gmail.com"},{"name":"d13410n3","email":"d.naumov@adguard.com"}],"readme":"# AdGuard Filters Compiler\n\n> A Node.js library that compiles, converts, validates, and optimizes\n> ad-blocking filter lists into platform-specific formats for AdGuard\n> products across all supported platforms.\n\n> **Note:** This package is developed in [AdGuardSoftwareLimited/ext-compiler].\n> The [AdguardTeam/FiltersCompiler] repository is a public mirror.\n\n## Description\n\n**AdGuard Filters Compiler** is a library for developers who maintain\nad-blocking filter lists and the build pipelines that ship them. It\ntransforms source filter lists — written in the AdGuard filter rules\nsyntax — into compiled output tailored to each target platform (browser\nextensions, desktop and mobile apps, and the AdGuard CLI).\n\nAdGuard's filter rules are authored once but must run on many engines\nwith different capabilities: not every platform supports scriptlets,\nHTML filtering, `$redirect` modifiers, extended CSS, or regex-based\n`$domain` selectors. The compiler closes that gap. It resolves\n`@include` and `!#include` preprocessor directives, converts rules\nbetween AdGuard and uBlock Origin formats, validates each rule against\nthe `@adguard/tsurlfilter` engine, optimizes blocking rules using\nhit-count statistics, and strips rules that a given platform cannot\napply.\n\nThe library is consumed by [FiltersRegistry] to produce production\nfilter builds, but it can be used directly by anyone who needs to\ncompile filter lists for AdGuard platforms. The expected source\ndirectory structure and the filters metadata format are documented in\nthe [FiltersRegistry README][filters-metadata].\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [API Overview](#api-overview)\n- [Usage Examples](#usage-examples)\n    - [Compiling filter lists](#compiling-filter-lists)\n    - [Validating built filters](#validating-built-filters)\n    - [Validating locale translations](#validating-locale-translations)\n- [`@include` directive and its options](#include-directive)\n- [Configuration](#configuration)\n    - [Custom platforms](#custom-platforms)\n    - [Logging](#logging)\n    - [Environment variables](#environment-variables)\n- [Supported platforms](#supported-platforms)\n- [Documentation](#documentation)\n\n---\n\n## Installation\n\n```bash\nnpm install @adguard/filters-compiler\n```\n\nAlso available via pnpm or yarn:\n\n```bash\npnpm add @adguard/filters-compiler\n# or\nyarn add @adguard/filters-compiler\n```\n\nThe package ships as dual ESM + CJS, so both `import` and `require`\nwork out of the box.\n\n## Quick Start\n\n```js\nimport { compile } from '@adguard/filters-compiler';\n\nconst filtersDir = './filters';\nconst logPath = './log.txt';\nconst reportPath = './report.txt';\nconst platformsPath = './platforms';\n\n// Compile every filter for every platform, keeping only filters\n// with IDs 1 and 3, and excluding filter ID 2.\nawait compile(filtersDir, logPath, reportPath, platformsPath, [1, 3], [2]);\n```\n\nThe compiler reads the source filter lists from `filtersDir` and writes\nplatform-specific output to subdirectories under `platformsPath`. A\nhuman-readable compilation report is written to `reportPath`, and a\ntimestamped log to `logPath`.\n\n## API Overview\n\nThe library exports four functions:\n\n| Function                      | Purpose                                              |\n| ----------------------------- | ---------------------------------------------------- |\n| `compile(...)`                | Compiles filter lists into platform-specific output  |\n| `validateJSONSchema(...)`     | Validates built platform output against JSON schemas |\n| `validateLocales(...)`        | Validates locale translation files for completeness  |\n| `localOptimizationStatistics` | Caches optimization statistics for local compilation |\n\n### `compile(...)`\n\n```ts\nfunction compile(\n    path: string,\n    logPath: string | undefined,\n    reportFile: string | undefined,\n    platformsPath: string | null,\n    includedFilterIds?: number[] | null,\n    excludedFilterIds?: number[] | null,\n    customPlatformsConfig?: CustomPlatformsConfig,\n): Promise<void>;\n```\n\nCompiles the filter lists in `path` for all configured platforms and\nwrites the results to `platformsPath`.\n\n- `includedFilterIds` — compile only the filter IDs listed here (empty array\n  compiles all filters).\n- `excludedFilterIds` — exclude the filter IDs listed here.\n- `customPlatformsConfig` — overrides or extends the built-in platform\n  definitions (see [Custom platforms](#custom-platforms)).\n\n### `validateJSONSchema(...)`\n\n```ts\nfunction validateJSONSchema(\n    platformsPath: string,\n    requiredFiltersAmount: number,\n): boolean;\n```\n\nRecursively validates the built JSON files in `platformsPath` against\nthe schemas bundled with the library (`filters.schema.json` and\n`filters_i18n.schema.json`). `requiredFiltersAmount` is the minimum\nnumber of filters expected in each platform's `filters.json`.\n\nReturns `true` when all files are valid. On validation failure it logs\nthe errors and returns `false` instead of throwing, so callers must\ncheck the return value.\n\n### `validateLocales(...)`\n\n```ts\nfunction validateLocales(\n    localesDirPath: string,\n    requiredLocales: string[],\n    logFormat?: 'text' | 'markdown',\n): ValidateLocalesResult;\n\ninterface ValidateLocalesResult {\n    ok: boolean;\n    data?: unknown[]; // per-locale warning details, present when warnings exist\n    log?: string;     // formatted warnings log, present when warnings exist\n}\n```\n\nValidates that the locale files in `localesDirPath` are complete — that\nevery filter, group, and tag has a translated name and description for\nall locales listed in `requiredLocales`.\n\nReturns `{ ok: true }` when no problems are found. When warnings are\nfound, `data` and `log` contain the per-locale details and `ok` is\n`false` only if at least one warning is critical. Throws when the\nlocales directory is missing or empty.\n\n`logFormat` controls the format of the returned `log` field: `'text'`\n(the default) produces the plain indented list, `'markdown'` produces a\nmarkdown document suitable for embedding in a GitHub issue or PR\ncomment.\n\n### `localOptimizationStatistics`\n\nA namespace for caching optimization statistics locally so that\n`compile()` reads each filter's `stats.json` from disk instead of\nfetching it from the remote server. `percent.json` (which determines\nwhich filters are optimizable) is always fetched remotely, even when\nusing the local cache.\n\nIt exposes `download`, `use`, and `reset` methods and throws\n`OptimizationStatsError` (an `Error` subclass carrying `filterId`,\n`sourcePath`, and `code` fields) when stats for a filter cannot be\nretrieved or fail structural validation.\n\nSee [Local Optimization Statistics](#local-optimization-statistics)\nfor a complete workflow.\n\n## Usage Examples\n\n### Compiling filter lists\n\nCompile all filters with the default platform configuration:\n\n```js\nimport { compile } from '@adguard/filters-compiler';\n\nawait compile(\n    './filters',      // source filter lists\n    './log.txt',      // log file (omit to disable logging)\n    './report.txt',   // compilation report\n    './platforms',    // platform output directory\n    [],               // includedFilterIds (empty = compile all)\n    [],               // excludedFilterIds (empty = exclude none)\n);\n```\n\nCompile a single filter into a custom platform:\n\n```js\nimport { compile } from '@adguard/filters-compiler';\n\nconst customPlatformsConfig = {\n    // Here you can redefine some of the platforms from platforms.json\n    // or add new platforms if you need it.\n    MAC_V3: {\n        platform: 'mac',\n        path: 'mac_v3',\n        configuration: {\n            ignoreRuleHints: false,\n            removeRulePatterns: [\n                '^\\\\/.*', // drop regex rules\n            ],\n            replacements: [\n                { from: 'regex', to: 'repl' },\n            ],\n        },\n        defines: {\n            adguard: true,\n            adguard_app_mac: true,\n        },\n    },\n};\n\nawait compile(\n    './filters',\n    undefined,          // no log file\n    './report.txt',\n    './platforms',\n    [1],                // only filter ID 1\n    [],\n    customPlatformsConfig,\n);\n```\n\n### Validating built filters\n\nAfter compiling, validate the built output against the bundled schemas:\n\n```js\nimport { validateJSONSchema } from '@adguard/filters-compiler';\n\n// Each platform build must contain at least 50 filters\nconst valid = validateJSONSchema('./platforms', 50);\nif (!valid) {\n    throw new Error('Schema validation failed, see log for details');\n}\n```\n\n### Validating locale translations\n\n```js\nimport { validateLocales } from '@adguard/filters-compiler';\n\nconst result = validateLocales('./locales', ['en', 'fr', 'ko'], 'markdown');\nif (!result.ok) {\n    console.error(result.log);\n}\n```\n\n## <a name=\"include-directive\"></a> `@include` directive and its options\n\nThe `@include` directive provides the ability to include content from\nthe specified address. Filter source files use it to pull in content\nfrom other files or remote URLs during compilation, letting you compose\nfilter lists from shared fragments.\n\n### Syntax\n\n```text\n@include <filepath> [<options>]\n```\n\n- `<filepath>` — required, URL or same-origin relative file path to\n  include.\n- `<options>` — optional, space-separated flags:\n\n    - `/stripComments` — removes AdBlock-style comment lines (starting\n      with `!`) from the included file.\n    - `/notOptimized` — adds a `!+ NOT_OPTIMIZED` hint to the rules.\n    - `/exclude=\"<filepath>\"` — excludes rules listed in the exception\n      file at `filepath`.\n    - `/addModifiers=\"<modifiers>\"` — appends the given modifiers (as\n      is) to every rule in the included file. Works with host-rule\n      files too, converting `#` host-file comments to `!` AdBlock-style\n      comments.\n    - `/ignoreTrustLevel` — skips the trust-level check for the\n      included file. Only allowed for same-origin files.\n    - `/optimizeDomainBlockingRules` — removes redundant\n      domain-blocking rules. Rules with modifiers and rules of other\n      formats are ignored.\n\n> [!IMPORTANT]\n> Options are applied in the order they appear in the directive, except\n> `/ignoreTrustLevel`.\n\n### Examples\n\nApply all options to an included file:\n\n<!-- markdownlint-disable line-length -->\n```adblock\n@include ../input.txt /addModifiers=\"script\" /exclude=\"../exclusions.txt\" /notOptimized /stripComments /optimizeDomainBlockingRules\n```\n<!-- markdownlint-enable line-length -->\n\nGiven `../input.txt`:\n\n```adblock\n# comment\nexample.com\nexample.org\n```\n\n**1. `/addModifiers=\"script\"`** appends `$script` to every rule and\nconverts host-file `#` comments to AdBlock-style `!`:\n\n```adblock\n! comment\nexample.com$script\nexample.org$script\n```\n\n**2. `/exclude=\"../exclusions.txt\"`** removes rules listed in\n`exclusions.txt` (for example, `example.com$script`):\n\n```adblock\n! comment\nexample.org$script\n```\n\n**3. `/notOptimized`** adds the hint:\n\n```adblock\n! comment\n!+ NOT_OPTIMIZED\nexample.org$script\n```\n\n**4. `/stripComments`** removes comment lines:\n\n```adblock\n!+ NOT_OPTIMIZED\nexample.org$script\n```\n\n**5. `/optimizeDomainBlockingRules`** removes redundant domain-blocking\nrules. For example, when `||sub.example.com^` is already covered by\n`||example.com^`, it is dropped, while rules with modifiers such as\n`||test.com^$script` are kept:\n\n```adblock\n||example.com^\n||domain.com^\n||test.com^$script\n```\n\nInclude a remote file with comment stripping:\n\n```adblock\n@include \"https://easylist.github.io/easylist/easylist.txt\" /stripComments\n```\n\nSkip the trust-level check for a same-origin included file:\n\n```adblock\n@include ./input.txt /ignoreTrustLevel\n```\n\n## Configuration\n\n### Custom platforms\n\nPass `customPlatformsConfig` to `compile()` to redefine existing\nplatforms or add new ones. Each entry mirrors the structure in\n`src/main/platforms-config.js`:\n\n```js\nconst customPlatformsConfig = {\n    MAC_V3: {\n        platform: 'mac',           // platform family\n        path: 'mac_v3',            // output subdirectory under platformsPath\n        expires: '12 hours',       // optional cache TTL written to metadata\n        configuration: {\n            ignoreRuleHints: false, // honour `!+ HINT` hints when false\n            removeRulePatterns: [   // regexes of rules to drop\n                '^\\\\/.*',\n            ],\n            replacements: [        // regex replacements applied to rules\n                { from: 'regex', to: 'repl' },\n            ],\n        },\n        defines: {                  // !#if preprocessor flags for this platform\n            adguard: true,\n            adguard_app_mac: true,\n        },\n    },\n};\n```\n\n`replacements[].from` is treated as a regular-expression pattern (it is\npassed to `new RegExp(from, 'g')`), not as literal text. Escape regex\nmeta characters in `from` when a literal match is intended.\n\n### Logging\n\nThe compiler writes a timestamped log file when `logPath` is passed to\n`compile()`. If `logPath` is omitted, no log file is written. The parent\ndirectory is created automatically when it does not exist.\n\nLog levels:\n\n- `INFO` — general information about the process\n- `WARN` — warnings that do not stop the process\n- `ERROR` — errors indicating failures\n\n### Environment variables\n\n| Variable | Default           | Purpose                                                                                           |\n| -------- | ----------------- | ------------------------------------------------------------------------------------------------- |\n| `TLS`    | (system defaults) | Set to `insecure` to bypass TLS certificate verification when downloading external filter sources |\n\n## Supported platforms\n\nThe compiler ships built-in configurations for the following platforms.\nEach writes its output to a subdirectory under `platformsPath`.\n\n| Platform ID                         | Output directory                    | Target                                    |\n| ----------------------------------- | ----------------------------------- | ----------------------------------------- |\n| `WINDOWS`                           | `windows`                           | AdGuard for Windows                       |\n| `MAC`                               | `mac`                               | AdGuard for macOS (legacy v1)             |\n| `MAC_V2`                            | `mac_v2`                            | AdGuard for macOS v2                      |\n| `MAC_V3`                            | `mac_v3`                            | AdGuard for macOS v3                      |\n| `ANDROID`                           | `android`                           | AdGuard for Android                       |\n| `IOS`                               | `ios`                               | AdGuard for iOS                           |\n| `CLI`                               | `cli`                               | AdGuard CLI / CoreLibs                    |\n| `EXTENSION_CHROMIUM`                | `extension/chromium`                | AdGuard Browser Extension (Chromium, MV2) |\n| `EXTENSION_CHROMIUM_MV3`            | `extension/chromium-mv3`            | AdGuard Browser Extension (Chromium, MV3) |\n| `EXTENSION_EDGE`                    | `extension/edge`                    | AdGuard Browser Extension (Edge, MV2)     |\n| `EXTENSION_EDGE_MV3`                | `extension/edge-mv3`                | AdGuard Browser Extension (Edge, MV3)     |\n| `EXTENSION_OPERA`                   | `extension/opera`                   | AdGuard Browser Extension (Opera, MV2)    |\n| `EXTENSION_OPERA_MV3`               | `extension/opera-mv3`               | AdGuard Browser Extension (Opera, MV3)    |\n| `EXTENSION_FIREFOX`                 | `extension/firefox`                 | AdGuard Browser Extension (Firefox)       |\n| `EXTENSION_SAFARI`                  | `extension/safari`                  | AdGuard Browser Extension (Safari)        |\n| `EXTENSION_ANDROID_CONTENT_BLOCKER` | `extension/android-content-blocker` | AdGuard content blocker (Android)         |\n| `EXTENSION_UBLOCK`                  | `extension/ublock`                  | uBlock Origin-compatible output           |\n\n## Local Optimization Statistics\n\n`localOptimizationStatistics` provides a workflow for caching optimization statistics\nlocally so that `compile()` reads each filter's `stats.json` from disk instead of fetching it\nfrom the remote server. `percent.json` (which determines which filters are optimizable) is\nalways fetched remotely, even when using the local cache.\n\n### Directory layout\n\n```text\n<basePath>/\n  filters/\n    <filterId>/\n      stats.json                 # per-filter hit counts (STATS_JSON)\n```\n\n### Workflow\n\n1. Call `download(basePath, includedFilterIds, excludedFilterIds)` to save\n   `stats.json` for filters listed in the remote `percent.json`.\n   `includedFilterIds` limits processing to those IDs (default `[]` = all).\n   `excludedFilterIds` skips those IDs (default `[]` = none). When both are\n   given, a filter is processed only if it is included and not excluded.\n2. Call `use(basePath)` before `compile()` to tell\n   `getOptimizationStatistics` to read stats from local files under\n   `basePath` instead of fetching from the remote server.\n3. Call `reset(basePath)` when done to remove the cache directory and clear\n   in-memory state.\n\nIf stats for a filter can't be retrieved (missing local file, or a failed remote\nfetch) or fail structural validation, `getOptimizationStatistics` throws\n`OptimizationStatsError` — an `Error` subclass carrying `filterId` and\n`sourcePath` fields, and a `code` (`OPTIMIZATION_STATS_UNAVAILABLE` for\nretrieval failures, `OPTIMIZATION_STATS_INVALID` for validation failures) so\ncallers can branch on the failure kind instead of matching on `error.message`.\nIts constructor takes a `reason: 'retrieval' | 'validation'` argument after\n`sourcePath`.\n\n```js\nimport { localOptimizationStatistics } from '@adguard/filters-compiler';\n\n// 1. Download stats for all optimizable filters to ./stats-cache\nawait localOptimizationStatistics.download('./stats-cache');\n\n// 2. Tell compile() to read stats from the local cache\nlocalOptimizationStatistics.use('./stats-cache');\nawait compile('./filters', undefined, undefined, './platforms', [], []);\n\n// 3. Clean up when done\nawait localOptimizationStatistics.reset('./stats-cache');\n```\n\n## Documentation\n\n- [Development](DEVELOPMENT.md) — setup, build, and contributing workflow\n- [Deployment and configuration](DEPLOYMENT.md) — release pipeline and runtime environment\n- [Changelog](CHANGELOG.md) — version history\n- [LLM agent rules](AGENTS.md) — AI-assisted development guidelines\n\n[FiltersRegistry]: https://github.com/AdguardTeam/FiltersRegistry/\n[filters-metadata]: https://github.com/AdguardTeam/FiltersRegistry/blob/master/README.md#filters-metadata\n[AdGuardSoftwareLimited/ext-compiler]: https://github.com/AdGuardSoftwareLimited/ext-compiler\n[AdguardTeam/FiltersCompiler]: https://github.com/AdguardTeam/FiltersCompiler\n","readmeFilename":"README.md"}