- Fork the repo and clone locally
- In locally cloned repo:
npm install && npm run setup
- This will the build fro the library and all the demo apps
- Prove existing code:
- Run the unit tests:
npm test
- Run the end-to-end tests (see section below)
- Run the unit tests:
- Make changes in
src
folder- Tip: use
npm run test:w
to verify your changes on save
- Tip: use
- Add additional unit tests in
test
folder. These should cover your changes - Optionally add end-to-end tests in
e2e
folder - Prove changes:
- Run the unit tests:
npm test
- Run the end-to-end tests (see section below)
- Run the unit tests:
- Commit changes:
npm run cm
- why use npm and not git to commit? See "Conventional commit message" section below
- Push your changes to your fork and submit a pull request
- In one terminal window:
npm run e2e-server
- In another terminal window:
npm run e2e
- Tip: use
npm run e2e-only
if you already have built source code (ie you'venpm run setup
ornpm run build:all
)
- Tip: use
This project uses the structure of the commit message to:
- Generate release notes like you see in this release
- Generate the next version number for the npm package using the rules of semver
- Trigger the publish a release of this library to npm using semantic-release
These conventions are detailed here: angular commit message conventions
To help you to follow these conventions this project uses Commitizen.
Commitizen provides a command line tool that will help you create a commit message that matches these conventions.
To lauch this tool we use npm run cm
.
See the releasing guidelines.