JSLint


JSLint is a static code analysis tool used in software development for checking if JavaScript source code complies with coding rules. It is provided primarily as a browser-based web application accessible through the domain jslint.com, but there are also command-line adaptations. It was created in 2002 by Douglas Crockford.

License

The JSLint license is a derivative of the MIT License. The sole modification is the addition of the line "The Software shall be used for Good, not Evil."
According to the Free Software Foundation, this clause makes the license non-free. The clause has also prevented JSLint-related software from being hosted on Google Code and from being included in the Debian free software package repositories. Because of this restriction, according to Crockford, IBM asked Crockford in 2011 for a license to do evil, such that their customers could use it.

Influence

JSLint is considered by some to be the first JavaScript syntax checker. It has since inspired various other tools.
In 2011, Anton Kovalyov created a fork, called JSHint. The main motivation behind the creation of JSHint was to provide a "less opinionated" and "more configurable" way for developers to analyse code.
In 2013, Nicholas C. Zakas created ESLint. Both JSLint and JSHint lacked the ability to create additional rules for code quality and coding style. After contributing to JSHint, Zakas decided to create a new linting tool, ESLint, where all rules are configurable, and additional rules can be defined or loaded at run-time. ESLint also supports linting the latest versions of JavaScript, aka ECMAScript 2015 and above.
In 2014, Marat Dulin created JSCS. In 2016, the JSCS Team joined the ESLint project and has since discontinued maintenance of the JSCS tool.
In 2015, a comparison published by SitePoint, recommended ESLint above JSLint, JSHint and JSCS. In 2016, CodeKit also praised ESLint for "finding more issues", being "far more configurable", and being "the industry standard" for JavaScript syntax checkers.
In 2016, Palantir Technologies created TSLint, which is the TypeScript equivalent for ESLint. It was deprecated in favor of ESLint with a TypeScript integration in 2019.