Closed
Description
Describe the bug
While using @aws-sdk/credential-providers
in a React typescript application having the following code:
import { initialize } from "@iot-app-kit/source-iotsitewise";
import { fromEnv } from "@aws-sdk/credential-providers";
const { query } = initialize({
awsCredentials: fromEnv(),
awsRegion: "us-east-1",
});
We encounter the following build error:
ERROR in ./src/App.tsx 16:18-25
export 'fromEnv' (imported as 'fromEnv') was not found in '@aws-sdk/credential-providers' (possible exports: fromCognitoIdentity, fromCognitoIdentityPool, fromTemporaryCredentials, fromWebToken)
Your environment
macOS
SDK version number
@aws-sdk/[email protected]
Is the issue in the browser/Node.js/ReactNative?
Browser
Details of the browser/Node.js/ReactNative version
Browsers:
Chrome: 98.0.4758.109
Firefox: 91.6.0
Safari: 15.3
Steps to reproduce
Please share code or minimal repo, and steps to reproduce the behavior.
- Create a new ReactJS application
npx create-react-app my-app --template typescript
- Install minimal packages to reproduce issue
npm install @aws-sdk/credential-providers @iot-app-kit/source-iotsitewise
- Add following code to
App.tsx
import { initialize } from '@iot-app-kit/source-iotsitewise';
import { fromEnv } from '@aws-sdk/credential-providers';
const { query } = initialize({ awsCredentials: fromEnv(), awsRegion: 'us-east-1' });
- Either run
npm start
ornpm run build
Observed behavior
React app fails to run or build due to following type checking error
ERROR in ./src/App.tsx 16:18-25
export 'fromEnv' (imported as 'fromEnv') was not found in '@aws-sdk/credential-providers' (possible exports: fromCognitoIdentity, fromCognitoIdentityPool, fromTemporaryCredentials, fromWebToken)
Expected behavior
Although @aws-sdk/credential-providers has the following exported member, the type resolution fails. The type resolution for fromEnv
should not fail.
export * from "./fromCognitoIdentity";
export * from "./fromCognitoIdentityPool";
export * from "./fromContainerMetadata";
export * from "./fromEnv";
export * from "./fromIni";
export * from "./fromInstanceMetadata";
export * from "./fromProcess";
export * from "./fromSSO";
export * from "./fromTemporaryCredentials";
export * from "./fromTokenFile";
export * from "./fromWebToken";