-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathvitest.config.ts
More file actions
56 lines (54 loc) · 1.74 KB
/
vitest.config.ts
File metadata and controls
56 lines (54 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import { resolve } from "path";
import { defineConfig } from "vitest/config";
// Detect if running in UI mode (vitest --ui launches web-based test dashboard)
const isUIMode = process.argv.includes("--ui");
export default defineConfig({
// Base URL path for Vitest UI - simpler path for better stability
base: "/",
resolve: {
alias: {
"@helpers": resolve(__dirname, "./helpers"),
"@chaos": resolve(__dirname, "./chaos"),
"@forks": resolve(__dirname, "./forks"),
"@workers": resolve(__dirname, "./workers"),
"@network-stability": resolve(__dirname, "./network-stability"),
"@scripts": resolve(__dirname, "./scripts"),
"@inboxes": resolve(__dirname, "./inboxes"),
"@bots": resolve(__dirname, "./agents/bots"),
"@versions": resolve(__dirname, "./versions"),
"@agents": resolve(__dirname, "./agents"),
},
},
test: {
globals: true,
reporters: isUIMode ? [["default", { summary: false }]] : ["default"],
environment: "node",
watch: false,
// Reduce timeouts for UI mode to prevent hanging
testTimeout: isUIMode ? 300000 : 6000000, // 5min vs 100min
hookTimeout: isUIMode ? 60000 : 6000000, // 1min vs 100min
pool: "threads",
poolOptions: {
singleThread: true,
// Limit memory usage in UI mode
...(isUIMode && {
maxThreads: 1,
minThreads: 1,
}),
},
api: {
host: "0.0.0.0",
port: 51204,
},
dangerouslyIgnoreUnhandledErrors: true,
// UI-specific optimizations
...(isUIMode && {
// Skip console logs entirely in UI mode to reduce noise
onConsoleLog: () => false,
// Limit concurrent tests
maxConcurrency: 1,
// Enable test isolation
isolate: true,
}),
},
});