JSLint

出典: フリー百科事典『ウィキペディア(Wikipedia)』
JSLint
作者 ダグラス・クロックフォード英語版
開発元 ダグラス・クロックフォード英語版
初版 2002年 (22年前) (2002)
最新版
2020-09-09 / 2020年9月9日 (3年前) (2020-09-09)
リポジトリ ウィキデータを編集
プログラミング
言語
JavaScript
対応OS クロスプラットフォーム
対応言語 英語
サポート状況 アクティブ
種別 静的コード解析
ライセンス JSLintライセンス
公式サイト jslint.com
テンプレートを表示

JSLintは、ソフトウェアの開発時にJavaScriptソースコードコーディング規則に準拠しているかどうかを確認するための静的解析ツールである。jslint.comからブラウザベースのWebアプリケーションとして利用する形態が主であるが、コマンドライン版も存在する[1]。2002年にダグラス・クロックフォード英語版が作成した[2]

ライセンス[編集]

2021年以降、JSLintは、フリーソフトウェア財団(FSF)とオープンソース・イニシアティブ(OSI)が承認したUnlicenseライセンスを使用している。

それまでのJSLintは、MITライセンスから派生したライセンスを使用していた[3][4]。MITライセンスとの唯一の差異は、「JSLintは善のために使用し、悪のために使用してはならない」というくだりの追加であった。

フリーソフトウェア財団によると、元のJSLintライセンスは、前述の条項があったためにノンフリーとみなされた[5]。また、JSLint関連のソフトウェアがGoogle Code[4]でホストされたり、Debianフリーソフトウェアパッケージリポジトリに含まれたりするのを妨げる理由となっていた[6]。Crockfordによれば、こうした制限があったため、2011年にIBMから、同社の顧客がJSLintを利用できるよう、「悪」にも使えるライセンスの提供を求められたという[7][8][9]

影響[編集]

一部には、JSLintが最初のJavaScript用構文チェッカーだと考える人もいる[10][11]。以来、JSLintは他のさまざまなツールに影響を与えてきた。

2011年、Anton KovalyovはJSHintと呼ばれるフォークを作成した[12][13][14]。開発者がコードを解析するときに「(解析ソフトウェアの)主張が強すぎず」、「カスタマイズ性が高い」方法を提供したいと考えたのが、KovalyovがJSHintを作成するに至った主な動機だった[15][16][17]

2013年、ニコラス C. ザカスがESLintを作成した[18]。JSLintとJSHintはどちらも、コード品質英語版コーディングスタイルに関する追加のルールを作成する機能を欠いていた。JSHintの開発に貢献(コントリビューション)した後、ザカスは新しいリンティングツールとしてESLintを作成することを決めた。ESLintは、すべてのルールを構成でき、実行時に追加のルールを定義またはロードできる[19]。ESLintは、JavaScriptの最新バージョン(別名ECMAScript 2015以降)のリンティングもサポートしている。

2014年、Marat DulinがJSCS[20]を作成した。2016年、JSCSチームはESLintプロジェクトに参加し、その後JSCSツールのメンテナンスを中止した[21][22][23]

2015年に、SitePoint英語版によって公開された比較では、JSLint 、JSHint、およびJSCSよりもESLintが推奨されている[24]。2016年には、ESLintが「より多くの問題を見つける」こと、「はるかにカスタマイズ性が高い」こと、JavaScript構文チェッカーの「業界標準」であることを挙げて、CodeKitがESLintを賞賛した[25]

2016年、Palantir Technologies英語版が、TypeScript向けのESLintに相当するであるTSLint[26]を作成した[27] 。2019年、ESLintにTypeScript対応が組み込まれ、ESLintの使用が推奨となり、TSLintは非推奨となった[28]

参考文献[編集]

  1. ^ JSLint from the Command Line”. www.hacksparrow.com (2013年1月). 2018年2月26日閲覧。
  2. ^ first commit”. GitHub (2010年11月12日). 2018年2月25日閲覧。 “Copyright 2002 Douglas Crockford. All Rights Reserved Wrrrldwide and Beyond!”
  3. ^ JSLint source file, including license
  4. ^ a b JSMin isn't welcome on Google Code”. wonko.com. Ryan Grove (2008年12月8日). 2018年2月26日閲覧。
  5. ^ Various Licenses and Comments About Them”. Free Software Foundation. 2021年2月3日閲覧。
  6. ^ Re: The Software shall be used for Good, not Evil.
  7. ^ IBM and its minions ...”. Hasen Judy (2011年2月13日). 2013年2月3日時点のオリジナルよりアーカイブ。2018年2月26日閲覧。
  8. ^ Douglas Crockford: The JSON Saga”. YouTube (2011年8月11日). 2018年2月25日閲覧。 “"I give permission for IBM, its customers, partners, and minions, to use JSLint for evil."”
  9. ^ The JSON Saga by Douglas Crockford
  10. ^ Help: JSLint”. codekitapp.com (2016年12月10日). 2018年2月26日時点のオリジナルよりアーカイブ。2018年2月25日閲覧。 “JSLint is the original JavaScript syntax checker.”
  11. ^ Zakas (2013年7月16日). “Introducing ESLint”. nczonline.net. 2018年2月26日閲覧。 “JSLint was the state of the art in JavaScript linting technology”
  12. ^ Why I forked JSLint to JSHint”. anton.kovalyov.net. Anton Kovalyov (2011年2月20日). 2011年2月24日時点のオリジナルよりアーカイブ。2018年2月26日閲覧。 “[JSLint] has gotten uncomfortably opinionated”
  13. ^ JSHint: A Community Driven Fork of JSLint”. badassjs.com. Devon Govett (2011年2月18日). 2011年2月21日時点のオリジナルよりアーカイブ。2011年2月21日閲覧。 “[..] JSLint was getting a bit too opinionated [..]”
  14. ^ Help: JSHint”. codekitapp.com (2018年2月26日). 2018年2月26日閲覧。 “designed to be less opinionated and more configurable”
  15. ^ Elliot (2011年2月21日). “JSHint - the (gentler) JavaScript code quality tool”. www.i-programmer.info. 2011年2月23日時点のオリジナルよりアーカイブ。2018年2月26日閲覧。
  16. ^ Zakas (2017年12月18日). “Tweet from Nicholas C. Zakas (@slicknet), creator of ESLint”. Twitter. 2018年2月26日閲覧。 “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 2018年2月26日閲覧。 
  18. ^ Zakas (2013年7月16日). “Introducing ESLint”. nczonline.net. 2018年2月26日閲覧。 “JSLint was the state of the art in JavaScript linting technology”Zakas, Nicholas C. (16 July 2013). "Introducing ESLint". nczonline.net. Retrieved 2018-02-26. JSLint was the state of the art in JavaScript linting technology
  19. ^ “Understanding the Real Advantages of Using ESLint”. Rangle.io Blog. (2015年3月26日). http://blog.rangle.io/understanding-the-real-advantages-of-using-eslint/ 2018年2月26日閲覧。 
  20. ^ Dulin (@mdevils) (2014年4月21日). “JSCS: JavaScript Code Style — Frontend Babel”. frontendbabel.info. 2018年2月26日閲覧。
  21. ^ Welcoming JSCS To ESLint”. ESLint - Pluggable JavaScript linter. 2018年2月26日閲覧。
  22. ^ JSCS End of Life”. ESLint - Pluggable JavaScript linter. 2018年2月26日閲覧。
  23. ^ Future of Typescript Linting”. ESLint. 2021年2月3日閲覧。
  24. ^ Hartikainen, Jani (2015年3月5日). “A Comparison of JavaScript Linting Tools”. SitePoint. https://www.sitepoint.com/comparison-javascript-linting-tools/ 2018年2月26日閲覧。 
  25. ^ Help: JSLint”. codekitapp.com (2016年12月10日). 2018年2月26日時点のオリジナルよりアーカイブ。2018年2月25日閲覧。 “JSLint is the original JavaScript syntax checker.”"Help: JSLint". codekitapp.com. 2016-12-10. Archived from the original on 2018-02-26. Retrieved 2018-02-25. JSLint is the original JavaScript syntax checker.
  26. ^ TSlint npm registry”. 2021年2月3日閲覧。
  27. ^ TSLint Github repository”. 2021年2月3日閲覧。
  28. ^ TSLint in 2019”. 2021年2月3日閲覧。

参考文献[編集]

  • 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 2010年3月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 JavaScript: The Good Parts (1 ed.). O'Reilly Media. ISBN 0-596-51774-2.
  • 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 Foundations of Ajax (1 ed.). Apress. ISBN 1-59059-582-3.

関連項目[編集]

外部リンク[編集]