Archived
1
0

Pass env as actual env instead of as a flag

This commit is contained in:
Asher 2019-03-11 17:50:35 -05:00
parent 736feaba51
commit 0a9f5d8eee
No known key found for this signature in database
GPG Key ID: 7BB4BA9C783D2BBC
2 changed files with 9 additions and 11 deletions

View File

@ -33,7 +33,6 @@ export class Entry extends Command {
"bootstrap-fork": flags.string({ hidden: true }), "bootstrap-fork": flags.string({ hidden: true }),
"fork": flags.string({ hidden: true }), "fork": flags.string({ hidden: true }),
env: flags.string({ hidden: true }),
args: flags.string({ hidden: true }), args: flags.string({ hidden: true }),
}; };
public static args = [{ public static args = [{
@ -60,7 +59,6 @@ export class Entry extends Command {
process.exit(1); process.exit(1);
} }
Object.assign(process.env, flags.env ? JSON.parse(flags.env) : {});
((flags.args ? JSON.parse(flags.args) : []) as string[]).forEach((arg, i) => { ((flags.args ? JSON.parse(flags.args) : []) as string[]).forEach((arg, i) => {
// [0] contains the binary running the script (`node` for example) and // [0] contains the binary running the script (`node` for example) and
// [1] contains the script name, so the arguments come after that. // [1] contains the script name, so the arguments come after that.
@ -231,7 +229,7 @@ export class Entry extends Command {
logger.info(url); logger.info(url);
logger.info(" "); logger.info(" ");
if (flags["open"]) { if (flags.open) {
try { try {
await opn(url); await opn(url);
} catch (e) { } catch (e) {

View File

@ -125,21 +125,21 @@ export const requireModule = (modulePath: string, dataDir: string, builtInExtens
*/ */
export const forkModule = (modulePath: string, args: string[], options: cp.ForkOptions, dataDir?: string): cp.ChildProcess => { export const forkModule = (modulePath: string, args: string[], options: cp.ForkOptions, dataDir?: string): cp.ChildProcess => {
let proc: cp.ChildProcess; let proc: cp.ChildProcess;
const forkOptions: cp.ForkOptions = {
stdio: [null, null, null, "ipc"],
};
if (options.env) {
// This prevents vscode from trying to load original-fs from electron.
delete options.env.ELECTRON_RUN_AS_NODE;
forkOptions.env = options.env;
}
const forkArgs = ["--bootstrap-fork", modulePath]; const forkArgs = ["--bootstrap-fork", modulePath];
if (args) { if (args) {
forkArgs.push("--args", JSON.stringify(args)); forkArgs.push("--args", JSON.stringify(args));
} }
if (options.env) {
// This prevents vscode from trying to load original-fs from electron.
delete options.env.ELECTRON_RUN_AS_NODE;
forkArgs.push("--env", JSON.stringify(options.env));
}
if (dataDir) { if (dataDir) {
forkArgs.push("--data-dir", dataDir); forkArgs.push("--data-dir", dataDir);
} }
const forkOptions: cp.ForkOptions = {
stdio: [null, null, null, "ipc"],
};
if (isCli) { if (isCli) {
proc = cp.spawn(process.execPath, forkArgs, forkOptions); proc = cp.spawn(process.execPath, forkArgs, forkOptions);
} else { } else {