excalidraw/vitest.config.mts
2025-04-21 11:50:33 +02:00

74 lines
2.3 KiB
TypeScript

import path from "path";
import { defineConfig, configDefaults } from "vitest/config";
export default defineConfig({
resolve: {
alias: [
{
find: /^@excalidraw\/common$/,
replacement: path.resolve(__dirname, "./packages/common/src/index.ts"),
},
{
find: /^@excalidraw\/common\/(.*?)/,
replacement: path.resolve(__dirname, "./packages/common/src/$1"),
},
{
find: /^@excalidraw\/element$/,
replacement: path.resolve(__dirname, "./packages/element/src/index.ts"),
},
{
find: /^@excalidraw\/element\/(.*?)/,
replacement: path.resolve(__dirname, "./packages/element/src/$1"),
},
{
find: /^@excalidraw\/excalidraw$/,
replacement: path.resolve(__dirname, "./packages/excalidraw/index.tsx"),
},
{
find: /^@excalidraw\/excalidraw\/(.*?)/,
replacement: path.resolve(__dirname, "./packages/excalidraw/$1"),
},
{
find: /^@excalidraw\/math$/,
replacement: path.resolve(__dirname, "./packages/math/src/index.ts"),
},
{
find: /^@excalidraw\/math\/(.*?)/,
replacement: path.resolve(__dirname, "./packages/math/src/$1"),
},
{
find: /^@excalidraw\/utils$/,
replacement: path.resolve(__dirname, "./packages/utils/src/index.ts"),
},
{
find: /^@excalidraw\/utils\/(.*?)/,
replacement: path.resolve(__dirname, "./packages/utils/src/$1"),
},
],
},
//@ts-ignore
test: {
exclude: [...configDefaults.exclude, "**/playwright/**"],
// Since hooks are running in stack in v2, which means all hooks run serially whereas
// we need to run them in parallel
sequence: {
hooks: "parallel",
},
setupFiles: ["./setupTests.ts"],
globals: true,
environment: "jsdom",
coverage: {
reporter: ["text", "json-summary", "json", "html", "lcovonly"],
// Since v2, it ignores empty lines by default and we need to disable it as it affects the coverage
// Additionally the thresholds also needs to be updated slightly as a result of this change
ignoreEmptyLines: false,
thresholds: {
lines: 60,
branches: 70,
functions: 63,
statements: 60,
},
},
},
});