Monorepo template configured with Yarn 2, Typescript, automated Gihub releases and npm publishing.
project
│ README.md
│
└───.github
│ └───workflows
│ │ release.yml
│ │ unit-tests.yml
│
└───packages
└───package-a
│ │ release.yml
│ │ package.json
│ │ tsconfig.json
│ └───src
│ | | index.ts
│ └───test
│ | index.spec.ts
└───package-b
│ release.yml
│ package.json
│ tsconfig.json
└───src
| | index.ts
└───test
| index.spec.ts
The folder packages contains independent npm packages. Each one has its own package.json with a unique name and yarn workspaces will automatically recognize them.
Review yarn workspaces for requirements.
- Option 1 - Generate GitHub template since this repo is configured as a template
- Option 2 - scaffold new project with
degitmkdir new-monoreponpx degit NazimHAli/frontend-monorepo-template new-monorepo
- semantic-releases
- Automates versioning, GitHub releases + publishing to registries like npmjs
- commitizen
- Simple commit conventions for internet citizens. When you commit with Commitizen, you'll be prompted to fill out any required commit fields at commit time.
yarn workspaces foreach run testyarn workspaces foreach run build