|
import { defineConfig } from "vite"; |
|
import { cpSync, write } from "fs"; |
|
import { join } from "node:path"; |
|
import { createRequire } from "node:module"; |
|
|
|
const require = createRequire(import.meta.url); |
|
const dir = require.resolve("./package.json"); |
|
|
|
const template_dir = join(dir, "..", "..", "..", "gradio", "templates"); |
|
|
|
export default defineConfig({ |
|
build: { |
|
lib: { |
|
entry: "./src/index.ts", |
|
formats: ["es"] |
|
}, |
|
outDir: "dist", |
|
rollupOptions: { |
|
external: ["fsevents", "vite", "@sveltejs/vite-plugin-svelte"] |
|
} |
|
}, |
|
plugins: [copy_files()] |
|
}); |
|
|
|
export function copy_files() { |
|
return { |
|
name: "copy_files", |
|
writeBundle() { |
|
cpSync("./src/examine.py", "dist/examine.py"); |
|
cpSync("./src/register.mjs", join(template_dir, "register.mjs")); |
|
cpSync("./src/hooks.mjs", join(template_dir, "hooks.mjs")); |
|
cpSync( |
|
join(template_dir, "frontend", "assets", "svelte"), |
|
join(template_dir, "node", "build", "client", "_app"), |
|
{ recursive: true } |
|
); |
|
} |
|
}; |
|
} |
|
|