This is a starter project for creating open-source libraries for Angular. It is a full-fledged Angular workspace with demo application and easy library addition. It is designed to be used for open-sourcing libraries on GitHub and has everything you'd need ready for CI, code coverage, SSR testing, StackBlitz demo deployment and more.
- 
Run
npm cito install everything - 
Use search to replace all mentions of
angular-open-source-starterwith your new library name (npmScopeinsidenx.json, matadata of the rootpackage.json, rootREADME.mdetc.) - 
Create basic file structure via Nx-generators:
nx g @nrwl/js:library [your-library-name]- create Typescript library. See available options.nx g @nrwl/angular:library [your-library-name]- create Angular library. See available options.
 - 
Fill in
projects/[your-library-name]/package.jsonmetadata for your newly generated library - 
Add your email at [INSERT YOUR EMAIL HERE] in
CODE_OF_CONDUCT.md - 
Update
LICENSEfile according to your preferences - 
Update root
package.jsonmetadata to represent your project - 
Code your library and create demo for it
 
- Versioning is ready for you with following simple commands:
 
{
  "release": "standard-version",
  "release:patch": "npm run release -- --release-as patch",
  "release:minor": "npm run release -- --release-as minor",
  "release:major": "npm run release -- --release-as major",
  "publish": "nx run-many --target build --all --exclude=demo && nx run-many --target publish --all"
}Just use Conventional Commits format and CHANGELOG.md will be
automatically generated on releases by
Standard Version.
- 
This project has Angular Universal — you can easily test your library with SSR and Prerender:
npm run serve:dev:ssrornpm run build:prerender && npm run serve:prerender - 
CI and code coverage are ready, GitHub Action checks that packages build, test and lint correctly. It also sends test results to Codecov.
 - 
Precommit checks, prettier, linter and all that jazz is there.
 - 
You can also deploy your demo to StackBlitz with no hustle, just use link in the following format:
https://stackblitz.com/github/[User|Organization]/[Repository]/tree/main/projects/demo - 
You can add more libraries using the same Nx-generators to create a whole Angular Workspace with multiple libraries. Versioning and publishing is configured that they are released simultaneously like Angular packages.
 
- GitHub Actions
 - Node.js 16+, npm 8+
 - Angular 12+
 - TypeScript 4+
 - Prettier 2.6+
 - Stylelint 14+
 - ESLint 7+
 - Husky 7+
 - Cypress 10+
 - Jest 27+
 - Nx 13+
 
Show that your project is based off of our starter
[](https://github.com/Tinkoff/angular-open-source-starter)