About Me • Cloud Engineer @ Saison Information Systems • AWS Community Builder (Fall of 2020) • 2019 - 2022 APN AWS Top Engineers in Japan • 11x AWS Certified 2 @hayaok3 @hayao-k
What is Construct Hub? • Registry for discovering and sharing Construct Libraries published by community, AWS, and AWS partners. • December 2021 - GA on same date as AWS CDK v2 • More than 1k Construct Libraries available • https://constructs.dev/ 3
How to get listed on Construct Hub • JSII-compatible • For multi-language support • Open-source license • Apache, BSD, EPL, MPL-2.0, ISC, and CDDL or MIT • Published to npm Registry with CDK Keyword • cdk, awscdk, aws-cdk, cdk8s, or cdktf • Meet requirements, appear in Construct Hub in 30 minutes 4
Problems when developing with TypeScript • Management of project configurations has become more complex in recent years • For TypeScript Project • package.json, tsconfig.json, .gitignore, eslint, jest, etc. • Learn by example but difficult 7
What is Projen? • A new generation of project generators • Applied construct programming model to project configuration • Tools to define and maintain project configurations in code • projen manages configuration files such as package.json and tsconfig.json, etc. • Manage them continuously (Not only create) • https://github.com/projen/projen 8
Create Construct Library project • projen new awscdk-construct • Files required for development are generated. • package.json, tsconfig, GitHub Actions Workflow, etc. • Customize settings in .projenrc.js • Minimum CDK versions to support • Dependencies with other libraries • Library name in each package manager, etc. 10
Easily automated release • Build workflow (.github/workflows/build.yml) • Run at creating a pull request • Tampering checks and building library • Release workflow (.github/workflows/release.yml) • Run at push to release branch • Tampering checks and building library • Semantic Versioning with Conventional Commits • Publish to GitHub Releases, each language registry 12
Guide with sample code • A Beginner's Guide to Create AWS CDK Construct Library with projen • https://dev.to/aws-builders/a-beginner-s- guide-to-create-aws-cdk-construct-library- with-projen-5eh4 • Featured on Construct Hub!! 13
Summary • Construct Hub • Construct Hub is a place to discover CDK constructs • Many useful libraries • We can publish our library • projen • Dramatically eases project configuration management and CI/CD • Easily publish your libraries to Construct Hub • Awesome developer experience 14