| 1 | JSHint, A Static Code Analysis Tool for JavaScript |
| 2 | ================================================== |
| 3 | |
| 4 | JSHint is a community-driven tool to detect errors and potential problems in |
| 5 | JavaScript code and to enforce your team's coding conventions. |
| 6 | |
| 7 | **IMPORTANT**: |
| 8 | |
| 9 | * This README is for people who are thinking about contributing to JSHint. For general usage |
| 10 | please refer to [our website](http://jshint.com/). |
| 11 | * If you want to report a bug about the website, please go to the |
| 12 | [jshint/site](https://github.com/jshint/site/) repository. |
| 13 | * If you want to report a bug or contribute to our NPM package, please go to the |
| 14 | [jshint/node-jshint](https://github.com/jshint/node-jshint/) repository. |
| 15 | |
| 16 | Reporting a bug |
| 17 | --------------- |
| 18 | |
| 19 | To report a bug simply create a [new GitHub Issue](https://github.com/jshint/jshint/issues/new) and |
| 20 | describe your problem or suggestion. We welcome all kind of feedback regarding JSHint including but |
| 21 | not limited to: |
| 22 | |
| 23 | * When JSHint doesn't work as expected |
| 24 | * When JSHint complains about valid JavaScript code that works in all browsers |
| 25 | * When you simply want a new option or feature |
| 26 | |
| 27 | Please, before reporting a bug look around to see if there are any open or closed tickets that |
| 28 | cover your issue. And remember the wisdom: pull request > bug report > tweet. |
| 29 | |
| 30 | Submitting patches |
| 31 | ------------------ |
| 32 | |
| 33 | The best way to make sure your issue is addressed is to submit a patch. GitHub provides a very |
| 34 | nice interface--pull requests--for that but we accept patches through all mediums: email, issue |
| 35 | comment, tweet with a link to a snippet, etc. |
| 36 | |
| 37 | Before submitting a patch make sure that you comply to our style. We don't have specific style |
| 38 | guide so just look around the code you are changing. |
| 39 | |
| 40 | Also, make sure that you write tests for new features and make sure that all tests pass before |
| 41 | submitting a patch. Patches that break the build will be rejected. |
| 42 | |
| 43 | **FEATURE FREEZE**: Please note that we currently have a feature freeze on new environments and |
| 44 | styling options. The only patches we accept at this time are for bug fixes. |
| 45 | |
| 46 | Tests |
| 47 | ----- |
| 48 | |
| 49 | To run tests you will need to install [node.js](http://nodejs.org/) and |
| 50 | expresso. You can install the latter with npm: |
| 51 | |
| 52 | npm install expresso |
| 53 | |
| 54 | After that, running tests is as easy as: |
| 55 | |
| 56 | expresso tests/*.js |
| 57 | |
| 58 | Attribution |
| 59 | ----------- |
| 60 | |
| 61 | Maintainer: [Anton Kovalyov](http://anton.kovalyov.net/) ([@valueof](http://twitter.com/valueof)) |
| 62 | |
| 63 | Distinguished Contributors: |
| 64 | |
| 65 | * [Wolfgang Kluge](http://klugesoftware.de/) ([blog](http://gehirnwindung.de/)) |
| 66 | * [Josh Perez](http://www.goatslacker.com/) |
| 67 | |
| 68 | Thank you! |
| 69 | ---------- |
| 70 | |
| 71 | We really appreciate all kind of feedback and contributions. Thanks for using and supporing JSHint! |