{
  "name": "testdouble",
  "version": "3.20.2",
  "description": "A minimal test double library for TDD with JavaScript",
  "homepage": "https://github.com/testdouble/testdouble.js",
  "author": {
    "name": "Justin Searls",
    "email": "justin@testdouble.com",
    "url": "http://testdouble.com"
  },
  "main": "lib/index.js",
  "exports": {
    ".": {
      "types": "./index.d.ts",
      "require": "./lib/index.js",
      "import": "./lib/index.mjs"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "src",
    "lib",
    "dist",
    "index.d.ts"
  ],
  "config": {
    "build_file": "dist/testdouble.js"
  },
  "scripts": {
    "clean": "rimraf dist lib coverage",
    "clean:hard": "npm run clean && rimraf node_modules \"examples/*/node_modules\"",
    "postclean": "mkdirp dist",
    "compile:browser": "cross-conf-env browserify src/index.js --standalone td --outfile $npm_package_config_build_file -p [ tsify --project tsconfig-browser.json ] -p headerify",
    "compile:node": "tsc",
    "compile:esm": "cp src/index.mjs lib/index.mjs",
    "precompile": "npm run clean",
    "compile": "run-s compile:node compile:browser compile:esm",
    "cover": "nyc --reporter=lcov --reporter=text-summary --reporter=html npm test",
    "cover:report": "codeclimate-test-reporter < coverage/lcov.info",
    "cover:ci": "if test \"`node -v | awk '{print substr($1, 2, 1)}'`\" = \"8\" ; then run-s cover cover:report ; fi",
    "style": "run-p style:js style:ts",
    "style:js": "standard --fix",
    "style:ts": "standard --fix --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin \"**/*.ts\"",
    "test": "run-s test:unit test:safe test:esm test:no-loader-esm test:example",
    "test:unit": "teenytest --helper test/helper.js \"test/unit/**/*.test.{js,ts}\"",
    "test:safe": "teenytest --helper test/helper.js \"test/safe/**/*.test.{js,ts}\"",
    "test:esm": "cross-env NODE_OPTIONS=\"--loader=quibble\" TS_NODE_IGNORE=\"node_modules,notypescript\" ./test/safe-esm/teenytest-proxy.js --helper test/helper.js test/safe-esm/replace.test.js test/safe-esm/list.test.js",
    "test:esm-auto-loader": "node test/esm-lib/supports-auto-load.js not || TS_NODE_IGNORE=\"node_modules,notypescript\" ./test/safe-esm/teenytest-proxy.js --helper test/helper.js test/safe-esm/replace.test.js",
    "test:no-loader-esm": "node test/esm-lib/supports-auto-load.js || cross-env TS_NODE_IGNORE=\"node_modules,notypescript\" teenytest test/helper.js './test/safe-esm/*.no-loader-test.{mjs,js}'",
    "test:ci": "npm run compile && run-p style test && echo \"All done!\"",
    "test:example": "run-s test:example:babel test:example:jest test:example:jest-broken test:example:node test:example:node-ava test:example:node-esm",
    "test:example-esm-auto-loader": "node test/esm-lib/supports-auto-load.js not || npm run test:example:node-esm-auto-loader",
    "test:example:babel": "bash ./script/run-examples babel",
    "test:example:jest": "bash ./script/run-examples jest",
    "test:example:jest-broken": "bash ./script/run-examples jest-broken",
    "test:example:plain-html": "bash ./script/run-examples plain-html",
    "test:example:node": "bash ./script/run-examples node",
    "test:example:node-ava": "bash ./script/run-examples node-ava",
    "test:example:node-esm": "bash ./script/run-examples node-esm",
    "test:example:node-esm-auto-loader": "bash ./script/run-examples node-esm-auto-loader",
    "test:example:webpack": "bash ./script/run-examples webpack",
    "version:write": "echo \"export default '$npm_package_version'\" > src/version.js",
    "preversion": "git pull --rebase",
    "version": "npm run version:write && npm run compile && git add src/version.js",
    "postversion": "git push --tags && git push && npm publish",
    "prepare": "npm run compile"
  },
  "browser": {
    "./src/replace/module/index.js": "./src/replace/module/index.browser.js",
    "./lib/replace/module/index.js": "./lib/replace/module/index.browser.js",
    "quibble": "./src/quibble.browser.js"
  },
  "standard": {
    "globals": [
      "td",
      "assert",
      "ES_SUPPORT"
    ],
    "ignore": [
      "index.d.ts",
      "examples/**"
    ]
  },
  "nyc": {
    "include": [
      "src/**/*.js"
    ],
    "exclude": [
      "examples"
    ],
    "all": true
  },
  "teenytest": {
    "plugins": [
      "test/support/tdify-plugin.js",
      "teenytest-promise"
    ]
  },
  "dependencies": {
    "lodash": "^4.17.21",
    "quibble": "^0.9.2",
    "stringify-object-es5": "^2.5.0",
    "theredoc": "^1.0.0"
  },
  "devDependencies": {
    "@types/node": "^20.9.0",
    "@typescript-eslint/eslint-plugin": "^6.10.0",
    "@typescript-eslint/parser": "^6.10.0",
    "browserify": "^17.0.0",
    "codeclimate-test-reporter": "^0.5.1",
    "cross-conf-env": "^1.3.0",
    "cross-env": "^7.0.3",
    "dedent": "^1.5.1",
    "headerify": "^1.0.1",
    "is-number": "^7.0.0",
    "is-promise": "^4.0.0",
    "mkdirp": "^3.0.1",
    "npm-run-all": "^4.1.5",
    "nyc": "^15.1.0",
    "rimraf": "^5.0.5",
    "standard": "^17.1.0",
    "teenytest": "^6.0.5",
    "teenytest-promise": "^1.0.0",
    "testdouble": "^3.20.0",
    "ts-node": "^10.9.1",
    "tsify": "^5.0.4",
    "typescript": "^5.2.2"
  },
  "directories": {
    "doc": "./docs",
    "example": "./examples",
    "lib": "./lib",
    "src": "./src"
  },
  "typings": "./index.d.ts",
  "keywords": [
    "tdd",
    "bdd",
    "mock",
    "stub",
    "spy",
    "test double",
    "double"
  ],
  "bugs": {
    "url": "https://github.com/testdouble/testdouble.js/issues"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/testdouble/testdouble.js.git"
  },
  "license": "MIT",
  "engines": {
    "node": ">= 16"
  }
}
