{
  "name": "react-honeypot-field",
  "version": "1.0.0",
  "description": "Lightweight React honeypot field with time-threshold bot detection. Zero dependencies. TypeScript-first.",
  "type": "module",
  "sideEffects": false,
  "license": "MIT",
  "author": {
    "name": "Oleg Koval",
    "email": "oleg@olegkoval.com",
    "url": "https://olegkoval.com"
  },
  "homepage": "https://oleg-koval.github.io/react-honeypot-field",
  "repository": {
    "type": "git",
    "url": "https://github.com/oleg-koval/react-honeypot-field.git"
  },
  "bugs": {
    "url": "https://github.com/oleg-koval/react-honeypot-field/issues"
  },
  "keywords": [
    "honeypot",
    "anti-spam",
    "anti-bot",
    "react",
    "form",
    "spam-protection",
    "bot-detection",
    "typescript"
  ],
  "engines": {
    "node": ">=20.10.0"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./validate": {
      "types": "./dist/validate.d.ts",
      "import": "./dist/validate.js"
    }
  },
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "files": [
    "dist",
    "CHANGELOG.md",
    "icon.png"
  ],
  "peerDependencies": {
    "react": ">=18.0.0"
  },
  "peerDependenciesMeta": {
    "react": {
      "optional": false
    }
  },
  "devDependencies": {
    "@eslint/js": "^9.26.0",
    "@testing-library/react": "^16.3.0",
    "@testing-library/user-event": "^14.5.2",
    "@types/react": "^19.1.2",
    "@vitest/coverage-v8": "^3.1.3",
    "eslint": "^9.26.0",
    "eslint-plugin-drop-em-dash": "^1.0.0",
    "happy-dom": "^20.9.0",
    "prettier": "^3.5.3",
    "react": "^19.1.0",
    "semantic-release": "^24.2.3",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/github": "^11.0.1",
    "tsup": "^8.4.0",
    "typedoc": "^0.28.4",
    "typescript": "^5.8.3",
    "typescript-eslint": "^8.31.1",
    "vitest": "^3.1.3"
  },
  "scripts": {
    "build": "tsup",
    "build:docs": "typedoc --out docs/api --favicon icon.png src/index.ts",
    "typecheck": "tsc --noEmit",
    "lint": "eslint src tests",
    "lint:fix": "eslint src tests --fix",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage",
    "ci": "npm run typecheck && npm run lint && npm run test:coverage",
    "semantic-release": "semantic-release",
    "docs:index": "docs-index-keeper update"
  }
}
