JSLintとは
JSLintは、
JavaScriptの
ソースコードが特定のコーディング規約に準拠しているかどうかをチェックするための静的解析ツールです。これは、ソフトウェア開発の初期段階で潜在的な問題を特定し、コードの品質を向上させるのに役立ちます。ダグラス・クロックフォード氏によって2002年に開発されました。
主な利用形態は、jslint.comで提供されているブラウザベースのWebアプリケーションですが、コマンドライン版も存在します。
JSLintの
ライセンスは、過去に何度か変更されています。2021年以降は、
フリーソフトウェア財団(FSF)とオープンソース・イニシアティブ(OSI)によって承認されたUnlicense
ライセンスを使用しています。
それ以前は、MIT
ライセンスから派生した
ライセンスを使用していました。ただし、MIT
ライセンスとの違いは、「JSLintは善のために使用し、悪のために使用してはならない」という条項が追加されていた点です。この条項が原因で、
フリーソフトウェア財団は元のJSLint
ライセンスをノンフリーとみなし、JSLint関連のソフトウェアが
Google Codeでホストされたり、Debian自由ソフトウェアパッケージ
リポジトリに含まれるのを妨げる要因となっていました。
クロックフォード氏によると、
IBMから「悪」にも使える
ライセンスの提供を求められたことが、
ライセンス変更の背景にあったとのことです。
影響
JSLintは、最初の
JavaScript用構文チェッカーの一つとされています。その登場以降、多くのツールに影響を与えました。
JSHint: 2011年、Anton Kovalyov氏はJSHintというフォークを作成しました。これは、JSLintの主張が強すぎると感じた開発者に対し、よりカスタマイズ性の高い選択肢を提供することを目的としていました。
ESLint: 2013年、ニコラス C. ザカス氏は
ESLintを作成しました。JSLintと
JSHintには、コード品質とコーディングスタイルに関する追加のルールを作成する機能が欠けていました。
ESLintは、すべてのルールを構成可能であり、実行時に追加のルールを定義またはロードできるため、より柔軟なリンティングツールとして登場しました。また、
JavaScriptの最新バージョン(ECMAScript 2015以降)のリンティングもサポートしています。
JSCS: 2014年、Marat Dulin氏はJSCSを作成しましたが、2016年にESLintプロジェクトに参加し、JSCSのメンテナンスを中止しました。
2015年にSitePointが公開した比較では、ESLintがJSLint、JSHint、JSCSよりも推奨されています。CodeKitは2016年に、ESLintが「より多くの問題を見つける」こと、「はるかにカスタマイズ性が高い」こと、JavaScript構文チェッカーの「業界標準」であることを理由にESLintを賞賛しました。
また、2016年には、Palantir TechnologiesがTypeScript向けのESLintに相当するTSLintを作成しましたが、2019年にESLintにTypeScript対応が組み込まれたため、TSLintは非推奨となりました。
参考文献
Doernhoefer, Mark (2006). “
JavaScript”. SIGSOFT Softw. Eng. Notes 31 (4): 16–24. doi:10.1145/1142958.1142972.
Crockford, Douglas (May 2008). JavaScript: The Good Parts (1 ed.). O'Reilly Media. ISBN 0-596-51774-2.
Asleson, Ryan; Nathaniel T. Schutta (2005-10-14). Foundations of
Ajax (1 ed.). Apress.
ISBN 1-59059-582-3.
関連項目
静的コード分析
JavaScript用のツールのリスト
外部リンク
*
公式ウェブサイト