-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvitest.config.ts
More file actions
65 lines (61 loc) · 1.75 KB
/
Copy pathvitest.config.ts
File metadata and controls
65 lines (61 loc) · 1.75 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
import { readdirSync } from "node:fs";
import path from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "vitest/config";
const root = path.dirname(fileURLToPath(import.meta.url));
const packagesDir = path.resolve(root, "packages");
const packageAliases = Object.fromEntries(
readdirSync(packagesDir, { withFileTypes: true })
.filter((entry) => entry.isDirectory())
.map((entry) => [
`@ailuracode/alpine-${entry.name}`,
path.resolve(packagesDir, entry.name, "src/index.ts"),
])
);
const subpathAliases: Array<{ find: string | RegExp; replacement: string }> = [
{
find: "@ailuracode/alpine-query-kit/devtools",
replacement: path.resolve(packagesDir, "query-kit/src/devtools-entry.ts"),
},
];
export default defineConfig({
root,
resolve: {
alias: [
...subpathAliases,
...Object.entries(packageAliases).map(([find, replacement]) => ({
find,
replacement,
})),
],
},
test: {
environment: "happy-dom",
setupFiles: [path.join(root, "test/setup.ts")],
include: [
path.join(root, "packages/*/test/**/*.{test,spec}.ts"),
path.join(root, "apps/demo/test/**/*.test.ts"),
path.join(root, "test/**/*.test.ts"),
],
exclude: [
"**/node_modules/**",
"**/dist/**",
"**/e2e/**",
"**/playwright-report/**",
"**/test-results/**",
],
coverage: {
provider: "v8",
reporter: ["text", "html", "json", "json-summary"],
reportsDirectory: "./coverage",
include: ["packages/*/src/**/*.ts"],
exclude: ["**/*.d.ts", "**/types.ts", "**/events.ts", "**/index.ts"],
thresholds: {
lines: 85,
functions: 80,
branches: 75,
statements: 85,
},
},
},
});