{
  "name": "content-shield",
  "version": "0.8.0",
  "description": "Ultra-fast content moderation with SymSpell fuzzy matching. Multi-language profanity detection with 100x performance improvement. 3,600+ entries across 19 languages.",
  "keywords": [
    "profanity",
    "moderation",
    "content-filtering",
    "multi-language",
    "typescript",
    "filter",
    "censorship",
    "bad-words",
    "content-shield",
    "obscenity",
    "vulgar",
    "swear",
    "curse-words",
    "chat-moderation",
    "text-filtering",
    "content-moderation",
    "multilingual",
    "symspell",
    "fuzzy-matching",
    "performance"
  ],
  "author": "Zach Handley (https://zachhandley.com)",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/zachhandley/ContentShield.git"
  },
  "bugs": {
    "url": "https://github.com/zachhandley/ContentShield/issues"
  },
  "homepage": "https://github.com/zachhandley/ContentShield#readme",
  "type": "module",
  "main": "./dist/index.cjs",
  "module": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "import": {
        "types": "./dist/index.d.ts",
        "default": "./dist/index.js"
      },
      "require": {
        "types": "./dist/index.d.cts",
        "default": "./dist/index.cjs"
      }
    },
    "./languages/ar": {
      "types": "./dist/languages/data/ar.d.ts",
      "import": "./dist/languages/data/ar.js",
      "require": "./dist/languages/data/ar.cjs"
    },
    "./languages/de": {
      "types": "./dist/languages/data/de.d.ts",
      "import": "./dist/languages/data/de.js",
      "require": "./dist/languages/data/de.cjs"
    },
    "./languages/en": {
      "types": "./dist/languages/data/en.d.ts",
      "import": "./dist/languages/data/en.js",
      "require": "./dist/languages/data/en.cjs"
    },
    "./languages/es": {
      "types": "./dist/languages/data/es.d.ts",
      "import": "./dist/languages/data/es.js",
      "require": "./dist/languages/data/es.cjs"
    },
    "./languages/fr": {
      "types": "./dist/languages/data/fr.d.ts",
      "import": "./dist/languages/data/fr.js",
      "require": "./dist/languages/data/fr.cjs"
    },
    "./languages/he": {
      "types": "./dist/languages/data/he.d.ts",
      "import": "./dist/languages/data/he.js",
      "require": "./dist/languages/data/he.cjs"
    },
    "./languages/hi": {
      "types": "./dist/languages/data/hi.d.ts",
      "import": "./dist/languages/data/hi.js",
      "require": "./dist/languages/data/hi.cjs"
    },
    "./languages/it": {
      "types": "./dist/languages/data/it.d.ts",
      "import": "./dist/languages/data/it.js",
      "require": "./dist/languages/data/it.cjs"
    },
    "./languages/ja": {
      "types": "./dist/languages/data/ja.d.ts",
      "import": "./dist/languages/data/ja.js",
      "require": "./dist/languages/data/ja.cjs"
    },
    "./languages/ko": {
      "types": "./dist/languages/data/ko.d.ts",
      "import": "./dist/languages/data/ko.js",
      "require": "./dist/languages/data/ko.cjs"
    },
    "./languages/nl": {
      "types": "./dist/languages/data/nl.d.ts",
      "import": "./dist/languages/data/nl.js",
      "require": "./dist/languages/data/nl.cjs"
    },
    "./languages/pl": {
      "types": "./dist/languages/data/pl.d.ts",
      "import": "./dist/languages/data/pl.js",
      "require": "./dist/languages/data/pl.cjs"
    },
    "./languages/pt": {
      "types": "./dist/languages/data/pt.d.ts",
      "import": "./dist/languages/data/pt.js",
      "require": "./dist/languages/data/pt.cjs"
    },
    "./languages/ru": {
      "types": "./dist/languages/data/ru.d.ts",
      "import": "./dist/languages/data/ru.js",
      "require": "./dist/languages/data/ru.cjs"
    },
    "./languages/sv": {
      "types": "./dist/languages/data/sv.d.ts",
      "import": "./dist/languages/data/sv.js",
      "require": "./dist/languages/data/sv.cjs"
    },
    "./languages/tr": {
      "types": "./dist/languages/data/tr.d.ts",
      "import": "./dist/languages/data/tr.js",
      "require": "./dist/languages/data/tr.cjs"
    },
    "./languages/zh": {
      "types": "./dist/languages/data/zh.d.ts",
      "import": "./dist/languages/data/zh.js",
      "require": "./dist/languages/data/zh.cjs"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "dist",
    "README.md",
    "LICENSE"
  ],
  "engines": {
    "node": ">=22.13.0"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@types/node": "^25.9.1",
    "@typescript-eslint/eslint-plugin": "^8.60.0",
    "@typescript-eslint/parser": "^8.60.0",
    "@vitest/coverage-v8": "^4.1.7",
    "@vitest/ui": "^4.1.7",
    "eslint": "^10.4.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.5",
    "fs-extra": "^11.3.5",
    "globals": "^17.6.0",
    "husky": "^9.1.7",
    "lint-staged": "^17.0.5",
    "prettier": "^3.8.3",
    "tsup": "^8.5.1",
    "tsx": "^4.22.3",
    "typescript": "^6.0.3",
    "vite": "^8.0.14",
    "vitest": "^4.1.7"
  },
  "lint-staged": {
    "*.{ts,tsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,md}": [
      "prettier --write"
    ]
  },
  "scripts": {
    "build": "tsup && tsx scripts/emit-data-json.ts",
    "build:watch": "tsup --watch",
    "dev": "tsup --watch --onSuccess \"node dist/index.js\"",
    "test": "vitest",
    "test:run": "vitest run",
    "test:coverage": "vitest run --coverage",
    "test:ui": "vitest --ui",
    "lint": "eslint src",
    "lint:fix": "eslint src --fix",
    "format": "prettier --write \"src/**/*.{ts,tsx,json,md}\"",
    "format:check": "prettier --check \"src/**/*.{ts,tsx,json,md}\"",
    "typecheck": "tsc --noEmit",
    "clean": "rm -rf dist",
    "convert:json": "tsx scripts/convert-json-to-ts.ts",
    "emit:data": "tsx scripts/emit-data-json.ts"
  }
}