-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathvitest.config.ts
More file actions
128 lines (126 loc) · 3.24 KB
/
Copy pathvitest.config.ts
File metadata and controls
128 lines (126 loc) · 3.24 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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import { defineConfig } from 'vitest/config'
import { playwright } from '@vitest/browser-playwright'
import path from 'node:path'
const repoRoot = __dirname
export default defineConfig({
resolve: {
alias: [
{
find: /^@react-spring\/mock-raf$/,
replacement: path.join(repoRoot, 'packages/mock-raf/index.js'),
},
{
find: /^@react-spring\/parallax$/,
replacement: path.join(repoRoot, 'packages/parallax/src/index.tsx'),
},
{
find: /^@react-spring\/(web|three)$/,
replacement: path.join(repoRoot, 'targets/$1/src/index.ts'),
},
{
find: /^@react-spring\/(.*)$/,
replacement: path.join(repoRoot, 'packages/$1/src/index.ts'),
},
{
find: /^react$/,
replacement: path.join(repoRoot, 'node_modules/react'),
},
],
},
test: {
globals: true,
coverage: {
provider: 'v8',
reporter: ['text', 'html', 'json'],
reportOnFailure: true,
include: [
'packages/animated/src/*.{ts,tsx}',
'packages/core/src/*.{ts,tsx}',
'packages/rafz/src/*.{ts,tsx}',
'packages/shared/src/*.{ts,tsx}',
'targets/web/src/*.{ts,tsx}',
],
exclude: [
'**/*.test.{ts,tsx}',
'**/*.native.{ts,tsx}',
'**/__snapshots__/**',
'**/dist/**',
'**/node_modules/**',
'demo/**',
'docs/**',
'targets/three/**',
'packages/{eslint-config,mock-raf,parallax,types}/**',
'tests/**',
],
thresholds: {
statements: 80,
branches: 74,
functions: 71,
lines: 82,
},
},
projects: [
{
extends: true,
test: {
name: 'unit',
include: [
'packages/**/src/**/*.test.{ts,tsx}',
'targets/**/src/**/*.test.{ts,tsx}',
],
exclude: [
'**/*.native.{ts,tsx}',
'**/node_modules/**',
'**/dist/**',
'**/__snapshots__/**',
],
setupFiles: ['./packages/core/test/setup.ts'],
fakeTimers: {
toFake: [
'setTimeout',
'clearTimeout',
'setInterval',
'clearInterval',
'Date',
'queueMicrotask',
'performance',
],
},
browser: {
enabled: true,
provider: playwright(),
headless: true,
screenshotFailures: false,
instances: [{ browser: 'chromium' }],
},
},
},
{
extends: true,
test: {
name: 'e2e',
include: ['tests/e2e/**/*.spec.{ts,tsx}'],
browser: {
enabled: true,
provider: playwright(),
headless: true,
screenshotFailures: false,
instances: [{ browser: 'chromium' }],
},
},
},
{
extends: true,
test: {
name: 'types',
include: ['packages/**/src/**/*.test-d.{ts,tsx}'],
typecheck: {
enabled: true,
tsconfig: './tsconfig.json',
include: ['packages/**/src/**/*.test-d.{ts,tsx}'],
},
},
},
],
},
})