mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
chore: build
Co-Authored-By: Wesley F. Young <25684570+Wesley-Young@users.noreply.github.com>
This commit is contained in:
@@ -8,14 +8,14 @@ import nodeResolve from '@rollup/plugin-node-resolve';
|
||||
import { builtinModules } from 'module';
|
||||
import fs from 'node:fs';
|
||||
import babel from 'vite-plugin-babel';
|
||||
//依赖排除
|
||||
const external = ['silk-wasm', 'ws', 'express', 'fluent-ffmpeg', 'log4js', 'qrcode-terminal'];
|
||||
|
||||
const nodeModules = [...builtinModules, builtinModules.map(m => `node:${m}`)].flat();
|
||||
// let nodeModules = ["fs", "path", "events", "buffer", "url", "crypto", "fs/promise", "fsPromise", "os", "http", "net"]
|
||||
// nodeModules = [...nodeModules, ...nodeModules.map(m => `node:${m}`)]
|
||||
|
||||
function genCpModule(module: string) {
|
||||
return { src: `./node_modules/${module}`, dest: `dist/node_modules/${module}`, flatten: false };
|
||||
}
|
||||
|
||||
let startScripts: string[] | undefined = undefined;
|
||||
if (process.env.NAPCAT_BUILDSYS == 'linux') {
|
||||
if (process.env.NAPCAT_BUILDARCH == 'x64') {
|
||||
@@ -47,47 +47,63 @@ const baseConfigPlugin: PluginOption[] = [
|
||||
cp({
|
||||
targets: [
|
||||
// ...external.map(genCpModule),
|
||||
{ src: './src/napcat.json', dest: 'dist/config/' },
|
||||
{ src: './static/', dest: 'dist/static/', flatten: false },
|
||||
{ src: './src/onebot11/onebot11.json', dest: 'dist/config/' },
|
||||
{ src: './package.json', dest: 'dist' },
|
||||
{ src: './README.md', dest: 'dist' },
|
||||
{ src: './logo.png', dest: 'dist/logs' },
|
||||
...(startScripts.map((startScript) => {
|
||||
return { src: startScript, dest: 'dist' };
|
||||
})),
|
||||
// { src: './src/napcat.json', dest: 'dist/config/' },
|
||||
// { src: './static/', dest: 'dist/static/', flatten: false },
|
||||
// { src: './src/onebot11/onebot11.json', dest: 'dist/config/' },
|
||||
// { src: './package.json', dest: 'dist' },
|
||||
// { src: './README.md', dest: 'dist' },
|
||||
// { src: './logo.png', dest: 'dist/logs' },
|
||||
// ...(startScripts.map((startScript) => {
|
||||
// return { src: startScript, dest: 'dist' };
|
||||
// })),
|
||||
]
|
||||
}),
|
||||
nodeResolve(),
|
||||
];
|
||||
|
||||
|
||||
let corePath = resolve(__dirname, './src/core/src');
|
||||
if (!fs.existsSync(corePath)) {
|
||||
corePath = resolve(__dirname, './src/core.lib/src');
|
||||
}
|
||||
const baseConfig = (mode: string = 'shell') => defineConfig({
|
||||
const ShellBaseConfig = () => defineConfig({
|
||||
resolve: {
|
||||
conditions: ['node', 'default'],
|
||||
alias: {
|
||||
'@/core': corePath,
|
||||
'@/core': resolve(__dirname, './src/core/src'),
|
||||
'@': resolve(__dirname, './src'),
|
||||
'./lib-cov/fluent-ffmpeg': './lib/fluent-ffmpeg',
|
||||
},
|
||||
},
|
||||
build: {
|
||||
sourcemap: mode === 'development',
|
||||
sourcemap: false,
|
||||
target: 'esnext',
|
||||
// minify: mode === 'production' ? 'esbuild' : false,
|
||||
// 压缩代码出现了未知问题导致无法运行,暂时不启用
|
||||
minify: false,
|
||||
lib: {
|
||||
entry: mode === "shell" ? 'src/shell/napcat.ts' : "src/liteloader/napcat.ts",
|
||||
entry: 'src/shell/napcat.ts',
|
||||
formats: ['es'],
|
||||
fileName: () => 'napcat.mjs',
|
||||
},
|
||||
rollupOptions: {
|
||||
external: [...nodeModules, ...external]
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const LLBaseConfig = () => defineConfig({
|
||||
resolve: {
|
||||
conditions: ['node', 'default'],
|
||||
alias: {
|
||||
'@/core': resolve(__dirname, './src/core/src'),
|
||||
'@': resolve(__dirname, './src'),
|
||||
'./lib-cov/fluent-ffmpeg': './lib/fluent-ffmpeg',
|
||||
},
|
||||
},
|
||||
build: {
|
||||
sourcemap: false,
|
||||
target: 'esnext',
|
||||
minify: false,
|
||||
lib: {
|
||||
entry: "src/liteloader/napcat.ts",
|
||||
formats: ['es'],
|
||||
fileName: () => 'napcat.mjs',
|
||||
},
|
||||
rollupOptions: {
|
||||
// external: [ /node:*/ ],
|
||||
external: [...nodeModules, ...external]
|
||||
},
|
||||
},
|
||||
@@ -96,14 +112,14 @@ const baseConfig = (mode: string = 'shell') => defineConfig({
|
||||
export default defineConfig(({ mode }): UserConfig => {
|
||||
if (mode === 'shell') {
|
||||
return {
|
||||
...baseConfig(mode),
|
||||
...ShellBaseConfig(),
|
||||
plugins: [
|
||||
...baseConfigPlugin
|
||||
]
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
...baseConfig(mode),
|
||||
...LLBaseConfig(),
|
||||
plugins: baseConfigPlugin,
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user