71 lines
1.7 KiB
TypeScript
71 lines
1.7 KiB
TypeScript
import { defineConfig, UserWorkspaceConfig } from "vitest/config";
|
|
import { languageHashes } from "./vite-plugins/language-hashes";
|
|
import { envConfig } from "./vite-plugins/env-config";
|
|
import solidPlugin from "vite-plugin-solid";
|
|
|
|
const plugins = [
|
|
languageHashes({ skip: true }),
|
|
envConfig({ isDevelopment: true, clientVersion: "TESTING", env: {} }),
|
|
solidPlugin({ hot: false }),
|
|
];
|
|
|
|
export const projects: UserWorkspaceConfig[] = [
|
|
{
|
|
test: {
|
|
name: { label: "unit", color: "blue" },
|
|
include: ["__tests__/**/*.spec.ts"],
|
|
exclude: ["__tests__/**/*.jsdom-spec.ts"],
|
|
environment: "happy-dom",
|
|
globalSetup: "__tests__/global-setup.ts",
|
|
setupFiles: [
|
|
"__tests__/__harness__/mock-dom.ts",
|
|
"__tests__/__harness__/mock-firebase.ts",
|
|
"__tests__/__harness__/mock-env-config.ts",
|
|
],
|
|
},
|
|
plugins,
|
|
},
|
|
{
|
|
test: {
|
|
name: { label: "jsdom", color: "yellow" },
|
|
include: ["__tests__/**/*.jsdom-spec.ts"],
|
|
environment: "jsdom",
|
|
globalSetup: "__tests__/global-setup.ts",
|
|
},
|
|
plugins,
|
|
},
|
|
{
|
|
ssr: {
|
|
noExternal: ["@solidjs/meta"],
|
|
},
|
|
test: {
|
|
name: { label: "jsx", color: "green" },
|
|
include: ["__tests__/**/*.spec.tsx"],
|
|
environment: "jsdom",
|
|
globalSetup: "__tests__/global-setup.ts",
|
|
setupFiles: [
|
|
"__tests__/__harness__/setup-jsx.ts",
|
|
"__tests__/__harness__/mock-dom.ts",
|
|
],
|
|
globals: true,
|
|
},
|
|
plugins,
|
|
},
|
|
];
|
|
export default defineConfig({
|
|
test: {
|
|
projects: projects as never,
|
|
coverage: {
|
|
include: ["**/*.ts", "**/*.tsx"],
|
|
},
|
|
deps: {
|
|
optimizer: {
|
|
web: {
|
|
include: ["@monkeytype/funbox"],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
plugins,
|
|
});
|