From fa3d0f4c8c2fde7b744f61ae7acfdeff8bf04a3c Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Mon, 23 Mar 2026 17:09:55 +0100 Subject: [PATCH] chore(version): migrate to NestJS Signed-off-by: William Phetsinorath --- apps/server-nestjs/src/main.module.ts | 3 ++- .../src/modules/version/version.controller.ts | 15 +++++++++++++++ .../src/modules/version/version.module.ts | 9 +++++++++ packages/shared/package.json | 4 ++-- packages/test-utils/package.json | 4 ++-- pnpm-lock.yaml | 3 --- 6 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 apps/server-nestjs/src/modules/version/version.controller.ts create mode 100644 apps/server-nestjs/src/modules/version/version.module.ts diff --git a/apps/server-nestjs/src/main.module.ts b/apps/server-nestjs/src/main.module.ts index 5b9900c9e0..c92e41621a 100644 --- a/apps/server-nestjs/src/main.module.ts +++ b/apps/server-nestjs/src/main.module.ts @@ -1,9 +1,10 @@ import { Module } from '@nestjs/common' import { CpinModule } from './cpin-module/cpin.module' import { HealthzModule } from './modules/healthz/healthz.module' +import { VersionModule } from './modules/version/version.module' @Module({ - imports: [CpinModule, HealthzModule], + imports: [CpinModule, HealthzModule, VersionModule], controllers: [], providers: [], }) diff --git a/apps/server-nestjs/src/modules/version/version.controller.ts b/apps/server-nestjs/src/modules/version/version.controller.ts new file mode 100644 index 0000000000..f93835e00e --- /dev/null +++ b/apps/server-nestjs/src/modules/version/version.controller.ts @@ -0,0 +1,15 @@ +import { Controller, Get, Inject } from '@nestjs/common' +import { ConfigurationService } from '../../cpin-module/infrastructure/configuration/configuration.service' + +@Controller('api/v1/version') +export class VersionController { + constructor( + @Inject(ConfigurationService) + private readonly config: ConfigurationService, + ) {} + + @Get() + getVersion() { + return { version: this.config.appVersion } + } +} diff --git a/apps/server-nestjs/src/modules/version/version.module.ts b/apps/server-nestjs/src/modules/version/version.module.ts new file mode 100644 index 0000000000..901c94994a --- /dev/null +++ b/apps/server-nestjs/src/modules/version/version.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common' +import { ConfigurationModule } from '../../cpin-module/infrastructure/configuration/configuration.module' +import { VersionController } from './version.controller' + +@Module({ + imports: [ConfigurationModule], + controllers: [VersionController], +}) +export class VersionModule {} diff --git a/packages/shared/package.json b/packages/shared/package.json index 509d6a5345..f225e34c1f 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -20,11 +20,12 @@ ], "scripts": { "build": "tsc", - "build:clean": "rimraf ./dist ./types ./tsconfig.tsbuildinfo", + "build:clean": "node --input-type=module -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true }); rmSync('types', { recursive: true, force: true }); rmSync('tsconfig.tsbuildinfo', { force: true });\"", "dev": "nodemon --watch src --ext .ts --exec 'pnpm run build'", "format": "eslint ./ --fix", "kube:e2e-ci": "echo 'check cache'", "lint": "eslint ./", + "pretest": "pnpm run build", "test": "vitest run", "test:cov": "vitest run --coverage", "test:e2e-ci": "echo 'check cache'", @@ -43,7 +44,6 @@ "@types/node": "^24.12.0", "@vitest/coverage-v8": "^2.1.9", "nodemon": "^3.1.14", - "rimraf": "^6.1.3", "typescript": "5.7.2", "vite": "^7.3.1", "vite-node": "^2.1.9", diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 83a00b3e38..fba4812e02 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -17,10 +17,11 @@ ], "scripts": { "build": "tsc", - "build:clean": "rimraf ./dist ./types ./tsconfig.tsbuildinfo", + "build:clean": "node --input-type=module -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true }); rmSync('types', { recursive: true, force: true }); rmSync('tsconfig.tsbuildinfo', { force: true });\"", "format": "eslint ./ --fix", "kube:e2e-ci": "echo 'check cache'", "lint": "eslint ./", + "test": "pnpm run build", "test:e2e-ci": "echo 'check cache'" }, "dependencies": { @@ -31,7 +32,6 @@ "@cpn-console/eslint-config": "workspace:^", "@cpn-console/ts-config": "workspace:^", "@types/node": "^24.12.0", - "rimraf": "^6.1.3", "typescript": "^5.9.3" }, "publishConfig": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac3ffd6729..6677ac7b13 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -673,9 +673,6 @@ importers: nodemon: specifier: ^3.1.14 version: 3.1.14 - rimraf: - specifier: ^6.1.3 - version: 6.1.3 typescript: specifier: 5.7.2 version: 5.7.2