{
  "name": "glin-profanity",
  "version": "3.3.0",
  "description": "Glin-Profanity is a lightweight and efficient npm package designed to detect and filter profane language in text inputs across multiple languages. Whether you’re building a chat application, a comment section, or any platform where user-generated content is involved, Glin-Profanity helps you maintain a clean and respectful environment.",
  "type": "module",
  "main": "dist/index.js",
  "module": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "require": {
        "types": "./dist/index.d.cts",
        "default": "./dist/index.cjs"
      },
      "import": {
        "types": "./dist/index.d.ts",
        "default": "./dist/index.js"
      }
    },
    "./react": {
      "require": {
        "types": "./dist/react.d.cts",
        "default": "./dist/react.cjs"
      },
      "import": {
        "types": "./dist/react.d.ts",
        "default": "./dist/react.js"
      }
    },
    "./ml": {
      "require": {
        "types": "./dist/ml/index.d.cts",
        "default": "./dist/ml/index.cjs"
      },
      "import": {
        "types": "./dist/ml/index.d.ts",
        "default": "./dist/ml/index.js"
      }
    },
    "./ai": {
      "require": {
        "types": "./dist/integrations/index.d.cts",
        "default": "./dist/integrations/index.cjs"
      },
      "import": {
        "types": "./dist/integrations/index.d.ts",
        "default": "./dist/integrations/index.js"
      }
    },
    "./ai/openai": {
      "require": {
        "types": "./dist/integrations/openai.d.cts",
        "default": "./dist/integrations/openai.cjs"
      },
      "import": {
        "types": "./dist/integrations/openai.d.ts",
        "default": "./dist/integrations/openai.js"
      }
    },
    "./ai/langchain": {
      "require": {
        "types": "./dist/integrations/langchain.d.cts",
        "default": "./dist/integrations/langchain.cjs"
      },
      "import": {
        "types": "./dist/integrations/langchain.d.ts",
        "default": "./dist/integrations/langchain.js"
      }
    },
    "./ai/vercel": {
      "require": {
        "types": "./dist/integrations/vercel-ai.d.cts",
        "default": "./dist/integrations/vercel-ai.cjs"
      },
      "import": {
        "types": "./dist/integrations/vercel-ai.d.ts",
        "default": "./dist/integrations/vercel-ai.js"
      }
    },
    "./ai/semantic": {
      "require": {
        "types": "./dist/integrations/semantic.d.cts",
        "default": "./dist/integrations/semantic.cjs"
      },
      "import": {
        "types": "./dist/integrations/semantic.d.ts",
        "default": "./dist/integrations/semantic.js"
      }
    },
    "./ml/transformers": {
      "require": {
        "types": "./dist/ml/transformers.d.cts",
        "default": "./dist/ml/transformers.cjs"
      },
      "import": {
        "types": "./dist/ml/transformers.d.ts",
        "default": "./dist/ml/transformers.js"
      }
    },
    "./multimodal": {
      "require": {
        "types": "./dist/multimodal/index.d.cts",
        "default": "./dist/multimodal/index.cjs"
      },
      "import": {
        "types": "./dist/multimodal/index.d.ts",
        "default": "./dist/multimodal/index.js"
      }
    },
    "./ocr": {
      "require": {
        "types": "./dist/multimodal/ocr.d.cts",
        "default": "./dist/multimodal/ocr.cjs"
      },
      "import": {
        "types": "./dist/multimodal/ocr.d.ts",
        "default": "./dist/multimodal/ocr.js"
      }
    },
    "./audio": {
      "require": {
        "types": "./dist/multimodal/audio.d.cts",
        "default": "./dist/multimodal/audio.cjs"
      },
      "import": {
        "types": "./dist/multimodal/audio.d.ts",
        "default": "./dist/multimodal/audio.js"
      }
    },
    "./frameworks": {
      "require": {
        "types": "./dist/frameworks/index.d.cts",
        "default": "./dist/frameworks/index.cjs"
      },
      "import": {
        "types": "./dist/frameworks/index.d.ts",
        "default": "./dist/frameworks/index.js"
      }
    },
    "./nextjs": {
      "require": {
        "types": "./dist/frameworks/nextjs.d.cts",
        "default": "./dist/frameworks/nextjs.cjs"
      },
      "import": {
        "types": "./dist/frameworks/nextjs.d.ts",
        "default": "./dist/frameworks/nextjs.js"
      }
    }
  },
  "peerDependencies": {
    "react": ">=16.8.0",
    "@tensorflow-models/toxicity": ">=1.2.0",
    "@tensorflow/tfjs": ">=4.0.0",
    "zod": ">=3.0.0",
    "openai": ">=4.0.0",
    "@langchain/core": ">=0.1.0",
    "ai": ">=3.0.0",
    "@xenova/transformers": ">=2.0.0",
    "tesseract.js": ">=5.0.0"
  },
  "peerDependenciesMeta": {
    "react": {
      "optional": true
    },
    "@tensorflow/tfjs": {
      "optional": true
    },
    "@tensorflow-models/toxicity": {
      "optional": true
    },
    "zod": {
      "optional": true
    },
    "openai": {
      "optional": true
    },
    "@langchain/core": {
      "optional": true
    },
    "ai": {
      "optional": true
    },
    "@xenova/transformers": {
      "optional": true
    },
    "tesseract.js": {
      "optional": true
    }
  },
  "files": [
    "dist",
    "README.md"
  ],
  "scripts": {
    "build": "tsup",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "jest --coverage",
    "test:ci": "jest --ci --coverage --watchAll=false",
    "typecheck": "tsc --noEmit",
    "lint": "eslint src/**/*.ts",
    "lint:fix": "eslint src/**/*.ts --fix",
    "benchmark": "npx tsx benchmarks/benchmark.ts",
    "semantic-release": "semantic-release"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/GLINCKER/glin-profanity"
  },
  "homepage": "https://www.glincker.com/tools/glin-profanity",
  "sideEffects": false,
  "keywords": [
    "profanity",
    "curse",
    "react-profanity",
    "glin-profanity",
    "glincker",
    "glin",
    "bad",
    "badword",
    "profanity-cleaner",
    "swearword",
    "profanity-filter",
    "badword-filter",
    "badword-detection",
    "badword-detect",
    "checker",
    "filter",
    "detection",
    "detect",
    "profane",
    "profane-language",
    "profane-word",
    "profane-word-filter",
    "profane-word-detection",
    "moderation",
    "moderate",
    "glinr",
    "profanity-checker",
    "profanity-filter",
    "profanity-check",
    "profanity-moderation",
    "profanity-moderation-tool",
    "profanity-moderation-library",
    "profanity-moderation-service",
    "profanity-moderation-api",
    "profanity-moderation-toolkit",
    "profanity-moderation-framework",
    "profanity-moderation-plugin",
    "profanity-moderation-module",
    "openai",
    "openai-function-calling",
    "langchain",
    "langchain-tool",
    "vercel-ai",
    "ai-sdk",
    "semantic-analysis",
    "embeddings",
    "tensorflow",
    "tensorflowjs",
    "ml",
    "machine-learning",
    "toxicity",
    "toxicity-detection",
    "ai",
    "neural-network",
    "leetspeak",
    "unicode",
    "homoglyph",
    "transformers",
    "transformers-js",
    "huggingface",
    "onnx",
    "ocr",
    "tesseract",
    "image-moderation",
    "audio-moderation",
    "speech-to-text",
    "whisper",
    "nextjs",
    "nextjs-middleware",
    "server-actions",
    "content-moderation",
    "multimodal"
  ],
  "author": "glinr",
  "license": "ISC",
  "devDependencies": {
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/github": "^11.0.3",
    "@semantic-release/npm": "^12.0.2",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/jest-dom": "^6.6.4",
    "@testing-library/react": "^16.3.0",
    "@types/jest": "^30.0.0",
    "@types/react": "^18.3.3",
    "@types/react-dom": "^18.3.0",
    "jest": "^30.0.5",
    "jest-environment-jsdom": "^30.0.5",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "semantic-release": "^24.2.7",
    "ts-jest": "^29.4.0",
    "tsup": "^8.2.3",
    "tsx": "^4.21.0",
    "typescript": "^5.8.3"
  }
}
