From 5396eefe75d9b5c36155fb87af96aeacdfe9cba1 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Wed, 27 Aug 2025 13:06:18 -0700 Subject: [PATCH] chore: move dependencies only required for build to 'optional' (#2707) This is a bit of a misnomer because npm installs them just like dev deps unless an appropriate --omit flag is added. Anyway, these deps are ~55 MB, so being able to omit that chunk for raw running might be good. Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2707 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- package-lock.json | 41 ++++++++++++++++++++++++++++++----------- package.json | 14 ++++++++------ 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 51a7aa3a..d3e201dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,6 @@ "version": "0.1.0", "license": "GNU", "dependencies": { - "@types/express": "^5", - "@types/morgan": "^1.9.9", - "@types/websocket": "^1.0.10", - "@types/ws": "^8.18.1", - "@typescript/native-preview": "^7.0.0-dev.20250625.1", "chokidar": "^4.0.3", "crc-32": "^1.2.2", "express": "^5", @@ -21,7 +16,6 @@ "mongoose": "^8.11.0", "morgan": "^1.10.0", "ncp": "^2.0.0", - "typescript": "^5.7", "undici": "^7.10.0", "warframe-public-export-plus": "^0.5.83", "warframe-riven-info": "^0.1.2", @@ -38,6 +32,14 @@ "eslint-plugin-prettier": "^5.2.5", "prettier": "^3.5.3", "tree-kill": "^1.2.2" + }, + "optionalDependencies": { + "@types/express": "^5", + "@types/morgan": "^1.9.9", + "@types/websocket": "^1.0.10", + "@types/ws": "^8.18.1", + "@typescript/native-preview": "^7.0.0-dev.20250625.1", + "typescript": "^5.7" } }, "node_modules/@colors/colors": { @@ -349,6 +351,7 @@ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", "license": "MIT", + "optional": true, "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -359,6 +362,7 @@ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "license": "MIT", + "optional": true, "dependencies": { "@types/node": "*" } @@ -368,6 +372,7 @@ "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.3.tgz", "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==", "license": "MIT", + "optional": true, "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", @@ -379,6 +384,7 @@ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz", "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==", "license": "MIT", + "optional": true, "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -390,7 +396,8 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/@types/json5": { "version": "0.0.29", @@ -403,13 +410,15 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/@types/morgan": { "version": "1.9.10", "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.10.tgz", "integrity": "sha512-sS4A1zheMvsADRVfT0lYbJ4S9lmsey8Zo2F7cnbYjWHP67Q0AwMYuuzLlkIM2N8gAbb9cubhIVFwcIN2XyYCkA==", "license": "MIT", + "optional": true, "dependencies": { "@types/node": "*" } @@ -419,6 +428,7 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", "license": "MIT", + "optional": true, "dependencies": { "undici-types": "~7.10.0" } @@ -427,19 +437,22 @@ "version": "6.14.0", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/@types/send": { "version": "0.17.5", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", "license": "MIT", + "optional": true, "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -450,6 +463,7 @@ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", "license": "MIT", + "optional": true, "dependencies": { "@types/http-errors": "*", "@types/node": "*", @@ -473,6 +487,7 @@ "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.10.tgz", "integrity": "sha512-svjGZvPB7EzuYS94cI7a+qhwgGU1y89wUgjT6E2wVUfmAGIvRfT7obBvRtnhXCSsoMdlG4gBFGE7MfkIXZLoww==", "license": "MIT", + "optional": true, "dependencies": { "@types/node": "*" } @@ -491,6 +506,7 @@ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", "license": "MIT", + "optional": true, "dependencies": { "@types/node": "*" } @@ -735,6 +751,7 @@ "resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20250826.1.tgz", "integrity": "sha512-+NuzOfk/lu6pLYSCio+R7uzJ9pfOasc1fshxVmLp6wgcB8yuUYYvBaT7CoHapUnNBYZXkJ9u0UOECnq3dbzgSQ==", "license": "Apache-2.0", + "optional": true, "bin": { "tsgo": "bin/tsgo.js" }, @@ -5397,6 +5414,7 @@ "version": "5.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "devOptional": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -5438,7 +5456,8 @@ "version": "7.10.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/unpipe": { "version": "1.0.0", diff --git a/package.json b/package.json index 02946d3b..c4bbee86 100644 --- a/package.json +++ b/package.json @@ -28,11 +28,6 @@ "license": "GNU", "type": "module", "dependencies": { - "@types/express": "^5", - "@types/morgan": "^1.9.9", - "@types/websocket": "^1.0.10", - "@types/ws": "^8.18.1", - "@typescript/native-preview": "^7.0.0-dev.20250625.1", "chokidar": "^4.0.3", "crc-32": "^1.2.2", "express": "^5", @@ -40,7 +35,6 @@ "mongoose": "^8.11.0", "morgan": "^1.10.0", "ncp": "^2.0.0", - "typescript": "^5.7", "undici": "^7.10.0", "warframe-public-export-plus": "^0.5.83", "warframe-riven-info": "^0.1.2", @@ -48,6 +42,14 @@ "winston-daily-rotate-file": "^5.0.0", "ws": "^8.18.2" }, + "optionalDependencies": { + "@types/express": "^5", + "@types/morgan": "^1.9.9", + "@types/websocket": "^1.0.10", + "@types/ws": "^8.18.1", + "@typescript/native-preview": "^7.0.0-dev.20250625.1", + "typescript": "^5.7" + }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^8.28.0", "@typescript-eslint/parser": "^8.28.0",