1 | # How to Contribute
|
2 |
|
3 | ## Pull Requests
|
4 |
|
5 | We also accept [pull requests][pull-request]!
|
6 |
|
7 | Generally we like to see pull requests that
|
8 |
|
9 | - Maintain the existing code style
|
10 | - Are focused on a single change (i.e. avoid large refactoring or style adjustments in untouched code if not the primary goal of the pull request)
|
11 | - Have [good commit messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
|
12 | - Have tests
|
13 | - Don't decrease the current code coverage (see coverage/lcov-report/index.html)
|
14 |
|
15 | ## Building
|
16 |
|
17 | ```
|
18 | yarn
|
19 | yarn test
|
20 | ```
|
21 |
|
22 | Running `yarn test -- dev` will watch for tests within Node and `karma start` may be used for manual testing in browsers.
|
23 |
|
24 | If you notice any problems, please report them to the GitHub issue tracker at
|
25 | [http://github.com/kpdecker/jsdiff/issues](http://github.com/kpdecker/jsdiff/issues).
|
26 |
|
27 | ## Releasing
|
28 |
|
29 | A full release may be completed by first updating the `"version"` property in package.json, then running the following:
|
30 |
|
31 | ```
|
32 | yarn clean
|
33 | yarn grunt release
|
34 | yarn publish
|
35 | ```
|
36 |
|
37 | After releasing, remember to:
|
38 | * commit the `package.json` change and push it to GitHub
|
39 | * create a new version tag on GitHub
|
40 | * update `diff.js` on the `gh-pages` branch to the latest built version from the `dist/` folder.
|