From 328c3d00c54005acf3b70589bd232d698a1f80db Mon Sep 17 00:00:00 2001 From: Sebastian Landwehr Date: Thu, 4 Dec 2025 15:20:42 +0100 Subject: [PATCH 1/2] fix: make env value type unknown --- test-d/arguments/env.test-d.ts | 1 + types/arguments/options.d.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/test-d/arguments/env.test-d.ts b/test-d/arguments/env.test-d.ts index b25c54555b..5da929a6ad 100644 --- a/test-d/arguments/env.test-d.ts +++ b/test-d/arguments/env.test-d.ts @@ -29,3 +29,4 @@ expectAssignable(await execa({env: {test: 'example'}})`unicorns`); expectAssignable(await execa({env: {test: 'example'} as const})`unicorns`); expectAssignable(await execa({env: {test: undefined}})`unicorns`); expectAssignable(await execa({env: {test: undefined} as const})`unicorns`); +expectAssignable(await execa({env: {port: 3000} as const})`unicorns`); diff --git a/types/arguments/options.d.ts b/types/arguments/options.d.ts index 2719cc9b4f..1baaab69c3 100644 --- a/types/arguments/options.d.ts +++ b/types/arguments/options.d.ts @@ -76,7 +76,7 @@ export type CommonOptions = { @default [process.env](https://nodejs.org/api/process.html#processenv) */ - readonly env?: Readonly>>; + readonly env?: Readonly>>; /** If `true`, the subprocess uses both the `env` option and the current process' environment variables ([`process.env`](https://nodejs.org/api/process.html#processenv)). From 4c8a1080a9c227c92b29d1fe6698c57b53041064 Mon Sep 17 00:00:00 2001 From: Sebastian Landwehr Date: Thu, 4 Dec 2025 15:33:21 +0100 Subject: [PATCH 2/2] chore: remove unneeded test --- test-d/arguments/env.test-d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/test-d/arguments/env.test-d.ts b/test-d/arguments/env.test-d.ts index 5da929a6ad..0310c43c7c 100644 --- a/test-d/arguments/env.test-d.ts +++ b/test-d/arguments/env.test-d.ts @@ -24,7 +24,6 @@ expectType('' as NodeJS.ProcessEnv['NODE_ENV']); expectType('' as globalThis.NodeJS.ProcessEnv['NODE_ENV']); // But Execa's types are not impacted -expectType('' as Exclude['NODE_ENV']); expectAssignable(await execa({env: {test: 'example'}})`unicorns`); expectAssignable(await execa({env: {test: 'example'} as const})`unicorns`); expectAssignable(await execa({env: {test: undefined}})`unicorns`);