fix: build

This commit is contained in:
手瓜一十雪 2024-11-16 11:44:23 +08:00
parent 25751b8149
commit bd1faccaa8
2 changed files with 52 additions and 44 deletions

View File

@ -11,8 +11,12 @@ const ALLOW_SAMPLE_RATE = [8000, 12000, 16000, 24000, 32000, 44100, 48000];
const EXIT_CODES = [0, 255];
const FFMPEG_PATH = process.env.FFMPEG_PATH ?? 'ffmpeg';
async function getWorkerPath() {
return new URL('./audio-worker.mjs', import.meta.url).href;
}
const piscina = new Piscina<EncodeArgs, EncodeResult>({
filename: new URL('./audio-worker.mjs', import.meta.url).href,
filename: await getWorkerPath(),
});
async function guessDuration(pttPath: string, logger: LogWrapper) {

View File

@ -4,7 +4,7 @@ import { resolve } from 'path';
import nodeResolve from '@rollup/plugin-node-resolve';
import { builtinModules } from 'module';
//依赖排除
const external = ['silk-wasm', 'ws', 'express', 'qrcode-terminal', 'fluent-ffmpeg'];
const external = ['silk-wasm', 'ws', 'express', 'qrcode-terminal', 'fluent-ffmpeg', 'piscina'];
const nodeModules = [...builtinModules, builtinModules.map((m) => `node:${m}`)].flat();
function genCpModule(module: string) {
return { src: `./node_modules/${module}`, dest: `dist/node_modules/${module}`, flatten: false };
@ -50,8 +50,7 @@ const ShellBaseConfigPlugin: PluginOption[] = [
nodeResolve(),
];
const ShellBaseConfig = () =>
defineConfig({
const ShellBaseConfig = () => defineConfig({
resolve: {
conditions: ['node', 'default'],
alias: {
@ -65,9 +64,12 @@ const ShellBaseConfig = () =>
target: 'esnext',
minify: false,
lib: {
entry: 'src/shell/napcat.ts',
entry: {
'napcat': 'src/shell/napcat.ts',
'audio-worker': 'src/common/audio-worker.ts',
},
formats: ['es'],
fileName: () => 'napcat.mjs',
fileName: (_, entryName) => `${entryName}.mjs`,
},
rollupOptions: {
external: [...nodeModules, ...external],
@ -75,8 +77,7 @@ const ShellBaseConfig = () =>
},
});
const FrameworkBaseConfig = () =>
defineConfig({
const FrameworkBaseConfig = () => defineConfig({
resolve: {
conditions: ['node', 'default'],
alias: {
@ -90,9 +91,12 @@ const FrameworkBaseConfig = () =>
target: 'esnext',
minify: false,
lib: {
entry: 'src/framework/napcat.ts',
entry: {
'napcat': 'src/framework/napcat.ts',
'audio-worker': 'src/common/audio-worker.ts',
},
formats: ['es'],
fileName: () => 'napcat.mjs',
fileName: (_, entryName) => `${entryName}.mjs`,
},
rollupOptions: {
external: [...nodeModules, ...external],