Skip to content

Commit ec7b3c9

Browse files
committed
refactor: extend common vitest config between test projects
1 parent 14e35c7 commit ec7b3c9

File tree

2 files changed

+22
-22
lines changed

2 files changed

+22
-22
lines changed

packages/mcp-server-supabase/vitest.config.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,25 @@
1-
import { defineConfig, configDefaults } from 'vitest/config';
1+
import { readFile } from 'fs/promises';
2+
import { Plugin } from 'vite';
3+
import { configDefaults, defineConfig } from 'vitest/config';
4+
5+
function sqlLoaderPlugin(): Plugin {
6+
return {
7+
name: 'sql-loader',
8+
async transform(code, id) {
9+
if (id.endsWith('.sql')) {
10+
const textContent = await readFile(id, 'utf8');
11+
return `export default ${JSON.stringify(textContent)};`;
12+
}
13+
return code;
14+
},
15+
};
16+
}
217

318
export default defineConfig({
19+
plugins: [sqlLoaderPlugin()],
420
test: {
21+
setupFiles: ['./vitest.setup.ts'],
22+
testTimeout: 30_000, // PGlite can take a while to initialize
523
coverage: {
624
reporter: ['text', 'lcov'],
725
reportsDirectory: 'test/coverage',
Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,26 @@
1-
import { readFile } from 'fs/promises';
2-
import { Plugin } from 'vite';
31
import { defineWorkspace } from 'vitest/config';
42

5-
function sqlLoaderPlugin(): Plugin {
6-
return {
7-
name: 'sql-loader',
8-
async transform(code, id) {
9-
if (id.endsWith('.sql')) {
10-
const textContent = await readFile(id, 'utf8');
11-
return `export default ${JSON.stringify(textContent)};`;
12-
}
13-
return code;
14-
},
15-
};
16-
}
17-
183
export default defineWorkspace([
194
{
20-
plugins: [sqlLoaderPlugin()],
5+
extends: './vitest.config.ts',
216
test: {
227
name: 'unit',
238
include: ['src/**/*.{test,spec}.ts'],
24-
setupFiles: ['./vitest.setup.ts'],
25-
testTimeout: 30_000, // PGlite can take a while to initialize
269
},
2710
},
2811
{
29-
plugins: [sqlLoaderPlugin()],
12+
extends: './vitest.config.ts',
3013
test: {
3114
name: 'e2e',
3215
include: ['test/**/*.e2e.ts'],
33-
setupFiles: ['./vitest.setup.ts'],
3416
testTimeout: 60_000,
3517
},
3618
},
3719
{
20+
extends: './vitest.config.ts',
3821
test: {
3922
name: 'integration',
4023
include: ['test/**/*.integration.ts'],
41-
setupFiles: ['./vitest.setup.ts'],
4224
},
4325
},
4426
]);

0 commit comments

Comments
 (0)