JSLint
作者 | ダグラス・クロックフォード |
---|---|
開発元 | ダグラス・クロックフォード |
初版 | 2002年 |
最新版 |
2020-09-09
/ 2020年9月9日 |
リポジトリ | |
プログラミング 言語 | JavaScript |
対応OS | クロスプラットフォーム |
対応言語 | 英語 |
サポート状況 | アクティブ |
種別 | 静的コード解析 |
ライセンス | JSLintライセンス |
公式サイト |
jslint |
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]。
参考文献
[編集]- ^ “JSLint from the Command Line”. www.hacksparrow.com (2013年1月). 2018年2月26日閲覧。
- ^ “first commit”. GitHub (2010年11月12日). 2018年2月25日閲覧。 “Copyright 2002 Douglas Crockford. All Rights Reserved Wrrrldwide and Beyond!”
- ^ JSLint source file, including license
- ^ a b “JSMin isn't welcome on Google Code”. wonko.com. Ryan Grove (2008年12月8日). 2018年2月26日閲覧。
- ^ “Various Licenses and Comments About Them”. Free Software Foundation. 2021年2月3日閲覧。
- ^ Re: The Software shall be used for Good, not Evil.
- ^ “IBM and its minions ...”. Hasen Judy (2011年2月13日). 2013年2月3日時点のオリジナルよりアーカイブ。2018年2月26日閲覧。
- ^ “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."”
- ^ The JSON Saga by Douglas Crockford
- ^ “Help: JSLint”. codekitapp.com (2016年12月10日). 2018年2月26日時点のオリジナルよりアーカイブ。2018年2月25日閲覧。 “JSLint is the original JavaScript syntax checker.”
- ^ Zakas (2013年7月16日). “Introducing ESLint”. nczonline.net. 2018年2月26日閲覧。 “JSLint was the state of the art in JavaScript linting technology”
- ^ “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”
- ^ “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 [..]”
- ^ “Help: JSHint”. codekitapp.com (2018年2月26日). 2018年2月26日閲覧。 “designed to be less opinionated and more configurable”
- ^ Elliot (2011年2月21日). “JSHint - the (gentler) JavaScript code quality tool”. www.i-programmer.info. 2011年2月23日時点のオリジナルよりアーカイブ。2018年2月26日閲覧。
- ^ 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 [..]”
- ^ “JSLint vs JSHint”. Scott Logic 2018年2月26日閲覧。
- ^ 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
- ^ “Understanding the Real Advantages of Using ESLint”. Rangle.io Blog. (2015年3月26日) 2018年2月26日閲覧。
- ^ Dulin (@mdevils) (2014年4月21日). “JSCS: JavaScript Code Style — Frontend Babel”. frontendbabel.info. 2018年2月26日閲覧。
- ^ “Welcoming JSCS To ESLint”. ESLint - Pluggable JavaScript linter. 2018年2月26日閲覧。
- ^ “JSCS End of Life”. ESLint - Pluggable JavaScript linter. 2018年2月26日閲覧。
- ^ “Future of Typescript Linting”. ESLint. 2021年2月3日閲覧。
- ^ Hartikainen, Jani (2015年3月5日). “A Comparison of JavaScript Linting Tools”. SitePoint 2018年2月26日閲覧。
- ^ “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.
- ^ “TSlint npm registry”. 2021年2月3日閲覧。
- ^ “TSLint Github repository”. 2021年2月3日閲覧。
- ^ “TSLint in 2019”. 2021年2月3日閲覧。
参考文献
[編集]- Doernhoefer, Mark (2006). “JavaScript”. SIGSOFT Softw. Eng. Notes 31 (4): 16–24. doi:10.1145/1142958.1142972 2010年3月12日閲覧。.
- Appendix C of Crockford, Douglas (May 2008). JavaScript: The Good Parts (1 ed.). O'Reilly Media. ISBN 0-596-51774-2JavaScript: 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-3Foundations of Ajax (1 ed.). Apress. ISBN 1-59059-582-3.。