From 262ee58b6c408276726af842b1d1a1e7417dee64 Mon Sep 17 00:00:00 2001 From: Script Generator Date: Mon, 6 Jul 2026 16:54:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(server):=20=E5=A3=B0=E6=98=8E=20express=20?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E6=97=B6=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/server/package.json | 1 + pnpm-lock.yaml | 3 +++ scripts/verify-production-deploy.mjs | 25 +++++++++++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/apps/server/package.json b/apps/server/package.json index 86578e2..3a7adf8 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -26,6 +26,7 @@ "@prisma/client": "^5.15.0", "class-transformer": "^0.5.1", "class-validator": "^0.15.1", + "express": "^4.22.1", "openai": "^4.104.0", "reflect-metadata": "^0.2.0", "rxjs": "^7.8.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c09eca0..bc4f4b2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,6 +44,9 @@ importers: class-validator: specifier: ^0.15.1 version: 0.15.1 + express: + specifier: ^4.22.1 + version: 4.22.1 openai: specifier: ^4.104.0 version: 4.104.0 diff --git a/scripts/verify-production-deploy.mjs b/scripts/verify-production-deploy.mjs index 3579b9a..bb238d3 100644 --- a/scripts/verify-production-deploy.mjs +++ b/scripts/verify-production-deploy.mjs @@ -4,6 +4,13 @@ import { fileURLToPath } from 'node:url'; const root = dirname(fileURLToPath(new URL('../package.json', import.meta.url))); +const requiredRuntimeDependencies = [ + { + packageFile: 'apps/server/package.json', + dependencies: ['express'], + }, +]; + const checks = [ { file: 'Dockerfile.web', @@ -137,6 +144,24 @@ for (const check of checks) { } } +for (const check of requiredRuntimeDependencies) { + const abs = join(root, check.packageFile); + if (!existsSync(abs)) { + console.error(`Missing package file: ${check.packageFile}`); + failed = true; + continue; + } + + const pkg = JSON.parse(readFileSync(abs, 'utf8')); + const dependencies = pkg.dependencies ?? {}; + for (const dependency of check.dependencies) { + if (!dependencies[dependency]) { + console.error(`Missing runtime dependency in ${check.packageFile}: ${dependency}`); + failed = true; + } + } +} + if (failed) { process.exit(1); }