Files
everyone-can-use-english/enjoy/vite.main.config.ts
an-lee 59bcb437f8 Update sidebar (#1188)
* refactor

* fix build

* refactor

* refactor

* display deposit in sidebar header menu

* minor fix

* fix

* fix document locate
2024-11-19 09:34:40 +08:00

93 lines
2.2 KiB
TypeScript

import { viteStaticCopy } from "vite-plugin-static-copy";
import os from "os";
import path from "path";
import type { ConfigEnv, UserConfig } from "vite";
import { defineConfig, mergeConfig } from "vite";
import {
getBuildConfig,
getBuildDefine,
pluginHotRestart,
external,
} from "./vite.base.config";
// https://vitejs.dev/config
export default defineConfig((env) => {
const forgeEnv = env as ConfigEnv<"build">;
const { forgeConfigSelf } = forgeEnv;
const define = getBuildDefine(forgeEnv);
const staticCopyTargets = [
{
src: `lib/youtubedr/${
process.env.PACKAGE_OS_ARCH || os.arch()
}/${os.platform()}/*`,
dest: "lib/youtubedr",
},
{
src: "lib/dictionaries/*",
dest: "lib/dictionaries",
},
{
src: "src/main/db/migrations/*",
dest: "migrations",
},
{
src: "samples/*",
dest: "samples",
},
];
if (os.platform() === "darwin") {
staticCopyTargets.push({
src: `lib/whisper.cpp/${
process.env.PACKAGE_OS_ARCH || os.arch()
}/${os.platform()}/*`,
dest: "lib/whisper",
});
}
const config: UserConfig = {
build: {
lib: {
entry: forgeConfigSelf.entry!,
fileName: () => "[name].js",
formats: ["es"],
},
rollupOptions: {
external: [
...external,
"echogarden/dist/api/API.js",
"echogarden/dist/audio/AudioUtilities.js",
"echogarden/dist/utilities/Timeline.js",
"echogarden/dist/utilities/PackageManager.js",
],
output: {
strict: false,
},
plugins: [],
},
commonjsOptions: {
transformMixedEsModules: true,
defaultIsModuleExports: true,
esmExternals: true,
},
},
plugins: [
pluginHotRestart("restart"),
viteStaticCopy({
targets: staticCopyTargets,
}),
],
define,
resolve: {
// Load the Node.js entry.
mainFields: ["module", "jsnext:main", "jsnext"],
alias: {
"@": path.resolve(__dirname, "./src"),
"@main": path.resolve(__dirname, "./src/main"),
"@commands": path.resolve(__dirname, "./src/commands"),
},
},
};
return mergeConfig(getBuildConfig(forgeEnv), config);
});