refactor: build

This commit is contained in:
手瓜一十雪 2024-11-14 11:03:11 +08:00
parent 7a4805b464
commit 5494ff0553
3 changed files with 54 additions and 52 deletions

View File

@ -45,12 +45,12 @@
"vite-plugin-cp": "^4.0.8", "vite-plugin-cp": "^4.0.8",
"vite-tsconfig-paths": "^5.1.0", "vite-tsconfig-paths": "^5.1.0",
"winston": "^3.17.0", "winston": "^3.17.0",
"fluent-ffmpeg": "^2.1.2", "fluent-ffmpeg": "^2.1.2"
"qrcode-terminal": "^0.12.0"
}, },
"dependencies": { "dependencies": {
"express": "^5.0.0", "express": "^5.0.0",
"silk-wasm": "^3.6.1", "silk-wasm": "^3.6.1",
"ws": "^8.18.0" "ws": "^8.18.0",
"qrcode-terminal": "^0.12.0"
} }
} }

View File

@ -181,14 +181,12 @@ export class NTEventWrapper {
callbackTimesToWait = 1, callbackTimesToWait = 1,
timeout = 5000, timeout = 5000,
) { ) {
return new Promise<[EventRet: Awaited<ReturnType<EventType>>, ...Parameters<ListenerType>]>(
async (resolve, reject) => {
const id = randomUUID(); const id = randomUUID();
let complete = 0; let complete = 0;
let retData: Parameters<ListenerType> | undefined = undefined; let retData: Parameters<ListenerType> | undefined = undefined;
let retEvent: any = {}; let retEvent: any = {};
function sendDataCallback() { function sendDataCallback(resolve: any, reject: any) {
if (complete == 0) { if (complete == 0) {
reject( reject(
new Error( new Error(
@ -210,7 +208,9 @@ export class NTEventWrapper {
const ListenerMainName = ListenerNameList[0]; const ListenerMainName = ListenerNameList[0];
const ListenerSubName = ListenerNameList[1]; const ListenerSubName = ListenerNameList[1];
const timeoutRef = setTimeout(sendDataCallback, timeout); return new Promise<[EventRet: Awaited<ReturnType<EventType>>, ...Parameters<ListenerType>]>(
(resolve, reject) => {
const timeoutRef = setTimeout(() => sendDataCallback(resolve, reject), timeout);
const eventCallback = { const eventCallback = {
timeout: timeout, timeout: timeout,
@ -221,7 +221,7 @@ export class NTEventWrapper {
retData = args as Parameters<ListenerType>; retData = args as Parameters<ListenerType>;
if (complete >= callbackTimesToWait) { if (complete >= callbackTimesToWait) {
clearTimeout(timeoutRef); clearTimeout(timeoutRef);
sendDataCallback(); sendDataCallback(resolve, reject);
} }
}, },
}; };
@ -233,8 +233,10 @@ export class NTEventWrapper {
} }
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.set(id, eventCallback); this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.set(id, eventCallback);
this.createListenerFunction(ListenerMainName); this.createListenerFunction(ListenerMainName);
const eventFunction = this.createEventFunction(serviceAndMethod);
retEvent = await eventFunction!(...(args)); this.createEventFunction(serviceAndMethod)!(...(args))
.then((eventResult: any) => {
retEvent = eventResult;
if (!checkerEvent(retEvent) && timeoutRef.hasRef()) { if (!checkerEvent(retEvent) && timeoutRef.hasRef()) {
clearTimeout(timeoutRef); clearTimeout(timeoutRef);
reject( reject(
@ -249,7 +251,8 @@ export class NTEventWrapper {
), ),
); );
} }
})
.catch(reject);
}, },
); );
} }

View File

@ -4,7 +4,7 @@ import { resolve } from 'path';
import nodeResolve from '@rollup/plugin-node-resolve'; import nodeResolve from '@rollup/plugin-node-resolve';
import { builtinModules } from 'module'; import { builtinModules } from 'module';
//依赖排除 //依赖排除
const external = ['silk-wasm', 'ws', 'express']; const external = ['silk-wasm', 'ws', 'express', 'qrcode-terminal'];
const nodeModules = [...builtinModules, builtinModules.map(m => `node:${m}`)].flat(); const nodeModules = [...builtinModules, builtinModules.map(m => `node:${m}`)].flat();
function genCpModule(module: string) { function genCpModule(module: string) {
return { src: `./node_modules/${module}`, dest: `dist/node_modules/${module}`, flatten: false }; return { src: `./node_modules/${module}`, dest: `dist/node_modules/${module}`, flatten: false };
@ -42,7 +42,6 @@ const FrameworkBaseConfigPlugin: PluginOption[] = [
const ShellBaseConfigPlugin: PluginOption[] = [ const ShellBaseConfigPlugin: PluginOption[] = [
cp({ cp({
targets: [ targets: [
{ src: './src/native/external', dest: 'dist/native', flatten: false },
{ src: './src/native/packet', dest: 'dist/moehoo', flatten: false }, { src: './src/native/packet', dest: 'dist/moehoo', flatten: false },
{ src: './static/', dest: 'dist/static/', flatten: false }, { src: './static/', dest: 'dist/static/', flatten: false },
{ src: './src/core/external/napcat.json', dest: 'dist/config/' }, { src: './src/core/external/napcat.json', dest: 'dist/config/' },