From 9da96d7af90feafe42f77d95d413d710f57d50f3 Mon Sep 17 00:00:00 2001 From: elpatron Date: Wed, 1 Oct 2025 22:05:01 +0200 Subject: [PATCH] =?UTF-8?q?build(server):=20separater=20TS-Build=20f=C3=BC?= =?UTF-8?q?r=20Server=20(server-dist)=20und=20Runtime=20auf=20Node=20JS=20?= =?UTF-8?q?statt=20ts-node;=20Dockerfile=20startet=20server-dist/index.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 5 +++-- package.json | 2 +- tsconfig.server.build.json | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 tsconfig.server.build.json diff --git a/Dockerfile b/Dockerfile index d84190f..b00d16f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,6 +36,7 @@ RUN pnpm install --frozen-lockfile --prod # Copy built application from base stage COPY --from=base /app/dist ./dist +COPY --from=base /app/server-dist ./server-dist # Copy necessary files for runtime COPY --from=base /app/src/server/index.ts ./src/server/index.ts @@ -60,5 +61,5 @@ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD node -e "require('http').get('http://localhost:3000/health', (res) => { process.exit(res.statusCode === 200 ? 0 : 1) })" || exit 1 # Start the application with ts-node and dedicated tsconfig for NodeNext -ENV TS_NODE_PROJECT=tsconfig.server.json -CMD ["node", "--loader", "ts-node/esm", "src/server/index.ts"] +# Start the precompiled server JS (kein ts-node im Runtime) +CMD ["node", "server-dist/index.js"] diff --git a/package.json b/package.json index a046ebe..d87ea15 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "check:types": "tsc --noEmit", "dev": "vite", - "build": "tsc -b && vite build", + "build": "tsc -b && vite build && tsc -p tsconfig.server.build.json", "lint": "eslint .", "lint:fix": "eslint . --fix", "preview": "vite preview" diff --git a/tsconfig.server.build.json b/tsconfig.server.build.json new file mode 100644 index 0000000..484e34d --- /dev/null +++ b/tsconfig.server.build.json @@ -0,0 +1,18 @@ +{ + "extends": "./tsconfig.server.json", + "compilerOptions": { + "noEmit": false, + "outDir": "server-dist", + "sourceMap": false, + "declaration": false, + "module": "NodeNext", + "moduleResolution": "NodeNext", + "target": "ES2022" + }, + "include": [ + "src/server/**/*.ts", + "src/server/**/*.tsx" + ] +} + +