Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Tinkoff/angular-open-source-starter
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.
https://github.com/Tinkoff/angular-open-source-starter
angular angular-library angular-library-quickstart hacktoberfest library open-source opensource starter starter-project starter-template
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/Tinkoff/angular-open-source-starter
- Owner: Tinkoff
- License: apache-2.0
- Archived: true
- Created: 2019-09-12T09:59:09.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-02-21T11:10:46.000Z (almost 2 years ago)
- Last Synced: 2024-08-05T03:01:33.957Z (5 months ago)
- Topics: angular, angular-library, angular-library-quickstart, hacktoberfest, library, open-source, opensource, starter, starter-project, starter-template
- Language: TypeScript
- Homepage: https://tinkoff.github.io/angular-open-source-starter/
- Size: 5.88 MB
- Stars: 251
- Watchers: 13
- Forks: 25
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Angular Open-source Starter
[![Deploy](https://github.com/Tinkoff/angular-open-source-starter/actions/workflows/deploy.yml/badge.svg)](https://github.com/Tinkoff/angular-open-source-starter/actions/workflows/deploy.yml)
[![Unit tests](https://github.com/Tinkoff/angular-open-source-starter/actions/workflows/test.yml/badge.svg)](https://github.com/Tinkoff/angular-open-source-starter/actions/workflows/test.yml)
[![codecov](https://codecov.io/gh/Tinkoff/angular-open-source-starter/branch/main/graph/badge.svg?token=KfV90T6KkK)](https://codecov.io/gh/Tinkoff/angular-open-source-starter)
[![Demo](https://img.shields.io/badge/demo-website-green)](https://tinkoff.github.io/angular-open-source-starter/)## How to use
> 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.1. Run `npm ci` to install everything
2. Use search to replace all mentions of `angular-open-source-starter` with your new library name (`npmScope` inside
`nx.json`, matadata of the root `package.json`, root `README.md` etc.)3. Create basic file structure via [Nx-generators](https://nx.dev/plugin-features/use-code-generators):
- `nx g @nrwl/js:library [your-library-name]` - create Typescript library. See
[available options](https://nx.dev/packages/js/generators/library#options).
- `nx g @nrwl/angular:library [your-library-name]` - create Angular library. See
[available options](https://nx.dev/packages/angular/generators/library#options).4. Fill in `projects/[your-library-name]/package.json` metadata for your newly generated library
5. Add your email at [INSERT YOUR EMAIL HERE] in `CODE_OF_CONDUCT.md`
6. Update `LICENSE` file according to your preferences
7. Update root `package.json` metadata to represent your project
8. Code your library and create demo for it
## Cool features
- [x] Versioning is ready for you with following simple commands:
```json
{
"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](https://www.conventionalcommits.org/en/v1.0.0-beta.4/) format and `CHANGELOG.md` will be
automatically generated on releases by
[Standard Version](https://github.com/conventional-changelog/standard-version#standard-version).- [x] This project has Angular Universal — you can easily test your library with SSR and Prerender:
`npm run serve:dev:ssr` or `npm run build:prerender && npm run serve:prerender`
- [x] CI and code coverage are ready, GitHub Action checks that packages build, test and lint correctly. It also sends
test results to [Codecov](https://about.codecov.io).- [x] Precommit checks, prettier, linter and all that jazz is there.
- [x] You can also deploy your demo to [StackBlitz](https://stackblitz.com) with no hustle, just use link in the
following format:https://stackblitz.com/github/[User|Organization]/[Repository]/tree/main/projects/demo
- [x] You can add more libraries using the same [Nx-generators](https://nx.dev/plugin-features/use-code-generators) to
create a whole Angular Workspace with multiple libraries. Versioning and publishing is configured that they are
released simultaneously like Angular packages.## Infrastructure
- [x] GitHub Actions
- [x] Node.js 16+, npm 8+
- [x] Angular 12+
- [x] TypeScript 4+
- [x] Prettier 2.6+
- [x] Stylelint 14+
- [x] ESLint 7+
- [x] Husky 7+
- [x] Cypress 10+
- [x] Jest 27+
- [x] Nx 13+## Badge
Show that your project is based off of our starter
[![angular-open-source-starter](https://img.shields.io/badge/made%20with-angular--open--source--starter-d81676?logo=angular)](https://github.com/Tinkoff/angular-open-source-starter)
```md
[![angular-open-source-starter](https://img.shields.io/badge/made%20with-angular--open--source--starter-d81676?logo=angular)](https://github.com/Tinkoff/angular-open-source-starter)
```