| import { defineConfig } from "vite"; | |
| import { svelte } from "@sveltejs/vite-plugin-svelte"; | |
| const TEST_MODE = process.env.TEST_MODE || "happy-dom"; | |
| export default defineConfig(({ mode }) => { | |
| if (mode === "preview") { | |
| return { | |
| entry: "index.html" | |
| }; | |
| } | |
| return { | |
| 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", | |
| "fetch-event-stream" | |
| ] | |
| } | |
| }; | |
| }); | |