Thanks for the interest in contributing to DragDoll! Here you will find some instructions on how to create an issue or a pull request.
First of all you should check out the existing questions and see if your question has been asked/answered already. If not, you can create a new issue and explain the problem you're facing.
Improvement ideas are always welcome! Please check first the existing ideas, features and enhancements so that you won't be creating a duplicate issue.
Please create an issue and explain the bug in detail. If possible create a reduced test case and share a link to it.
- Discuss first.
- The first step should always be creating a new issue and discussing your pull request suggestion with the authors and the community.
- After you get green light it's time to get coding.
- Fork the repo and create a new branch for your pull request.
- Fork DragDoll.
- Create a new branch for your pull request from the master branch. The name of the pull request branch should start with the id of the issue you opened for the pull request, e.g.
#123-fix-something
.
- Setup the development environment.
- Run
npm ci
in the root. - You can now run the following commands:
npm run build
- Builds the distributable files from
src
directory into thedist
directory.
- Builds the distributable files from
npm run format
- Formats all files in
src
directory with Prettier.
- Formats all files in
npm run lint
- Lints all files in
src
directory with Prettier and validates TS types.
- Lints all files in
npm run test
- Runs unit tests in Browserstack.
- To make this work you need to create an
.env
file the project root, which should containBROWSERSTACK_USERNAME
andBROWSERSTACK_ACCESS_KEY
variables.
npm run test-local
- Runs unit tests locally in Chrome and Firefox. You have to have them both installed.
- Run
- Do the updates.
- Remember scope. Don't refactor things that are not related to the pull request.
- After you're done update unit tests and docs (
README.md
) if necessary.
- Build and test changes.
- Run
npm run build
to build the lib with the changes andnpm run test
to make sure the changes didn't cause regressions.
- Run
- Create the pull request.
- Do your best to explain what the pull request fixes.
- Mention which issue(s) will be closed by the pull request, e.g.
Closes #123
. - Request a review from @niklasramo.
- You made it! Thank you so much for contributing to DragDoll!