import type { ConfigEnv, UserConfig } from "vite"; import { defineConfig, mergeConfig } from "vite"; import { getBuildConfig, external, pluginHotRestart } from "./vite.base.config"; // https://vitejs.dev/config export default defineConfig((env) => { const forgeEnv = env as ConfigEnv<"build">; const { forgeConfigSelf } = forgeEnv; const config: UserConfig = { build: { rollupOptions: { external, // Preload scripts may contain Web assets, so use the `build.rollupOptions.input` instead `build.lib.entry`. input: forgeConfigSelf.entry!, output: { format: "cjs", // It should not be split chunks. inlineDynamicImports: true, entryFileNames: "[name].js", chunkFileNames: "[name].js", assetFileNames: "[name].[ext]", }, }, }, plugins: [pluginHotRestart("reload")], }; return mergeConfig(getBuildConfig(forgeEnv), config); });