Gathering detailed insights and metrics for @aws/pdk
Gathering detailed insights and metrics for @aws/pdk
Gathering detailed insights and metrics for @aws/pdk
Gathering detailed insights and metrics for @aws/pdk
@aws-sdk/types
Types for the AWS SDK
@aws-sdk/credential-provider-ini
AWS credential provider that sources credentials from ~/.aws/credentials and ~/.aws/config
@aws-sdk/credential-provider-env
AWS credential provider that sources credentials from known environment variables
@aws-sdk/util-endpoints
Utilities to help with endpoint resolution
The AWS PDK provides building blocks for common patterns together with development tools to manage and build your projects.
npm install @aws/pdk
Module System
Min. Node Version
Typescript Support
Node Version
NPM Version
387 Stars
779 Commits
77 Forks
9 Watching
17 Branches
43 Contributors
Updated on 27 Nov 2024
TypeScript (66.96%)
EJS (25.5%)
Mustache (6.45%)
Dockerfile (0.37%)
JavaScript (0.24%)
Java (0.21%)
Shell (0.15%)
Python (0.12%)
Cumulative downloads
Total Downloads
Last day
23.2%
1,316
Compared to previous day
Last week
14.2%
8,685
Compared to previous week
Last month
15.3%
34,600
Compared to previous month
Last year
2,807.7%
381,457
Compared to previous year
29
69
The AWS Project Development Kit (AWS PDK) provides building blocks for common patterns together with development tools to manage and build your projects.
The AWS PDK lets you define your projects programatically via the expressive power of type safe constructs available in one of 3 languages (typescript, python or java). This approach yields many benefits, including:
The AWS PDK is built on top of Projen and as such all constructs that you compose together need to be defined via a projenrc file.
It's much easier to show than explain! Here is some PDK code (within projenrc file) that creates a Polyglot monorepo, with a React Website pre-configured with Cognito Auth and pre-integrated with a Smithy Type Safe Api.
1import { CloudscapeReactTsWebsiteProject } from "@aws/pdk/cloudscape-react-ts-website"; 2import { InfrastructureTsProject } from "@aws/pdk/infrastructure"; 3import { MonorepoTsProject } from "@aws/pdk/monorepo"; 4import { 5 DocumentationFormat, 6 Language, 7 Library, 8 ModelLanguage, 9 TypeSafeApiProject, 10} from "@aws/pdk/type-safe-api"; 11import { javascript } from "projen"; 12 13const monorepo = new MonorepoTsProject({ 14 name: "my-project", 15 packageManager: javascript.NodePackageManager.PNPM, 16 projenrcTs: true, 17}); 18 19const api = new TypeSafeApiProject({ 20 parent: monorepo, 21 outdir: "packages/api", 22 name: "myapi", 23 infrastructure: { 24 language: Language.TYPESCRIPT, 25 }, 26 model: { 27 language: ModelLanguage.SMITHY, 28 options: { 29 smithy: { 30 serviceName: { 31 namespace: "com.aws", 32 serviceName: "MyApi", 33 }, 34 }, 35 }, 36 }, 37 runtime: { 38 languages: [Language.TYPESCRIPT], 39 }, 40 documentation: { 41 formats: [DocumentationFormat.HTML_REDOC], 42 }, 43 library: { 44 libraries: [Library.TYPESCRIPT_REACT_QUERY_HOOKS], 45 }, 46 handlers: { 47 languages: [Language.TYPESCRIPT], 48 }, 49}); 50 51const website = new CloudscapeReactTsWebsiteProject({ 52 parent: monorepo, 53 outdir: "packages/website", 54 name: "website", 55 typeSafeApi: api, 56}); 57 58new InfrastructureTsProject({ 59 parent: monorepo, 60 outdir: "packages/infra", 61 name: "infra", 62 cloudscapeReactTsWebsite: website, 63 typeSafeApi: api, 64}); 65 66monorepo.synth();
This code (also available in Python and Java), produces all the source code, packages and infrastructure needed to deploy a fully-operable application in the AWS cloud. All that's left to do is build and deploy it!
From this ~70 lines of code above, the AWS PDK produces the following packages on your behalf:
monorepo
: Root level project that manages interdependencies between projects within the Monorepo, provides build caching and dependency visualziation.api/model
: A project that allows you to define your API using Smithy (or OpenAPI) IDL.api/generated/documentation
: A project that automatically creates API documentation in a variety of formats.api/generated/infrastructure
: A project that automatically creates API infrastructure constructs in a type-safe manner.api/generated/libraries
: A project that automatically generates a react hooks library that can be used to call your API from a React based website.api/generated/runtime
: A project that contains server bindings for handlers to ensure type safety.api/handlers
: A project that automatically creates handler stubs, preconfigured with type-safety and a variety of value added features based on your defined API's.website
: A project which creates a React based website built using Cloudscape that comes pre-integrated with Cognito Auth and your created API. This provides you with the ability to call your API securely.infra
: A project which sets up all CDK related infrastructure needed to deploy your application. It also comes pre-configured to generate a diagram based on your CDK code everytime you build.As you can see, the AWS PDK provides you with valuable time savings so you can focus on working on what matters most to your project.
Please refer to the full documentation website.
https://aws.github.io/aws-pdk/contributing/index.html
This project is licensed under the Apache-2.0 License.
No vulnerabilities found.
No security vulnerabilities found.