@intlify/cli Contributing Guide
October 11, 2021 · View on GitHub
Issue Reporting Guidelines
-
The issue list of this repo is exclusively for bug reports and feature requests. Non-conforming issues will be closed immediately.
-
Try to search for your issue, it may have already been answered or even fixed in the main branch.
-
Check if the issue is reproducible with the latest stable version of @intlify/cli. If you are using a pre-release, please indicate the specific version you are using.
-
It is required that you clearly describe the steps necessary to reproduce the issue you are running into. Issues with no clear repro steps will not be triaged. If an issue labeled
Status: Need More Inforeceives no further input from the issue author for more than 5 days, it will be closed. -
For bugs that involves build setups, you can create a reproduction repository with steps in the README.
-
If your issue is resolved but still open, don’t hesitate to close it. In case you found a solution by yourself, it could be helpful to explain how you fixed it.
Pull Request Guidelines
-
Checkout a topic branch from the
mainbranch. -
It's OK to have multiple small commits as you work on the PR - we will let GitHub automatically squash it before merging.
-
Make sure
pnpm testpasses. (see development setup) -
If adding new feature:
- Add accompanying test case.
- Provide convincing reason to add this feature. Ideally you should open a suggestion issue first and have it greenlighted before working on it.
-
If fixing a bug:
- Provide detailed description of the bug in the PR.
- Add appropriate test coverage if applicable.
Work Step Example
- Fork the repository from @intlify/cli !
- Create your topic branch from
main:git branch my-new-topic origin/main - Add codes and pass tests !
- Commit your changes:
git commit -am 'Add some topic' - Push to the branch:
git push origin my-new-topic - Submit a pull request to
mainbranch ofintlify/api-docs-genrepository !
Development Setup
You will need Node.js version 12+, and PNPM.
After cloning the repo, run:
$ pnpm i # install the dependencies of the project
Commonly used NPM scripts
# lint source codes
$ pnpm lint
# run the full test suite, include linting
$ pnpm test
There are some other scripts available in the scripts section of the package.json file.
The default test script will do the following: lint with ESLint -> unit tests with coverage. Please make sure to have this pass successfully before submitting a PR. Although the same tests will be run against your PR on the CI server, it is better to have it working locally beforehand.