ESLint

ESLint は、JavaScript コードに存在する問題を発見するための静的コード解析用ツールである。2013 年に、Nicholas C. Zakas により作成された。 ESLintの設定はユーザーが設定することができ、またユーザーはカスタマイズされたルールを利用できる。ESLintは、コードの品質 及び コーディングスタイル 両方の問題を検知することができる。 ESLint は現在のJavaScriptの標準であるECMAScriptの構文や、将来的に追加される可能性がある試験的な構文もサポートしている。プラグインやトランスパイラを使用することによって、JSX やTypeScript の解析も可能になる。 JSLint や JSHint は、コードの品質 と コーディングスタイルに関するルールを追加することができなかった。 そのため、ZakasはJSHintにコントリビュートするのではなく、2013年6月に新しいコード解析としてESLint (当時はJSCheckという名称だったが、1ヶ月後に名称を変更した)を作成することを決めた。ESLintはこれらのツールとは違い、実行時に動的にルールを変更したり追加したりできるようにした。 2016年4月に、 ESLint は jQuery Foundationに加入した。 その同年、jQuery Foundation は Dojo Foundation とともにLinux Foundationの一部となり、JS Foundation のプロジェクトとして成立した。 2017年10月に、JS Foundationのメンターシッププログラムを卒業した。 2019年3月現在、JS Foundation と Node.js Foundationの合併により、ESLintは OpenJS Foundationのプロジェクトの一部である。 JetBrains は、WebStormコードエディター内で、ESLintをサポートしている。これにより、編集中のファイルにESLintが実行され、エディタ内で問題のあるコードの近くに警告が表示される。 2016年から、 Vue.js は、Vue.jsの構文を自動的に検証する目的のESLintプラグインを提供している。 2018年からは、新しいVue.jsプロジェクトを作成するときのウィザード 内で、このプラグインの使用を推奨している。 2018年10月に、Facebookが開発している React は、公式のESLintプラグインを公開した。 2021年現在、ESLintは最も使われているJavaScript用リンターであり、週に14,000,000回以上ダウンロードされている。 ^ “Release 9.11.0” (20 9月 2024). 21 9月 2024閲覧。 ^ “First commit - eslint/eslint” (英語). GitHub. 2019年7月5日閲覧。 ^ a b Zakas (16 July 2013). “Introducing ESLint” (英語). nczonline.net. 2018年2月26日閲覧。 “JSLint was the state of the art in JavaScript linting technology” ^ “The future of TypeScript on ESLint” (英語). ESLint - Pluggable JavaScript linter. 2020年4月24日閲覧。 ^ “Accessibility auditing with eslint-plugin-jsx-a11y” (英語). web.dev. Google Developers (2019年4月29日). 2020年4月24日閲覧。 “The [ELint plugin] can help pinpoint [issues] in your JSX.” ^ “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日閲覧。  ^ “Rename project to ESLint · eslint/eslint@4f4c351” (英語). GitHub (4 July 2013). 2020年6月26日閲覧。 ^ Zakas (19 April 2016). “ESLint Joins The jQuery Foundation” (英語). eslint.org. 2019年7月5日閲覧。 ^ “jQuery Foundation and Dojo Foundation to Merge” (英語). Official jQuery Blog (1 September 2015). 2018年7月2日閲覧。 ^ “jQuery Foundation and Dojo Foundation to Merge”. PRWeb. (1 July 2015). http://www.prweb.com/releases/2015/08/prweb12931885.htm 2018年7月2日閲覧。  ^ “Announcing the JS Foundation!” (英語). SitePen. (2016年10月17日). https://www.sitepen.com/blog/2016/10/17/announcing-the-js-foundation/ 2018年7月2日閲覧。  ^ “ESLint Graduates from JS Foundation Mentorship Program” (英語). JS Foundation Blog. (2017年10月5日). https://js.foundation/announcements/2017/10/05/eslint-graduates-from-js-foundation-mentorship-program 2019年7月5日閲覧。  ^ Singh, Manish (2019年3月12日). “Node.js and JS foundations are merging to form OpenJS”. VentureBeat. https://venturebeat.com/2019/03/12/node-js-and-js-foundations-are-merging-to-form-openjs/ 2019年3月21日閲覧。  ^ “The Node.js Foundation and JS Foundation Announce an Intent to Merge” (英語). JS Foundation Blog. (2018年10月4日). https://js.foundation/announcements/2018/10/04/the-node-js-foundation-and-js-foundation-announce-an-intent-to-merge-a-message-from-the-boards-and-a-faq-around-the-announcement 2019年7月5日閲覧. "How will this impact the technical direction of … ESLint This will not change the technical independence for projects like ESLint."  ^ “WebStorm Linting, refactoring and compiling” (英語). WebStorm Blog. JetBrains (30 December 2015). 2019年7月5日閲覧。 ^ “Using JavaScript Standard Style” (英語). WebStorm Blog. JetBrains (7 April 2017). 2019年7月5日閲覧。 ^ “ESLint - WebStorm Manual”. JetBrains. 2019年7月5日閲覧。 ^ “Writing Vue.js Applications in TypeScript”. Telstra Kloud. 2019年7月5日閲覧。 ^ “Lesson: Automatic Linting with ESLint - The Vue.js Master Class” (英語). Vue School. 2019年7月5日閲覧。 ^ “Introduction | eslint-plugin-vue”. eslint.vuejs.org. 2019年7月5日閲覧。 ^ “The Vue Handbook: a thorough introduction to Vue.js” (英語). Developer News (2018年7月5日). 2019年7月5日閲覧。 “Use the interactive CLI to create a new Vue project [..] By default, there is [..] ESLint integration” ^ “ESLint Plugin – Rules of Hooks – React Manual” (英語). reactjs.org. 2019年7月5日閲覧。 ^ Markbåge (25 October 2018). “Implement the Hooks proposal · facebook/react” (英語). GitHub. 2019年7月5日閲覧。 ^ “jslint vs jshint vs eslint vs tslint vs @typescript eslint/eslint plugin” (英語). www.npmtrends.com. 2021年1月26日閲覧。 公式ウェブサイト