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'),