import { defineConfig } from "vite"; import { cpSync, mkdirSync } from "node:fs"; import { join } from "node:path"; const pdfjsAssets = () => ({ name: "pdfjs-assets", closeBundle() { const outDir = "web/static/vendor/pdfjs"; const srcDir = "node_modules/@bookhoard/foliate-js/vendor/pdfjs"; mkdirSync(outDir, { recursive: true }); cpSync(join(srcDir, "standard_fonts"), join(outDir, "standard_fonts"), { recursive: true, }); cpSync(join(srcDir, "cmaps"), join(outDir, "cmaps"), { recursive: true }); }, }); export default defineConfig({ resolve: { alias: { "@": "/web/src", "foliate-js": "/node_modules/@bookhoard/foliate-js", }, }, base: "/static/", plugins: [pdfjsAssets()], build: { outDir: "web/static", emptyOutDir: false, assetsDir: "", rollupOptions: { input: { main: "web/src/main.ts", reader: "web/src/reader/reader.ts", }, output: { entryFileNames: "[name].js", }, }, target: "esnext", sourcemap: true, minify: "esbuild", }, });