UNPKG

ai-functions

Version:

Core AI primitives for building intelligent applications

63 lines (57 loc) 1.56 kB
import { defineConfig } from 'vitest/config' import { config } from 'dotenv' import { resolve } from 'path' import { existsSync } from 'fs' // Load .env from current directory, parent directories, and root // This supports primitives being used as a submodule const envPaths = [ resolve(process.cwd(), '.env'), resolve(process.cwd(), '..', '.env'), resolve(process.cwd(), '..', '..', '.env'), resolve(process.cwd(), '..', '..', '..', '.env'), ] for (const envPath of envPaths) { if (existsSync(envPath)) { config({ path: envPath }) } } export default defineConfig({ test: { // CRITICAL: Limit concurrency to prevent resource exhaustion maxConcurrency: 1, maxWorkers: 1, minWorkers: 1, fileParallelism: false, globals: false, environment: 'node', include: ['test/**/*.test.ts'], // Exclude runtime-specific tests (use separate configs) exclude: [ 'test/rpc/workers/**', 'test/rpc/bun/**', 'node_modules/**', ], testTimeout: 60000, // AI calls can take time hookTimeout: 30000, // Run tests sequentially to avoid rate limiting pool: 'forks', poolOptions: { forks: { singleFork: true, }, }, // Coverage configuration coverage: { provider: 'v8', reporter: ['text', 'json', 'html'], include: ['src/**/*.ts'], exclude: ['**/*.test.ts', '**/__tests__/**', '**/node_modules/**'], thresholds: { statements: 65, branches: 60, functions: 60, lines: 65, }, }, }, })