phonograph/svelte/vite.config.ts
2026-02-09 21:39:39 +00:00

33 lines
1 KiB
TypeScript

import { defineConfig } from "vite";
import * as path from "@std/path";
import { svelte } from "@sveltejs/vite-plugin-svelte";
// https://vite.dev/config/
export default defineConfig({
plugins: [svelte()],
build: {
rollupOptions: {
input: Object.fromEntries([
...Deno.readDirSync("./src")
.filter(({ isFile, name }) => isFile && name.endsWith(".webc.svelte"))
.map((
{ name },
) => [name.replace(/\.svelte$/, ""), path.join("./src", name)]),
...Deno.readDirSync("./src")
.filter(({ isDirectory, name }) =>
isDirectory && name.endsWith(".webc")
)
.map((
{ name },
) => [name, path.join("./src", name, "index.svelte")]),
]),
output: {
dir: path.fromFileUrl(new URL("../js_dist", import.meta.url)),
entryFileNames: "[name].mjs",
chunkFileNames: "[name]-[hash].mjs",
assetFileNames: "[name]-[hash].[ext]",
},
},
sourcemap: true,
},
});