36 lines
869 B
TypeScript
36 lines
869 B
TypeScript
import { fileURLToPath } from 'node:url';
|
|
import { defineConfig } from 'vitest/config';
|
|
|
|
import { jsdomProject, nodeProject } from '@spoon/vitest-config';
|
|
|
|
const srcRoot = fileURLToPath(new URL('./src', import.meta.url));
|
|
const setupFile = fileURLToPath(new URL('./tests/setup.ts', import.meta.url));
|
|
const alias = {
|
|
'~': srcRoot,
|
|
'~/': `${srcRoot}/`,
|
|
};
|
|
|
|
const componentProject = jsdomProject('component', [
|
|
'tests/component/**/*.test.{ts,tsx}',
|
|
]);
|
|
|
|
export default defineConfig({
|
|
resolve: {
|
|
alias,
|
|
},
|
|
test: {
|
|
projects: [
|
|
nodeProject('unit', ['tests/unit/**/*.test.{ts,tsx}']),
|
|
nodeProject('integration', ['tests/integration/**/*.test.{ts,tsx}']),
|
|
{
|
|
...componentProject,
|
|
resolve: { alias },
|
|
test: {
|
|
...componentProject.test,
|
|
setupFiles: [setupFile],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
});
|