fork of hey-api/openapi-ts because I need some additional things
1import { platform } from 'node:os';
2
3import { defineConfig } from 'vitest/config';
4
5export default defineConfig({
6 test: {
7 coverage: {
8 exclude: ['bin', 'dist', 'src/**/*.d.ts'],
9 include: ['src/**/*.ts', 'src/**/*.tsx', 'src/**/*.vue'],
10 provider: 'v8',
11 },
12 globals: true,
13 projects: [
14 'examples/*/vitest.config.ts',
15 {
16 extends: true,
17 test: {
18 name: '@hey-api/codegen-core',
19 root: 'packages/codegen-core',
20 },
21 },
22 {
23 extends: true,
24 test: {
25 globalSetup: ['./src/py-compiler/__tests__/globalTeardown.ts'],
26 name: '@hey-api/openapi-python',
27 root: 'packages/openapi-python',
28 setupFiles: ['./vitest.setup.ts'],
29 },
30 },
31 {
32 extends: true,
33 test: {
34 globalSetup: ['./src/ts-compiler/__tests__/globalTeardown.ts'],
35 name: '@hey-api/openapi-ts',
36 root: 'packages/openapi-ts',
37 setupFiles: ['./vitest.setup.ts'],
38 },
39 },
40 {
41 extends: true,
42 test: {
43 name: '@hey-api/shared',
44 root: 'packages/shared',
45 },
46 },
47 {
48 extends: true,
49 test: {
50 name: '@hey-api/json-schema-ref-parser',
51 root: 'packages/json-schema-ref-parser',
52 },
53 },
54 {
55 extends: true,
56 test: {
57 name: '@test/openapi-ts',
58 root: 'packages/openapi-ts-tests/main',
59 setupFiles: ['./vitest.setup.ts'],
60 },
61 },
62 {
63 extends: true,
64 test: {
65 name: '@test/openapi-ts-nestjs-v11',
66 root: 'packages/openapi-ts-tests/nestjs/v11',
67 setupFiles: ['./vitest.setup.ts'],
68 },
69 },
70 {
71 extends: true,
72 test: {
73 globalSetup: ['./test/globalTeardown.ts'],
74 name: '@test/openapi-ts-orpc-v1',
75 root: 'packages/openapi-ts-tests/orpc/v1',
76 setupFiles: ['./vitest.setup.ts'],
77 },
78 },
79 {
80 extends: true,
81 test: {
82 name: '@test/openapi-ts-sdks',
83 root: 'packages/openapi-ts-tests/sdks',
84 setupFiles: ['./vitest.setup.ts'],
85 },
86 },
87 {
88 extends: true,
89 test: {
90 globalSetup: ['./test/globalTeardown.ts'],
91 name: '@test/openapi-ts-valibot-v1',
92 root: 'packages/openapi-ts-tests/valibot/v1',
93 setupFiles: ['./vitest.setup.ts'],
94 },
95 },
96 {
97 extends: true,
98 test: {
99 name: '@test/openapi-ts-zod-v3',
100 root: 'packages/openapi-ts-tests/zod/v3',
101 setupFiles: ['./vitest.setup.ts'],
102 },
103 },
104 {
105 extends: true,
106 test: {
107 name: '@test/openapi-ts-zod-v4',
108 root: 'packages/openapi-ts-tests/zod/v4',
109 setupFiles: ['./vitest.setup.ts'],
110 },
111 },
112 {
113 extends: true,
114 test: {
115 name: '@test/openapi-python-sdks',
116 root: 'packages/openapi-python-tests/sdks',
117 setupFiles: ['./vitest.setup.ts'],
118 },
119 },
120 {
121 extends: true,
122 test: {
123 name: '@test/openapi-python-pydantic-v2',
124 root: 'packages/openapi-python-tests/pydantic/v2',
125 setupFiles: ['./vitest.setup.ts'],
126 },
127 },
128 {
129 extends: true,
130 test: {
131 name: '@hey-api/custom-client',
132 root: 'packages/custom-client',
133 },
134 },
135 ],
136 testTimeout: platform() === 'win32' ? 10000 : 5000,
137 },
138});