{"_id":"@amigo-labs/sanitize-html","_rev":"2-23b38bf68948dbff2bb9b22f17f9fe05","name":"@amigo-labs/sanitize-html","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@amigo-labs/sanitize-html","version":"0.1.0","keywords":["sanitize","html","xss","security","native","rust","napi","ammonia"],"license":"MIT","_id":"@amigo-labs/sanitize-html@0.1.0","maintainers":[{"name":"daniel-rck","email":"daniel-rck@proton.me"}],"homepage":"https://github.com/amigo-labs/amigo-native#readme","bugs":{"url":"https://github.com/amigo-labs/amigo-native/issues"},"dist":{"shasum":"e963765bf21a557328841824a011df6f849bee3c","tarball":"https://registry.npmjs.org/@amigo-labs/sanitize-html/-/sanitize-html-0.1.0.tgz","fileCount":4,"integrity":"sha512-5s6VF5kCuQDP358e6DqACK3eB/Sv6GbyFWzOLKWiEEW0QxvYJoTfWvtDouo6fDBDx6PesroaqGfYntwTec+WUQ==","signatures":[{"sig":"MEYCIQCudjq1C6UhrD6i6xG/FsxGkKihLLJoL+sfvwniT4vR+gIhALPFbm8pMi51q1wN2NUUzS70eFoLCp7EDYlkDYqAgmdI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28981},"main":"index.js","napi":{"targets":["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc"],"binaryName":"sanitize-html"},"types":"index.d.ts","engines":{"node":">= 18"},"gitHead":"355c5a6c013075a74d2b05ed8b3bfccf049b9dcd","scripts":{"test":"vitest run","bench":"vitest bench","build":"napi build --platform --release","artifacts":"napi artifacts","build:debug":"napi build --platform","prepublishOnly":"napi pre-publish --skip-optional-publish"},"_npmUser":{"name":"daniel-rck","email":"daniel-rck@proton.me"},"repository":{"url":"git+https://github.com/amigo-labs/amigo-native.git","type":"git","directory":"crates/sanitize-html"},"_npmVersion":"11.11.0","description":"Blazing fast HTML sanitization powered by Rust (ammonia)","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@napi-rs/cli":"^3.5.0"},"optionalDependencies":{"@amigo-labs/sanitize-html-darwin-x64":"0.1.0","@amigo-labs/sanitize-html-darwin-arm64":"0.1.0","@amigo-labs/sanitize-html-linux-x64-gnu":"0.1.0","@amigo-labs/sanitize-html-linux-x64-musl":"0.1.0","@amigo-labs/sanitize-html-win32-x64-msvc":"0.1.0","@amigo-labs/sanitize-html-linux-arm64-gnu":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/sanitize-html_0.1.0_1776262059899_0.20197096145102567","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@amigo-labs/sanitize-html","version":"0.1.2","description":"Blazing fast HTML sanitization powered by Rust (ammonia)","main":"index.js","types":"index.d.ts","napi":{"binaryName":"sanitize-html","targets":["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc"]},"scripts":{"artifacts":"napi artifacts","build":"napi build --platform --release","build:debug":"napi build --platform","prepublishOnly":"napi pre-publish --skip-optional-publish --no-gh-release","test":"vitest run","bench":"vitest bench"},"devDependencies":{"@napi-rs/cli":"^3.5.0","vitest":"^3.0.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/amigo-labs/amigo-native.git","directory":"crates/sanitize-html"},"keywords":["sanitize","html","xss","security","native","rust","napi","ammonia"],"engines":{"node":">= 18"},"optionalDependencies":{"@amigo-labs/sanitize-html-linux-x64-gnu":"0.1.2","@amigo-labs/sanitize-html-linux-x64-musl":"0.1.2","@amigo-labs/sanitize-html-linux-arm64-gnu":"0.1.2","@amigo-labs/sanitize-html-darwin-x64":"0.1.2","@amigo-labs/sanitize-html-darwin-arm64":"0.1.2","@amigo-labs/sanitize-html-win32-x64-msvc":"0.1.2"},"gitHead":"41e0232e477115a948416b73a601afe6230f233d","_id":"@amigo-labs/sanitize-html@0.1.2","bugs":{"url":"https://github.com/amigo-labs/amigo-native/issues"},"homepage":"https://github.com/amigo-labs/amigo-native#readme","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-LaFkrp+nByJW965kANSqivDxKsoSPscdnGPhsDCLVBgg9W6eveiK3D6onM+2LUsKHQhTIDEhejveXZxS5emD8g==","shasum":"86e9937f760415fc322195215183eefcd1d3e7d1","tarball":"https://registry.npmjs.org/@amigo-labs/sanitize-html/-/sanitize-html-0.1.2.tgz","fileCount":4,"unpackedSize":28932,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amigo-labs%2fsanitize-html@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHgBZDCcglANGWz8LDT+Oli6vgZcm/fyQaKBzM7FAJZKAiEA/ca1NCx1UB+p1BRjFDh5lWGfBaSiPnzNr/qhX2ybXLs="}]},"_npmUser":{"name":"daniel-rck","email":"daniel-rck@proton.me"},"directories":{},"maintainers":[{"name":"daniel-rck","email":"daniel-rck@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sanitize-html_0.1.2_1776367153556_0.8234997886593267"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-15T14:07:39.792Z","modified":"2026-04-16T19:19:14.051Z","0.1.0":"2026-04-15T14:07:40.097Z","0.1.2":"2026-04-16T19:19:13.708Z"},"bugs":{"url":"https://github.com/amigo-labs/amigo-native/issues"},"license":"MIT","homepage":"https://github.com/amigo-labs/amigo-native#readme","keywords":["sanitize","html","xss","security","native","rust","napi","ammonia"],"repository":{"type":"git","url":"git+https://github.com/amigo-labs/amigo-native.git","directory":"crates/sanitize-html"},"description":"Blazing fast HTML sanitization powered by Rust (ammonia)","maintainers":[{"name":"daniel-rck","email":"daniel-rck@proton.me"}],"readme":"# @amigo-labs/sanitize-html\n\n[![npm version](https://img.shields.io/npm/v/@amigo-labs/sanitize-html)](https://www.npmjs.com/package/@amigo-labs/sanitize-html)\n[![npm downloads](https://img.shields.io/npm/dm/@amigo-labs/sanitize-html)](https://www.npmjs.com/package/@amigo-labs/sanitize-html)\n[![license](https://img.shields.io/npm/l/@amigo-labs/sanitize-html)](https://github.com/amigo-labs/amigo-native/blob/main/LICENSE)\n\nBlazing fast HTML sanitization powered by Rust via [NAPI-RS](https://napi.rs). A native Node.js binding to the [ammonia](https://crates.io/crates/ammonia) crate.\n\n## Installation\n\n```bash\nnpm install @amigo-labs/sanitize-html\n```\n\n## Usage\n\n```ts\nimport { sanitize, isClean } from \"@amigo-labs/sanitize-html\";\n\n// Sanitize HTML (removes dangerous tags/attributes)\nconst clean = sanitize('<p>Hello <script>alert(\"xss\")</script></p>');\n// \"<p>Hello </p>\"\n\n// Check if HTML is already clean\nconst safe = isClean(\"<p>Hello</p>\"); // true\nconst unsafe = isClean('<img onerror=\"alert(1)\">'); // false\n\n// With custom options\nconst result = sanitize(\"<div class='foo'>bar</div>\", {\n  allowedTags: [\"div\", \"p\", \"b\", \"i\"],\n  allowedAttributes: { div: [\"class\"] },\n});\n```\n\n## API\n\n### `sanitize(html, options?): string`\n\nSanitizes HTML by removing dangerous tags and attributes. Returns the cleaned HTML string.\n\n### `isClean(html, options?): boolean`\n\nReturns `true` if the HTML contains no dangerous content (i.e. sanitization would not change it).\n\n### Options\n\n| Option | Type | Description |\n| --- | --- | --- |\n| `allowedTags` | `string[]` | Tags to allow (default: ammonia defaults) |\n| `allowedAttributes` | `Record<string, string[]>` | Attributes to allow per tag |\n| `allowedClasses` | `Record<string, string[]>` | CSS classes to allow per tag |\n| `stripComments` | `boolean` | Whether to strip HTML comments |\n| `linkRel` | `string` | Value for `rel` attribute on links |\n\n## Supported Platforms\n\n| Platform | Architecture |\n| --- | --- |\n| Linux | x64 (glibc), x64 (musl), arm64 |\n| macOS | x64, arm64 |\n| Windows | x64 |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}