ESLintプロジェクトは2024年10月3日、ESLintがJSONとMarkdownのリンティングを正式にサポートしたことを発表した。
ESLintはオープンソースのJavaScriptコードチェック(リンティング)ツール。JavaScriptやTypeScriptのコードを静的解析し、構文エラーやコーディング規約に違反がないか、等をチェックすることができる。
新たにサポートされたJSONリンティングは、@eslint/jsonというプラグインを使用して実行される。このプラグインはJSON、JSONC (コメント付きJSON)、JSON5の解析機能を提供するもので、npmからインストールすることができる。
また、Markdownリンティングは@eslint/markdownプラグインを使用して実行される。このプラグインにはCommonMarkおよびGitHub-Flavored Markdownの解析とルールが備わっており、こちらもnpmでインストールできる。
@eslint/jsonと@eslint/markdownはどちらもESLintがJavaScriptで行うように、ソースコードをAST(Abstract Syntax Tree:抽象構文木)構造にして、これをトラバースしてルールを実行する。このためJavaScript同じように、JSONとMarkdownのカスタムルールを記述して適用することもできる。これを助けるツールとしてESLint Code Explorerがリリースされた。Code Explorerによりさまざまな言語のASTの展開可能なビューが表示され、これを調査することでカスタムルールの作成に役立てることができる。
@eslint/jsonプラグインと@eslint/markdownプラグインは、それぞれのリンティングを提供するだけでなく、独自の言語のリンティング機能を作成する方法の例としても意図されている。この機能を使い、今後はWebプロジェクトで使用する可能性のあるあらゆる種類のファイルをESLintでリンティングできるようにすることを目指すとのこと。