This is a monorepo boilerplate to quickly start TypeScript backend projects for publishing/deploying packages to a npm registry.
As mentioned, this template is designed to help you set up a project whose ultimate goal is to deploy/publish packages to any external (or even local) source such as npm or GitHub's packages registry.
Common use cases can be:
- Distribution of various packages when using microservice architecture
- Development of a new framework that contains multiple packages
- Development of one main package and its breakdown into several core packages
- TypeScript support (pre configured
tsconfig.jsonfile) yarnWorkspaces- Lerna support (pre configured
lerna.jsonfile) preconstruct- util for building packages easily (configured withbabel)- ESLint for TypeScript (based on
airbnb) manypkgcli - util for linting packages dependencies link- Builtin CI/workflow with GitHub Actions for releasing stable and candidates packages
commitizen+ Commit linthuskyfor Git hooksjestfor testing with cool Monorepo supportlint-stagedfor staged linting
After opening the project locally you need to run the yarn command:
$ yarn install && lerna bootstrapYou need to set up a repository secret named NPM_TOKEN if you want to release packages.
That's it! start building and publishing you packages easily :)