{
  "name": "sinon",
  "description": "JavaScript test spies, stubs and mocks.",
  "keywords": [
    "sinon",
    "test",
    "testing",
    "unit",
    "stub",
    "spy",
    "fake",
    "time",
    "clock",
    "mock",
    "xhr",
    "assert"
  ],
  "version": "21.1.2",
  "homepage": "https://sinonjs.org/",
  "author": "Christian Johansen",
  "repository": {
    "type": "git",
    "url": "http://github.com/sinonjs/sinon.git"
  },
  "bugs": {
    "url": "http://github.com/sinonjs/sinon/issues"
  },
  "funding": {
    "type": "opencollective",
    "url": "https://opencollective.com/sinon"
  },
  "license": "BSD-3-Clause",
  "scripts": {
    "build-artifacts": "node ./build.cjs",
    "pretest-node": "npm run build-artifacts",
    "test-node": "mocha --recursive -R dot 'test/{src,issues,scripts}/**/*-test.js'",
    "pretest-headless": "npm run build-artifacts",
    "test-dev": "CHOKIDAR_USEPOLLING=1 npm run test-node -- --watch",
    "test-headless": "node ./scripts/run-browser-suite.mjs headless",
    "test-coverage": "npm run build-artifacts && nyc nyc --exclude-after-remap false mochify --driver puppeteer --bundle 'node coverage.cjs'",
    "test-cloud": "npm run build-artifacts && ./scripts/test-cloud.sh",
    "test-distribution": "node ./scripts/test-distribution.mjs",
    "test-webworker": "node ./scripts/run-browser-suite.mjs webworker",
    "test-esm-support": "mocha test/es2015/module-support-assessment-test.mjs",
    "test-esm-browser-build": "node test/es2015/check-esm-bundle-is-runnable.mjs",
    "test-pkg-browser-global": "node test/distribution/browser-global-smoke.mjs",
    "test-pkg-browser-esm": "node test/es2015/check-esm-bundle-is-runnable.mjs",
    "pretest-contract": "run-s build-artifacts",
    "test-contract": "run-s test-distribution test-pkg-browser-esm test-pkg-browser-global",
    "verify-esm-migration": "run-p lint test-contract test-node",
    "test-runnable-examples": "docs/release-source/release/examples/run-test.sh",
    "test-docs": "cd docs; make check-links",
    "test": "npm run build-artifacts && npm run test-node && node ./scripts/run-browser-suite.mjs headless && node ./scripts/run-browser-suite.mjs webworker",
    "check-dependencies": "knip --dependencies",
    "update-compatibility": "node ./scripts/update-compatibility.cjs",
    "build": "npm run build-artifacts",
    "build-docs": "cd docs; make build",
    "serve-docs": "cd docs; make livereload",
    "lint": "eslint --max-warnings 0 '**/*.{js,cjs,mjs}'",
    "pretest-webworker": "npm run build-artifacts",
    "prebuild": "rimraf pkg && npm run update-compatibility",
    "postbuild": "run-s test-esm-support test-esm-browser-build test-contract check-dependencies",
    "prepublishOnly": "npm run build",
    "prettier:check": "prettier --check '**/*.{js,css,md}'",
    "prettier:write": "prettier --write '**/*.{js,css,md}'",
    "preversion": "./scripts/preversion.sh",
    "version": "./scripts/version.sh",
    "postversion": "./scripts/postversion.sh"
  },
  "nyc": {
    "instrument": false,
    "temp-dir": "coverage/.nyc_output",
    "reporter": [
      "text",
      "lcovonly"
    ],
    "include": [
      "src/**/*.js"
    ],
    "check-coverage": true,
    "branches": 92,
    "lines": 97
  },
  "lint-staged": {
    "**/*.{js,css,md}": "prettier --write",
    "*.js": "eslint --quiet",
    "*.mjs": "eslint --quiet --ext mjs --parser-options=sourceType:module"
  },
  "mochify": {
    "reporter": "dot",
    "timeout": 10000,
    "bundle": "esbuild --bundle --sourcemap=inline --define:process.env.NODE_DEBUG=\"\" --external:fs",
    "bundle_stdin": "require",
    "spec": "test/{src,issues}/**/*-test.js"
  },
  "knip": {
    "entry": [
      "src/sinon.js",
      "src/sinon-esm.js",
      "src/create-sinon-api.js",
      "test/{src,issues,distribution,es2015,webworker}/**/*.{js,mjs,cjs}",
      "scripts/*.{js,mjs,cjs}",
      "test/scripts/**/*.{js,mjs,cjs}",
      "*.{js,mjs,cjs}"
    ],
    "project": [
      "src/**/*.js",
      "test/**/*.{js,mjs,cjs}",
      "scripts/**/*.{js,mjs,cjs}",
      "*.{js,mjs,cjs}"
    ],
    "ignoreFiles": [
      "lib/**",
      "pkg/**"
    ],
    "ignoreBinaries": [
      "eslint",
      "make",
      "docs/release-source/release/examples/run-test.sh"
    ],
    "ignoreDependencies": [
      "@mochify/cli",
      "@mochify/driver-puppeteer",
      "@mochify/driver-webdriver",
      "@sinonjs/eslint-config",
      "@sinonjs/eslint-plugin-no-prototype-methods",
      "@studio/changes",
      "lint-staged"
    ]
  },
  "dependencies": {
    "@sinonjs/commons": "^3.0.1",
    "@sinonjs/fake-timers": "^15.3.2",
    "@sinonjs/samsam": "^10.0.2",
    "diff": "^8.0.4"
  },
  "devDependencies": {
    "@mochify/cli": "^1.0.0",
    "@mochify/driver-puppeteer": "^1.0.1",
    "@mochify/driver-webdriver": "^1.0.0",
    "@rollup/plugin-commonjs": "^29.0.2",
    "@rollup/plugin-json": "^6.1.0",
    "@rollup/plugin-node-resolve": "^16.0.3",
    "@sinonjs/eslint-config": "^7.0.3",
    "@sinonjs/eslint-plugin-no-prototype-methods": "^0.1.1",
    "eslint": "^10.2.0",
    "@sinonjs/referee": "^11.0.2",
    "@studio/changes": "^3.0.0",
    "debug": "^4.4.3",
    "esbuild": "^0.28.0",
    "esbuild-plugin-istanbul": "^0.3.0",
    "esbuild-plugin-umd-wrapper": "^3.0.0",
    "get-stdin": "^10.0.0",
    "js-yaml": "^4.1.1",
    "knip": "^6.4.0",
    "lint-staged": "^16.4.0",
    "mocha": "^11.7.5",
    "npm-run-all": "^4.1.5",
    "nyc": "^18.0.0",
    "prettier": "^3.8.2",
    "puppeteer": "^24.40.0",
    "rimraf": "^6.1.3",
    "rollup": "^4.60.1",
    "semver": "^7.7.4",
    "shelljs": "^0.10.0"
  },
  "overrides": {
    "@isaacs/brace-expansion": "^5.0.1",
    "basic-ftp": "^5.2.0",
    "fast-xml-parser": "^5.3.8",
    "undici": "^6.23.0"
  },
  "files": [
    "lib",
    "pkg",
    "scripts/support-sinon.js",
    "AUTHORS",
    "CONTRIBUTING.md",
    "CHANGELOG.md",
    "LICENSE",
    "README.md"
  ],
  "browser": "./lib/sinon.js",
  "main": "./lib/sinon.js",
  "module": "./pkg/sinon-esm.js",
  "exports": {
    ".": {
      "browser": "./pkg/sinon-esm.js",
      "require": "./lib/sinon.js",
      "import": "./pkg/sinon-esm.js"
    },
    "./*": "./*"
  },
  "type": "module",
  "cdn": "./pkg/sinon.js",
  "jsdelivr": "./pkg/sinon.js",
  "esm": {
    "cjs": {
      "mutableNamespace": false,
      "cache": true
    },
    "mode": "auto"
  }
}
