refactor: type-safe imports in lib/node/init.ts (#41148)
This commit is contained in:
parent
0e0a0bf724
commit
fb88375ab4
1 changed files with 6 additions and 6 deletions
|
@ -3,14 +3,14 @@ import { wrapFsWithAsar } from './asar-fs-wrapper';
|
||||||
wrapFsWithAsar(require('fs'));
|
wrapFsWithAsar(require('fs'));
|
||||||
|
|
||||||
// Hook child_process.fork.
|
// Hook child_process.fork.
|
||||||
const cp = require('child_process');
|
import cp = require('child_process'); // eslint-disable-line import/first
|
||||||
const originalFork = cp.fork;
|
const originalFork = cp.fork;
|
||||||
cp.fork = (modulePath: string, args: any, options: any) => {
|
cp.fork = (modulePath, args?, options?: cp.ForkOptions) => {
|
||||||
// Parse optional args.
|
// Parse optional args.
|
||||||
if (args == null) {
|
if (args == null) {
|
||||||
args = [];
|
args = [];
|
||||||
} else if (typeof args === 'object' && !Array.isArray(args)) {
|
} else if (typeof args === 'object' && !Array.isArray(args)) {
|
||||||
options = args;
|
options = args as cp.ForkOptions;
|
||||||
args = [];
|
args = [];
|
||||||
}
|
}
|
||||||
// Fallback to original fork to report arg type errors.
|
// Fallback to original fork to report arg type errors.
|
||||||
|
@ -22,7 +22,7 @@ cp.fork = (modulePath: string, args: any, options: any) => {
|
||||||
// the electron binary run like upstream Node.js.
|
// the electron binary run like upstream Node.js.
|
||||||
options = options ?? {};
|
options = options ?? {};
|
||||||
options.env = Object.create(options.env || process.env);
|
options.env = Object.create(options.env || process.env);
|
||||||
options.env.ELECTRON_RUN_AS_NODE = 1;
|
options.env!.ELECTRON_RUN_AS_NODE = '1';
|
||||||
// On mac the child script runs in helper executable.
|
// On mac the child script runs in helper executable.
|
||||||
if (!options.execPath && process.platform === 'darwin') {
|
if (!options.execPath && process.platform === 'darwin') {
|
||||||
options.execPath = process.helperExecPath;
|
options.execPath = process.helperExecPath;
|
||||||
|
@ -31,11 +31,11 @@ cp.fork = (modulePath: string, args: any, options: any) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Prevent Node from adding paths outside this app to search paths.
|
// Prevent Node from adding paths outside this app to search paths.
|
||||||
const path = require('path');
|
import path = require('path'); // eslint-disable-line import/first
|
||||||
const Module = require('module') as NodeJS.ModuleInternal;
|
const Module = require('module') as NodeJS.ModuleInternal;
|
||||||
const resourcesPathWithTrailingSlash = process.resourcesPath + path.sep;
|
const resourcesPathWithTrailingSlash = process.resourcesPath + path.sep;
|
||||||
const originalNodeModulePaths = Module._nodeModulePaths;
|
const originalNodeModulePaths = Module._nodeModulePaths;
|
||||||
Module._nodeModulePaths = function (from: string) {
|
Module._nodeModulePaths = function (from) {
|
||||||
const paths: string[] = originalNodeModulePaths(from);
|
const paths: string[] = originalNodeModulePaths(from);
|
||||||
const fromPath = path.resolve(from) + path.sep;
|
const fromPath = path.resolve(from) + path.sep;
|
||||||
// If "from" is outside the app then we do nothing.
|
// If "from" is outside the app then we do nothing.
|
||||||
|
|
Loading…
Reference in a new issue