-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathvitest.default.config.ts
More file actions
59 lines (56 loc) · 1.61 KB
/
vitest.default.config.ts
File metadata and controls
59 lines (56 loc) · 1.61 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
import path from "node:path"
import {defineConfig} from "vitest/config"
type VitestDefaultConfigOptions = {
workspaceRoot: string;
setupFiles?: Array<string>;
aliasOverrides?: Record<string, string>;
inlineDeps?: Array<string>;
}
export function createVitestConfig(options: VitestDefaultConfigOptions) {
const {workspaceRoot, setupFiles = [], aliasOverrides = {}, inlineDeps = []} = options
return defineConfig({
resolve: {
alias: [
{find: /^(\\.{1,2}\/.*)\.js$/, replacement: "$1"},
{
find: "@pfp-common/testing",
replacement: path.resolve(workspaceRoot, "packages/common/testing/lib/index.js")
},
{
find: "@pfp-common/utilities",
replacement: path.resolve(workspaceRoot, "packages/common/utilities/lib/index.js")
},
...Object.entries(aliasOverrides).map(([find, replacement]) => ({
find,
replacement: path.resolve(workspaceRoot, replacement)
}))
]
},
test: {
clearMocks: true,
coverage: {
exclude: [
"**/node_modules/**",
"**/lib/**",
"**/coverage/**",
"**/tests/**",
"**/*.config.ts",
"**/*.d.ts",
"**/vitest.default.config.ts"
],
provider: "v8",
reportsDirectory: "coverage",
reporter: ["text", "lcov", "json", "clover"]
},
environment: "node",
globals: true,
include: ["tests/*.test.ts"],
server: {
deps: {
inline: ["@nhsdigital/eps-spine-client", /@middy/, ...inlineDeps]
}
},
setupFiles
}
})
}