{
  "name": "purifai",
  "version": "3.0.2",
  "description": "Bounded streaming conversion from untrusted HTML to readable plain text, with zero dependencies and no DOM.",
  "main": "dist/index.js",
  "module": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "require": "./dist/index.cjs"
    }
  },
  "files": [
    "dist",
    "benchmark/results/v3.json",
    "docs/benchmarks/v3.md",
    "docs/migration-v3.md",
    "README.md",
    "LICENSE",
    "DISCLAIMER.md"
  ],
  "type": "module",
  "sideEffects": false,
  "packageManager": "pnpm@11.4.0",
  "scripts": {
    "build": "tsup index.ts --format cjs,esm --minify --clean && pnpm run build:dts",
    "build:dts": "tsc -p tsconfig.dts.json && node -e \"require('fs').copyFileSync('dist/index.d.ts','dist/index.d.cts')\"",
    "test": "pnpm run test:core",
    "test:unit": "pnpm run build && node --test test/v3/api.test.js test/v3/entities.test.js test/v3/entities-exhaustive.test.js test/v3/scanner.test.js test/v3/readability.test.js test/v3/special-elements.test.js test/v3/links-images.test.js test/v3/limits.test.js test/v3/stream.test.js test/v3/provenance.test.js",
    "test:core": "pnpm run entities:check && pnpm run typecheck && pnpm run test:unit && pnpm run test:fuzz && pnpm run test:sinks && node test/package-smoke.mjs",
    "test:fuzz": "pnpm run build && node --test test/v3/fuzz.test.js",
    "test:sinks": "pnpm run build && node --test test/v3/sinks.test.js",
    "test:package": "node test/package-smoke.mjs",
    "test:runtimes": "pnpm run build && node scripts/test-runtimes.mjs",
    "test:cloudflare": "pnpm run build && node scripts/test-cloudflare.mjs",
    "test:browsers": "pnpm run build && node test/browser/run.mjs",
    "bench": "pnpm run build && node benchmark/run.mjs",
    "bench:check": "pnpm run build && node benchmark/run.mjs --check",
    "test:size": "pnpm run build && node scripts/verify-size.mjs",
    "test:scaling": "pnpm run build && node scripts/verify-scaling.mjs",
    "test:docs": "pnpm run build && node test/docs.test.mjs",
    "test:release": "node scripts/verify-release.mjs",
    "prepublishOnly": "pnpm run test:release",
    "dev": "tsup index.ts --format cjs,esm --minify --watch",
    "typecheck": "tsc --noEmit",
    "entities:update": "node scripts/update-entities.mjs && node scripts/generate-entities.mjs",
    "entities:generate": "node scripts/generate-entities.mjs",
    "entities:check": "node scripts/generate-entities.mjs --check"
  },
  "keywords": [
    "html-to-text",
    "streaming",
    "plain-text",
    "html",
    "reader-text",
    "polyglot",
    "typescript",
    "zero-dependencies",
    "lightweight",
    "fast",
    "secure",
    "transform-stream",
    "bounded-memory",
    "frontend",
    "backend",
    "nodejs",
    "browser",
    "edge-runtime",
    "sanitizer",
    "sanitize",
    "html-sanitizer",
    "xss",
    "cross-site-scripting",
    "xss-prevention",
    "security",
    "strip-tags",
    "escape-html"
  ],
  "author": "Purifai Team <it@worksonmy.dev>",
  "license": "MIT",
  "homepage": "https://purifai.worksonmy.dev",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/moji2002/purifai.git"
  },
  "bugs": {
    "url": "https://github.com/moji2002/purifai/issues"
  },
  "engines": {
    "node": ">=22.0.0"
  },
  "devDependencies": {
    "@cloudflare/vitest-pool-workers": "^0.20.1",
    "@types/node": "^26.0.0",
    "html-to-text": "10.0.0",
    "jsdom": "^29.1.1",
    "playwright": "^1.62.1",
    "striptags": "3.2.0",
    "tsup": "^8.5.1",
    "typescript": "^7.0.2",
    "vitest": "^4.1.10"
  }
}
