mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2026-07-16 17:26:58 -04:00
Update major dependencies (TypeScript 6, zod 4, webpack-cli 7, commander 15, …) (#8761)
Bumps the remaining major-version dependencies. **golden-layout is deliberately excluded** (we depend on its internals too heavily for the 1.x → 2.x jump). Each bump is its own commit, verified independently (ts-check, lint, unit tests, and where relevant the webpack build + cypress). ## Included - **TypeScript 6.0** — pin `ignoreDeprecations: "6.0"` (downlevelIteration + the frontend's `es5` target are deprecated-but-functional until TS7), pin the frontend to `module=commonjs`/`moduleResolution=node` (TS6's new esnext/bundler defaults break deep monaco esm imports), and declare `*.css`/`*.scss` side-effect modules (`noUncheckedSideEffectImports` now defaults true). - **marked 18** — no code changes; only use is the Claude-explain view. - **Build chain**: webpack-cli 7 (renamed `--node-env` → `--config-node-env` in the `webpack` script), webpack-dev-middleware 8, sass-loader 17. - **zod 4** — only used by the MCP tool schemas via stable primitives; MCP SDK already supports `^3.25 || ^4.0`. - **lint-staged 17** — dev tooling; pre-commit pipeline exercised. - **commander 15** — both CLI entrypoints use options only; v15's stricter excess-args default only tightens rejection of stray positionals. Requires Node ≥22.12. - **enhanced-ms 5**, **which 7** — small utilities, APIs unchanged. ## Node floor bump — split into its own PR The first commit (`Bump Node floor to v22`: `engines >=22` + `find-node` `NODE_MIN_VERSION=22`) is **isolated and intended to be cherry-picked into a separate PR**. It aligns the declared floor with production (Node 22.13.1) and is a prerequisite for commander 15 (needs ≥22.12). ## Follow-ups (not in this PR) - The `es5 → es2015` frontend migration, required before TS7 (currently bridged by `ignoreDeprecations`). ## Testing - Local: ts-check, lint, full unit suite, production webpack build, and cypress (81 specs) all pass. - Pre-existing: 13 `dontMaskFilenames` filter snapshots fail **locally only** (a local /tmp path leaks into output where the snapshot expects a clean `example.cpp`); they fail identically on `main` and pass in CI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
269
package-lock.json
generated
269
package-lock.json
generated
@@ -28,11 +28,11 @@
|
||||
"buffer": "^6.0.3",
|
||||
"chart.js": "^4.5.1",
|
||||
"clipboard": "^2.0.11",
|
||||
"commander": "^14.0.3",
|
||||
"commander": "^15.0.0",
|
||||
"compression": "^1.8.1",
|
||||
"copy-webpack-plugin": "^14.0.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"enhanced-ms": "^4.3.0",
|
||||
"enhanced-ms": "^5.0.0",
|
||||
"events": "^3.3.0",
|
||||
"express": "^5.2.1",
|
||||
"file-saver": "^2.0.5",
|
||||
@@ -44,7 +44,7 @@
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"lru-cache": "^11.5.1",
|
||||
"lz-string": "^1.5.0",
|
||||
"marked": "^17.0.6",
|
||||
"marked": "^18.0.4",
|
||||
"monaco-editor": "^0.55.1",
|
||||
"monaco-vim": "^0.4.4",
|
||||
"morgan": "^1.10.1",
|
||||
@@ -74,7 +74,7 @@
|
||||
"winston-transport": "^4.9.0",
|
||||
"ws": "^8.21.0",
|
||||
"yaml": "^2.9.0",
|
||||
"zod": "^3.25.76"
|
||||
"zod": "^4.4.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "^2.4.16",
|
||||
@@ -106,28 +106,28 @@
|
||||
"file-loader": "^6.2.0",
|
||||
"happy-dom": "^20.9.0",
|
||||
"husky": "^9.1.7",
|
||||
"lint-staged": "^16.4.0",
|
||||
"lint-staged": "^17.0.7",
|
||||
"mini-css-extract-plugin": "^2.10.2",
|
||||
"mock-fs": "^5.5.0",
|
||||
"monaco-editor-webpack-plugin": "^7.1.1",
|
||||
"nock": "^14.0.15",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"sass": "^1.100.0",
|
||||
"sass-loader": "^16.0.8",
|
||||
"sass-loader": "^17.0.0",
|
||||
"source-map-loader": "^5.0.0",
|
||||
"supertest": "^7.2.2",
|
||||
"terser-webpack-plugin": "^5.6.1",
|
||||
"ts-loader": "^9.6.0",
|
||||
"typescript": "^5.9.3",
|
||||
"typescript": "^6.0.3",
|
||||
"vitest": "^4.0.1",
|
||||
"vitest-fetch-mock": "^0.4.5",
|
||||
"webpack": "^5.107.2",
|
||||
"webpack-cli": "^6.0.1",
|
||||
"webpack-dev-middleware": "^7.4.5",
|
||||
"webpack-cli": "^7.0.3",
|
||||
"webpack-dev-middleware": "^8.0.3",
|
||||
"webpack-manifest-plugin": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.0.0"
|
||||
"node": ">=22.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rollup/rollup-darwin-arm64": "^4.61.0",
|
||||
@@ -1181,9 +1181,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@discoveryjs/json-ext": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz",
|
||||
"integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==",
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-1.1.0.tgz",
|
||||
"integrity": "sha512-Xc3VhU02wqZ1HvHRJUwL09HkZSTvidqY5Ya0NXBSYOxAp+Ln9dcJr9fySI+CkONzP3PekQo9WdzCv0PGER/mOA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -4582,53 +4582,6 @@
|
||||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@webpack-cli/configtest": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz",
|
||||
"integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"webpack": "^5.82.0",
|
||||
"webpack-cli": "6.x.x"
|
||||
}
|
||||
},
|
||||
"node_modules/@webpack-cli/info": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz",
|
||||
"integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"webpack": "^5.82.0",
|
||||
"webpack-cli": "6.x.x"
|
||||
}
|
||||
},
|
||||
"node_modules/@webpack-cli/serve": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz",
|
||||
"integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"webpack": "^5.82.0",
|
||||
"webpack-cli": "6.x.x"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"webpack-dev-server": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@xtuc/ieee754": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
|
||||
@@ -5914,12 +5867,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/commander": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
|
||||
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
|
||||
"version": "15.0.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-15.0.0.tgz",
|
||||
"integrity": "sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
"node": ">=22.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/common-tags": {
|
||||
@@ -6883,9 +6836,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/enhanced-ms": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-ms/-/enhanced-ms-4.3.0.tgz",
|
||||
"integrity": "sha512-mMl+aCNSDcVf7Q0KKkp600JFoK9eimXgmdrN8wHNyyKeZbOr88XJw1m8qOIAknuAAPfxxVZMwrU77YG8ol9Oxw==",
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-ms/-/enhanced-ms-5.0.0.tgz",
|
||||
"integrity": "sha512-7G13wh93e2KQsJ6SK5m9RjmmDkFynZArSxv+8RSXIl4U9cwn0E5A3ZiLZlRDiUGosHT8mEHXMazFtp5Dt0dLVQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/enhanced-resolve": {
|
||||
@@ -7512,16 +7465,6 @@
|
||||
"fxparser": "src/cli/cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/fastest-levenshtein": {
|
||||
"version": "1.0.16",
|
||||
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
|
||||
"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 4.9.1"
|
||||
}
|
||||
},
|
||||
"node_modules/fdir": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
|
||||
@@ -9634,27 +9577,100 @@
|
||||
}
|
||||
},
|
||||
"node_modules/lint-staged": {
|
||||
"version": "16.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.4.0.tgz",
|
||||
"integrity": "sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==",
|
||||
"version": "17.0.7",
|
||||
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.0.7.tgz",
|
||||
"integrity": "sha512-JrSobt+tW3rH8IOMi8tDZd3foorM5yPEkLD/V2NxobgHrFfHWGee4MOLVuZeScgxftEwbHrPHIFA/ZL+nUJeuA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"commander": "^14.0.3",
|
||||
"listr2": "^9.0.5",
|
||||
"picomatch": "^4.0.3",
|
||||
"listr2": "^10.2.1",
|
||||
"picomatch": "^4.0.4",
|
||||
"string-argv": "^0.3.2",
|
||||
"tinyexec": "^1.0.4",
|
||||
"yaml": "^2.8.2"
|
||||
"tinyexec": "^1.2.4"
|
||||
},
|
||||
"bin": {
|
||||
"lint-staged": "bin/lint-staged.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.17"
|
||||
"node": ">=22.22.1"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/lint-staged"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"yaml": "^2.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/lint-staged/node_modules/ansi-styles": {
|
||||
"version": "6.2.3",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
||||
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/lint-staged/node_modules/eventemitter3": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
|
||||
"integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lint-staged/node_modules/listr2": {
|
||||
"version": "10.2.1",
|
||||
"resolved": "https://registry.npmjs.org/listr2/-/listr2-10.2.1.tgz",
|
||||
"integrity": "sha512-7I5knELsJKTUjXG+A6BkKAiGkW1i25fNa/xlUl9hFtk15WbE9jndA89xu5FzQKrY5llajE1hfZZFMILXkDHk/Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cli-truncate": "^5.2.0",
|
||||
"eventemitter3": "^5.0.4",
|
||||
"log-update": "^6.1.0",
|
||||
"rfdc": "^1.4.1",
|
||||
"wrap-ansi": "^10.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/lint-staged/node_modules/string-width": {
|
||||
"version": "8.2.1",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
|
||||
"integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"get-east-asian-width": "^1.5.0",
|
||||
"strip-ansi": "^7.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/lint-staged/node_modules/wrap-ansi": {
|
||||
"version": "10.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-10.0.0.tgz",
|
||||
"integrity": "sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.3",
|
||||
"string-width": "^8.2.0",
|
||||
"strip-ansi": "^7.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/listr2": {
|
||||
@@ -9936,9 +9952,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/marked": {
|
||||
"version": "17.0.6",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-17.0.6.tgz",
|
||||
"integrity": "sha512-gB0gkNafnonOw0obSTEGZTT86IuhILt2Wfx0mWH/1Au83kybTayroZ/V6nS25mN7u8ASy+5fMhgB3XPNrOZdmA==",
|
||||
"version": "18.0.4",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-18.0.4.tgz",
|
||||
"integrity": "sha512-c/BTaKzg0G6ezQx97DAkYU7k0HM6ys0FqYeKBL6hlBByZwy+ycA1+f0vDdjMHKKeEjdgkx0GOv9Il6D+85cOqA==",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"marked": "bin/marked.js"
|
||||
@@ -12476,16 +12492,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/sass-loader": {
|
||||
"version": "16.0.8",
|
||||
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.8.tgz",
|
||||
"integrity": "sha512-hcov4ZwZJIGbEuyNr9EmiTmZueyrxSToE6GOzoZnq5JM7ecRO7ttyvilPn+VmRsqiP16+VYZzVnGZj/hzZgKBA==",
|
||||
"version": "17.0.0",
|
||||
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-17.0.0.tgz",
|
||||
"integrity": "sha512-0Ybm8ohBQ9LcrycVrFQp/KQBNX5a3Wda9/smS0mE/xLffzEnwvV8nykOzrbiSWNzTE3IB/jiXx8O4QmDPG2+Gw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"neo-async": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18.12.0"
|
||||
"node": ">= 22.11.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
@@ -12493,7 +12506,6 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0",
|
||||
"node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
|
||||
"sass": "^1.3.0",
|
||||
"sass-embedded": "*",
|
||||
"webpack": "^5.0.0"
|
||||
@@ -12502,9 +12514,6 @@
|
||||
"@rspack/core": {
|
||||
"optional": true
|
||||
},
|
||||
"node-sass": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
},
|
||||
@@ -14187,9 +14196,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "5.9.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
|
||||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
|
||||
"integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
@@ -14629,21 +14638,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-cli": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz",
|
||||
"integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==",
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-7.0.3.tgz",
|
||||
"integrity": "sha512-2E2C6A1e2El7791zQgTH7LPIuwLjRliow9OHS/qlJc9pwhZlCoL/uiwqd/1WSlXT83wJfmfDbkcqHXuXoPJZ3g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@discoveryjs/json-ext": "^0.6.1",
|
||||
"@webpack-cli/configtest": "^3.0.1",
|
||||
"@webpack-cli/info": "^3.0.1",
|
||||
"@webpack-cli/serve": "^3.0.1",
|
||||
"colorette": "^2.0.14",
|
||||
"commander": "^12.1.0",
|
||||
"cross-spawn": "^7.0.3",
|
||||
"@discoveryjs/json-ext": "^1.1.0",
|
||||
"commander": "^14.0.3",
|
||||
"cross-spawn": "^7.0.6",
|
||||
"envinfo": "^7.14.0",
|
||||
"fastest-levenshtein": "^1.0.12",
|
||||
"import-local": "^3.0.2",
|
||||
"interpret": "^3.1.1",
|
||||
"rechoir": "^0.8.0",
|
||||
@@ -14653,14 +14657,16 @@
|
||||
"webpack-cli": "bin/cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
"node": ">=20.9.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"webpack": "^5.82.0"
|
||||
"webpack": "^5.101.0",
|
||||
"webpack-bundle-analyzer": "^4.0.0 || ^5.0.0",
|
||||
"webpack-dev-server": "^5.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"webpack-bundle-analyzer": {
|
||||
@@ -14672,38 +14678,37 @@
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-cli/node_modules/commander": {
|
||||
"version": "12.1.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
|
||||
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
|
||||
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-dev-middleware": {
|
||||
"version": "7.4.5",
|
||||
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz",
|
||||
"integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==",
|
||||
"version": "8.0.3",
|
||||
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-8.0.3.tgz",
|
||||
"integrity": "sha512-zWrde9VZDiRaFuWsjHO40wm9LxxtXEk8DdzFXdU7eU5ZpiANnZZDBbZgN3guxbEoKqUHd9YupBmynyioz42nkA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"colorette": "^2.0.10",
|
||||
"memfs": "^4.43.1",
|
||||
"mime-types": "^3.0.1",
|
||||
"memfs": "^4.56.10",
|
||||
"mime-types": "^3.0.2",
|
||||
"on-finished": "^2.4.1",
|
||||
"range-parser": "^1.2.1",
|
||||
"schema-utils": "^4.0.0"
|
||||
"schema-utils": "^4.3.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18.12.0"
|
||||
"node": ">= 20.9.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"webpack": "^5.0.0"
|
||||
"webpack": "^5.101.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"webpack": {
|
||||
@@ -15178,9 +15183,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "3.25.76",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
|
||||
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz",
|
||||
"integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
|
||||
22
package.json
22
package.json
@@ -14,7 +14,7 @@
|
||||
},
|
||||
"version": "0.0.3",
|
||||
"engines": {
|
||||
"node": ">=22.0.0"
|
||||
"node": ">=22.12.0"
|
||||
},
|
||||
"main": "./app.ts",
|
||||
"dependencies": {
|
||||
@@ -37,11 +37,11 @@
|
||||
"buffer": "^6.0.3",
|
||||
"chart.js": "^4.5.1",
|
||||
"clipboard": "^2.0.11",
|
||||
"commander": "^14.0.3",
|
||||
"commander": "^15.0.0",
|
||||
"compression": "^1.8.1",
|
||||
"copy-webpack-plugin": "^14.0.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"enhanced-ms": "^4.3.0",
|
||||
"enhanced-ms": "^5.0.0",
|
||||
"events": "^3.3.0",
|
||||
"express": "^5.2.1",
|
||||
"file-saver": "^2.0.5",
|
||||
@@ -53,7 +53,7 @@
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"lru-cache": "^11.5.1",
|
||||
"lz-string": "^1.5.0",
|
||||
"marked": "^17.0.6",
|
||||
"marked": "^18.0.4",
|
||||
"monaco-editor": "^0.55.1",
|
||||
"monaco-vim": "^0.4.4",
|
||||
"morgan": "^1.10.1",
|
||||
@@ -83,7 +83,7 @@
|
||||
"winston-transport": "^4.9.0",
|
||||
"ws": "^8.21.0",
|
||||
"yaml": "^2.9.0",
|
||||
"zod": "^3.25.76"
|
||||
"zod": "^4.4.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "^2.4.16",
|
||||
@@ -115,24 +115,24 @@
|
||||
"file-loader": "^6.2.0",
|
||||
"happy-dom": "^20.9.0",
|
||||
"husky": "^9.1.7",
|
||||
"lint-staged": "^16.4.0",
|
||||
"lint-staged": "^17.0.7",
|
||||
"mini-css-extract-plugin": "^2.10.2",
|
||||
"mock-fs": "^5.5.0",
|
||||
"monaco-editor-webpack-plugin": "^7.1.1",
|
||||
"nock": "^14.0.15",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"sass": "^1.100.0",
|
||||
"sass-loader": "^16.0.8",
|
||||
"sass-loader": "^17.0.0",
|
||||
"source-map-loader": "^5.0.0",
|
||||
"supertest": "^7.2.2",
|
||||
"terser-webpack-plugin": "^5.6.1",
|
||||
"ts-loader": "^9.6.0",
|
||||
"typescript": "^5.9.3",
|
||||
"typescript": "^6.0.3",
|
||||
"vitest": "^4.0.1",
|
||||
"vitest-fetch-mock": "^0.4.5",
|
||||
"webpack": "^5.107.2",
|
||||
"webpack-cli": "^6.0.1",
|
||||
"webpack-dev-middleware": "^7.4.5",
|
||||
"webpack-cli": "^7.0.3",
|
||||
"webpack-dev-middleware": "^8.0.3",
|
||||
"webpack-manifest-plugin": "^6.0.1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
@@ -167,7 +167,7 @@
|
||||
"ts-check:tests": "tsc -p ./tsconfig.tests.json --noEmit",
|
||||
"ts-check:frontend-tests": "tsc -p ./tsconfig.frontend.tests.json --noEmit",
|
||||
"ts-check:cypress": "tsc -p ./cypress/tsconfig.json --noEmit",
|
||||
"webpack": "node --no-warnings=ExperimentalWarning --import=tsx ./node_modules/webpack-cli/bin/cli.js --node-env=production --config webpack.config.esm.ts"
|
||||
"webpack": "node --no-warnings=ExperimentalWarning --import=tsx ./node_modules/webpack-cli/bin/cli.js --config-node-env=production --config webpack.config.esm.ts"
|
||||
},
|
||||
"license": "BSD-2-Clause",
|
||||
"packageManager": "npm@11.2.0"
|
||||
|
||||
5
static/client.d.ts
vendored
5
static/client.d.ts
vendored
@@ -36,6 +36,11 @@ declare module '*.pug' {
|
||||
export default content;
|
||||
}
|
||||
|
||||
// Side-effect CSS/SCSS imports; webpack handles the actual bundling. TS6 defaults
|
||||
// noUncheckedSideEffectImports to true, so these need ambient declarations.
|
||||
declare module '*.css';
|
||||
declare module '*.scss';
|
||||
|
||||
declare module '*.svg' {
|
||||
const src: string;
|
||||
export default src;
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
"sourceMap": true,
|
||||
"downlevelIteration": true,
|
||||
"importHelpers": true,
|
||||
/* TS6 deprecates downlevelIteration and the frontend's es5 target; both still
|
||||
function until TS7. Silence the deprecation errors until the es5->es2015
|
||||
migration is tackled separately. */
|
||||
"ignoreDeprecations": "6.0",
|
||||
/* Module resolution */
|
||||
"esModuleInterop": true,
|
||||
/* Other options */
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
"compilerOptions": {
|
||||
/* Module resolution */
|
||||
"target": "es5",
|
||||
/* Pin to the pre-TS6 inferred defaults (TS6 would otherwise default these to
|
||||
esnext/bundler, which breaks deep monaco esm imports and CSS side-effects). */
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
/* Code generation */
|
||||
"inlineSources": true,
|
||||
"strictPropertyInitialization": false,
|
||||
|
||||
Reference in New Issue
Block a user