Thanks for taking the time to consider contributing to the project. You will find documentation here that will help you get a local environment setup for contributing to the project as well as some helpful guidance on how you can help keep angular-fontawesome going.
git clone https://github.com/FortAwesome/angular-fontawesomecorepack enable- to get the globalyarncommandyarn- install dependenciesyarn build:watch(in terminal 1) - build the library and keep watching for changesyarn start(in terminal 2) - start sample application using library distribution from the previous step- Visit http://localhost:4200 and observe sample application running
- Modify the code. You can use sample application from the previous step to check that your changes behave as intended.
- Once you're done with the implementation add relevant tests and ensure that
yarn lintandyarn testpass. - Submit a pull request.
Development tasks are managed as scripts inside of package.json. Below are the description of the common tasks:
| Command | Purpose |
|---|---|
yarn format |
Format codebase using Prettier |
yarn lint |
Verify code style |
yarn test |
Execute unit tests |
yarn test:schematics |
Execute unit tests for schematics |
yarn test:demo |
Execute unit tests of the demo project |
yarn test:integration |
Execute integration tests |
yarn start |
Run development server for the demo application |
yarn build |
Build library |
yarn build:schematics |
Build schematics (should be run after the library build) |
- Bump version in
package.json - Update versions in
projects/schematics/src/ng-add/versions.tsto align with the published release. - Add contributors to
README.md - Update Compatibility table in
README.md - Update the
CHANGELOG.md - Update the
UPGRADING.mdif necessary yarn build && yarn build:schematicscd dist/angular-fontawesomenpm publish- publish to public registrynpm publish --registry https://npm.fontawesome.com- publish to Pro registrygit commit -a -m 'Release VERSION'git tag <version> && git push && git push --tags- create a tag and push all changes to GitHub- Create a new release with CHANGELOG details
- Update StackBlitz sample projects: one and two