LLOneBot/vite.config.ts
手瓜一十雪 71ab1e6ff0 chore:vite
2024-03-02 00:08:11 +08:00

42 lines
1.1 KiB
TypeScript

import { InlineConfig, defineConfig } from 'vite'
import { build } from "vite";
import cp from 'vite-plugin-cp';
import pkg from './package.json' assert { type: 'json' };
const externalAll = ["electron", "fs/promises", "fs", "url", "util", "path", /node:/, ...Object.keys(pkg.dependencies)];
console.log(externalAll);
function createConfig(library: string, path: string, emptyOutDir: boolean): InlineConfig {
return {
configFile: false,
build: {
emptyOutDir: emptyOutDir,
lib: {
formats: ["cjs"],
entry: { [library]: path }
},
rollupOptions: {
external: externalAll,
}
}
};
}
export function BuildPlugin() {
build(createConfig("main", "src/main/main.ts", false));
build(createConfig("preload", "src/preload.ts", false));
}
BuildPlugin();
export default defineConfig({
build: {
emptyOutDir: false,
lib: {
formats: ['es'],
entry: { ["renderer"]: `src/renderer.ts` },
},
rollupOptions: {
external: externalAll
}
},
plugins: [cp({ targets: [{ src: './package.json', dest: 'dist' }, { src: './manifest.json', dest: 'dist' }] })]
})