import * as path from 'path';
import { loadEnv } from 'vite';
import topLevelAwait from 'vite-plugin-top-level-await';
import wasm from 'vite-plugin-wasm';
import { defineConfig } from 'vitest/config';
const exclude = [
'**/.simulation/**', '**/.venv/**', '**/fixtures/**', 'chat-lib/**',
'**/node_modules/**', '**/dist/**', '**/cypress/**', '**/.{idea,git,cache,output,temp}/**', '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
];
export default defineConfig(({ mode }) => ({
test: {
include: ['**/*.spec.ts', '**/*.spec.tsx'],
exclude,
env: loadEnv(mode, process.cwd(), ''),
alias: {
'vscode': path.resolve(__dirname, 'src/util/common/test/shims/vscodeTypesShim.ts'),
}
},
server: {
watch: {
ignored: exclude,
}
},
plugins: [
wasm(),
topLevelAwait()
]
}));