作者 | ダグラス・クロックフォード |
---|---|
開発元 | ダグラス・クロックフォード |
初版 | 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 was the state of the art in JavaScript linting technology
JSLint is the original JavaScript syntax checker.
概念 | |
---|---|
エンジン | |
コンパイラ | |
デバッガ | |
エディタ | |
サーバーサイド |
|
フレームワーク・ライブラリ | |
ユニットテスト |
|
Docジェネレータ | |
コード解析 | |
パッケージ管理 | |
アプリケーションバンドラー | |
関連技術 | |
人物 | |