From 3d24260419cd347de133f8d7d380d318ddd0708e Mon Sep 17 00:00:00 2001 From: Agent Date: Fri, 18 Sep 2026 10:32:09 -0400 Subject: [PATCH] Remove unused/misplaced dependencies (bcrypt, express-ws, ts-node-dev, @types/node) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove bcrypt (^5.1.1) — no imports anywhere in source - Remove express-ws (^5.0.2) — no imports (server uses REST + welshman) - Remove ts-node-dev (^2.0.0) — deprecated, replaced by tsx, was in deps - Remove @types/express-ws (dev) — no longer needed without express-ws - Move @types/node (^22.18.1) from dependencies → devDependencies - Prune bcrypt from pnpm.onlyBuiltDependencies list All quality gates pass: tsc --noEmit, eslint, build, and 16 unit tests. --- package.json | 7 +------ pnpm-lock.yaml | Bin 172089 -> 160729 bytes 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/package.json b/package.json index 306a4b7..d470759 100644 --- a/package.json +++ b/package.json @@ -18,9 +18,9 @@ "@eslint/js": "^9.35.0", "@types/better-sqlite3": "^7.6.13", "@types/express": "^5.0.3", - "@types/express-ws": "^3.0.5", "@types/mjml": "^4.7.4", "@types/mustache": "^4.2.6", + "@types/node": "^22.18.1", "@types/nodemailer": "^8.0.1", "@types/sanitize-html": "^2.16.0", "@types/ws": "^8.18.1", @@ -34,7 +34,6 @@ "vitest": "^5.0.0" }, "dependencies": { - "@types/node": "^22.18.1", "@welshman/content": "^0.6.3", "@welshman/feeds": "^0.6.3", "@welshman/lib": "^0.6.3", @@ -43,13 +42,11 @@ "@welshman/signer": "^0.6.3", "@welshman/store": "^0.6.3", "@welshman/util": "^0.6.3", - "bcrypt": "^5.1.1", "cron": "^4.3.3", "cron-parser": "^5.3.1", "dotenv": "^16.6.1", "express": "^4.21.2", "express-rate-limit": "^7.5.1", - "express-ws": "^5.0.2", "localstorage-polyfill": "^1.0.1", "mjml": "^4.15.3", "mustache": "^4.2.0", @@ -58,12 +55,10 @@ "sanitize-html": "^2.17.0", "sqlite3": "^5.1.7", "succinct-async": "^1.0.4", - "ts-node-dev": "^2.0.0", "ws": "^8.18.3" }, "pnpm": { "onlyBuiltDependencies": [ - "bcrypt", "sqlite3" ] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f444b0528ec9a5b99489fa6cd9b34333329db50d..95b78b8326b9a13cf33c646aa7ba4054dd9a807b 100644 GIT binary patch delta 776 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