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" | |
] | |
} | |
}; | |
}); | |