1. Technology Stack(link)
1.1. Overview(link)
We use TypeScript, NodeJS, CDK and CloudFormation. You can find some more information in the sections below.
1.2. TypeScript and NodeJS(link)
In the following sections we describe the tools and libraries used along with TypeScript.
1.2.1. pnpm(link)
We use the pnpm
package manager along with pnpm workspaces
to manage all the packages in this monorepo.
https://pnpm.js.org
https://pnpm.js.org/en/workspaces
The binary pnpx
runs binaries that belong to pnpm
packages in the workspace.
https://pnpm.js.org/en/pnpx-cli
1.2.2. prettier(link)
We use prettier
to format code in this repository. A GitHub action makes sure that all the code in a pull requests adheres to the configured prettier
rules. See Github Actions.
1.2.3. eslint(link)
We use eslint
as a static analysis tool that checks our TypeScript code. A GitHub action makes sure that all the code in a pull requests adheres to the configured eslint
rules. See Github Actions.
1.3. CloudFormation(link)
CloudFormation deploys both the Accelerator stacks and resources and the deployed stacks and resources. See Operations Guide: System Overview for the distinction between Accelerator resources and deployed resources.
1.4. CDK(link)
AWS CDK defines the cloud resources in a familiar programming language. While AWS CDK supports TypeScript, JavaScript, Python, Java, and C#/.Net, the contributions should be made in Typescript, as outlined in the Accelerator Development First Principles.
Developers can use programming languages to define reusable cloud components known as Constructs. You compose these together into Stacks and Apps. Learn more at https://docs.aws.amazon.com/cdk/latest/guide/home.html