From e0554ac4a2da95ad98eef36246283cb8f38a3afe Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Sat, 20 Apr 2024 09:18:10 +0530 Subject: fix(ext/node): Support `env` option in worker_thread (#23462) Fixes https://github.com/denoland/deno/issues/23455 --- ext/node/polyfills/worker_threads.ts | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'ext/node/polyfills/worker_threads.ts') diff --git a/ext/node/polyfills/worker_threads.ts b/ext/node/polyfills/worker_threads.ts index f61e7e3e3..96aa02fe1 100644 --- a/ext/node/polyfills/worker_threads.ts +++ b/ext/node/polyfills/worker_threads.ts @@ -27,6 +27,7 @@ import * as webidl from "ext:deno_webidl/00_webidl.js"; import { notImplemented } from "ext:deno_node/_utils.ts"; import { EventEmitter } from "node:events"; import { BroadcastChannel } from "ext:deno_broadcast_channel/01_broadcast_channel.js"; +import process from "node:process"; const { ObjectPrototypeIsPrototypeOf } = primordials; const { @@ -128,6 +129,7 @@ class NodeWorker extends EventEmitter { const serializedWorkerMetadata = serializeJsMessageData({ workerData: options?.workerData, environmentData: environmentData, + env: options?.env, }, options?.transferList ?? []); const id = op_create_worker( { @@ -348,6 +350,10 @@ internals.__initWorkerThreads = ( const { 0: metadata, 1: _ } = maybeWorkerMetadata; workerData = metadata.workerData; environmentData = metadata.environmentData; + const env = metadata.env; + if (env) { + process.env = env; + } } defaultExport.workerData = workerData; defaultExport.parentPort = parentPort; -- cgit v1.2.3