reamplify
projen
reamplify | projen | |
---|---|---|
3 | 19 | |
16 | 2,472 | |
- | 1.8% | |
0.0 | 9.7 | |
almost 2 years ago | 6 days ago | |
TypeScript | TypeScript | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
reamplify
-
Monorepos in JavaScript and TypeScript
My experience was very similar: I built an application using a GraphQL schema file that powered AppSync templated VTL/DynamoDB tables, as well as automatically generating GraphQL operations/types. When I cleaned up the application's template for reuse, I erroneously decided to try out Yarn 3/Lerna/PnP, and then lost an embarrassingly long time to make it work.
Each [1] tool [2] seemed [3] to break differently, and needed some form of manual massaging to make it work. That manual massaging meant learning a new configuration file syntax, multiple times.
When it worked, it felt magical. Weaving together an entire web app, powered by a small bit of GraphQL schema [4] means building at a high level of abstraction (hence can be very productive). The only issue is the muddy forest of the NPM ecosystem you're surrounded by: any step towards upgrading your external dependencies seems to cost far more time than promised.
[1] Yarn3/PnP seems to assume all packages define their dependencies correctly. Unfortunately, this isn't true in the real world. I spent hours massaging dependencies in https://github.com/ThomasRooney/reamplify/blob/master/.yarnr...
- Newsletter martinmueller.dev 2022 week 19
- I just open-sourced my start-up's infrastructure as a starter kit: Yarn 3/PnP/CDK/React 18/AppSync/DynamoDB with CI/CD, Monitoring, Slack Alerts, Backup/Restore built-in
projen
-
Building a smart home sensor application with AWS AppSync and AWS Amplify components
This project uses AWS CDK as infrastructure as code solution. To maintain project configuration files efficiently, the project structure is generated using projen:
-
Project templating cloud
I recommend visiting the github page for projen and flicking through the documentation as I won't do it justice. Projen aims to:
-
My Infrastructure as Code Rosetta Stone - Deploying the same web application on AWS ECS Fargate with CDK, Terraform and Pulumi
cdk-django uses projen for maintaining the changelog and bumping versions and publishing to npm. It is popular among developers in the CDK community and is a really awesome tool since it basically uses one file (.projenrc.ts) to configure your entire repo, including files like tsconfig.json, package.json, and even GitHub Action workflows. It has a lot of configuration options, but I'm using it in a pretty simple way. It generates a new release and items to the changelog when I manually trigger a GitHub Action.
-
How to create an AWS Organization for your Account with the AWS CDK
I will give you step-by-step instructions to create your very first AWS Organization with the AWS CDK and the help of projen and cdk-organizations. You only need already an AWS Account created which is not a member or management account of another AWS Organization.
- Using PNPM instead of NPM for CDK
-
What are some cons of using CDK to create a small part of the platform that is currently deployed by Terraform?
If you go down that route you should use Projen to maintain the dependencies.
-
Newsletter martinmueller.dev 2022 week 19
An Open Source CDK Community project which I find super interesting. It is doing cherry-picking from AWS Amplify UI and AWS CDK for deployment. I do that in my private projects as well for example https://github.com/senjuns/senjuns. I think the author could enhance/simplify its repo even more by using https://github.com/projen/projen for the project setup.
-
AWS's Open Source Problem - by Corey Quinn
That said - https://github.com/firecracker-microvm/firecracker and https://github.com/bottlerocket-os/bottlerocket are interesting, and while AWS CDK is very AWS specific, the underlying jsii https://github.com/aws/jsii and projen https://github.com/projen/projen/issues are fundamental services.
- Why I Would Love You To Speak At CDK Day
-
How to Create Awesome Repeatable Project Setups for AWS CDK
The documentation for the classes of the bundled project types is at https://github.com/projen/projen/. In this documentation, you can see that the property github includes a mergify entry, which will define if the Mergify configuration is used. The default if the github entry is not specified, is that it will be included. So in our test, we can check that this configuration is not in place, after creating a project with the mandatory parameters.
What are some alternatives?
wireit - Wireit upgrades your npm/pnpm/yarn scripts to make them smarter and more efficient.
jest - Delightful JavaScript Testing.
amplify-spiders-v1 - A tool for search engine based competitive analysis. AWS Amplify project with many web crawlers for different search engines, and a simple web frontend for displaying historical results in Next.js
middy - 🛵 The stylish Node.js middleware engine for AWS Lambda 🛵
senjuns - Monorepo for wiki, landingpage, AWS CDK code and more for Senjuns. Senjuns is (will be) a freelancer platform for connecting seniors and juniors with clients.
CDK-SPA-Deploy - This is an AWS CDK Construct to make deploying a single page website (Angular/React/Vue) to AWS S3 behind SSL/Cloudfront easier
devkit-io nextjs amplify starter kit - CDK Next.js Amplify Starter Kit for AWS
esbuild-hot-reload - Playground repo for experimenting with esbuild + hot reload
jsii - jsii allows code in any language to naturally interact with JavaScript classes. It is the technology that enables the AWS Cloud Development Kit to deliver polyglot libraries from a single codebase!
awesome-projen - P6M7G8's Awesome Projen
cdk-esbuild-s3-website
constructs - Define composable configuration models through code