import path from "path" import { defineConfig } from "vite" import solidPlugin from "vite-plugin-solid" import legacy from "@vitejs/plugin-legacy" import { dynamicBase } from "vite-plugin-dynamic-base" import { viteStaticCopy } from "vite-plugin-static-copy" export default defineConfig({ resolve: { alias: { "~": path.resolve(__dirname, "src"), // "@solidjs/router": path.resolve(__dirname, "solid-router/src"), "solid-icons": path.resolve(__dirname, "node_modules/solid-icons"), }, }, plugins: [ solidPlugin(), legacy({ targets: ["defaults"], }), dynamicBase({ // dynamic public path var string, default window.__dynamic_base__ publicPath: " window.__dynamic_base__", // dynamic load resources on index.html, default false. maybe change default true transformIndexHtml: true, transformIndexHtmlConfig: { insertBodyAfter: true, }, }), process.env.VITE_LITE !== "true" ? viteStaticCopy({ targets: [ { src: "node_modules/monaco-editor/min/*", dest: "static/monaco-editor", }, { src: "node_modules/katex/dist/katex.min.css", dest: "static/katex", }, { src: "node_modules/katex/dist/fonts/*", dest: "static/katex/fonts", }, { src: "node_modules/mermaid/dist/mermaid.min.js", dest: "static/mermaid", }, { src: "node_modules/@ruffle-rs/ruffle/*.{js,wasm}", dest: "static/ruffle", }, { src: "node_modules/libheif-js/libheif-wasm/libheif.{js,wasm}", dest: "static/libheif", }, { src: "node_modules/libass-wasm/dist/js/subtitles-octopus-worker.{js,wasm}", dest: "static/libass-wasm", }, { src: "src/components/artplayer-plugin-ass/fonts/*", dest: "static/fonts", }, ], }) : null, ], base: process.env.NODE_ENV === "production" ? "/__dynamic_base__/" : "/", // base: "/", build: { // target: "es2015", //next // polyfillDynamicImport: false, }, // experimental: { // renderBuiltUrl: (filename, { type, hostId, hostType }) => { // if (type === "asset") { // return { runtime: `window.OPENLIST_CONFIG.cdn/${filename}` }; // } // return { relative: true }; // }, // }, server: { host: "0.0.0.0", proxy: { "/api": { target: "http://localhost:5244", changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, ""), }, }, }, })