|
import { svelteTesting } from "@testing-library/svelte/vite"; |
|
import { sveltekit } from "@sveltejs/kit/vite"; |
|
import { defineConfig } from "vite"; |
|
import UnpluginTypia from "@ryoppippi/unplugin-typia/vite"; |
|
import Icons from "unplugin-icons/vite"; |
|
|
|
export const isDev = process.env.NODE_ENV === "development"; |
|
|
|
export default defineConfig({ |
|
plugins: [ |
|
UnpluginTypia({ log: "verbose", cache: false }), |
|
sveltekit(), |
|
Icons({ compiler: "svelte", autoInstall: true }), |
|
], |
|
server: { allowedHosts: isDev ? true : undefined }, |
|
test: { |
|
workspace: [ |
|
{ |
|
extends: "./vite.config.ts", |
|
plugins: [svelteTesting()], |
|
test: { |
|
name: "client", |
|
environment: "browser", |
|
browser: { |
|
enabled: true, |
|
provider: "playwright", |
|
instances: [ |
|
{ |
|
browser: "chromium", |
|
}, |
|
{ |
|
browser: "firefox", |
|
}, |
|
], |
|
}, |
|
clearMocks: true, |
|
include: ["src/**/*.svelte.{test,spec}.{js,ts}"], |
|
exclude: ["src/lib/server/**"], |
|
setupFiles: ["./vitest-setup-client.ts"], |
|
}, |
|
}, |
|
{ |
|
extends: "./vite.config.ts", |
|
test: { |
|
name: "server", |
|
environment: "node", |
|
include: ["src/**/*.{test,spec}.{js,ts}"], |
|
exclude: ["src/**/*.svelte.{test,spec}.{js,ts}"], |
|
}, |
|
}, |
|
], |
|
}, |
|
}); |
|
|