summaryrefslogtreecommitdiff
path: root/ext/node/polyfills
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/polyfills')
-rw-r--r--ext/node/polyfills/child_process.ts7
-rw-r--r--ext/node/polyfills/internal/child_process.ts9
2 files changed, 11 insertions, 5 deletions
diff --git a/ext/node/polyfills/child_process.ts b/ext/node/polyfills/child_process.ts
index f77a430c2..c37dfc410 100644
--- a/ext/node/polyfills/child_process.ts
+++ b/ext/node/polyfills/child_process.ts
@@ -10,7 +10,6 @@ import { internals } from "ext:core/mod.js";
import {
op_bootstrap_unstable_args,
op_node_child_ipc_pipe,
- op_npm_process_state,
} from "ext:core/ops";
import {
@@ -54,6 +53,7 @@ import {
convertToValidSignal,
kEmptyObject,
} from "ext:deno_node/internal/util.mjs";
+import { kNeedsNpmProcessState } from "ext:runtime/40_process.js";
const MAX_BUFFER = 1024 * 1024;
@@ -168,9 +168,8 @@ export function fork(
options.execPath = options.execPath || Deno.execPath();
options.shell = false;
- Object.assign(options.env ??= {}, {
- DENO_DONT_USE_INTERNAL_NODE_COMPAT_STATE: op_npm_process_state(),
- });
+ // deno-lint-ignore no-explicit-any
+ (options as any)[kNeedsNpmProcessState] = true;
return spawn(options.execPath, args, options);
}
diff --git a/ext/node/polyfills/internal/child_process.ts b/ext/node/polyfills/internal/child_process.ts
index 56fc21f35..6f209b719 100644
--- a/ext/node/polyfills/internal/child_process.ts
+++ b/ext/node/polyfills/internal/child_process.ts
@@ -56,7 +56,12 @@ import { StringPrototypeSlice } from "ext:deno_node/internal/primordials.mjs";
import { StreamBase } from "ext:deno_node/internal_binding/stream_wrap.ts";
import { Pipe, socketType } from "ext:deno_node/internal_binding/pipe_wrap.ts";
import { Socket } from "node:net";
-import { kDetached, kExtraStdio, kIpc } from "ext:runtime/40_process.js";
+import {
+ kDetached,
+ kExtraStdio,
+ kIpc,
+ kNeedsNpmProcessState,
+} from "ext:runtime/40_process.js";
export function mapValues<T, O>(
record: Readonly<Record<string, T>>,
@@ -281,6 +286,8 @@ export class ChildProcess extends EventEmitter {
[kIpc]: ipc, // internal
[kExtraStdio]: extraStdioNormalized,
[kDetached]: detached,
+ // deno-lint-ignore no-explicit-any
+ [kNeedsNpmProcessState]: (options ?? {} as any)[kNeedsNpmProcessState],
}).spawn();
this.pid = this.#process.pid;