{"_id":"@blueking/xss-filter","_rev":"11-f269e24405b49ddb647eb3c54f9c075b","name":"@blueking/xss-filter","dist-tags":{"latest":"0.0.10"},"versions":{"0.0.1":{"name":"@blueking/xss-filter","version":"0.0.1","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.1","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"34e442483145562c257fb121b3a2a6e460ee83e2","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.1.tgz","fileCount":7,"integrity":"sha512-T1D4y9By6JXIlUBST7veJhJip8v/Sl91Q7WT1RjfpMrAx1rieScPbV6lZBE8peDaRarBeM0u804Yym9mGeSnUw==","signatures":[{"sig":"MEUCIGc5924fQZ6RJLQnq33SsladdBBplpJalgHUlsnTt2c0AiEA6iJo+NUJsNPBTEqGM9IVA24fpnFoOYkp1Q/ii9kKtQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21055},"main":"./dist/index.es.js","type":"module","_from":"file:blueking-xss-filter-0.0.1.tgz","types":"./types/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/775daf01260997cc62c549f583a31923/blueking-xss-filter-0.0.1.tgz","_integrity":"sha512-T1D4y9By6JXIlUBST7veJhJip8v/Sl91Q7WT1RjfpMrAx1rieScPbV6lZBE8peDaRarBeM0u804Yym9mGeSnUw==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"20.19.3","dependencies":{"xss":"^1.0.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.1_1754880950427_0.3837999307933373","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@blueking/xss-filter","version":"0.0.2","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.2","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"44f8169bb6413706083aa7deabfe5bef9743a266","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.2.tgz","fileCount":7,"integrity":"sha512-3x7UkvfOH6FINAoHXu+l6AZuTzDtbvQ2cu7u86BrGYf8P/ncSts3be4vz1OaEF4Q64u8dTt0VGfWwdehiS/POg==","signatures":[{"sig":"MEYCIQCz//6M08GKKEqH3CfGz5MjEQggYpMCthjebuMAFsSGEwIhAO229FG451dNOcEYWOZYkabun1NlIhaZMQH2O+oprX3J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21062},"main":"./dist/index.es.js","type":"module","_from":"file:blueking-xss-filter-0.0.2.tgz","types":"./types/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/d25e3755d6e4e0d3d5fcd08c1cfe3505/blueking-xss-filter-0.0.2.tgz","_integrity":"sha512-3x7UkvfOH6FINAoHXu+l6AZuTzDtbvQ2cu7u86BrGYf8P/ncSts3be4vz1OaEF4Q64u8dTt0VGfWwdehiS/POg==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"20.19.3","dependencies":{"xss":"^1.0.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.2_1754900485361_0.2967932422625108","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@blueking/xss-filter","version":"0.0.3","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.3","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"ea057b47904e8631aa070f2508f334548db860df","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.3.tgz","fileCount":7,"integrity":"sha512-/vxQn463IVwOvvME5weZo0wZpvTfbsGPPdkiM2Ou0kIfcpgQWcXBwZuvUbX//2ZZpSvf8j6zzDuXz8vzcF99RQ==","signatures":[{"sig":"MEQCIEKJvQ4SbT7PfylW5hKC7uy3ahuzlaFrlODcBvQ7XuY5AiAQPvaDfVpdL7Gu1iqvhqK00l3cCjlNApBcR7pDIEeKoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21233},"main":"./dist/index.es.js","type":"module","_from":"file:blueking-xss-filter-0.0.3.tgz","types":"./types/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/c4ea29fdbfdc7add4baca25c99055ec7/blueking-xss-filter-0.0.3.tgz","_integrity":"sha512-/vxQn463IVwOvvME5weZo0wZpvTfbsGPPdkiM2Ou0kIfcpgQWcXBwZuvUbX//2ZZpSvf8j6zzDuXz8vzcF99RQ==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"20.19.3","dependencies":{"xss":"^1.0.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.3_1754902974597_0.9555672655529477","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@blueking/xss-filter","version":"0.0.4","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.4","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"5b5dc239487d99f609a4ab05444f650177de35c7","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.4.tgz","fileCount":7,"integrity":"sha512-wjaL9mkUjAoUljp1GThXNuyJk5sKmOwYpodN9pJLnKfL+dYV66tngYrITQrLmVjtFZhnyR7/y4145Cf3OYrxrQ==","signatures":[{"sig":"MEUCIQDf/s6cXAoKLbD7GpZxLyfkSLZTMk97SUT8y45OGgUN9QIge92YuJfQycjNRE9TiZNyYYr0Yk/oV77Xo+pqeXPYQr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21238},"main":"./dist/index.es.js","type":"module","_from":"file:blueking-xss-filter-0.0.4.tgz","types":"./types/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/5ce614404dfeb43e6f7b351673235e32/blueking-xss-filter-0.0.4.tgz","_integrity":"sha512-wjaL9mkUjAoUljp1GThXNuyJk5sKmOwYpodN9pJLnKfL+dYV66tngYrITQrLmVjtFZhnyR7/y4145Cf3OYrxrQ==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"20.19.3","dependencies":{"xss":"^1.0.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.4_1754903474877_0.7053076815700954","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@blueking/xss-filter","version":"0.0.5","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.5","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"df9fa695cd0a492fb7729b96e9c1bceedfb28bdc","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.5.tgz","fileCount":7,"integrity":"sha512-L0Td1qNhb4eNklzbzm9G5XGR+TySJhw2Saj85kTlTTo5pu/rq86qnK7kFm6caDHyH+D72RKpIpwmVNyajm8Rwg==","signatures":[{"sig":"MEUCIClhdL+v/MG59+yx6UPEOVQ9UcKBcLbA/gqcI3XH7wfkAiEAyjGMjDtQYcZSJU3bEeLW1XFp34dF531Gt1kZlu5EXFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21236},"main":"./dist/index.es.js","type":"module","_from":"file:blueking-xss-filter-0.0.5.tgz","types":"./types/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/d5397394d99c7580f1db61f1d3c837ff/blueking-xss-filter-0.0.5.tgz","_integrity":"sha512-L0Td1qNhb4eNklzbzm9G5XGR+TySJhw2Saj85kTlTTo5pu/rq86qnK7kFm6caDHyH+D72RKpIpwmVNyajm8Rwg==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"20.19.3","dependencies":{"xss":"^1.0.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.5_1755158404532_0.9070501153567507","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@blueking/xss-filter","version":"0.0.6","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.6","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"63c128b9fd2c71ce80c8ce535b456ef5991f8114","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.6.tgz","fileCount":7,"integrity":"sha512-8geKCGhRl3cmiHQhn2PUAoysWUI1CzBhMCDCXdpUaezlUjQmCW4o6DwUixIxsV52ypH9CQ8++crHjHTOJfX4YA==","signatures":[{"sig":"MEQCIEDJCytCuVWyyLgusTwY+fM1M4+9/mQ7qW3fxdMAT/G4AiAGbEnpb/16G+9VWwCa+nEYPDqAOIB7DkFYkSQC8hFb0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223167},"main":"./dist/index.es.js","type":"module","_from":"file:blueking-xss-filter-0.0.6.tgz","types":"./types/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/7019d66544e3219f2568752c0468c95e/blueking-xss-filter-0.0.6.tgz","_integrity":"sha512-8geKCGhRl3cmiHQhn2PUAoysWUI1CzBhMCDCXdpUaezlUjQmCW4o6DwUixIxsV52ypH9CQ8++crHjHTOJfX4YA==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"20.19.3","dependencies":{"xss":"^1.0.14","lodash":"^4.17.21"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.6_1755870027732_0.9646062358101979","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@blueking/xss-filter","version":"0.0.7","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.7","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"af4371da6d9efd1a159289adf4b8b57b90377e1c","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.7.tgz","fileCount":7,"integrity":"sha512-f0C0MYd/hDM38iglQ8gS8OR8jOlxK6QOozKIUv0onQvLF4XpC/KbkwTnQ1tTCrd5+kob6l7ejyg1NJ+x70dPuw==","signatures":[{"sig":"MEUCIQC8Fwb5chjFDSHsw1AqeycDNO4tPmQDe6ODYQAfy6iKsAIgOln/48bHj1GjOeWpA54blu6gXoH8SNCer+E42wkoOGA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223234},"main":"./dist/index.es.js","type":"module","_from":"file:blueking-xss-filter-0.0.7.tgz","types":"./types/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/f23b692c989df554e12274a6c0efd470/blueking-xss-filter-0.0.7.tgz","_integrity":"sha512-f0C0MYd/hDM38iglQ8gS8OR8jOlxK6QOozKIUv0onQvLF4XpC/KbkwTnQ1tTCrd5+kob6l7ejyg1NJ+x70dPuw==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"20.19.3","dependencies":{"xss":"^1.0.14","lodash":"^4.17.21"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.7_1756176243556_0.33137138736984073","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@blueking/xss-filter","version":"0.0.8","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.8","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"27fc7eaa82876c54a415f36d9cef32023639ded3","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.8.tgz","fileCount":7,"integrity":"sha512-I369E2+Qp/FNBu7JuQcgOOl5sFpG2dV0RRmknWUKM15gCDX9ScX4lqCTXVl+i7kS4DQUArkvBAYohLiZnvSc9Q==","signatures":[{"sig":"MEYCIQCYQv+yjgG1K/vffHu68riLAFbKAIkkXb4SabFfWYhA8wIhAMm0Rh2mC6fjUzA6zeOdd7Un/N2pnxn88IAUrFe4hRvc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223135},"main":"./dist/index.es.js","_from":"file:blueking-xss-filter-0.0.8.tgz","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","default":"./dist/index.es.js","require":"./dist/index.umd.js"}},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/9f3a6cc64562ae18f38b7e58203b0ef9/blueking-xss-filter-0.0.8.tgz","_integrity":"sha512-I369E2+Qp/FNBu7JuQcgOOl5sFpG2dV0RRmknWUKM15gCDX9ScX4lqCTXVl+i7kS4DQUArkvBAYohLiZnvSc9Q==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"18.20.8","dependencies":{"xss":"^1.0.14","lodash":"^4.17.21"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.8_1757324658712_0.5397617714393699","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@blueking/xss-filter","version":"0.0.9","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.9","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"55aa95a5e46b878a9af8b2b087433b051da55d0b","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.9.tgz","fileCount":7,"integrity":"sha512-HRNFPNMW3YXkhIn+RGy3qREsF6dJkKmNb+ec4+sJ44xzb963GIb40kpDoaFIEtW2BxZVKmwG0gztkh1xhA+yBA==","signatures":[{"sig":"MEQCIFExFyKJIxSEP3BL1twxxliWTasg9caX+ye8fZb14wnFAiB9roP1GWZT10gfDswQq7MXkqA3SIcbrddmdk0jEF2eIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223163},"main":"./dist/index.es.js","_from":"file:blueking-xss-filter-0.0.9.tgz","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","default":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/*":"./dist/*"},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/6816527f2272543597e3d082d49a5e94/blueking-xss-filter-0.0.9.tgz","_integrity":"sha512-HRNFPNMW3YXkhIn+RGy3qREsF6dJkKmNb+ec4+sJ44xzb963GIb40kpDoaFIEtW2BxZVKmwG0gztkh1xhA+yBA==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"18.20.8","dependencies":{"xss":"^1.0.14","lodash":"^4.17.21"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.9_1757333048328_0.4208760215998102","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@blueking/xss-filter","version":"0.0.10","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"author":{"name":"Tencent BlueKing"},"license":"MIT","_id":"@blueking/xss-filter@0.0.10","maintainers":[{"name":"blueking","email":"contactus_bk@tencent.com"}],"dist":{"shasum":"795df613cad9b8c234002f9ec7395553521372d8","tarball":"https://registry.npmjs.org/@blueking/xss-filter/-/xss-filter-0.0.10.tgz","fileCount":7,"integrity":"sha512-IKI2u2AtRPSQh3ILyJ0G+PhUPj0Hk5pQpPM1Vc/VDlQIN3OrV8C4yVZhu7hKpnA8quozp5TLEjImZcmUWpBU5Q==","signatures":[{"sig":"MEYCIQD2VfOVNeWdsXAnUjrzUAK/bq4poP/WRTI0NCj8gB7x0AIhAKSCUHEZ4BAEBs9aU5NKEX8QBSy9+hXvDuB96NqR14AG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223168},"main":"./dist/index.es.js","_from":"file:blueking-xss-filter-0.0.10.tgz","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","default":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/*":"./dist/*"},"scripts":{"dev":"vite","dts":"tsc --project tsconfig.dts.json","build":"vite build","prettier":"prettier ./src ./playground --write"},"_npmUser":{"name":"blueking","email":"contactus_bk@tencent.com"},"_resolved":"/tmp/d076628840236eeb0aca36a68bb04350/blueking-xss-filter-0.0.10.tgz","_integrity":"sha512-IKI2u2AtRPSQh3ILyJ0G+PhUPj0Hk5pQpPM1Vc/VDlQIN3OrV8C4yVZhu7hKpnA8quozp5TLEjImZcmUWpBU5Q==","_npmVersion":"10.8.2","description":"蓝鲸 XSS 过滤工具","directories":{},"_nodeVersion":"18.20.8","dependencies":{"xss":"^1.0.14","lodash":"^4.17.21"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","typescript":"^5.0.0","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/xss-filter_0.0.10_1757496537762_0.06361089054767777","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-08-11T02:55:50.338Z","modified":"2026-01-15T04:04:13.424Z","0.0.1":"2025-08-11T02:55:50.617Z","0.0.2":"2025-08-11T08:21:25.646Z","0.0.3":"2025-08-11T09:02:54.777Z","0.0.4":"2025-08-11T09:11:15.041Z","0.0.5":"2025-08-14T08:00:04.713Z","0.0.6":"2025-08-22T13:40:27.931Z","0.0.7":"2025-08-26T02:44:03.743Z","0.0.8":"2025-09-08T09:44:18.931Z","0.0.9":"2025-09-08T12:04:08.576Z","0.0.10":"2025-09-10T09:28:57.936Z"},"author":{"name":"Tencent BlueKing"},"license":"MIT","keywords":["xss","security","filter","sanitize","html","javascript","blueking","vue"],"description":"蓝鲸 XSS 过滤工具","maintainers":[{"email":"contactus_bk@tencent.com","name":"blueking-magicbox"}],"readme":"# 蓝鲸 XSS 过滤工具\n\n一个基于 [xss](https://www.npmjs.com/package/xss) 库封装轻量级的工具，用于过滤字符串或 JSON 中 HTML 内容片段的 XSS（跨站脚本）攻击。支持 Vue（Vue 2 和 Vue 3）指令，或者独立使用过滤方法。\n\n## 安装\n\n```bash\nnpm install @blueking/xss-filter\n```\n\n## 使用\n\n### Vue 指令\n\n#### 注册指令\n\n```javascript\n// Vue 3\nimport { createApp } from 'vue';\nimport { BkXssFilterDirective } from '@blueking/xss-filter';\nimport App from './app.vue';\n\ncreateApp(App).use(BkXssFilterDirective).mount('#app');\n\n// Vue 2\nimport Vue from 'vue';\nimport { BkXssFilterDirective } from '@blueking/xss-filter';\n\nVue.use(BkXssFilterDirective);\n\nnew Vue({\n  render: h => h(App),\n}).$mount('#app');\n```\n\n#### 在模板中使用\n\n```html\n<!-- 默认 -->\n<div v-bk-xss-html=\"userContent\"></div>\n\n<!-- 纯文本模式，只保留html内容中标签内的纯文本 -->\n<div v-bk-xss-html.plain=\"userContent\"></div>\n\n<!-- 传入对象模式（自定义选项） -->\n<div v-bk-xss-html=\"{ content: userContent, options: { whiteList: { p: [] } } }\"></div>\n```\n\n#### 配置全局选项\n\n以 vue 3 项目为例：\n\n```javascript\nimport { createApp } from 'vue';\nimport App from './App.vue';\nimport { BkXssFilterDirective } from '@blueking/xss-filter';\nimport type { XssDirectiveConfig } from '@blueking/xss-filter';\n\nconst app = createApp(App);\n\n// 安装指令并配置全局选项\napp.use(BkXssFilterDirective, {\n  defaultOptions: {\n    // 全局 XSS 配置选项\n    whiteList: {\n      a: ['href', 'title', 'target', 'rel']\n    }\n  },\n  plainModeByDefault: false // 默认使用富文本模式\n} as XssDirectiveConfig);\n\napp.mount('#app');\n```\n\n### 独立使用过滤方法\n\n从模块中导入函数：\n\n```javascript\nimport { filterXss, deepFilterXss, filterPlainText } from '@blueking/xss-filter';\n\n// 过滤掉所有非白名单内的 HTML 标签和属性\nconst safeString = filterXss('<script>alert(\"XSS\")</script>');\n\n// 过滤掉所有 HTML 标签和属性，只保留标签内的纯文本\nconst safeText = filterPlainText('<script>alert(\"XSS\")</script>');\n\n// 过滤掉 JSON 中 HTML 片段，默认采用 filterPlainText 方法只保留 HTML 标签内的纯文本，可配置为filterXss并传入自定义过滤选项\nconst safeObject = deepFilterXss({ html: '<script>alert(\"XSS\")</script>' });\n```\n\n## API 参考\n\n### 函数\n\n- `filterXss(html: string, options?: XssOptions): string`\n  过滤掉所有非白名单内的 HTML 标签和属性。\n\n- `filterPlainText(text: string, options?: XssOptions): string`\n  过滤掉所有 HTML 标签和属性，只保留标签内的纯文本。\n\n- `deepFilterXss(obj: T, filterFn?: FilterFunction = filterPlainText, options?: XssOptions): T`\n  过滤掉 JSON 中 HTML 片段，默认采用filterPlainText方法只保留 HTML 标签内的纯文本，可配置为filterXss并传入自定义过滤选项。\n\n```javascript\ninterface XssOptions {\n  // 白名单，不在白名单上的标签将被过滤，不在白名单上的属性也会被过滤\n  whiteList?: Record<string, string[]>;\n\n  // 去掉不在白名单上的标签，但保留标签里的纯文本内容\n  stripIgnoreTag?: boolean;\n\n  // 去掉不在白名单上的标签及里面的纯文本内容\n  stripIgnoreTagBody?: boolean | string[];\n\n  // 去掉 HTML 备注\n  allowCommentTag?: boolean;\n\n  // 自定义匹配到标签时的处理方法\n  // tag是当前的标签名称，html是该标签的的html。如果返回字符串，则当前标签将被替换为该字符串；如果不返回任何值，则使用默认处理方法（在白名单上：通过onTagAttr来过滤属性；不在白名单上：通过onIgnoreTag指定）\n  onTag?: (tag: string, html: string, options: Record<string, boolean | number>) => string | undefined;\n\n  // 自定义匹配到标签的属性时的处理方法\n  // tag是当前的标签名称，name是当前属性名称，value是属性值，isWhiteAttr表示是否为白名单上属性\n  // 如果返回字符串，则当前属性值会被替换为该字符串；如果不返回任何值，则使用默认处理方法（在白名单上：调用safeAttrValue来过滤属性值，并输出该属性；不在白名单上：通过onIgnoreTagAttr指定）\n  onTagAttr?: (tag: string, name: string, value: string, isWhiteAttr: boolean) => string | undefined;\n\n  // 自定义匹配到不在白名单上的标签时的处理方法\n  // 参数与onTag相同。如果返回字符串，则当前标签将被替换为该字符串；如果不返回任何值，则使用默认处理方法（通过escape指定）\n  onIgnoreTag?: (tag: string, html: string, options: Record<string, boolean | number>) => string | undefined;\n\n  // 自定义匹配到不在白名单上的标签时的处理方法\n  // 参数与onTagAttr相同。如果返回字符串，则当前属性值会被替换为该字符串；如果不返回任何值，则使用默认处理方法（删除该属性）\n  onIgnoreTagAttr?: (tag: string, name: string, value: string, isWhiteAttr: boolean) => string | undefined;\n\n  // 自定义 HTML 转义函数\n  // 默认返回 html.replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");，不建议修改\n  escapeHtml?: (html: string) => string;\n\n  // 自定义标签属性值的转义函数\n  // 参数与onTagAttr相同。返回一个值表示该属性值\n  safeAttrValue?: (tag: string, name: string, value: string) => string | undefined;\n\n  css?: boolean | CssFilterOptions;\n\n  imgSrcMode?: 'base64' | string[] | 'none'; // 支持三种模式：base64、信任域名、不限制\n}\n\n// style属性值过滤接口\ninterface CssFilterOptions {\n  // css属性白名单\n  whiteList?: {\n    [key: string]: boolean | ((value: string) => boolean) | RegExp;\n  };\n\n  // 自定义匹配到在白名单上的属性时的处理方法\n  // 返回字符串表示覆盖此段CSS，不返回任何值表示使用默认生成方法，即name:value\n  onAttr?: (name: string, value: string, options) => string | undefined;\n\n  // 自定义匹配到不在白名单上的属性时的处理方法\n  // 返回字符串表示覆盖此段CSS，不返回任何值表示使用默认生成方法，即去掉此段CSS\n  onIgnoreAttr?: (name: string, value: string, options) => string | undefined;\n}\n```\n\n## 内置默认的白名单配置\n\n```javascript\n// 标签属性白名单\n{\n  \"a\": [\"href\", \"title\", \"target\", \"rel\", \"id\", \"class\", \"style\"],\n  \"aside\": [\"id\", \"class\", \"style\"],\n  \"audio\": [\"src\", \"autoplay\", \"controls\", \"loop\", \"muted\"],\n  \"b\": [],\n  \"blockquote\": [\"id\", \"class\", \"style\"],\n  \"body\": [\"id\", \"class\", \"style\"],\n  \"br\": [],\n  \"button\": [\"type\", \"id\", \"class\", \"style\"],\n  \"canvas\": [\"width\", \"height\"],\n  \"code\": [\"id\", \"class\"],\n  \"div\": [\"id\", \"class\", \"style\"],\n  \"em\": [],\n  \"h1\": [\"id\", \"class\", \"style\"],\n  \"h2\": [\"id\", \"class\", \"style\"],\n  \"h3\": [\"id\", \"class\", \"style\"],\n  \"h4\": [\"id\", \"class\", \"style\"],\n  \"h5\": [\"id\", \"class\", \"style\"],\n  \"h6\": [\"id\", \"class\", \"style\"],\n  \"hr\": [],\n  \"i\": [],\n  \"img\": [\"src\", \"alt\", \"title\", \"width\", \"height\", \"id\", \"class\", \"style\"],\n  \"li\": [\"id\", \"class\", \"style\"],\n  \"nav\": [\"id\", \"class\", \"style\"],\n  \"ol\": [\"id\", \"class\", \"style\"],\n  \"p\": [\"id\", \"class\", \"style\"],\n  \"pre\": [\"class\"],\n  \"s\": [],\n  \"section\": [\"id\", \"class\", \"style\"],\n  \"span\": [\"id\", \"class\", \"style\"],\n  \"strong\": [],\n  \"style\": [],\n  \"table\": [\"id\", \"class\", \"style\", \"border\", \"cellspacing\", \"cellpadding\"],\n  \"textarea\": [\"id\", \"class\", \"style\"],\n  \"tbody\": [\"id\", \"class\", \"style\"],\n  \"td\": [\"id\", \"class\", \"style\", \"colspan\", \"rowspan\"],\n  \"th\": [\"id\", \"class\", \"style\", \"colspan\", \"rowspan\"],\n  \"thead\": [\"id\", \"class\", \"style\"],\n  \"tr\": [\"id\", \"class\", \"style\"],\n  \"u\": [],\n  \"ul\": [\"id\", \"class\", \"style\"],\n  \"video\": [\"src\", \"autoplay\", \"controls\", \"loop\", \"muted\"]\n}\n```\n\n```javascript\n// style属性值白名单\n{\n  'background': true,\n  'background-attachment': true,\n  'background-clip': true,\n  'background-color': true,\n  'background-image': true,\n  'background-origin': true,\n  'background-position': true,\n  'background-repeat': true,\n  'background-size': true,\n  'border': true,\n  'border-bottom': true,\n  'border-bottom-color': true,\n  'border-bottom-left-radius': true,\n  'border-bottom-right-radius': true,\n  'border-bottom-style': true,\n  'border-bottom-width': true,\n  'border-collapse': true,\n  'border-color': true,\n  'border-image': true,\n  'border-image-outset': true,\n  'border-image-repeat': true,\n  'border-image-slice': true,\n  'border-image-source': true,\n  'border-image-width': true,\n  'border-left': true,\n  'border-left-color': true,\n  'border-left-style': true,\n  'border-left-width': true,\n  'border-radius': true,\n  'border-right': true,\n  'border-right-color': true,\n  'border-right-style': true,\n  'border-right-width': true,\n  'border-spacing': true,\n  'border-style': true,\n  'border-top': true,\n  'border-top-color': true,\n  'border-top-left-radius': true,\n  'border-top-right-radius': true,\n  'border-top-style': true,\n  'border-top-width': true,\n  'border-width': true,\n  'box-decoration-break': true,\n  'box-shadow': true,\n  'box-sizing': true,\n  'box-snap': true,\n  'box-suppress': true,\n  'break-after': true,\n  'break-before': true,\n  'break-inside': true,\n  'clear': true,\n  'color': true,\n  'color-interpolation-filters': true,\n  'display': true,\n  'display-inside': true,\n  'display-list': true,\n  'display-outside': true,\n  'font': true,\n  'font-family': true,\n  'font-feature-settings': true,\n  'font-kerning': true,\n  'font-language-override': true,\n  'font-size': true,\n  'font-size-adjust': true,\n  'font-stretch': true,\n  'font-style': true,\n  'font-synthesis': true,\n  'font-variant': true,\n  'font-variant-alternates': true,\n  'font-variant-caps': true,\n  'font-variant-east-asian': true,\n  'font-variant-ligatures': true,\n  'font-variant-numeric': true,\n  'font-variant-position': true,\n  'font-weight': true,\n  'height': true,\n  'letter-spacing': true,\n  'lighting-color': true,\n  'list-style': true,\n  'list-style-image': true,\n  'list-style-position': true,\n  'list-style-type': true,\n  'margin': true,\n  'margin-bottom': true,\n  'margin-left': true,\n  'margin-right': true,\n  'margin-top': true,\n  'max-height': true,\n  'max-width': true,\n  'min-height': true,\n  'min-width': true,\n  'padding': true,\n  'padding-bottom': true,\n  'padding-left': true,\n  'padding-right': true,\n  'padding-top': true,\n  'text-align': true,\n  'text-align-last': true,\n  'text-combine-upright': true,\n  'text-decoration': true,\n  'text-decoration-color': true,\n  'text-decoration-line': true,\n  'text-decoration-skip': true,\n  'text-decoration-style': true,\n  'text-emphasis': true,\n  'text-emphasis-color': true,\n  'text-emphasis-position': true,\n  'text-emphasis-style': true,\n  'text-height': true,\n  'text-indent': true,\n  'text-justify': true,\n  'text-orientation': true,\n  'text-overflow': true,\n  'text-shadow': true,\n  'text-space-collapse': true,\n  'text-transform': true,\n  'text-underline-position': true,\n  'text-wrap': true,\n  'width': true,\n  'word-break': true,\n  'word-spacing': true,\n  'word-wrap': true,\n}\n```\n","readmeFilename":"README.md"}