From 57cff00109cd91641906b483c4c587cd9f22e920 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Tue, 15 Jul 2025 17:49:20 +0900 Subject: [PATCH 1/3] `WorkerConnector.IConnectOptions.cwd` --- package.json | 2 +- src/protocols/workers/WorkerConnector.ts | 15 ++++++++++++--- .../workers/internal/processes/ProcessWorker.ts | 2 ++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 9333f84..d38dad1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tgrid", - "version": "1.1.0", + "version": "1.2.0", "main": "lib/index.js", "typings": "lib/index.d.ts", "exports": { diff --git a/src/protocols/workers/WorkerConnector.ts b/src/protocols/workers/WorkerConnector.ts index b4e6120..f234f55 100644 --- a/src/protocols/workers/WorkerConnector.ts +++ b/src/protocols/workers/WorkerConnector.ts @@ -99,7 +99,7 @@ export class WorkerConnector< * memory leak. * * @param content JS Source code to compile. - * @param timeout Detailed options like timeout. + * @param options Detailed options like timeout. */ public async compile( content: string, @@ -146,8 +146,7 @@ export class WorkerConnector< * memory leak. * * @param jsFile JS File to be {@link WorkerServer}. - * @param args Headers containing initialization data like activation. - * @param timeout Detailed options like timeout. + * @param options Detailed options like timeout. */ public async connect( jsFile: string, @@ -352,5 +351,15 @@ export namespace WorkerConnector { * Available only in the NodeJS + Process environments. */ stdio: "overlapped" | "pipe" | "ignore" | "inherit"; + + /** + * Current working directory of the worker server. + */ + cwd: string; + + /** + * Environment variables to be passed to the worker server. + */ + env: Record; } } diff --git a/src/protocols/workers/internal/processes/ProcessWorker.ts b/src/protocols/workers/internal/processes/ProcessWorker.ts index 4469ca2..4fdadce 100644 --- a/src/protocols/workers/internal/processes/ProcessWorker.ts +++ b/src/protocols/workers/internal/processes/ProcessWorker.ts @@ -20,6 +20,8 @@ export async function ProcessWorker(): Promise { this.process_ = fork(jsFile, { execArgv: options?.execArgv, stdio: options?.stdio, + cwd: options?.cwd, + env: options?.env, }); } From 206650bc08ed1871cd4fd746a2553f1e9607a1ad Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Tue, 15 Jul 2025 17:51:29 +0900 Subject: [PATCH 2/3] Update src/protocols/workers/internal/processes/ProcessWorker.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/protocols/workers/internal/processes/ProcessWorker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocols/workers/internal/processes/ProcessWorker.ts b/src/protocols/workers/internal/processes/ProcessWorker.ts index 4fdadce..0cb8ca1 100644 --- a/src/protocols/workers/internal/processes/ProcessWorker.ts +++ b/src/protocols/workers/internal/processes/ProcessWorker.ts @@ -21,7 +21,7 @@ export async function ProcessWorker(): Promise { execArgv: options?.execArgv, stdio: options?.stdio, cwd: options?.cwd, - env: options?.env, + env: { ...process.env, ...options?.env }, }); } From ed04474602dc37f46e17ed11dd1fb6fee2b2a305 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Tue, 15 Jul 2025 17:52:28 +0900 Subject: [PATCH 3/3] New way about the env --- src/protocols/workers/internal/processes/ProcessWorker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocols/workers/internal/processes/ProcessWorker.ts b/src/protocols/workers/internal/processes/ProcessWorker.ts index 0cb8ca1..a41be0d 100644 --- a/src/protocols/workers/internal/processes/ProcessWorker.ts +++ b/src/protocols/workers/internal/processes/ProcessWorker.ts @@ -21,7 +21,7 @@ export async function ProcessWorker(): Promise { execArgv: options?.execArgv, stdio: options?.stdio, cwd: options?.cwd, - env: { ...process.env, ...options?.env }, + ...(options?.env ? { env: options.env } : {}), }); }