style: 简化loader 避免全局error

This commit is contained in:
手瓜一十雪
2025-02-03 10:40:33 +08:00
parent b25f9d3bec
commit 96de9e2c16
3 changed files with 17 additions and 43 deletions

View File

@@ -1,17 +1,10 @@
import { require_dlopen } from '.';
export function pty_loader() {
let pty: any;
try {
pty = require_dlopen('./pty/' + process.platform + '.' + process.arch + '/pty.node');
} catch (outerError) {
try {
pty = require_dlopen('./pty/' + process.platform + '.' + process.arch + '/pty.node');
} catch (innerError) {
console.error('innerError', innerError);
// Re-throw the exception from the Release require if the Debug require fails as well
throw outerError;
pty = undefined;
}
}
export default pty;
return pty;
};

View File

@@ -11,8 +11,9 @@ import { Terminal, DEFAULT_COLS, DEFAULT_ROWS } from '@homebridge/node-pty-prebu
import { IProcessEnv, IPtyForkOptions, IPtyOpenOptions } from '@homebridge/node-pty-prebuilt-multiarch/src/interfaces';
import { ArgvOrCommandLine } from '@homebridge/node-pty-prebuilt-multiarch/src/types';
import { assign } from '@homebridge/node-pty-prebuilt-multiarch/src/utils';
import { pty_loader } from './prebuild-loader';
export const pty = pty_loader();
import pty from './prebuild-loader';
let helperPath: string;
helperPath = '../build/Release/spawn-helper';

View File

@@ -63,31 +63,11 @@ export class WindowsPtyAgent {
}
if (this._useConpty) {
if (!conptyNative) {
try {
conptyNative = require_dlopen('./pty/' + process.platform + '.' + process.arch + '/conpty.node');
} catch (outerError) {
try {
conptyNative = require_dlopen('./pty/' + process.platform + '.' + process.arch + '/conpty.node');
} catch (innerError) {
console.error('innerError', innerError);
// Re-throw the exception from the Release require if the Debug require fails as well
throw outerError;
}
}
}
} else {
if (!winptyNative) {
try {
winptyNative = require_dlopen('./pty/' + process.platform + '.' + process.arch + '/pty.node');
} catch (outerError) {
try {
winptyNative = require_dlopen('./pty/' + process.platform + '.' + process.arch + '/pty.node');
} catch (innerError) {
console.error('innerError', innerError);
// Re-throw the exception from the Release require if the Debug require fails as well
throw outerError;
}
}
}
}
this._ptyNative = this._useConpty ? conptyNative : winptyNative;