{
  "name": "namespace-guard",
  "version": "0.20.0",
  "description": "Cross-script confusable detection, slug safety, and LLM Denial of Spend defence. Zero dependencies.",
  "main": "dist/index.js",
  "module": "dist/index.mjs",
  "types": "dist/index.d.ts",
  "bin": {
    "namespace-guard": "dist/cli.js"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.mjs",
      "require": "./dist/index.js"
    },
    "./adapters/prisma": {
      "types": "./dist/adapters/prisma.d.ts",
      "import": "./dist/adapters/prisma.mjs",
      "require": "./dist/adapters/prisma.js"
    },
    "./adapters/drizzle": {
      "types": "./dist/adapters/drizzle.d.ts",
      "import": "./dist/adapters/drizzle.mjs",
      "require": "./dist/adapters/drizzle.js"
    },
    "./adapters/raw": {
      "types": "./dist/adapters/raw.d.ts",
      "import": "./dist/adapters/raw.mjs",
      "require": "./dist/adapters/raw.js"
    },
    "./adapters/kysely": {
      "types": "./dist/adapters/kysely.d.ts",
      "import": "./dist/adapters/kysely.mjs",
      "require": "./dist/adapters/kysely.js"
    },
    "./adapters/knex": {
      "types": "./dist/adapters/knex.d.ts",
      "import": "./dist/adapters/knex.mjs",
      "require": "./dist/adapters/knex.js"
    },
    "./adapters/typeorm": {
      "types": "./dist/adapters/typeorm.d.ts",
      "import": "./dist/adapters/typeorm.mjs",
      "require": "./dist/adapters/typeorm.js"
    },
    "./adapters/mikro-orm": {
      "types": "./dist/adapters/mikro-orm.d.ts",
      "import": "./dist/adapters/mikro-orm.mjs",
      "require": "./dist/adapters/mikro-orm.js"
    },
    "./adapters/sequelize": {
      "types": "./dist/adapters/sequelize.d.ts",
      "import": "./dist/adapters/sequelize.mjs",
      "require": "./dist/adapters/sequelize.js"
    },
    "./adapters/mongoose": {
      "types": "./dist/adapters/mongoose.d.ts",
      "import": "./dist/adapters/mongoose.mjs",
      "require": "./dist/adapters/mongoose.js"
    },
    "./profanity-en": {
      "types": "./dist/profanity-en.d.ts",
      "import": "./dist/profanity-en.mjs",
      "require": "./dist/profanity-en.js"
    },
    "./composability-vectors": {
      "types": "./dist/composability-vectors.d.ts",
      "import": "./dist/composability-vectors.mjs",
      "require": "./dist/composability-vectors.js"
    },
    "./confusable-weights": {
      "types": "./dist/confusable-weights.d.ts",
      "import": "./dist/confusable-weights.mjs",
      "require": "./dist/confusable-weights.js"
    },
    "./font-specific-weights": {
      "types": "./dist/font-specific-weights.d.ts",
      "import": "./dist/font-specific-weights.mjs",
      "require": "./dist/font-specific-weights.js"
    }
  },
  "files": [
    "dist"
  ],
  "scripts": {
    "build:profanity-data": "node scripts/generate-profanity-global.js",
    "build:composability-data": "node scripts/generate-composability-vectors.js",
    "build:confusable-bench": "node scripts/generate-confusable-bench.js",
    "build:llm-confusable-map": "npm run build && node scripts/generate-llm-confusable-map.js",
    "build:weights-global": "node scripts/generate-confusable-weights-global.js",
    "build": "tsup",
    "test": "vitest run",
    "test:watch": "vitest",
    "typecheck": "tsc --noEmit",
    "ci:drift-gate": "node scripts/drift-gate.js",
    "prepublishOnly": "npm run build"
  },
  "keywords": [
    "namespace",
    "slug",
    "handle",
    "username",
    "unique",
    "collision",
    "reserved",
    "multi-tenant",
    "drizzle",
    "prisma",
    "kysely",
    "knex",
    "typeorm",
    "mikro-orm",
    "sequelize",
    "mongoose",
    "mongodb",
    "cli",
    "homoglyph",
    "confusable",
    "unicode",
    "anti-spoofing",
    "reserved-usernames",
    "slug-validation",
    "security",
    "nodejs",
    "profanity-filter",
    "skeleton",
    "tr39",
    "nfkc",
    "typescript"
  ],
  "author": "Paul Wood FRSA",
  "license": "MIT",
  "homepage": "https://paultendo.github.io/namespace-guard/",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/paultendo/namespace-guard.git"
  },
  "bugs": {
    "url": "https://github.com/paultendo/namespace-guard/issues"
  },
  "devDependencies": {
    "@types/node": "^25.3.0",
    "tsup": "^8.0.0",
    "typescript": "^5.0.0",
    "vitest": "^1.0.0"
  },
  "peerDependencies": {
    "@prisma/client": ">=5.0.0",
    "drizzle-orm": ">=0.29.0",
    "knex": ">=2.0.0",
    "kysely": ">=0.26.0",
    "pg": ">=8.0.0",
    "typeorm": ">=0.3.0",
    "@mikro-orm/core": ">=5.0.0",
    "sequelize": ">=6.0.0",
    "mongoose": ">=7.0.0"
  },
  "peerDependenciesMeta": {
    "@prisma/client": {
      "optional": true
    },
    "drizzle-orm": {
      "optional": true
    },
    "kysely": {
      "optional": true
    },
    "knex": {
      "optional": true
    },
    "pg": {
      "optional": true
    },
    "typeorm": {
      "optional": true
    },
    "@mikro-orm/core": {
      "optional": true
    },
    "sequelize": {
      "optional": true
    },
    "mongoose": {
      "optional": true
    }
  }
}
