From 5e3001b9bf49b1e1610a3902ef195d6bf4c09511 Mon Sep 17 00:00:00 2001 From: Wind-Explorer Date: Fri, 20 Mar 2026 03:07:25 +0800 Subject: [PATCH] attempt to fix version number display in prod --- Dockerfile | 1 + src/app.service.ts | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6d65b7e..d0868a5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,4 +12,5 @@ COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/prisma ./prisma COPY --from=builder /app/prisma.config.ts ./prisma.config.ts +COPY --from=builder /app/package.json ./package.json CMD ["node", "dist/src/main.js"] diff --git a/src/app.service.ts b/src/app.service.ts index f748c34..927cb09 100644 --- a/src/app.service.ts +++ b/src/app.service.ts @@ -1,8 +1,19 @@ import { Injectable } from '@nestjs/common'; +import { readFileSync } from 'fs'; +import { join } from 'path'; import { PrismaService } from './database/prisma.service'; -const appVersion = - process.env.APP_VERSION ?? process.env.npm_package_version ?? 'unknown'; +const appVersion = (() => { + if (process.env.APP_VERSION) return process.env.APP_VERSION; + try { + const pkg = JSON.parse( + readFileSync(join(__dirname, '../../package.json'), 'utf-8'), + ) as { version: string }; + return pkg.version; + } catch { + return 'unknown'; + } +})(); export type DatabaseHealth = 'OK' | 'DOWN';