Repository navigation
Expand file tree
/
Copy pathvitest.config.ts
More file actions
90 lines (89 loc) · 3.57 KB
/
Copy pathvitest.config.ts
File metadata and controls
90 lines (89 loc) · 3.57 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/// <reference types="vitest" />
import { defineConfig } from "vite";
import { configDefaults } from "vitest/config";
import react from "@vitejs/plugin-react";
// Separate vitest config that omits the @tailwindcss/vite plugin.
// The tailwindcss plugin requires a native binary (@tailwindcss/oxide)
// that is not needed during unit tests (jsdom environment).
export default defineConfig({
plugins: [react()],
test: {
globals: true,
environment: "jsdom",
setupFiles: "./src/test/setup.ts",
// Playwright owns the e2e/ specs; keep them out of the vitest run.
exclude: [...configDefaults.exclude, "e2e/**"],
coverage: {
provider: "v8",
reporter: ["text", "json", "html"],
include: [
// Public landing page and its lazy-section infrastructure
"src/pages/Home.tsx",
"src/components/GlowingDot.tsx",
"src/components/GetStartedCTA.tsx",
"src/components/InputField.tsx",
"src/components/InputWithUnit.tsx",
"src/components/NewsletterSection.tsx",
"src/components/ZeroAccrualBanner.tsx",
"src/components/useModalAccessibility.ts",
"src/components/navigation/NavLink.tsx",
"src/components/navigation/ThemeSegmentedControl.tsx",
"src/components/RecentStreams.tsx",
"src/components/StreamsLoading.tsx",
"src/components/ToastNotification.tsx",
"src/components/TreasuryOverviewLoading.tsx",
"src/components/WalletIcon.tsx",
"src/components/treasuryOverviewPage/MetricCard.tsx",
"src/components/treasuryOverviewPage/StatusPill.tsx",
"src/components/treasuryOverviewPage/Metrics.tsx",
"src/components/treasuryOverviewPage/RecentStreams.tsx",
"src/components/treasuryOverviewPage/StreamRow.tsx",
"src/components/treasuryOverviewPage/useTreasury.ts",
"src/components/wallet-connect/Walletbutton.tsx",
"src/data/streamRecords.ts",
"src/fixtures/malformedStreamRecords.ts",
"src/lib/formatters.ts",
"src/lib/config.ts",
"src/lib/stellarNetwork.ts",
"src/lib/stellar.ts",
"src/lib/api/newsletterService.ts",
"src/lib/recentStreamMapper.ts",
"src/lib/sorobanTxStatus.ts",
"src/theme/ThemeProvider.tsx",
"src/theme/themeBootstrap.ts",
// Colour-blind simulation module
"src/components/colorBlindSimulation/ColorBlindSimulationProvider.tsx",
"src/components/colorBlindSimulation/ColorBlindToggle.tsx",
// Contrast utilities
"src/utils/contrastUtils.ts",
// Dynamic favicon badge
"src/utils/faviconBadge.ts",
// Activity Heatmap
"src/components/treasuryOverviewPage/ActivityHeatmap.tsx",
// Treasury flow Sankey diagram
"src/components/treasuryOverviewPage/TreasuryFlowSankey.tsx",
// Presence feature
"src/components/presence/PresenceBadge.tsx",
"src/components/presence/PresenceViewerList.tsx",
"src/hooks/usePresenceViewers.ts",
"src/hooks/useEmbedAccessibility.ts",
// CSV bulk-upload feature
"src/components/csv-upload/csvParser.ts",
"src/components/csv-upload/CsvDropZone.tsx",
"src/components/csv-upload/ColumnMappingStep.tsx",
"src/components/csv-upload/PreviewValidateStep.tsx",
],
exclude: [
"src/components/**/*.test.tsx",
"src/theme/**/__tests__/**",
"src/components/colorBlindSimulation/__tests__/**",
],
thresholds: {
lines: 95,
functions: 95,
branches: 95,
statements: 95,
},
},
},
});