From 93062a940bf442ca718bbb24e7f0b5f67e904c21 Mon Sep 17 00:00:00 2001 From: Abyss Lab <221123197+cqxswbc2@users.noreply.github.com> Date: Fri, 4 Sep 2026 17:04:18 +0800 Subject: [PATCH] fix: accept process.env in worker options --- src/common.ts | 2 +- src/index.ts | 2 +- test/simple.test.ts | 10 ++++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/common.ts b/src/common.ts index 30ef0ff..371c6a5 100644 --- a/src/common.ts +++ b/src/common.ts @@ -16,7 +16,7 @@ export interface TinypoolChannel { export interface TinypoolWorker { runtime: string initialize(options: { - env?: Record + env?: NodeJS.ProcessEnv argv?: string[] execArgv?: string[] resourceLimits?: any diff --git a/src/index.ts b/src/index.ts index 2589d3b..43d42fa 100644 --- a/src/index.ts +++ b/src/index.ts @@ -149,7 +149,7 @@ interface Options { maxMemoryLimitBeforeRecycle?: number argv?: string[] execArgv?: string[] - env?: Record + env?: NodeJS.ProcessEnv workerData?: any taskQueue?: TaskQueue trackUnmanagedFds?: boolean diff --git a/test/simple.test.ts b/test/simple.test.ts index 17f6016..71ff49e 100644 --- a/test/simple.test.ts +++ b/test/simple.test.ts @@ -86,6 +86,16 @@ test('passing env to workers works', async () => { expect(env).toEqual({ A: 'foo' }) }) +test('passing process.env to workers works', async () => { + const pool = new Tinypool({ + filename: resolve(__dirname, 'fixtures/eval.js'), + env: process.env, + }) + + const env = await pool.run('({...process.env})') + expect(env).toEqual(process.env) +}) + test('passing argv to workers works', async () => { const pool = new Tinypool({ filename: resolve(__dirname, 'fixtures/eval.js'),