Software:JSLint

From HandWiki
Short description: JavaScript static code analysis tool
JSLint
Original author(s)Douglas Crockford
Developer(s)Douglas Crockford
Initial release2002; 22 years ago (2002)
Stable release
2018-02-05 / February 5, 2018; 6 years ago (2018-02-05)
Written inJavaScript
Operating systemCross-platform
Available inEnglish
TypeStatic code analysis
LicenseJSLint License
Websitejslint.com

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.[1] It was created in 2002 by Douglas Crockford.[2]

License

The JSLint license[3] is a derivative of the MIT License.[4] 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.[5] The clause has also prevented JSLint-related software from being hosted on Google Code[4] and from being included in the Debian free software package repositories.[6] 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.[7][8][9]

Influence

JSLint is considered by some to be the first JavaScript syntax checker.[10][11] It has since inspired various other tools.

In 2011, Anton Kovalyov created a fork, called JSHint.[12][13][14] The main motivation behind the creation of JSHint was to provide a "less opinionated" and "more configurable" way for developers to analyse code.[15][16][17]

In 2013, Nicholas C. Zakas created ESLint.[11] 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.[18] ESLint also supports linting the latest versions of JavaScript, aka ECMAScript 2015 and above.

In 2014, Marat Dulin created JSCS.[19] In 2016, the JSCS Team joined the ESLint project and has since discontinued maintenance of the JSCS tool.[20][21][22]

In 2015, a comparison published by SitePoint, recommended ESLint above JSLint, JSHint and JSCS.[23] In 2016, CodeKit also praised ESLint for "finding more issues", being "far more configurable", and being "the industry standard" for JavaScript syntax checkers.[10]

In 2016, Palantir Technologies created TSLint,[24] which is the TypeScript equivalent for ESLint.[25] It was deprecated in favor of ESLint with a TypeScript integration in 2019.[26]

See also

References

  1. "JSLint from the Command Line". January 2013. https://www.hacksparrow.com/jslint-from-the-command-line.html. 
  2. "first commit". 2010-11-12. https://github.com/douglascrockford/JSLint/commit/ca120a731db548c0014320fa0c196edc613536ae. "Copyright 2002 Douglas Crockford. All Rights Reserved Wrrrldwide and Beyond!" 
  3. JSLint source file, including license
  4. 4.0 4.1 "JSMin isn't welcome on Google Code". Ryan Grove. 2008-12-08. http://wonko.com/post/jsmin-isnt-welcome-on-google-code. 
  5. "Various Licenses and Comments About Them". Free Software Foundation. https://www.gnu.org/licenses/license-list.html#JSON. 
  6. Re: The Software shall be used for Good, not Evil.
  7. "IBM and its minions ...". 2011-02-13. http://dev.hasenj.org/post/3272592502. 
  8. "Douglas Crockford: The JSON Saga". 2011-08-11. https://www.youtube.com/watch?v=-C-JoyNuQJs#t=2480s. ""I give permission for IBM, its customers, partners, and minions, to use JSLint for evil."" 
  9. The JSON Saga by Douglas Crockford
  10. 10.0 10.1 "Help: JSLint". 2016-12-10. https://codekitapp.com/help/jslint/. "JSLint is the original JavaScript syntax checker." 
  11. 11.0 11.1 Zakas, Nicholas C. (16 July 2013). "Introducing ESLint". https://www.nczonline.net/blog/2013/07/16/introducing-eslint/. "JSLint was the state of the art in JavaScript linting technology" 
  12. "Why I forked JSLint to JSHint". Anton Kovalyov. 2011-02-20. http://anton.kovalyov.net/2011/02/20/why-i-forked-jslint-to-jshint/. "[JSLint] has gotten uncomfortably opinionated" 
  13. "JSHint: A Community Driven Fork of JSLint". Devon Govett. 18 February 2011. http://badassjs.com/post/3364925033/jshint-an-community-driven-fork-of-jslint. "[..] JSLint was getting a bit too opinionated [..]" 
  14. "Help: JSHint". 2018-02-26. https://codekitapp.com/help/jshint/. "designed to be less opinionated and more configurable" 
  15. Elliot, Ian (21 February 2011). "JSHint - the (gentler) JavaScript code quality tool". http://www.i-programmer.info/news/90-tools/2024-jshint-the-gentler-javascript-code-quality-tool.html. 
  16. Zakas, Nicholas C. (18 December 2017). "Tweet from Nicholas C. Zakas (@slicknet), creator of ESLint". https://twitter.com/slicknet/status/942933466944901120. "JSLint complaint: not configurable enough. JSHint complaint: still not configurable enough [..]" 
  17. "JSLint vs JSHint". Scott Logic. http://blog.scottlogic.com/2011/03/28/jslint-vs-jshint.html. 
  18. "Understanding the Real Advantages of Using ESLint". Rangle.io Blog. 2015-03-26. http://blog.rangle.io/understanding-the-real-advantages-of-using-eslint/. 
  19. Dulin (@mdevils), Marat (21 April 2014). "JSCS: JavaScript Code Style — Frontend Babel". http://frontendbabel.info/articles/jscs-javascript-code-style/. 
  20. "Welcoming JSCS To ESLint". https://eslint.org/blog/2016/04/welcoming-jscs-to-eslint. 
  21. "JSCS End of Life". https://eslint.org/blog/2016/07/jscs-end-of-life. 
  22. "Future of Typescript Linting". https://eslint.org/blog/2019/01/future-typescript-eslint. 
  23. Hartikainen, Jani (2015-03-05). "A Comparison of JavaScript Linting Tools". SitePoint. https://www.sitepoint.com/comparison-javascript-linting-tools/. 
  24. "TSlint npm registry". https://www.npmjs.com/package/tslint. 
  25. "TSLint Github repository". https://palantir.github.io/tslint/. 
  26. "TSLint in 2019". https://medium.com/palantir/tslint-in-2019-1a144c2317a9. 

Further reading

External links