Files
automaker/apps/server/vitest.config.ts
Kacper 2f51991558 refactor: use Vitest projects config instead of deprecated workspace
- Add root vitest.config.ts with projects array (replaces deprecated workspace)
- Add name property to each project's vitest.config.ts for filtering
- Update package.json test scripts to use vitest projects
- Add vitest to root devDependencies

This addresses the Vitest warning about multiple configs impacting
performance by running all projects in a single Vitest process.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 14:45:33 +01:00

63 lines
2.3 KiB
TypeScript

import { defineConfig } from 'vitest/config';
import path from 'path';
export default defineConfig({
test: {
name: 'server',
reporters: ['verbose'],
globals: true,
environment: 'node',
setupFiles: ['./tests/setup.ts'],
coverage: {
provider: 'v8',
reporter: ['text', 'json', 'html', 'lcov'],
include: ['src/**/*.ts'],
exclude: [
'src/**/*.d.ts',
'src/index.ts',
'src/routes/**', // Routes are better tested with integration tests
'src/types/**', // Type re-exports don't need coverage
'src/middleware/**', // Middleware needs integration tests
'src/lib/enhancement-prompts.ts', // Prompt templates don't need unit tests
'src/services/claude-usage-service.ts', // TODO: Add tests for usage tracking
'src/services/mcp-test-service.ts', // Needs MCP SDK integration tests
'src/providers/index.ts', // Just exports
'src/providers/types.ts', // Type definitions
'src/providers/cli-provider.ts', // CLI integration - needs integration tests
'src/providers/cursor-provider.ts', // Cursor CLI integration - needs integration tests
'**/libs/**', // Exclude aliased shared packages from server coverage
],
thresholds: {
// Coverage thresholds
lines: 60,
functions: 75,
branches: 55,
statements: 60,
},
},
include: ['tests/**/*.test.ts', 'tests/**/*.spec.ts'],
exclude: ['**/node_modules/**', '**/dist/**'],
mockReset: true,
restoreMocks: true,
clearMocks: true,
},
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
// Resolve shared packages to source files for proper mocking in tests
'@automaker/utils': path.resolve(__dirname, '../../libs/utils/src/index.ts'),
'@automaker/platform': path.resolve(__dirname, '../../libs/platform/src/index.ts'),
'@automaker/types': path.resolve(__dirname, '../../libs/types/src/index.ts'),
'@automaker/model-resolver': path.resolve(
__dirname,
'../../libs/model-resolver/src/index.ts'
),
'@automaker/dependency-resolver': path.resolve(
__dirname,
'../../libs/dependency-resolver/src/index.ts'
),
'@automaker/git-utils': path.resolve(__dirname, '../../libs/git-utils/src/index.ts'),
},
},
});