import tailwindcss from "@tailwindcss/vite"; import { defineConfig } from "vitest/config"; import { playwright } from "@vitest/browser-playwright"; import adapter from "@sveltejs/adapter-node"; import { sveltekit } from "@sveltejs/kit/vite"; export default defineConfig({ plugins: [ tailwindcss(), sveltekit({ compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. runes: ({ filename }) => filename.split(/[/\\]/).includes("node_modules") ? undefined : true, }, // adapter-node is used because the app persists data to a local SQLite file on the server. adapter: adapter(), }), ], test: { expect: { requireAssertions: true }, projects: [ { extends: "./vite.config.ts", test: { name: "client", browser: { enabled: true, provider: playwright(), instances: [{ browser: "chromium", headless: true }], }, include: ["src/**/*.svelte.{test,spec}.{js,ts}"], exclude: ["src/lib/server/**"], }, }, { extends: "./vite.config.ts", test: { name: "server", environment: "node", include: ["src/**/*.{test,spec}.{js,ts}"], exclude: ["src/**/*.svelte.{test,spec}.{js,ts}"], }, }, ], }, });