Software:JSLint
Original author(s) | Douglas Crockford |
---|---|
Developer(s) | Douglas Crockford |
Initial release | 2002 |
Stable release | 2018-02-05
/ February 5, 2018 |
Written in | JavaScript |
Operating system | Cross-platform |
Available in | English |
Type | Static code analysis |
License | JSLint License |
Website | 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.[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
- ↑ "JSLint from the Command Line". January 2013. https://www.hacksparrow.com/jslint-from-the-command-line.html.
- ↑ "first commit". 2010-11-12. https://github.com/douglascrockford/JSLint/commit/ca120a731db548c0014320fa0c196edc613536ae. "Copyright 2002 Douglas Crockford. All Rights Reserved Wrrrldwide and Beyond!"
- ↑ JSLint source file, including license
- ↑ 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.
- ↑ "Various Licenses and Comments About Them". Free Software Foundation. https://www.gnu.org/licenses/license-list.html#JSON.
- ↑ Re: The Software shall be used for Good, not Evil.
- ↑ "IBM and its minions ...". 2011-02-13. http://dev.hasenj.org/post/3272592502.
- ↑ "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.""
- ↑ The JSON Saga by Douglas Crockford
- ↑ 10.0 10.1 "Help: JSLint". 2016-12-10. https://codekitapp.com/help/jslint/. "JSLint is the original JavaScript syntax checker."
- ↑ 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"
- ↑ "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"
- ↑ "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 [..]"
- ↑ "Help: JSHint". 2018-02-26. https://codekitapp.com/help/jshint/. "designed to be less opinionated and more configurable"
- ↑ 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.
- ↑ 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 [..]"
- ↑ "JSLint vs JSHint". Scott Logic. http://blog.scottlogic.com/2011/03/28/jslint-vs-jshint.html.
- ↑ "Understanding the Real Advantages of Using ESLint". Rangle.io Blog. 2015-03-26. http://blog.rangle.io/understanding-the-real-advantages-of-using-eslint/.
- ↑ Dulin (@mdevils), Marat (21 April 2014). "JSCS: JavaScript Code Style — Frontend Babel". http://frontendbabel.info/articles/jscs-javascript-code-style/.
- ↑ "Welcoming JSCS To ESLint". https://eslint.org/blog/2016/04/welcoming-jscs-to-eslint.
- ↑ "JSCS End of Life". https://eslint.org/blog/2016/07/jscs-end-of-life.
- ↑ "Future of Typescript Linting". https://eslint.org/blog/2019/01/future-typescript-eslint.
- ↑ Hartikainen, Jani (2015-03-05). "A Comparison of JavaScript Linting Tools". SitePoint. https://www.sitepoint.com/comparison-javascript-linting-tools/.
- ↑ "TSlint npm registry". https://www.npmjs.com/package/tslint.
- ↑ "TSLint Github repository". https://palantir.github.io/tslint/.
- ↑ "TSLint in 2019". https://medium.com/palantir/tslint-in-2019-1a144c2317a9.
Further reading
- Doernhoefer, Mark (2006). "JavaScript". SIGSOFT Softw. Eng. Notes 31 (4): 16–24. doi:10.1145/1142958.1142972. http://portal.acm.org/citation.cfm?id=1142958.1142972&coll=Portal&dl=ACM&CFID=81676408&CFTOKEN=16664136. Retrieved 2010-03-12.
- Appendix C of Crockford, Douglas (May 2008). JavaScript: The Good Parts (1 ed.). O'Reilly Media. ISBN 0-596-51774-2. https://archive.org/details/javascriptgoodpa00croc_0.
- Section 'Performing JavaScript Syntax Checking with JSLint', Pages 143-145 of Asleson, Ryan; Nathaniel T. Schutta (2005-10-14). Foundations of Ajax (1 ed.). Apress. ISBN 1-59059-582-3. https://archive.org/details/isbn_9781590595824.
External links
Original source: https://en.wikipedia.org/wiki/JSLint.
Read more |