From 872fe07fa140ea95d7c894833de7241dfab195e7 Mon Sep 17 00:00:00 2001 From: froggydood <26084155+froggydood@users.noreply.github.com> Date: Wed, 25 Jan 2023 21:20:13 +0000 Subject: [PATCH] fix(types): changed NodeJS.ProcessEnv type to Record in node-config-provider (#4319) * fix(types): changed NodeJS.ProcessEnv type to Record in node-config-provider package * chore: added comments explaining the changes --- packages/node-config-provider/src/configLoader.spec.ts | 3 ++- packages/node-config-provider/src/fromEnv.spec.ts | 4 +++- packages/node-config-provider/src/fromEnv.ts | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/node-config-provider/src/configLoader.spec.ts b/packages/node-config-provider/src/configLoader.spec.ts index 7efe47135086..7c7f52a4c008 100644 --- a/packages/node-config-provider/src/configLoader.spec.ts +++ b/packages/node-config-provider/src/configLoader.spec.ts @@ -25,7 +25,8 @@ describe("loadConfig", () => { (fromSharedConfigFiles as jest.Mock).mockReturnValueOnce(mockFromSharedConfigFilesReturn); const mockFromStatic = "mockFromStatic"; (fromStatic as jest.Mock).mockReturnValueOnce(mockFromStatic); - const envVarSelector = (env: NodeJS.ProcessEnv) => env["AWS_CONFIG_FOO"]; + // Using Record instead of NodeJS.ProcessEnv, in order to not get type errors in non node environments + const envVarSelector = (env: Record) => env["AWS_CONFIG_FOO"]; const configKey = (profile: Profile) => profile["aws_config_foo"]; const defaultValue = "foo-value"; loadConfig( diff --git a/packages/node-config-provider/src/fromEnv.spec.ts b/packages/node-config-provider/src/fromEnv.spec.ts index c69a1d07a381..5ad9cf061330 100644 --- a/packages/node-config-provider/src/fromEnv.spec.ts +++ b/packages/node-config-provider/src/fromEnv.spec.ts @@ -5,7 +5,9 @@ import { fromEnv, GetterFromEnv } from "./fromEnv"; describe("fromEnv", () => { describe("with env var getter", () => { const envVarName = "ENV_VAR_NAME"; - const envVarGetter: GetterFromEnv = (env: NodeJS.ProcessEnv) => env[envVarName]!; + + // Using Record instead of NodeJS.ProcessEnv, in order to not get type errors in non node environments + const envVarGetter: GetterFromEnv = (env: Record) => env[envVarName]!; const envVarValue = process.env[envVarName]; const mockEnvVarValue = "mockEnvVarValue"; diff --git a/packages/node-config-provider/src/fromEnv.ts b/packages/node-config-provider/src/fromEnv.ts index 656493bdcdcb..e3eae8db2b8d 100644 --- a/packages/node-config-provider/src/fromEnv.ts +++ b/packages/node-config-provider/src/fromEnv.ts @@ -1,7 +1,8 @@ import { CredentialsProviderError } from "@aws-sdk/property-provider"; import { Provider } from "@aws-sdk/types"; -export type GetterFromEnv = (env: NodeJS.ProcessEnv) => T | undefined; +// Using Record instead of NodeJS.ProcessEnv, in order to not get type errors in non node environments +export type GetterFromEnv = (env: Record) => T | undefined; /** * Get config value given the environment variable name or getter from