{"name":"sinon","description":"JavaScript test spies, stubs and mocks.","keywords":["sinon","test","testing","unit","stub","spy","fake","time","clock","mock","xhr","assert"],"version":"21.0.2","homepage":"https://sinonjs.org/","author":{"name":"Christian Johansen"},"repository":{"type":"git","url":"git+ssh://git@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":{"test-node":"mocha --recursive -R dot \"test/**/*-test.js\"","test-dev":"npm run test-node --  -n watch -n  watch-path=test --node-option watch-path=lib -R min","test-headless":"mochify --driver puppeteer","test-coverage":"nyc nyc --exclude-after-remap false mochify --driver puppeteer --bundle 'node coverage.cjs'","test-cloud":"./scripts/test-cloud.sh","test-webworker":"mochify --driver puppeteer --serve . test/webworker/webworker-support-assessment.js","test-esm-support":"mocha test/es2015/module-support-assessment-test.mjs","test-esm-browser-build":"node test/es2015/check-esm-bundle-is-runnable.js","test-runnable-examples":"docs/release-source/release/examples/run-test.sh","test-docs":"cd docs; make check-links","test":"npm run test-node && npm run test-headless && npm run test-webworker","check-dependencies":"knip --production --dependencies","update-compatibility":"node ./scripts/update-compatibility.cjs","build":"node ./build.cjs","build-docs":"cd docs; make build","serve-docs":"cd docs; make livereload","lint":"eslint --max-warnings 31 '**/*.{js,cjs,mjs}'","pretest-webworker":"npm run build","prebuild":"rimraf pkg && npm run check-dependencies && npm run update-compatibility","postbuild":"npm run test-esm-support && npm run test-esm-browser-build","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"]},"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/**/*-test.js"},"dependencies":{"@sinonjs/commons":"^3.0.1","@sinonjs/fake-timers":"^15.1.1","@sinonjs/samsam":"^9.0.2","diff":"^8.0.3","supports-color":"^7.2.0"},"devDependencies":{"@babel/core":"^7.29.0","@mochify/cli":"^1.0.0","@mochify/driver-puppeteer":"^1.0.1","@mochify/driver-webdriver":"^1.0.0","@sinonjs/eslint-config":"^6.0.0","@sinonjs/eslint-plugin-no-prototype-methods":"^0.1.1","@sinonjs/referee":"^11.0.1","@studio/changes":"^3.0.0","babel-plugin-istanbul":"^7.0.1","debug":"^4.4.3","esbuild":"^0.27.3","esbuild-plugin-istanbul":"^0.3.0","esbuild-plugin-umd-wrapper":"^3.0.0","get-stdin":"^10.0.0","knip":"^5.85.0","lint-staged":"^16.3.1","mocha":"^11.7.5","nyc":"^18.0.0","prettier":"^3.8.1","puppeteer":"^24.37.5","rimraf":"^6.1.3","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"},"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"},"_id":"sinon@21.0.2","gitHead":"2d93d686b1d240d6a3463f6105c56244f7a1fc92","_nodeVersion":"24.8.0","_npmVersion":"11.6.0","dist":{"shasum":"2dca6fc59eca5288d9f2284925e9ae586085f917","size":452941,"noattachment":false,"key":"/sinon/-/sinon-21.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/sinon/download/sinon-21.0.2.tgz"},"_npmUser":{"name":"fatso83","email":"carlerik@gmail.com"},"directories":{},"maintainers":[{"name":"cjohansen","email":""},{"name":"fatso83","email":""},{"name":"mantoni","email":""},{"name":"mrgnrdrck","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sinon_21.0.2_1772617210153_0.41886078340318833"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-04T09:40:10.382Z","publish_time":1772617210382,"_source_registry_name":"default","_cnpm_publish_time":1772617210382,"dist-tags":{"latest":"21.1.1"}}