Skip to content
JSHint is a tool that helps to detect errors and potential problems in your JavaScript code
JavaScript HTML
Branch: master
Clone or download
jugglinmike and rwaldron [[FIX]] Validate lone arrow function parameter
Previously, the identifier parsing logic returned early for a lone arrow
function parameter in order to avoid incorrectly extending the
environment record in which the associated arrow function was defined.
This unintentionally circumvented logic which enforced restrictions on
identifier names.

Refactor the parsing logic to enforce the restriction in all cases, but
only alter the environment record when the identifier is not a lone
arrow function parameter.
Latest commit 38285cd Aug 17, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist v2.10.2 Mar 13, 2019
res JSHint logo Nov 11, 2012
scripts [[CHORE]] Relocate development dependency Aug 6, 2018
tests [[FIX]] Validate lone arrow function parameter Aug 21, 2019
.gitignore Implement automated code coverage reporting Dec 17, 2014
.gitmodules [[TEST]] Run Test262 tests Feb 19, 2017
.jscsrc [[TEST]] Upgrade JSCS and use it for indentation checking. Feb 6, 2015
.jshintrc Lint more stuff. Mar 7, 2015
.mailmap [[CHORE]] Add my new name to .mailmap Oct 28, 2017
.travis.yml [[CHORE]] Improve CI configuration (#3415) Aug 20, 2019 v2.10.2 Mar 13, 2019 Improve contribution guidelines Apr 3, 2016
appveyor.yml [[CHORE]] Run tests in latest LTS release of Node Apr 5, 2019
package.json [[CHORE]] Run tests in latest LTS release of Node Apr 5, 2019

JSHint, A Static Code Analysis Tool for JavaScript

[ Use it onlineDocsFAQInstallContributeBlogTwitter ]

NPM version Linux Build Status Windows Build status Dependency Status devDependency Status Coverage Status

JSHint is a community-driven tool that detects errors and potential problems in JavaScript code. Since JSHint is so flexible, you can easily adjust it in the environment you expect your code to execute. JSHint is open source and will always stay this way.

Our goal

The project aims to help JavaScript developers write complex programs without worrying about typos and language gotchas.

Any code base eventually becomes huge at some point, so simple mistakes — that would not show themselves when written — can become show stoppers and add extra hours of debugging. So, static code analysis tools come into play and help developers spot such problems. JSHint scans a program written in JavaScript and reports about commonly made mistakes and potential bugs. The potential problem could be a syntax error, a bug due to an implicit type conversion, a leaking variable, or something else entirely.

Only 15% of all programs linted on pass the JSHint checks. In all other cases, JSHint finds some red flags that could've been bugs or potential problems.

Please note, that while static code analysis tools can spot many different kind of mistakes, it can't detect if your program is correct, fast or has memory leaks. You should always combine tools like JSHint with unit and functional tests as well as with code reviews.

Reporting a bug

To report a bug simply create a new GitHub Issue and describe your problem or suggestion. We welcome all kinds of feedback regarding JSHint including but not limited to:

  • When JSHint doesn't work as expected
  • When JSHint complains about valid JavaScript code that works in all browsers
  • When you simply want a new option or feature

Before reporting a bug, please look around to see if there are any open or closed tickets that discuss your issue, and remember the wisdom: pull request > bug report > tweet.

Who uses JSHint?

Engineers from these companies and projects use JSHint:

And many more!


Most files are published using the standard MIT Expat license. One file, however, is provided under a slightly modified version of that license. The so-called JSON license is a non-free license, and unfortunately, we can't change it due to historical reasons. This license is included as an in-line within the file it concerns.

The JSHint Team

JSHint is currently maintained by Rick Waldron, Caitlin Potter, Mike Pennisi, and Luke Page. You can reach them via

Previous Maintainers

Originating from the JSLint project in 2010, JSHint has been maintained by a number of dedicated individuals. In chronological order, they are: Douglas Crockford, Anton Kovalyov, and Mike Sherov. We appreciate their long-term commitment!

Thank you!

We really appreciate all kinds of feedback and contributions. Thanks for using and supporting JSHint!

You can’t perform that action at this time.