mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-06-22 04:11:55 +10:00
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import type { ViteUserConfig } from "vitest/config";
|
|
import type { VitestEnvironment } from "vitest/node";
|
|
import { fileURLToPath } from "node:url";
|
|
import { defineConfig } from "vitest/config";
|
|
|
|
const workspaceRoot = fileURLToPath(new URL(".", import.meta.url));
|
|
const setupFile = fileURLToPath(new URL("./vitest.setup.ts", import.meta.url));
|
|
|
|
type VitestProjectOptions = {
|
|
name: string;
|
|
dirname: string;
|
|
environment?: VitestEnvironment;
|
|
plugins?: ViteUserConfig["plugins"];
|
|
};
|
|
|
|
export const createVitestProjectConfig = ({
|
|
name,
|
|
dirname,
|
|
environment = "node",
|
|
plugins = [],
|
|
}: VitestProjectOptions) =>
|
|
defineConfig({
|
|
root: dirname,
|
|
envDir: workspaceRoot,
|
|
resolve: { tsconfigPaths: true },
|
|
plugins,
|
|
test: {
|
|
name,
|
|
environment,
|
|
environmentOptions: {
|
|
happyDOM: {
|
|
settings: {
|
|
disableJavaScriptFileLoading: true,
|
|
disableCSSFileLoading: true,
|
|
navigation: {
|
|
disableMainFrameNavigation: true,
|
|
disableChildFrameNavigation: true,
|
|
disableChildPageNavigation: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
setupFiles: [setupFile],
|
|
include: ["src/**/*.{test,spec}.?(c|m)[jt]s?(x)"],
|
|
exclude: ["node_modules", "dist", ".output", "coverage", "reports"],
|
|
pool: "threads",
|
|
isolate: false,
|
|
passWithNoTests: true,
|
|
coverage: {
|
|
provider: "v8",
|
|
reportsDirectory: "coverage",
|
|
reporter: ["text", "text-summary", "json-summary", "json", "lcov", "html"],
|
|
include: ["src/**/*.{ts,tsx}"],
|
|
exclude: ["src/**/*.{test,spec}.*", "src/**/*.d.ts", "src/routeTree.gen.ts"],
|
|
reportOnFailure: true,
|
|
},
|
|
},
|
|
});
|