A collection of cookiecutters designed to automate the creation of node monorepos and their components (packages)
- create node monorepos with the following tooling setup
- Typescript
- Lerna
- Eslint
- prettier
- jest
- github remote
- create generic components quickly and easily
- improve usability (it works on my machine...)
- add more configuration options
- make typescript optional
- add options for testing frameworks
- add options for remote repository
- add more specific types of component
- graphql-api component
- domain component
- application component
- database gateway component
- frontend component
- anything else that requires scaffolding or highly generic abstractions
It works on my machine and to be honest I need to circle back and figure out exactly what needs to happen to make this more distributable (Python is not my strongest language)
Lerna's documentation states that it is best practice to locate all packages under a subdirectory named 'packages' but there is no real requirement to do so.
I chose to use the name components in order to avoid shell completion conflicts with package.json which must be named as such.
Also, I was originally inspired to create this project after reading Uncle Bob's Clean Architecture which refers to "smallest unit of deployment" as a "component" so I want to stick with that terminology if only to help solidify the idea that clean architecture is not bound to the frameworks and tools that we use to implement its design.