File size: 1,283 Bytes
58843c4
60216ec
 
189caf9
aac02fe
dac6daa
28faefd
 
dac6daa
189caf9
58843c4
189caf9
58843c4
189caf9
58843c4
 
 
 
 
 
 
 
a76eef5
 
 
 
 
 
 
 
 
 
 
 
 
58843c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28faefd
dac6daa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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}"],
				},
			},
		],
	},
});