How can I contribute?
We have tried to make this as simple as possible. The most important part is when you want to test locally you need to create a link using npm link
in your local generator-dnn directory.
Project organization
- Branch
master
is always stable and release-ready. - Branch
development
contains the next versions features and bugs merged from pull requests. - Feature branches should be created for adding new features and branched off of
development
. - Bug fix branches should be created for fixing bugs and branched off of
development
.
Opening a new issue
Do not open a duplicate issue!
- Look through existing issues to see if your issue already exists.
- If your issue already exists, comment on its thread with any information you have. Even if this is simply to note that you are having the same problem, it is still helpful!
- Always be as descriptive as you can.
- What is the expected behavior? What is the actual behavior? What are the steps to reproduce?
- Attach screenshots, videos, GIFs if possible.
- Include library version or branch experiencing the issue.
- Include OS version and devices experiencing the issue.
Submitting a pull request
- Find an issue to work on, or create a new one. Avoid duplicates, please check existing issues!
- Fork the repo, or make sure you are synced with the latest changes on
development
. - Create a new branch with a sweet name:
git checkout -b issue_<##>_<description>
. - Do some programming.
- Write unit tests when applicable.
- Keep your code nice and clean by adhering to the coding standards & guidelines below.
- Don’t break unit tests or functionality.
- Update the documentation header comments if needed.
- Rebase on
development
branch and resolve any conflicts before submitting a pull request! - Submit a pull request to the
development
branch.
You should submit one pull request per feature! The smaller the PR, the better your chances are of getting merged. Enormous PRs will likely take enormous amounts of time to review, or they will be rejected.
Running the Yeoman Generator Locally
Once you fork the repo and have it checkout out locally you will need to be able to test the generator locally. In order to do this go to the directory you have generator-dnn checkout to and run the following command
npm link
That will install your project dependencies and symlink a global module to your local file. After npm is done, you’ll be able to call yo dnn
and you should be able to see your changes!
Style guidelines
Try to stick to the style that is already in the files. eslint is installed and will let you know if you are making errors that need to be corrected. Please correct all linting errors.