diff --git a/eslint.config.mjs b/eslint.config.mjs index 8fc661f1..e75d2f0c 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -148,6 +148,7 @@ export default defineConfig([{ "new-cap": ["error", { "capIsNewExceptions": ["StringEnum", "StringKey"], "capIsNewExceptionPattern": "^Type\\.", + "newIsCapExceptions": ["constructor"], }], "new-parens": "error", diff --git a/package.json b/package.json index 972d08c9..ec0013af 100644 --- a/package.json +++ b/package.json @@ -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" } } diff --git a/packages/controller/package.json b/packages/controller/package.json index 0ff9fda0..d93601df 100644 --- a/packages/controller/package.json +++ b/packages/controller/package.json @@ -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:" } } diff --git a/packages/controller/src/routes.ts b/packages/controller/src/routes.ts index 94531b72..da32850b 100644 --- a/packages/controller/src/routes.ts +++ b/packages/controller/src/routes.ts @@ -349,7 +349,7 @@ export async function createProxyStream(app: Application): Promise 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) diff --git a/packages/create/package.json b/packages/create/package.json index 601defa0..bf85f5b4 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -34,6 +34,6 @@ "dependencies": { "chalk": "catalog:", "inquirer": "^8.2.4", - "yargs": "^17.7.2" + "yargs": "^18.1.0" } } diff --git a/packages/create/templates/common/package.json b/packages/create/templates/common/package.json index dd7b657d..9776f0fc 100644 --- a/packages/create/templates/common/package.json +++ b/packages/create/templates/common/package.json @@ -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" diff --git a/packages/ctl/package.json b/packages/ctl/package.json index 04f1373b..50980c7c 100644 --- a/packages/ctl/package.json +++ b/packages/ctl/package.json @@ -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:" } } diff --git a/packages/host/package.json b/packages/host/package.json index 542caa42..8593ccc0 100644 --- a/packages/host/package.json +++ b/packages/host/package.json @@ -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:" } } diff --git a/packages/lib/package.json b/packages/lib/package.json index 8cc7bcb7..918a2371 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -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:" } } diff --git a/packages/web_ui/package.json b/packages/web_ui/package.json index 9371bdc6..aea3a710 100644 --- a/packages/web_ui/package.json +++ b/packages/web_ui/package.json @@ -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" } } diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 949418cc..6076acf0 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -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