|
1 | 1 | import { field, logger } from "@coder/logger";
|
2 | 2 | import { ServerMessage, SharedProcessActive } from "@coder/protocol/src/proto";
|
| 3 | +import { preserveEnv } from "@coder/protocol"; |
3 | 4 | import { ChildProcess, fork, ForkOptions } from "child_process";
|
4 | 5 | import { randomFillSync } from "crypto";
|
5 | 6 | import * as fs from "fs";
|
@@ -174,17 +175,21 @@ const bold = (text: string | number): string | number => {
|
174 | 175 | }
|
175 | 176 |
|
176 | 177 | if (options.installExtension) {
|
| 178 | + |
| 179 | + let forkOptions = { |
| 180 | + env: { |
| 181 | + VSCODE_ALLOW_IO: "true" |
| 182 | + } |
| 183 | + } |
| 184 | + |
| 185 | + preserveEnv(forkOptions); |
| 186 | + |
177 | 187 | const fork = forkModule("vs/code/node/cli", [
|
178 | 188 | "--user-data-dir", dataDir,
|
179 | 189 | "--builtin-extensions-dir", builtInExtensionsDir,
|
180 | 190 | "--extensions-dir", extensionsDir,
|
181 | 191 | "--install-extension", options.installExtension,
|
182 |
| - ], { |
183 |
| - env: { |
184 |
| - VSCODE_ALLOW_IO: "true", |
185 |
| - VSCODE_LOGS: process.env.VSCODE_LOGS, |
186 |
| - }, |
187 |
| - }, dataDir); |
| 192 | + ], forkOptions, dataDir); |
188 | 193 |
|
189 | 194 | fork.stdout.on("data", (d: Buffer) => d.toString().split("\n").forEach((l) => logger.info(l)));
|
190 | 195 | fork.stderr.on("data", (d: Buffer) => d.toString().split("\n").forEach((l) => logger.error(l)));
|
|
0 commit comments