Add JSHint and make dygraphs pass its checks.
[dygraphs.git] / jshint / README.markdown
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!