import { defineConfig } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";

const TEST_MODE = process.env.TEST_MODE || "happy-dom";

export default defineConfig({
	build: {
		lib: {
			entry: "src/index.ts",
			formats: ["es"],
			fileName: (format) => `index.${format}.js`
		},
		rollupOptions: {
			input: "src/index.ts",
			output: {
				dir: "dist"
			}
		}
	},
	plugins: [svelte()],

	mode: process.env.MODE || "development",
	test: {
		include: ["./src/test/*.test.*"],
		environment: TEST_MODE
	},
	ssr: {
		target: "node",
		format: "esm",
		noExternal: ["ws", "semiver", "bufferutil", "@gradio/upload"]
	}
});
