AWS TypeScript models
July 15, 2026 ยท View on GitHub
This package is used to build each client in the SDK.
The code generation stack is made up of 3 components:
- Smithy - the core libraries for code generation. They are not intended to contain anything specific to TypeScript or AWS SDKs.
- Smithy-TypeScript - This uses Smithy to generate code for the TypeScript (JavaScript) language runtimes. While this is maintained by AWS, it is not intended to contain anything specific to AWS.
- Smithy-AWS-TypeScript - This is the component here in the AWS SDK for JavaScript (v3) repository. It uses the two upstream components, Smithy and Smithy-TypeScript, to generate the AWS SDK for JavaScript (v3). Anything specific to AWS should only be found in this package.
Building
By running ./gradlew :sdk-codegen:build, this package will:
-
Scan the
sdk-codegendirectory for JSON files. Each file is a standalone model that represents a service to generate. -
Generate a
smithy-build.jsonfile.- For each model, a projection is created that uses the filename without ".json" as the name of the projection.
- An
importsvalue is added that imports the file. - The
typescript-codegenplugin is applied. Thepackagevalue is set to@aws-sdk/client-+ the first dot (.) segment of the filename converted to lowercase (this segment is also the AWS SDK service ID).
-
Runs the
software.amazon.smithy.gradle.tasks.SmithyBuildGradle task to generate artifacts for each service model. Artifacts for each model are written tocodegen/sdk-codegen/build/smithyprojections/sdk-codegen/{filename}/typescript-codegenwhere{filename}is the relative filename of a model without ".json". For example,codegen/sdk-codegen/build/smithyprojections/sdk-codegen/RDS-Data.2018-08-01/typescript-codegenwould contain the code generated foraws-models/RDS-Data.2018-08-01.json.
Troubleshooting
-
Run
./gradlew :sdk-codegen:cleanto run clean task -
Run
./gradlew --stopto stop the gradle daemon