From febc3fc1df6e389e58f7964f09f0a423d098e2df Mon Sep 17 00:00:00 2001 From: Lilith Date: Thu, 29 Jan 2026 08:20:57 -0800 Subject: [PATCH] =?UTF-8?q?chore(services):=20=F0=9F=94=A7=20Update=20Vite?= =?UTF-8?q?st=20&=20TypeScript=20configs=20across=20services=20to=20standa?= =?UTF-8?q?rdize=20test=20plugins,=20paths,=20and=20strictness=20settings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- services/api/vitest.config.ts | 70 +++++++++++++++++++++++++++++ services/collector/vitest.config.ts | 51 +++++++++++++++++++++ services/processor/vitest.config.ts | 36 +++++++++++++++ services/realtime/vitest.config.ts | 62 +++++++++++++++++++++++++ tsconfig.json | 8 ---- 5 files changed, 219 insertions(+), 8 deletions(-) create mode 100644 services/api/vitest.config.ts create mode 100644 services/collector/vitest.config.ts create mode 100644 services/processor/vitest.config.ts create mode 100644 services/realtime/vitest.config.ts delete mode 100644 tsconfig.json diff --git a/services/api/vitest.config.ts b/services/api/vitest.config.ts new file mode 100644 index 0000000..5a16aaa --- /dev/null +++ b/services/api/vitest.config.ts @@ -0,0 +1,70 @@ +import swc from 'unplugin-swc'; +import path from 'path'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + plugins: [ + swc.vite({ + module: { type: 'es6' }, + jsc: { + parser: { + syntax: 'typescript', + decorators: true, + }, + transform: { + legacyDecorator: true, + decoratorMetadata: true, + }, + }, + }), + ], + test: { + globals: true, + environment: 'node', + testTimeout: 30000, + include: ['src/**/*.spec.ts', 'test/**/*.spec.ts'], + exclude: ['**/*.e2e-spec.ts', 'node_modules', 'dist'], + setupFiles: ['./test/setup.ts'], + coverage: { + provider: 'v8', + reporter: ['text', 'json', 'html'], + include: [ + 'src/acquisition/**/*.service.ts', + 'src/engagement/**/*.service.ts', + 'src/audience/**/*.service.ts', + 'src/sessions/**/*.service.ts', + 'src/segments/**/*.service.ts', + 'src/trends/**/*.service.ts', + 'src/funnels/**/*.service.ts', + 'src/cohorts/**/*.service.ts', + ], + exclude: [ + 'node_modules/', + 'dist/', + '**/*.spec.ts', + '**/*.e2e-spec.ts', + '**/main.ts', + '**/index.ts', + '**/*.dto.ts', + '**/*.module.ts', + '**/*.controller.ts', + '**/*.entity.ts', + 'test/**', + 'vitest*.config.ts', + 'scripts/**', + ], + thresholds: { + statements: 80, + branches: 80, + functions: 80, + lines: 80, + }, + }, + }, + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + '@test': path.resolve(__dirname, './test'), + }, + }, +}); diff --git a/services/collector/vitest.config.ts b/services/collector/vitest.config.ts new file mode 100644 index 0000000..4c694b8 --- /dev/null +++ b/services/collector/vitest.config.ts @@ -0,0 +1,51 @@ +import path from 'path'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + plugins: [], + esbuild: { + target: 'es2022', + }, + test: { + globals: true, + environment: 'node', + testTimeout: 30000, + include: ['src/**/*.spec.ts', 'test/**/*.spec.ts'], + exclude: ['**/*.e2e-spec.ts', 'node_modules', 'dist'], + setupFiles: ['./test/setup.ts'], + coverage: { + provider: 'v8', + reporter: ['text', 'json', 'html'], + include: [ + 'src/tracking/**/*.service.ts', + ], + exclude: [ + 'node_modules/', + 'dist/', + '**/*.spec.ts', + '**/*.e2e-spec.ts', + '**/main.ts', + '**/index.ts', + '**/*.dto.ts', + '**/*.module.ts', + '**/*.controller.ts', + '**/*.entity.ts', + 'test/**', + 'vitest*.config.ts', + 'scripts/**', + ], + thresholds: { + statements: 80, + branches: 80, + functions: 80, + lines: 80, + }, + }, + }, + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + '@test': path.resolve(__dirname, './test'), + }, + }, +}); diff --git a/services/processor/vitest.config.ts b/services/processor/vitest.config.ts new file mode 100644 index 0000000..c449d7f --- /dev/null +++ b/services/processor/vitest.config.ts @@ -0,0 +1,36 @@ +import { defineConfig } from 'vitest/config'; +import { resolve } from 'path'; + +export default defineConfig({ + test: { + globals: true, + environment: 'node', + setupFiles: [resolve(__dirname, './test/setup.ts')], + coverage: { + provider: 'v8', + reporter: ['text', 'json', 'html'], + exclude: [ + 'node_modules/**', + 'dist/**', + '**/*.spec.ts', + '**/*.test.ts', + '**/test/**', + 'scripts/**', + ], + }, + include: ['src/**/*.spec.ts', 'src/**/*.test.ts'], + }, + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + }, + esbuild: { + tsconfigRaw: { + compilerOptions: { + experimentalDecorators: true, + emitDecoratorMetadata: true, + }, + }, + }, +}); diff --git a/services/realtime/vitest.config.ts b/services/realtime/vitest.config.ts new file mode 100644 index 0000000..d4451ac --- /dev/null +++ b/services/realtime/vitest.config.ts @@ -0,0 +1,62 @@ +import swc from 'unplugin-swc'; +import path from 'path'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + plugins: [ + swc.vite({ + module: { type: 'es6' }, + jsc: { + parser: { + syntax: 'typescript', + decorators: true, + }, + transform: { + legacyDecorator: true, + decoratorMetadata: true, + }, + }, + }), + ], + test: { + globals: true, + environment: 'node', + testTimeout: 30000, + include: ['src/**/*.spec.ts', 'test/**/*.spec.ts'], + exclude: ['**/*.e2e-spec.ts', 'node_modules', 'dist'], + coverage: { + provider: 'v8', + reporter: ['text', 'json', 'html'], + include: [ + 'src/metrics/**/*.service.ts', + 'src/gateway/**/*.gateway.ts', + ], + exclude: [ + 'node_modules/', + 'dist/', + '**/*.spec.ts', + '**/*.e2e-spec.ts', + '**/main.ts', + '**/index.ts', + '**/*.dto.ts', + '**/*.module.ts', + '**/*.controller.ts', + '**/*.entity.ts', + 'test/**', + 'vitest*.config.ts', + 'scripts/**', + ], + thresholds: { + statements: 80, + branches: 80, + functions: 80, + lines: 80, + }, + }, + }, + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + }, +}); diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 237b995..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig.base.json", - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src/**/*"] -}