From 5ce5600249cc163188e6fa8facf8ec7b8f435793 Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Fri, 26 Apr 2024 15:51:21 -0700 Subject: [PATCH] chore: statically import credential-provider-node in clients used from credentials (#6027) --- clients/client-sso-oidc/package.json | 4 +- .../src/credentialDefaultProvider.ts | 8 --- clients/client-sso-oidc/src/runtimeConfig.ts | 2 +- clients/client-sts/package.json | 4 +- .../src/credentialDefaultProvider.ts | 8 --- clients/client-sts/src/runtimeConfig.ts | 2 +- .../typescript/codegen/AddAwsAuthPlugin.java | 45 ++---------- .../aws/typescript/codegen/AwsDependency.java | 1 - .../integration/AddSTSAuthCustomizations.java | 6 +- .../integration/AwsSdkCustomizeSigV4Auth.java | 70 +++---------------- packages/credential-provider-ini/package.json | 4 +- .../credential-provider-ini/src/fromIni.ts | 8 ++- .../credential-provider-ini/src/loadSts.ts | 5 -- .../src/resolveAssumeRoleCredentials.ts | 3 +- .../package.json | 4 +- .../src/fromWebToken.ts | 8 +-- .../src/loadSts.ts | 5 -- packages/token-providers/package.json | 4 +- .../token-providers/src/getNewSsoOidcToken.ts | 3 +- .../token-providers/src/getSsoOidcClient.ts | 3 +- packages/token-providers/src/loadSsoOidc.ts | 4 -- 21 files changed, 46 insertions(+), 155 deletions(-) delete mode 100644 clients/client-sso-oidc/src/credentialDefaultProvider.ts delete mode 100644 clients/client-sts/src/credentialDefaultProvider.ts delete mode 100644 packages/credential-provider-ini/src/loadSts.ts delete mode 100644 packages/credential-provider-web-identity/src/loadSts.ts delete mode 100644 packages/token-providers/src/loadSsoOidc.ts diff --git a/clients/client-sso-oidc/package.json b/clients/client-sso-oidc/package.json index 1d91eb1d4501..9b7e54536031 100644 --- a/clients/client-sso-oidc/package.json +++ b/clients/client-sso-oidc/package.json @@ -21,6 +21,7 @@ "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/core": "*", + "@aws-sdk/credential-provider-node": "*", "@aws-sdk/middleware-host-header": "*", "@aws-sdk/middleware-logger": "*", "@aws-sdk/middleware-recursion-detection": "*", @@ -84,9 +85,6 @@ "url": "https://aws.amazon.com/javascript/" }, "license": "Apache-2.0", - "peerDependencies": { - "@aws-sdk/credential-provider-node": "*" - }, "browser": { "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" }, diff --git a/clients/client-sso-oidc/src/credentialDefaultProvider.ts b/clients/client-sso-oidc/src/credentialDefaultProvider.ts deleted file mode 100644 index dd98203a786c..000000000000 --- a/clients/client-sso-oidc/src/credentialDefaultProvider.ts +++ /dev/null @@ -1,8 +0,0 @@ -// smithy-typescript generated code -/** - * @internal - */ -export const defaultProvider = ((input: any) => { - // @ts-ignore - return () => import("@aws-sdk/credential-provider-node").then(({ defaultProvider }) => defaultProvider(input)()); -}) as any; diff --git a/clients/client-sso-oidc/src/runtimeConfig.ts b/clients/client-sso-oidc/src/runtimeConfig.ts index b1bdd4b6ef50..453600fce754 100644 --- a/clients/client-sso-oidc/src/runtimeConfig.ts +++ b/clients/client-sso-oidc/src/runtimeConfig.ts @@ -2,8 +2,8 @@ // @ts-ignore: package.json will be imported from dist folders import packageInfo from "../package.json"; // eslint-disable-line -import { defaultProvider as credentialDefaultProvider } from "./credentialDefaultProvider"; import { emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; import { NODE_REGION_CONFIG_FILE_OPTIONS, diff --git a/clients/client-sts/package.json b/clients/client-sts/package.json index 7a2bef2c6744..f9c6b5efe99b 100644 --- a/clients/client-sts/package.json +++ b/clients/client-sts/package.json @@ -23,6 +23,7 @@ "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/core": "*", + "@aws-sdk/credential-provider-node": "*", "@aws-sdk/middleware-host-header": "*", "@aws-sdk/middleware-logger": "*", "@aws-sdk/middleware-recursion-detection": "*", @@ -86,9 +87,6 @@ "url": "https://aws.amazon.com/javascript/" }, "license": "Apache-2.0", - "peerDependencies": { - "@aws-sdk/credential-provider-node": "*" - }, "browser": { "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" }, diff --git a/clients/client-sts/src/credentialDefaultProvider.ts b/clients/client-sts/src/credentialDefaultProvider.ts deleted file mode 100644 index dd98203a786c..000000000000 --- a/clients/client-sts/src/credentialDefaultProvider.ts +++ /dev/null @@ -1,8 +0,0 @@ -// smithy-typescript generated code -/** - * @internal - */ -export const defaultProvider = ((input: any) => { - // @ts-ignore - return () => import("@aws-sdk/credential-provider-node").then(({ defaultProvider }) => defaultProvider(input)()); -}) as any; diff --git a/clients/client-sts/src/runtimeConfig.ts b/clients/client-sts/src/runtimeConfig.ts index def26206cd3a..f23aa49b855a 100644 --- a/clients/client-sts/src/runtimeConfig.ts +++ b/clients/client-sts/src/runtimeConfig.ts @@ -2,8 +2,8 @@ // @ts-ignore: package.json will be imported from dist folders import packageInfo from "../package.json"; // eslint-disable-line -import { defaultProvider as credentialDefaultProvider } from "./credentialDefaultProvider"; import { AwsSdkSigV4Signer, emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; import { NODE_REGION_CONFIG_FILE_OPTIONS, diff --git a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddAwsAuthPlugin.java b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddAwsAuthPlugin.java index 4be1d8449195..6f7b5140d7e8 100644 --- a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddAwsAuthPlugin.java +++ b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddAwsAuthPlugin.java @@ -38,7 +38,6 @@ import software.amazon.smithy.model.shapes.OperationShape; import software.amazon.smithy.model.shapes.ServiceShape; import software.amazon.smithy.model.shapes.Shape; -import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.model.traits.OptionalAuthTrait; import software.amazon.smithy.typescript.codegen.CodegenUtils; import software.amazon.smithy.typescript.codegen.LanguageTarget; @@ -208,19 +207,11 @@ public Map> getRuntimeConfigWriters( case NODE: return MapUtils.of( "credentialDefaultProvider", writer -> { - if (isCredentialService(service)) { - writer - .addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE_PEER) - .addRelativeImport("defaultProvider", "credentialDefaultProvider", - Paths.get(".", CodegenUtils.SOURCE_FOLDER, "credentialDefaultProvider")) - .write("credentialDefaultProvider"); - } else { - writer - .addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE) - .addImport("defaultProvider", "credentialDefaultProvider", - AwsDependency.CREDENTIAL_PROVIDER_NODE) - .write("credentialDefaultProvider"); - } + writer + .addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE) + .addImport("defaultProvider", "credentialDefaultProvider", + AwsDependency.CREDENTIAL_PROVIDER_NODE) + .write("credentialDefaultProvider"); } ); default: @@ -239,22 +230,6 @@ public void customize(TypeScriptCodegenContext codegenContext) { writerFactory.accept(Paths.get(CodegenUtils.SOURCE_FOLDER, "index.ts").toString(), writer -> { writeAdditionalExports(settings, model, writer); }); - - if (isCredentialService(settings.getService(model))) { - writerFactory.accept(CodegenUtils.SOURCE_FOLDER + "/credentialDefaultProvider.ts", writer -> { - writer - .write(""" - /** - * @internal - */ - export const defaultProvider = ((input: any) => { - // @ts-ignore - return () => import("@aws-sdk/credential-provider-node") - .then(({ defaultProvider }) => defaultProvider(input)()); - }) as any; - """); - }); - } } private void writeAdditionalFiles( @@ -343,14 +318,4 @@ private static boolean areAllOptionalAuthOperations(Model model, ServiceShape se } return true; } - - /** - * Some services with circular dependencies to credential providers. - */ - private boolean isCredentialService(ServiceShape service) { - return List.of( - ShapeId.from("com.amazonaws.ssooidc#AWSSSOOIDCService"), - ShapeId.from("com.amazonaws.sts#AWSSecurityTokenServiceV20110615") - ).stream().anyMatch(service.getId()::equals); - } } diff --git a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsDependency.java b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsDependency.java index d2fdfc726678..60d24ce36649 100644 --- a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsDependency.java +++ b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsDependency.java @@ -42,7 +42,6 @@ public enum AwsDependency implements Dependency { MIDDLEWARE_SIGNING(NORMAL_DEPENDENCY, "@aws-sdk/middleware-signing"), MIDDLEWARE_TOKEN(NORMAL_DEPENDENCY, "@aws-sdk/middleware-token"), CREDENTIAL_PROVIDER_NODE(NORMAL_DEPENDENCY, "@aws-sdk/credential-provider-node"), - CREDENTIAL_PROVIDER_NODE_PEER(PEER_DEPENDENCY, "@aws-sdk/credential-provider-node"), ACCEPT_HEADER(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-api-gateway"), S3_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-s3"), ADD_EXPECT_CONTINUE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-expect-continue"), diff --git a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AddSTSAuthCustomizations.java b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AddSTSAuthCustomizations.java index 6e7a405a9b4d..4b2b14377a3f 100644 --- a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AddSTSAuthCustomizations.java +++ b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AddSTSAuthCustomizations.java @@ -110,9 +110,9 @@ public Map> getRuntimeConfigWriters( return MapUtils.of( "credentialDefaultProvider", writer -> { writer - .addRelativeImport("defaultProvider", "credentialDefaultProvider", - Paths.get(".", CodegenUtils.SOURCE_FOLDER, "credentialDefaultProvider")) - .addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE_PEER) + .addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE) + .addImport("defaultProvider", "credentialDefaultProvider", + AwsDependency.CREDENTIAL_PROVIDER_NODE) .write("credentialDefaultProvider"); } ); diff --git a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AwsSdkCustomizeSigV4Auth.java b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AwsSdkCustomizeSigV4Auth.java index 28ff92098280..af3c1ece4d6d 100644 --- a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AwsSdkCustomizeSigV4Auth.java +++ b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AwsSdkCustomizeSigV4Auth.java @@ -8,12 +8,10 @@ import static software.amazon.smithy.aws.typescript.codegen.AwsTraitsUtils.isAwsService; import static software.amazon.smithy.aws.typescript.codegen.AwsTraitsUtils.isSigV4Service; -import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.function.BiConsumer; import java.util.function.Consumer; import software.amazon.smithy.aws.traits.auth.SigV4Trait; import software.amazon.smithy.aws.typescript.codegen.AwsDependency; @@ -23,11 +21,8 @@ import software.amazon.smithy.model.knowledge.TopDownIndex; import software.amazon.smithy.model.shapes.OperationShape; import software.amazon.smithy.model.shapes.ServiceShape; -import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.model.traits.OptionalAuthTrait; -import software.amazon.smithy.typescript.codegen.CodegenUtils; import software.amazon.smithy.typescript.codegen.LanguageTarget; -import software.amazon.smithy.typescript.codegen.TypeScriptCodegenContext; import software.amazon.smithy.typescript.codegen.TypeScriptDependency; import software.amazon.smithy.typescript.codegen.TypeScriptSettings; import software.amazon.smithy.typescript.codegen.TypeScriptWriter; @@ -113,27 +108,15 @@ public Map> getRuntimeConfigWriters( } case NODE: if (isAwsService(service)) { - if (isCredentialService(service)) { - return MapUtils.of( - "credentialDefaultProvider", writer -> { - writer - .addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE_PEER) - .addRelativeImport("defaultProvider", "credentialDefaultProvider", - Paths.get(".", CodegenUtils.SOURCE_FOLDER, "credentialDefaultProvider")) - .write("credentialDefaultProvider"); - } - ); - } else { - return MapUtils.of( - "credentialDefaultProvider", writer -> { - writer - .addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE) - .addImport("defaultProvider", "credentialDefaultProvider", - AwsDependency.CREDENTIAL_PROVIDER_NODE) - .write("credentialDefaultProvider"); - } - ); - } + return MapUtils.of( + "credentialDefaultProvider", writer -> { + writer + .addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE) + .addImport("defaultProvider", "credentialDefaultProvider", + AwsDependency.CREDENTIAL_PROVIDER_NODE) + .write("credentialDefaultProvider"); + } + ); } default: return Collections.emptyMap(); @@ -197,31 +180,6 @@ public void customizeSupportedHttpAuthSchemes( } } - @Override - public void customize(TypeScriptCodegenContext codegenContext) { - TypeScriptSettings settings = codegenContext.settings(); - Model model = codegenContext.model(); - - if (isCredentialService(settings.getService(model))) { - BiConsumer> writerFactory = - codegenContext.writerDelegator()::useFileWriter; - - writerFactory.accept(CodegenUtils.SOURCE_FOLDER + "/credentialDefaultProvider.ts", writer -> { - writer - .write(""" - /** - * @internal - */ - export const defaultProvider = ((input: any) => { - // @ts-ignore - return () => import("@aws-sdk/credential-provider-node") - .then(({ defaultProvider }) => defaultProvider(input)()); - }) as any; - """); - }); - } - } - private boolean areAllOptionalAuthOperations(Model model, ServiceShape service) { TopDownIndex topDownIndex = TopDownIndex.of(model); Set operations = topDownIndex.getContainedOperations(service); @@ -232,14 +190,4 @@ private boolean areAllOptionalAuthOperations(Model model, ServiceShape service) } return true; } - - /** - * Some services with circular dependencies to credential providers. - */ - private boolean isCredentialService(ServiceShape service) { - return List.of( - ShapeId.from("com.amazonaws.ssooidc#AWSSSOOIDCService"), - ShapeId.from("com.amazonaws.sts#AWSSecurityTokenServiceV20110615") - ).stream().anyMatch(service.getId()::equals); - } } diff --git a/packages/credential-provider-ini/package.json b/packages/credential-provider-ini/package.json index 4752859f557e..21f61e923819 100644 --- a/packages/credential-provider-ini/package.json +++ b/packages/credential-provider-ini/package.json @@ -24,7 +24,6 @@ }, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-sts": "*", "@aws-sdk/credential-provider-env": "*", "@aws-sdk/credential-provider-process": "*", "@aws-sdk/credential-provider-sso": "*", @@ -44,6 +43,9 @@ "rimraf": "3.0.2", "typescript": "~4.9.5" }, + "peerDependencies": { + "@aws-sdk/client-sts": "*" + }, "types": "./dist-types/index.d.ts", "engines": { "node": ">=14.0.0" diff --git a/packages/credential-provider-ini/src/fromIni.ts b/packages/credential-provider-ini/src/fromIni.ts index f178196698ba..253f5b3935e2 100644 --- a/packages/credential-provider-ini/src/fromIni.ts +++ b/packages/credential-provider-ini/src/fromIni.ts @@ -3,7 +3,6 @@ import type { CredentialProviderOptions } from "@aws-sdk/types"; import { getProfileName, parseKnownFiles, SourceProfileInit } from "@smithy/shared-ini-file-loader"; import type { AwsCredentialIdentity, AwsCredentialIdentityProvider, Pluggable } from "@smithy/types"; -import type { STSClientConfig } from "./loadSts"; import { AssumeRoleParams } from "./resolveAssumeRoleCredentials"; import { resolveProfileData } from "./resolveProfileData"; @@ -39,7 +38,12 @@ export interface FromIniInit extends SourceProfileInit, CredentialProviderOption */ roleAssumerWithWebIdentity?: (params: AssumeRoleWithWebIdentityParams) => Promise; - clientConfig?: STSClientConfig; + /** + * STSClientConfig to be used for creating STS Client for assuming role. + * @internal + */ + clientConfig?: any; + clientPlugins?: Pluggable[]; } diff --git a/packages/credential-provider-ini/src/loadSts.ts b/packages/credential-provider-ini/src/loadSts.ts deleted file mode 100644 index 738ef6bc3a29..000000000000 --- a/packages/credential-provider-ini/src/loadSts.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { getDefaultRoleAssumer } from "@aws-sdk/client-sts"; - -// This file must be loaded dynamically. -export { getDefaultRoleAssumer }; -export type { STSClientConfig } from "@aws-sdk/client-sts"; diff --git a/packages/credential-provider-ini/src/resolveAssumeRoleCredentials.ts b/packages/credential-provider-ini/src/resolveAssumeRoleCredentials.ts index 11157f851144..e768d7284d67 100644 --- a/packages/credential-provider-ini/src/resolveAssumeRoleCredentials.ts +++ b/packages/credential-provider-ini/src/resolveAssumeRoleCredentials.ts @@ -87,7 +87,8 @@ export const resolveAssumeRoleCredentials = async ( const data = profiles[profileName]; if (!options.roleAssumer) { - const { getDefaultRoleAssumer } = await import("./loadSts"); + // @ts-ignore Cannot find module '@aws-sdk/client-sts' + const { getDefaultRoleAssumer } = await import("@aws-sdk/client-sts"); options.roleAssumer = getDefaultRoleAssumer( { ...options.clientConfig, diff --git a/packages/credential-provider-web-identity/package.json b/packages/credential-provider-web-identity/package.json index 8fa799fce24b..8ecfde199369 100644 --- a/packages/credential-provider-web-identity/package.json +++ b/packages/credential-provider-web-identity/package.json @@ -32,7 +32,6 @@ }, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-sts": "*", "@aws-sdk/types": "*", "@smithy/property-provider": "^2.2.0", "@smithy/types": "^2.12.0", @@ -46,6 +45,9 @@ "rimraf": "3.0.2", "typescript": "~4.9.5" }, + "peerDependencies": { + "@aws-sdk/client-sts": "*" + }, "types": "./dist-types/index.d.ts", "engines": { "node": ">=14.0.0" diff --git a/packages/credential-provider-web-identity/src/fromWebToken.ts b/packages/credential-provider-web-identity/src/fromWebToken.ts index 55e5e6ab87fd..c94b3725e6a6 100644 --- a/packages/credential-provider-web-identity/src/fromWebToken.ts +++ b/packages/credential-provider-web-identity/src/fromWebToken.ts @@ -1,8 +1,6 @@ import type { CredentialProviderOptions } from "@aws-sdk/types"; import type { AwsCredentialIdentity, AwsCredentialIdentityProvider, Pluggable } from "@smithy/types"; -import type { STSClientConfig } from "./loadSts"; - /** * @public */ @@ -138,9 +136,10 @@ export interface FromWebTokenInit roleAssumerWithWebIdentity?: (params: AssumeRoleWithWebIdentityParams) => Promise; /** + * STSClientConfig to be used for creating STS Client for assuming role. * @internal */ - clientConfig?: STSClientConfig; + clientConfig?: any; /** * @internal @@ -160,7 +159,8 @@ export const fromWebToken = let { roleAssumerWithWebIdentity } = init; if (!roleAssumerWithWebIdentity) { - const { getDefaultRoleAssumerWithWebIdentity } = await import("./loadSts"); + // @ts-ignore Cannot find module '@aws-sdk/client-sts' + const { getDefaultRoleAssumerWithWebIdentity } = await import("@aws-sdk/client-sts"); roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity( { ...init.clientConfig, diff --git a/packages/credential-provider-web-identity/src/loadSts.ts b/packages/credential-provider-web-identity/src/loadSts.ts deleted file mode 100644 index ca2eb9076c2f..000000000000 --- a/packages/credential-provider-web-identity/src/loadSts.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { getDefaultRoleAssumerWithWebIdentity } from "@aws-sdk/client-sts"; - -// This file must be loaded dynamically. -export { getDefaultRoleAssumerWithWebIdentity }; -export type { STSClientConfig } from "@aws-sdk/client-sts"; diff --git a/packages/token-providers/package.json b/packages/token-providers/package.json index f82effddabcb..52447bc54fe9 100644 --- a/packages/token-providers/package.json +++ b/packages/token-providers/package.json @@ -26,7 +26,6 @@ }, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-sso-oidc": "*", "@aws-sdk/types": "*", "@smithy/property-provider": "^2.2.0", "@smithy/shared-ini-file-loader": "^2.4.0", @@ -41,6 +40,9 @@ "rimraf": "3.0.2", "typescript": "~4.9.5" }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "*" + }, "types": "./dist-types/index.d.ts", "engines": { "node": ">=14.0.0" diff --git a/packages/token-providers/src/getNewSsoOidcToken.ts b/packages/token-providers/src/getNewSsoOidcToken.ts index 80401072bf3d..91096f79f171 100644 --- a/packages/token-providers/src/getNewSsoOidcToken.ts +++ b/packages/token-providers/src/getNewSsoOidcToken.ts @@ -7,7 +7,8 @@ import { getSsoOidcClient } from "./getSsoOidcClient"; * @internal */ export const getNewSsoOidcToken = async (ssoToken: SSOToken, ssoRegion: string) => { - const { CreateTokenCommand } = await import("./loadSsoOidc"); + // @ts-ignore Cannot find module '@aws-sdk/client-sso-oidc' + const { CreateTokenCommand } = await import("@aws-sdk/client-sso-oidc"); const ssoOidcClient = await getSsoOidcClient(ssoRegion); return ssoOidcClient.send( diff --git a/packages/token-providers/src/getSsoOidcClient.ts b/packages/token-providers/src/getSsoOidcClient.ts index f2aefb3c58ce..ec366ffcd73a 100644 --- a/packages/token-providers/src/getSsoOidcClient.ts +++ b/packages/token-providers/src/getSsoOidcClient.ts @@ -6,7 +6,8 @@ const ssoOidcClientsHash: Record = {}; * @internal */ export const getSsoOidcClient = async (ssoRegion: string) => { - const { SSOOIDCClient } = await import("./loadSsoOidc"); + // @ts-ignore Cannot find module '@aws-sdk/client-sso-oidc' + const { SSOOIDCClient } = await import("@aws-sdk/client-sso-oidc"); // return ssoOidsClient if already created. if (ssoOidcClientsHash[ssoRegion]) { diff --git a/packages/token-providers/src/loadSsoOidc.ts b/packages/token-providers/src/loadSsoOidc.ts deleted file mode 100644 index 745efba1073e..000000000000 --- a/packages/token-providers/src/loadSsoOidc.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { CreateTokenCommand, SSOOIDCClient } from "@aws-sdk/client-sso-oidc"; - -// This file must be loaded dynamically. -export { CreateTokenCommand, SSOOIDCClient };