JSLint

JSLint是一個在软件开发中確認JavaScript源代码代码风格的靜態程序分析，可透過网络应用程序jslint.com及命令行界面來進行分析，由道格拉斯·克羅克福特於2002年建立。 JSLint曾使用由MIT許可證衍伸而來的JSLint許可證，兩者的差別在於JSLint許可證多出了一句話"The Software shall be used for Good, not Evil."。 根據自由软件基金会的說法，該條款使JSLint變相成為专有软件。此條款同時阻止了JSLint相關的軟體託管在Google Code上，也阻止了Debian自由軟體儲存庫綑綁JSLint。根據Crockford的說法，基於此一限制，IBM在2011年向Crockford申請了惡作劇用的許可證，以便其客戶可以使用JSLint。 2021年起，JSLint改使用自由软件基金会及开放源代码促进会批准的Unlicense（英语：Unlicense）許可證。 多數人認為JSLint是第一個JavaScript語法分析器，並激發了往後其他類似工具的誕生。 2011年，Anton Kovalyov創建了一個分支，並命名為JSHint。作者解釋，創建JSHint的原因是想為開發人員提供一種“不那麼執著”和“更容易配置”的方式來分析代碼。 2013年，Nicholas C. Zakas創建了ESLint。作者解釋，由於JSLint和JSHint都無法創建額外的編程規範（英语：Coding conventions）和代码风格規則，在為JSHint做出貢獻後，Zakas決定創建一個新的語法分析器。ESLint所有規則都是可配置的，並且可以在執行期定義或加載其他規則。同時，ESLint還支持分析最新版本的JavaScript，即ECMAScript 2015及更高版本。 2014年，Marat Dulin創建了“JSCS”。2016年，JSCS團隊併入了ESLint項目，同時停止JSCS工具的維護。 2015年，SitePoint（英语：SitePoint）發布了一項對ESLint、JSLint、JSHint和JSCS四個項目的比較，其結果為ESLint優於其他三個語法分析器。2016年，CodeKit還稱讚ESLint“發現了更多問題”、“可配置性更高”以及成為JavaScript語法分析器的“行業標準”。 2016年，Palantir Technologies建立了TSLint，即TypeScript專用的ESLint。2019年，TSLint併入ESLint，成為ESLint的插件typescript-eslint。 靜態程式碼分析工具列表（英语：List of tools for static code analysis） JSLint from the Command Line. www.hacksparrow.com. January 2013 [2018-02-26]. （原始内容存档于2018-02-27）.  first commit. GitHub. 2010-11-12 [2018-02-25]. （原始内容存档于2021-04-13）. Copyright 2002 Douglas Crockford. All Rights Reserved Wrrrldwide and Beyond!  JSLint source file, including license. [2022-07-12]. （原始内容存档于2013-06-09）.  JSMin isn't welcome on Google Code. wonko.com. Ryan Grove. 2008-12-08 [2018-02-26]. （原始内容存档于2023-01-14）.  Various Licenses and Comments About Them. Free Software Foundation. [2022-07-12]. （原始内容存档于2010-07-24）.  Re: The Software shall be used for Good, not Evil.. www.mail-archive.com. [2022-07-12]. （原始内容存档于2022-12-05）.  IBM and its minions .... Hasen Judy. 2011-02-13 [2018-02-26]. （原始内容存档于2013-02-03）.  Douglas Crockford: The JSON Saga. YouTube. 2011-08-11 [2018-02-25]. （原始内容存档于2021-12-15）. I give permission for IBM, its customers, partners, and minions, to use JSLint for evil.  The JSON Saga by Douglas Crockford Help: JSLint. codekitapp.com. 2016-12-10 [2018-02-25]. （原始内容存档于2018-02-26）. JSLint is the original JavaScript syntax checker.  Zakas, Nicholas C. Introducing ESLint. nczonline.net. 16 July 2013 [2018-02-26]. （原始内容存档于2018-02-26）. JSLint was the state of the art in JavaScript linting technology  Why I forked JSLint to JSHint. anton.kovalyov.net. Anton Kovalyov. 2011-02-20 [2018-02-26]. （原始内容存档于2011-02-24）. [JSLint] has gotten uncomfortably opinionated  JSHint: A Community Driven Fork of JSLint. badassjs.com. Devon Govett. 18 February 2011 [2011-02-21]. （原始内容存档于21 February 2011）. [..] JSLint was getting a bit too opinionated [..]  Help: JSHint. codekitapp.com. 2018-02-26 [2018-02-26]. （原始内容存档于2018-02-26）. designed to be less opinionated and more configurable  Elliot, Ian. JSHint - the (gentler) JavaScript code quality tool. www.i-programmer.info. 21 February 2011 [2018-02-26]. （原始内容存档于2011-02-23）.  Zakas, Nicholas C. Tweet from Nicholas C. Zakas (@slicknet), creator of ESLint. Twitter. 18 December 2017 [2018-02-26]. （原始内容存档于2022-07-08）. JSLint complaint: not configurable enough. JSHint complaint: still not configurable enough [..]  JSLint vs JSHint. Scott Logic（英语：Scott Logic）. [2018-02-26]. （原始内容存档于2018-02-26）.  Understanding the Real Advantages of Using ESLint. Rangle.io Blog. 2015-03-26 [2018-02-26]. （原始内容存档于2019-02-09）.  Dulin (@mdevils), Marat. JSCS: JavaScript Code Style — Frontend Babel. frontendbabel.info. 21 April 2014 [2018-02-26]. （原始内容存档于2021-10-18）.  Welcoming JSCS To ESLint. ESLint - Pluggable JavaScript linter. [2018-02-26]. （原始内容存档于2022-12-07）.  JSCS End of Life. ESLint - Pluggable JavaScript linter. [2018-02-26]. （原始内容存档于2022-11-28）.  Future of Typescript Linting. ESLint. [2022-07-12]. （原始内容存档于2021-04-13）.  Hartikainen, Jani. A Comparison of JavaScript Linting Tools. SitePoint. 2015-03-05 [2018-02-26]. （原始内容存档于2022-12-05）.  tslint. npm. [2022-07-12]. （原始内容存档于2023-01-02）.  TSLint. palantir.github.io. [2022-07-12]. （原始内容存档于2022-12-21）.  TSLint in 2019. Medium. June 5, 2019.  Roadmap: TSLint -> ESLint · Issue #4534 · palantir/tslint. GitHub. [2022-08-15]. （原始内容存档于2023-01-16）.  Doernhoefer, Mark. JavaScript. SIGSOFT Softw. Eng. Notes. 2006, 31 (4): 16–24 [2010-03-12]. doi:10.1145/1142958.1142972.  Appendix C of Crockford, Douglas. JavaScript: The Good Parts 1. O'Reilly Media. May 2008. ISBN 0-596-51774-2.  Section 'Performing JavaScript Syntax Checking with JSLint', Pages 143-145 of Asleson, Ryan; Nathaniel T. Schutta. Foundations of Ajax 1. Apress. 2005-10-14. ISBN 1-59059-582-3.  官方网站