Bump dependency versions

Raise every caret range to the current latest within its major, in the
root package.json, the pnpm-workspace.yaml catalog, the per-package
package.json files and the create plugin template.

Majors taken: eslint 10, @eslint/js 10, globals 17, nyc 18,
@types/express 5, @types/node 24, finalhandler 2, pidusage 4,
style-loader 4, css-loader 7, yargs 18 (all packages), chalk 6.

Majors skipped: mocha 12 (integration suite fails under it, 59 tests,
starting with a 30 s timeout in clusteriocontroller run; kept at
^11.8.0), inquirer (10+ is a rewrite on @inquirer/prompts where
ui.Prompt.prototype.close no longer exists, so the win32 readline
workaround in create.js would have to go and cannot be verified here),
react/antd/react-router-dom/@types/react, typescript 7,
@sinclair/typebox, webpack-merge (exact pin), webpack-dev-middleware,
webpack-manifest-plugin, winston-daily-rotate-file.

Code adaptations: the two /api/stream/:id handlers in routes.ts are
typed Request<{ id: string }> because @types/express 5 types
req.params values as string | string[]; eslint.config.mjs adds
newIsCapExceptions: ["constructor"] because eslint 10.10 new-cap now
reports `new this.constructor()`.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bbassieandClaude Fable 5.1 committed 2026-09-12 23:24:13 +00:00
1 parent 8be251447a
commit f3daaf7b15
11 files changed
+88 -83

No files matched your search

+1
View File
@@ -148,6 +148,7 @@ export default defineConfig([{
"new-cap": ["error", {
"capIsNewExceptions": ["StringEnum", "StringKey"],
"capIsNewExceptionPattern": "^Type\\.",
"newIsCapExceptions": ["constructor"],
}],
"new-parens": "error",
+17 -17
View File
@@ -42,24 +42,24 @@
"@clusterio/host": "workspace:^",
"@clusterio/lib": "workspace:^",
"@clusterio/web_ui": "workspace:^",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "^9.32.0",
"@stylistic/eslint-plugin": "^5.2.2",
"@swc/core": "^1.13.3",
"@eslint/eslintrc": "^3.3.7",
"@eslint/js": "^10.0.1",
"@stylistic/eslint-plugin": "^5.10.0",
"@swc/core": "^1.16.2",
"@types/node": "catalog:",
"@typescript-eslint/eslint-plugin": "^8.38.0",
"@typescript-eslint/parser": "^8.38.0",
"eslint": "^9.32.0",
"@typescript-eslint/eslint-plugin": "^8.70.0",
"@typescript-eslint/parser": "^8.70.0",
"eslint": "^10.10.0",
"eslint-plugin-node": "^11.1.0",
"express": "^5.1.0",
"form-data": "^4.0.4",
"globals": "^16.3.0",
"jsonwebtoken": "^9.0.2",
"jszip": "^3.10.1",
"mocha": "^11.7.1",
"nyc": "^17.1.0",
"typedoc": "^0.28.9",
"typescript": "^5.9.2",
"yargs": "^18.0.0"
"express": "^5.2.1",
"form-data": "^4.0.6",
"globals": "^17.12.0",
"jsonwebtoken": "^9.0.3",
"jszip": "^3.10.2",
"mocha": "^11.8.0",
"nyc": "^18.0.0",
"typedoc": "^0.28.20",
"typescript": "^5.9.3",
"yargs": "^18.1.0"
}
}
+9 -9
View File
@@ -39,36 +39,36 @@
"@clusterio/lib": "workspace:^",
"@sinclair/typebox": "catalog:",
"busboy": "^1.6.0",
"compression": "^1.8.0",
"compression": "^1.8.2",
"express": "catalog:",
"finalhandler": "^1.3.1",
"finalhandler": "^2.1.1",
"jsonwebtoken": "catalog:",
"jszip": "catalog:",
"semver": "^7.7.1",
"semver": "^7.8.5",
"winston": "catalog:",
"winston-daily-rotate-file": "catalog:",
"ws": "catalog:",
"yargs": "^17.7.2"
"yargs": "^18.1.0"
},
"devDependencies": {
"@clusterio/web_ui": "workspace:^",
"@swc/core": "catalog:",
"@types/busboy": "^1.5.0",
"@types/compression": "^1.7.2",
"@types/busboy": "^1.5.4",
"@types/compression": "^1.8.1",
"@types/express": "catalog:",
"@types/finalhandler": "catalog:",
"@types/jsonwebtoken": "catalog:",
"@types/node": "catalog:",
"@types/semver": "^7.5.0",
"@types/semver": "^7.8.0",
"@types/ws": "catalog:",
"@types/yargs": "^17.0.33",
"@types/yargs": "^17.0.35",
"react": "catalog:",
"react-dom": "catalog:",
"react-router-dom": "catalog:",
"typescript": "catalog:",
"webpack": "catalog:",
"webpack-cli": "catalog:",
"webpack-dev-middleware": "^6.1.1",
"webpack-dev-middleware": "^6.1.3",
"webpack-merge": "catalog:"
}
}
+8 -4
View File
@@ -349,7 +349,7 @@ export async function createProxyStream(app: Application): Promise<ProxyStream>
return stream;
}
async function putStream(req: Request, res: Response) {
async function putStream(req: Request<{ id: string }>, res: Response) {
const stream = req.app.locals.streams.get(req.params.id);
if (!stream || stream.source) {
res.sendStatus(404);
@@ -388,7 +388,7 @@ function startStream(res: Response, stream: ProxyStream) {
clearTimeout(stream.timeout);
}
async function getStream(req: Request, res: Response) {
async function getStream(req: Request<{ id: string }>, res: Response) {
const stream = req.app.locals.streams.get(req.params.id);
if (!stream || stream.flowing) {
res.sendStatus(404);
@@ -695,8 +695,12 @@ export function addRouteHandlers(app: Application) {
validateHostToken,
(req:Request, res:Response, next:any) => uploadExport(req, res).catch(next)
);
app.put("/api/stream/:id", (req:Request, res:Response, next:any) => putStream(req, res).catch(next));
app.get("/api/stream/:id", (req:Request, res:Response, next:any) => getStream(req, res).catch(next));
app.put("/api/stream/:id",
(req:Request<{ id: string }>, res:Response, next:any) => putStream(req, res).catch(next)
);
app.get("/api/stream/:id",
(req:Request<{ id: string }>, res:Response, next:any) => getStream(req, res).catch(next)
);
app.post("/api/upload-save",
validateUserToken,
(req:Request, res:Response, next:any) => uploadSave(req, res).catch(next)
+1 -1
View File
@@ -34,6 +34,6 @@
"dependencies": {
"chalk": "catalog:",
"inquirer": "^8.2.4",
"yargs": "^17.7.2"
"yargs": "^18.1.0"
}
}
@@ -55,21 +55,21 @@
"devDependencies": {
//%// Typescript and type declarations
//%if typescript
"typescript": "^5.5.3",
"@types/node": "^20.4.5",
"typescript": "^5.9.3",
"@types/node": "^24.13.4",
//%endif
//%if typescript & web
"@types/react": "^18.2.21",
"@types/react": "^18.3.31",
//%endif
//%// Everything else
//%if web
"antd": "^5.13.0",
"antd": "^5.29.3",
"react": "^18.2.0",
"react-dom": "^18.2.0",
//%endif
//%if webpack
"webpack": "^5.88.2",
"webpack-cli": "^5.1.4",
"webpack": "^5.110.3",
"webpack-cli": "^7.2.3",
"webpack-merge": "^5.9.0",
//%endif
//%if controller
@@ -87,7 +87,7 @@
"@clusterio/lib": "^__clusterio_version__"
},
"dependencies": {
"@sinclair/typebox": "^0.30.4"
"@sinclair/typebox": "^0.30.6"
},
"publishConfig": {
"access": "public"
+2 -2
View File
@@ -39,11 +39,11 @@
"@clusterio/lib": "workspace:^",
"as-table": "^1.0.55",
"winston": "catalog:",
"yargs": "^17.7.2"
"yargs": "^18.1.0"
},
"devDependencies": {
"@types/node": "catalog:",
"@types/yargs": "^17.0.33",
"@types/yargs": "^17.0.35",
"typescript": "catalog:"
}
}
+7 -7
View File
@@ -39,22 +39,22 @@
"dependencies": {
"@clusterio/lib": "workspace:^",
"@sinclair/typebox": "catalog:",
"jimp": "^1.6.0",
"jimp": "^1.6.1",
"jszip": "catalog:",
"pidusage": "^3.0.2",
"pidusage": "^4.0.1",
"rcon-client": "^4.2.5",
"semver": "^7.7.1",
"semver": "^7.8.5",
"set-blocking": "catalog:",
"winston": "catalog:",
"winston-daily-rotate-file": "catalog:",
"yargs": "^17.7.2"
"yargs": "^18.1.0"
},
"devDependencies": {
"@types/node": "catalog:",
"@types/pidusage": "^2.0.2",
"@types/semver": "^7.5.0",
"@types/pidusage": "^2.0.5",
"@types/semver": "^7.8.0",
"@types/set-blocking": "catalog:",
"@types/yargs": "^17.0.33",
"@types/yargs": "^17.0.35",
"typescript": "catalog:"
}
}
+4 -4
View File
@@ -45,7 +45,7 @@
"dependencies": {
"@sinclair/typebox": "catalog:",
"ajv": "^8.17.1",
"ajv": "^8.20.0",
"chalk": "catalog:",
"fast-deep-equal": "^3.1.3",
"jszip": "catalog:",
@@ -54,14 +54,14 @@
"winston": "catalog:",
"winston-transport": "catalog:",
"ws": "catalog:",
"yargs": "^17.7.2"
"yargs": "^18.1.0"
},
"devDependencies": {
"@types/node": "catalog:",
"@types/set-blocking": "catalog:",
"@types/triple-beam": "^1.3.2",
"@types/triple-beam": "^1.3.5",
"@types/ws": "catalog:",
"@types/yargs": "^17.0.33",
"@types/yargs": "^17.0.35",
"typescript": "catalog:"
}
}
+14 -14
View File
@@ -35,38 +35,38 @@
"dependencies": {
"@ant-design/icons": "^5.6.1",
"@clusterio/lib": "workspace:^",
"@sinclair/typebox": "^0.30.4",
"@swc/core": "^1.13.3",
"antd": "^5.24.2",
"assert": "^2.0.0",
"@sinclair/typebox": "^0.30.6",
"@swc/core": "^1.16.2",
"antd": "^5.29.3",
"assert": "^2.1.0",
"browserify-zlib": "^0.2.0",
"buffer": "^6.0.3",
"clean-webpack-plugin": "^4.0.0",
"css-loader": "^6.8.1",
"css-loader": "^7.1.5",
"events": "^3.3.0",
"file-loader": "^6.2.0",
"null-loader": "^4.0.1",
"os-browserify": "^0.3.0",
"path-browserify": "^1.0.1",
"process": "^0.11.10",
"rc-field-form": "^1.37.0",
"rc-field-form": "^1.44.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-markdown": "catalog:",
"react-router-dom": "^6.29.0",
"react-router-dom": "^6.30.6",
"stream-browserify": "^3.0.0",
"style-loader": "^3.3.3",
"swc-loader": "^0.2.6",
"terser-webpack-plugin": "^5.3.11",
"typescript": "^5.7.3",
"style-loader": "^4.0.0",
"swc-loader": "^0.2.7",
"terser-webpack-plugin": "^5.6.1",
"typescript": "^5.9.3",
"util": "^0.12.5",
"webpack": "catalog:",
"webpack-cli": "catalog:",
"webpack-manifest-plugin": "^5.0.0"
},
"devDependencies": {
"@types/node": "^20.17.19",
"@types/react": "^18.3.18",
"@types/react-dom": "^18.3.5"
"@types/node": "^24.13.4",
"@types/react": "^18.3.31",
"@types/react-dom": "^18.3.7"
}
}
+18 -18
View File
@@ -6,33 +6,33 @@ packages:
- test/
catalog:
'@sinclair/typebox': ^0.30.4
'@swc/core': ^1.13.3
'@types/express': ^4.17.17
'@types/finalhandler': ^1.2.0
'@types/jsonwebtoken': ^9.0.9
'@types/node': ^22.20.1
'@types/react': ^18.3.18
'@types/set-blocking': ^2.0.0
'@types/ws': ^8.5.14
antd: ^5.24.2
chalk: ^4.1.2
express: ^5.1.0
jsonwebtoken: ^9.0.2
jszip: ^3.10.1
'@sinclair/typebox': ^0.30.6
'@swc/core': ^1.16.2
'@types/express': ^5.0.6
'@types/finalhandler': ^1.2.4
'@types/jsonwebtoken': ^9.0.10
'@types/node': ^24.13.4
'@types/react': ^18.3.31
'@types/set-blocking': ^2.0.2
'@types/ws': ^8.18.1
antd: ^5.29.3
chalk: ^6.0.0
express: ^5.2.1
jsonwebtoken: ^9.0.3
jszip: ^3.10.2
react: ^18.2.0
react-dom: ^18.2.0
react-markdown: ^10.1.0
react-router-dom: ^6.29.0
react-router-dom: ^6.30.6
set-blocking: ^2.0.0
typescript: ^5.7.3
typescript: ^5.9.3
webpack: ^5.110.3
webpack-cli: ^7.2.3
webpack-merge: 5.9.0
winston: ^3.17.0
winston: ^3.19.0
winston-daily-rotate-file: ^4.7.1
winston-transport: ^4.9.0
ws: ^8.18.1
ws: ^8.21.3
catalogMode: strict