# Description of Changes We don't have any strong reasons to keep the Portal as a separate Vite app, and it needs access to so many things from the Editor that it no longer makes sense to keep them separate. This PR moves the Portal code to have direct access to the Editor code and gets rid of the shared folder.
146 lines
3.5 KiB
TypeScript
146 lines
3.5 KiB
TypeScript
import { defineConfig } from "vitest/config";
|
|
import react from "@vitejs/plugin-react-swc";
|
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
export default defineConfig({
|
|
test: {
|
|
globals: true,
|
|
environment: "jsdom",
|
|
setupFiles: ["./src/core/setupTests.ts"],
|
|
css: false,
|
|
exclude: [
|
|
"node_modules/",
|
|
"src/**/*.spec.ts", // Exclude Playwright E2E tests
|
|
"src/tests/test-fixtures/**",
|
|
],
|
|
testTimeout: 10000,
|
|
hookTimeout: 10000,
|
|
coverage: {
|
|
reporter: ["text", "json", "html"],
|
|
exclude: [
|
|
"node_modules/",
|
|
"src/core/setupTests.ts",
|
|
"src/proprietary/setupTests.ts",
|
|
"src/saas/setupTests.ts",
|
|
"**/*.d.ts",
|
|
"src/tests/test-fixtures/**",
|
|
"src/**/*.spec.ts",
|
|
],
|
|
},
|
|
projects: [
|
|
{
|
|
test: {
|
|
name: "core",
|
|
include: ["src/core/**/*.test.{ts,tsx}"],
|
|
environment: "jsdom",
|
|
globals: true,
|
|
setupFiles: ["./src/core/setupTests.ts"],
|
|
},
|
|
plugins: [
|
|
react(),
|
|
tsconfigPaths({
|
|
projects: ["./tsconfig.core.vite.json"],
|
|
}),
|
|
],
|
|
esbuild: {
|
|
target: "es2020",
|
|
},
|
|
},
|
|
{
|
|
test: {
|
|
name: "portal",
|
|
include: ["src/portal/**/*.test.{ts,tsx}"],
|
|
environment: "jsdom",
|
|
globals: true,
|
|
setupFiles: ["./src/portal/setupTests.ts"],
|
|
},
|
|
plugins: [
|
|
react(),
|
|
tsconfigPaths({
|
|
// Broad project so @app/@portal resolve in every editor file the
|
|
// portal tests pull in (proprietary/ui, core, ...).
|
|
projects: ["./tsconfig.portal.vite.json"],
|
|
}),
|
|
],
|
|
esbuild: {
|
|
target: "es2020",
|
|
},
|
|
},
|
|
{
|
|
test: {
|
|
name: "proprietary",
|
|
include: ["src/proprietary/**/*.test.{ts,tsx}"],
|
|
environment: "jsdom",
|
|
globals: true,
|
|
setupFiles: ["./src/core/setupTests.ts"],
|
|
},
|
|
plugins: [
|
|
react(),
|
|
tsconfigPaths({
|
|
projects: ["./tsconfig.proprietary.vite.json"],
|
|
}),
|
|
],
|
|
esbuild: {
|
|
target: "es2020",
|
|
},
|
|
},
|
|
{
|
|
test: {
|
|
name: "desktop",
|
|
include: ["src/desktop/**/*.test.{ts,tsx}"],
|
|
environment: "jsdom",
|
|
globals: true,
|
|
setupFiles: ["./src/core/setupTests.ts"],
|
|
},
|
|
plugins: [
|
|
react(),
|
|
tsconfigPaths({
|
|
projects: ["./tsconfig.desktop.vite.json"],
|
|
}),
|
|
],
|
|
esbuild: {
|
|
target: "es2020",
|
|
},
|
|
},
|
|
{
|
|
test: {
|
|
name: "saas",
|
|
include: ["src/saas/**/*.test.{ts,tsx}"],
|
|
environment: "jsdom",
|
|
globals: true,
|
|
setupFiles: ["./src/saas/setupTests.ts"],
|
|
},
|
|
plugins: [
|
|
react(),
|
|
tsconfigPaths({
|
|
projects: ["./tsconfig.saas.vite.json"],
|
|
}),
|
|
],
|
|
esbuild: {
|
|
target: "es2020",
|
|
},
|
|
},
|
|
{
|
|
test: {
|
|
name: "prototypes",
|
|
include: ["src/prototypes/**/*.test.{ts,tsx}"],
|
|
environment: "jsdom",
|
|
globals: true,
|
|
setupFiles: ["./src/core/setupTests.ts"],
|
|
},
|
|
plugins: [
|
|
react(),
|
|
tsconfigPaths({
|
|
projects: ["./tsconfig.prototypes.vite.json"],
|
|
}),
|
|
],
|
|
esbuild: {
|
|
target: "es2020",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
esbuild: {
|
|
target: "es2020",
|
|
},
|
|
});
|