Files
everyone-can-use-english/enjoy/vite.main.config.ts
an-lee 521ee76af7 Improve settings (#1174)
* more settings for local whisper

* clean code

* may open echogarden packages dir

* upgrade deps

* handle recognize unhandle rejection

* fix

* add tts settings

* update ui

* may open library path
2024-11-11 18:07:16 +08:00

83 lines
2.1 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 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: [
{
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",
},
],
}),
],
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);
});