basant307/AI_Governance_Project
045
1/**2 * @license3 * Copyright 2025 Google LLC4 * SPDX-License-Identifier: Apache-2.05 */6 7/// <reference types="vitest" />8import { defineConfig } from 'vitest/config';9import path from 'node:path';10 11export default defineConfig({12 resolve: {13 alias: {14 '@qwen-code/qwen-code-core': path.resolve(__dirname, '../core/index.ts'),15 // cli's daemon-status-provider.test.ts imports `FakeAgent` /16 // `makeChannel` from acp-bridge's package-private17 // `internal/testUtils` module. This alias overrides the runtime18 // resolution so vitest reads the .ts source directly instead of19 // the build-then-stale `dist/` copy.20 '@qwen-code/acp-bridge/internal/testUtils': path.resolve(21 __dirname,22 '../acp-bridge/src/internal/testUtils.ts',23 ),24 // Same rationale as above: bridgeErrors and status subpaths25 // resolve to dist/ via package.json exports, but tests in the26 // monorepo worktree need the live source (dist may be stale or27 // absent during development).28 '@qwen-code/acp-bridge/bridgeErrors': path.resolve(29 __dirname,30 '../acp-bridge/src/bridgeErrors.ts',31 ),32 '@qwen-code/acp-bridge/status': path.resolve(33 __dirname,34 '../acp-bridge/src/status.ts',35 ),36 '@qwen-code/acp-bridge/bridge': path.resolve(37 __dirname,38 '../acp-bridge/src/bridge.ts',39 ),40 '@qwen-code/acp-bridge/spawnChannel': path.resolve(41 __dirname,42 '../acp-bridge/src/spawnChannel.ts',43 ),44 '@qwen-code/acp-bridge/ndJsonStream': path.resolve(45 __dirname,46 '../acp-bridge/src/ndJsonStream.ts',47 ),48 '@qwen-code/acp-bridge/logRedaction': path.resolve(49 __dirname,50 '../acp-bridge/src/logRedaction.ts',51 ),52 '@qwen-code/acp-bridge/bridgeClient': path.resolve(53 __dirname,54 '../acp-bridge/src/bridgeClient.ts',55 ),56 '@qwen-code/acp-bridge/bridgeOptions': path.resolve(57 __dirname,58 '../acp-bridge/src/bridgeOptions.ts',59 ),60 '@qwen-code/acp-bridge/bridgeTypes': path.resolve(61 __dirname,62 '../acp-bridge/src/bridgeTypes.ts',63 ),64 '@qwen-code/acp-bridge/bridgeFileSystem': path.resolve(65 __dirname,66 '../acp-bridge/src/bridgeFileSystem.ts',67 ),68 '@qwen-code/acp-bridge/eventBus': path.resolve(69 __dirname,70 '../acp-bridge/src/eventBus.ts',71 ),72 '@qwen-code/acp-bridge/workspacePaths': path.resolve(73 __dirname,74 '../acp-bridge/src/workspacePaths.ts',75 ),76 '@qwen-code/audio-capture': path.resolve(77 __dirname,78 '../audio-capture/src/index.ts',79 ),80 },81 },82 test: {83 include: ['**/*.{test,spec}.?(c|m)[jt]s?(x)', 'config.test.ts'],84 exclude: ['**/node_modules/**', '**/dist/**', '**/cypress/**'],85 environment: 'jsdom',86 globals: true,87 reporters: ['default', 'junit'],88 silent: true,89 outputFile: {90 junit: 'junit.xml',91 },92 setupFiles: ['./test-setup.ts'],93 coverage: {94 enabled: true,95 provider: 'v8',96 reportsDirectory: './coverage',97 include: ['src/**/*'],98 reporter: [99 ['text', { file: 'full-text-summary.txt' }],100 'html',101 'json',102 'lcov',103 'cobertura',104 ['json-summary', { outputFile: 'coverage-summary.json' }],105 ],106 },107 poolOptions: {108 threads: {109 minThreads: 8,110 maxThreads: 16,111 },112 },113 server: {114 deps: {115 inline: [/@qwen-code\/qwen-code-core/],116 },117 },118 },119});120 