mirror of https://github.com/abpframework/abp.git
4 changed files with 191 additions and 70 deletions
@ -0,0 +1,123 @@ |
|||
# Contributing to ABP Angular UI |
|||
|
|||
We would love for you to contribute to ABP Angular UI and help make it even better than it is today. |
|||
|
|||
# Development |
|||
|
|||
|
|||
Run `yarn` to install all dependencies, then run `yarn prepare:workspace` to prepare the ABP packages (might take 2 minutes). |
|||
|
|||
Run `yarn start` to start the `dev-app`. Navigate to http://localhost:4200/. |
|||
|
|||
## Package |
|||
[Symlink Manager](https://github.com/mehmet-erim/symlink-manager) is used to manage symbolic link processes. Run `yarn symlink copy` to select the packages to develop. |
|||
|
|||
## Application |
|||
The `dev-app` project is the same as the Angular UI template project. `dev-app` is used to see changes instantly. |
|||
|
|||
If you will only develop the `dev-app`, you don't need to run `symlink-manager`. |
|||
|
|||
> Reminder! If you have developed the `dev-app` template, you should do the same for the application and module templates. |
|||
|
|||
For more information, see the [docs.abp.io](https://docs.abp.io) |
|||
|
|||
|
|||
# Committing changes |
|||
|
|||
Before you commit, please ensure that your code passes the existing unit tests. |
|||
|
|||
New features should be accompanied by new tests. |
|||
|
|||
## Commit message format |
|||
|
|||
Each commit message consists of a **header**, a **body** and a **footer**. The header has a special |
|||
format that includes a **type**, a **scope** and a **subject**: |
|||
|
|||
``` |
|||
<type>(<scope>): <subject> |
|||
<BLANK LINE> |
|||
<body> |
|||
<BLANK LINE> |
|||
<footer> |
|||
``` |
|||
|
|||
The **header** is mandatory and the **scope** of the header is optional. |
|||
|
|||
Any line of the commit message cannot be longer 100 characters! This allows the message to be easier to read on GitHub as well as in various git tools. |
|||
|
|||
The footer should contain a [closing reference to an issue](https://help.github.com/articles/closing-issues-via-commit-messages/) if any. |
|||
|
|||
``` |
|||
docs(changelog): update changelog to beta.5 |
|||
``` |
|||
``` |
|||
fix(release): need to depend on latest rxjs and zone.js |
|||
|
|||
The version in our package.json gets copied to the one we publish, and users need the latest of these. |
|||
``` |
|||
|
|||
### Revert |
|||
If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. In the body it should say: `This reverts commit <hash>.`, where the hash is the SHA of the commit being reverted. |
|||
|
|||
### Type |
|||
Must be one of the following: |
|||
|
|||
* **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
|||
* **ci**: Changes to our CI configuration files and scripts (example scope: scripts) |
|||
* **docs**: Documentation only changes |
|||
* **feat**: A new feature |
|||
* **fix**: A bug fix |
|||
* **perf**: A code change that improves performance |
|||
* **refactor**: A code change that neither fixes a bug nor adds a feature |
|||
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
|||
* **test**: Adding missing tests or correcting existing tests |
|||
|
|||
### Scope |
|||
The scope should be the name of the npm package affected (as perceived by the person reading the changelog generated from commit messages). |
|||
|
|||
The following is the list of supported scopes: |
|||
|
|||
* **core** |
|||
* **theme-shared** |
|||
* **theme-basic** |
|||
* **account** |
|||
* **identity** |
|||
* **tenant-management** |
|||
* **feature-management** |
|||
* **permission-management** |
|||
* **setting-management** |
|||
* **account-config** |
|||
* **identity-config** |
|||
* **setting-management-config** |
|||
* **tenant-management-config** |
|||
|
|||
There are currently a few exceptions to the "use package name" rule: |
|||
|
|||
* **packaging**: used for changes that change the npm package layout in all of our packages, e.g. |
|||
public path changes, package.json changes done to all packages, d.ts file/format changes, changes |
|||
to bundles, etc. |
|||
* **scripts**: used for changes that change any script. |
|||
* **template**: used for changes that change `dev-app` and `app` template applications. |
|||
* **changelog**: used for updating the release notes in CHANGELOG.md |
|||
* none/empty string: useful for `style`, `test` and `refactor` changes that are done across all |
|||
packages (e.g. `style: add missing semicolons`) and for docs changes that are not related to a |
|||
specific package (e.g. `docs: fix typo in tutorial`). |
|||
|
|||
### Subject |
|||
The subject contains a succinct description of the change: |
|||
|
|||
* use the imperative, present tense: "change" not "changed" nor "changes" |
|||
* don't capitalize the first letter |
|||
* no dot (.) at the end |
|||
|
|||
### Body |
|||
Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes". |
|||
The body should include the motivation for the change and contrast this with previous behavior. |
|||
|
|||
### Footer |
|||
The footer should contain any information about **Breaking Changes** and is also the place to |
|||
reference GitHub issues that this commit **Closes**. |
|||
|
|||
**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this. |
|||
|
|||
# Thanks for contributing! |
|||
Loading…
Reference in new issue