{
  "name": "jsdom",
  "version": "28.1.0",
  "description": "A JavaScript implementation of many web standards",
  "keywords": [
    "dom",
    "html",
    "whatwg",
    "w3c"
  ],
  "maintainers": [
    "Elijah Insua <tmpvar@gmail.com> (http://tmpvar.com)",
    "Domenic Denicola <d@domenic.me> (https://domenic.me/)",
    "Sebastian Mayr <sebmaster16@gmail.com> (https://blog.smayr.name/)",
    "Joris van der Wel <joris@jorisvanderwel.com>",
    "Timothy Gu <timothygu99@gmail.com> (https://timothygu.me/)",
    "Magne Andersson <code@zirro.se> (https://zirro.se/)",
    "Pierre-Marie Dartus <dartus.pierremarie@gmail.com>"
  ],
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/jsdom/jsdom.git"
  },
  "dependencies": {
    "@acemir/cssom": "^0.9.31",
    "@asamuzakjp/dom-selector": "^6.8.1",
    "@bramus/specificity": "^2.4.2",
    "@exodus/bytes": "^1.11.0",
    "cssstyle": "^6.0.1",
    "data-urls": "^7.0.0",
    "decimal.js": "^10.6.0",
    "html-encoding-sniffer": "^6.0.0",
    "http-proxy-agent": "^7.0.2",
    "https-proxy-agent": "^7.0.6",
    "is-potential-custom-element-name": "^1.0.1",
    "parse5": "^8.0.0",
    "saxes": "^6.0.0",
    "symbol-tree": "^3.2.4",
    "tough-cookie": "^6.0.0",
    "undici": "^7.21.0",
    "w3c-xmlserializer": "^5.0.0",
    "webidl-conversions": "^8.0.1",
    "whatwg-mimetype": "^5.0.0",
    "whatwg-url": "^16.0.0",
    "xml-name-validator": "^5.0.0"
  },
  "peerDependencies": {
    "canvas": "^3.0.0"
  },
  "peerDependenciesMeta": {
    "canvas": {
      "optional": true
    }
  },
  "devDependencies": {
    "@domenic/eslint-config": "^4.1.0",
    "eslint": "^9.39.2",
    "eslint-plugin-html": "^8.1.4",
    "eslint-plugin-n": "^17.23.2",
    "globals": "^17.3.0",
    "js-yaml": "^4.1.1",
    "minimatch": "^10.1.2",
    "mocha": "^11.7.5",
    "mocha-sugar-free": "^1.4.0",
    "npm-run-all2": "^8.0.4",
    "opener": "^1.5.2",
    "pngjs": "^7.0.0",
    "semver": "^7.7.4",
    "server-destroy": "^1.0.1",
    "tinybench": "^6.0.0",
    "webidl2": "^24.5.0",
    "webidl2js": "^19.1.0"
  },
  "scripts": {
    "prepare": "npm-run-all prepare:*",
    "prepare:convert-idl": "node ./scripts/webidl/convert.js",
    "prepare:generate-event-sets": "node ./scripts/generate-event-sets.js",
    "prepare:generate-js-globals": "node ./scripts/generate-js-globals.js",
    "pretest": "npm run prepare && npm run wpt:init",
    "test": "npm-run-all --continue-on-error test:*",
    "test:api": "mocha test/api/",
    "test:to-port-to-wpts": "mocha test/to-port-to-wpts/ && mocha test/to-port-to-wpts/level1/ && mocha test/to-port-to-wpts/level2/ && mocha test/to-port-to-wpts/level3/",
    "test:tuwpt": "mocha test/web-platform-tests/run-tuwpts.js",
    "test:tuwpt:browser": "node scripts/verify-tuwpts-in-browser.js",
    "test:wpt": "mocha test/web-platform-tests/run-wpts.js",
    "lint": "eslint --cache",
    "wpt:init": "git submodule update --init --recursive",
    "wpt:reset": "rm -rf ./test/web-platform-tests/tests && npm run wpt:init",
    "wpt:update": "git submodule update --init --recursive --remote && cd test/web-platform-tests/tests && python wpt.py manifest --path ../wpt-manifest.json",
    "update-authors": "git log --format=\"%aN <%aE>\" | sort -f | uniq > AUTHORS.txt",
    "benchmark": "node ./benchmark/runner"
  },
  "main": "./lib/api.js",
  "type": "commonjs",
  "engines": {
    "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
  }
}
