{
  "name": "surrogate",
  "version": "1.9.2",
  "description": "Object method hooks made easy",
  "source": "src/index.ts",
  "main": "dist/main.js",
  "module": "dist/module.mjs",
  "types": "dist/types.d.ts",
  "exports": {
    "import": "./dist/module.mjs",
    "require": "./dist/main.js",
    "types": "./dist/types.d.ts"
  },
  "keywords": [
    "hooks",
    "hook",
    "proxy",
    "hooking",
    "pre",
    "post",
    "flow",
    "control",
    "async",
    "sync",
    "api"
  ],
  "scripts": {
    "cspell": "cspell cspell lint --no-progress --fail-fast \"**\"",
    "sloc": "sloc ./src",
    "test": "cross-env TS_NODE_PROJECT='./test/tsconfig.json' mocha",
    "test:watch": "mocha --watch",
    "compile": "tsc --noEmit --noErrorTruncation",
    "tsc": "tsc",
    "predocs": "rimraf docs",
    "docs": "typedoc src/index.ts",
    "del:merged": "node -r ts-node/register/transpile-only scripts/merged",
    "leak:test": "node -r ts-node/register/transpile-only scripts/leak",
    "prebuild": "rimraf dist",
    "build": "parcel build",
    "coverage:check": "nyc check-coverage",
    "precoverage:report": "npm run coverage:test",
    "coverage:report": "nyc report --reporter=text-lcov > coverage.lcov",
    "coverage:post": "codecov",
    "precoverage:test": "rimraf coverage",
    "coverage:test": "cross-env TS_NODE_PROJECT='./test/tsconfig.json' nyc mocha",
    "nyc": "nyc",
    "precommit": "npm run coverage:test && npm run coverage:check",
    "prepush": "npm run coverage:test",
    "lint": "eslint ./src/* --report-unused-disable-directives",
    "prepack": "npm run build",
    "prettier": "prettier --write \"src/**/*.{ts,js,tsx,jsx,json,md}\"",
    "prettier:check": "prettier --check \"src/**/*.{ts,js,tsx,jsx,json,md}\"",
    "mocha": "mocha",
    "prepare": "husky install",
    "check": "npm-check -u"
  },
  "author": "jfrazx",
  "license": "MIT",
  "dependencies": {
    "@jfrazx/asarray": "^1.0.1",
    "@status/defaults": "^1.6.1",
    "uuid": "^11.1.0"
  },
  "devDependencies": {
    "@istanbuljs/nyc-config-typescript": "^1.0.2",
    "@parcel/bundler-library": "^2.15.4",
    "@parcel/packager-ts": "^2.15.4",
    "@parcel/transformer-typescript-types": "^2.15.4",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/commit-analyzer": "^13.0.1",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/github": "^12.0.0",
    "@semantic-release/npm": "^13.0.0",
    "@semantic-release/release-notes-generator": "^14.0.3",
    "@types/chai": "^5.0.0",
    "@types/fast-redact": "^3.0.4",
    "@types/lodash": "^4.14.194",
    "@types/mocha": "^10.0.10",
    "@types/node": "^24.12.4",
    "@types/sinon": "^21.0.0",
    "@types/uuid": "^11.0.0",
    "@typescript-eslint/eslint-plugin": "^8.0.0",
    "@typescript-eslint/parser": "^8.0.0",
    "applicationinsights": "^3.0.0",
    "chai": "^4.3.7",
    "codecov": "^3.8.3",
    "commitizen": "^4.3.1",
    "cross-env": "^10.0.0",
    "cz-conventional-changelog": "^3.3.0",
    "eslint": "^10.0.0",
    "eslint-config-prettier": "^10.0.0",
    "eslint-plugin-n": "^18.0.0",
    "eslint-plugin-prettier": "^5.0.0",
    "fast-redact": "^3.5.0",
    "husky": "^9.1.7",
    "mocha": "^11.0.0",
    "npm-check": "^6.0.1",
    "nyc": "^18.0.0",
    "parcel": "^2.15.4",
    "prettier": "^3.0.0",
    "rimraf": "^6.0.1",
    "semantic-release": "^25.0.0",
    "semantic-release-cli": "^5.4.6",
    "sinon": "^22.0.0",
    "sloc": "^0.3.2",
    "source-map-support": "^0.5.21",
    "ts-node": "^10.9.1",
    "typedoc": "^0.28.7",
    "typescript": "^5.8.3"
  },
  "config": {
    "commitizen": {
      "path": "cz-conventional-changelog"
    }
  },
  "mocha": {
    "recursive": true,
    "spec": "test/*.spec.ts",
    "reporter": "spec",
    "require": [
      "ts-node/register/transpile-only",
      "source-map-support/register"
    ]
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/jfrazx/surrogate.git"
  },
  "release": {
    "branches": [
      "master"
    ],
    "plugins": [
      [
        "@semantic-release/commit-analyzer",
        {
          "preset": "angular",
          "releaseRules": [
            {
              "type": "docs",
              "scope": "README",
              "release": "patch"
            },
            {
              "type": "refactor",
              "release": "patch"
            },
            {
              "type": "style",
              "release": "patch"
            }
          ],
          "parserOpts": {
            "noteKeywords": [
              "BREAKING CHANGE",
              "BREAKING CHANGES"
            ]
          }
        }
      ],
      "@semantic-release/release-notes-generator",
      "@semantic-release/changelog",
      "@semantic-release/github",
      "@semantic-release/npm"
    ]
  },
  "publishConfig": {
    "access": "public"
  }
}
