- web/: Vue 3 + Vite + UnoCSS + Pinia, dark tactical theme (amber/#0d1117) - AppNav, ListingCard, SearchView with filters/sort, composables (useSnipeMode, useKonamiCode, useMotion), Pinia search store - Steal shimmer, auction countdown, Snipe Mode easter egg all native in Vue - docker/web/: nginx + multi-stage Dockerfile (node build → nginx serve) - compose.yml: api (8510) + web (8509) services - Dockerfile CMD updated to uvicorn for upcoming FastAPI layer - Clean build: 0 TS errors, 380 modules
99 lines
3.4 KiB
JSON
99 lines
3.4 KiB
JSON
{
|
|
"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"
|
|
}
|
|
}
|