ESLint
作者 | Nicholas C. Zakas |
---|---|
開発元 | Nicholas C. Zakas |
初版 | 2013年6月30日 |
最新版 |
9.7.0[1]
/ 12 7月 2024 |
リポジトリ | |
プログラミング 言語 | JavaScript |
対応OS | Cross-platform |
対応言語 | 英語 |
種別 | 静的コード解析 |
ライセンス | MIT License |
公式サイト |
eslint |
ESLint は、JavaScript コードに存在する問題を発見するための静的コード解析用ツールである。2013 年に、Nicholas C. Zakas により作成された。[2][3] ESLintの設定はユーザーが設定することができ、またユーザーはカスタマイズされたルールを利用できる。ESLintは、コードの品質 及び コーディングスタイル 両方の問題を検知することができる。 ESLint は現在のJavaScriptの標準であるECMAScriptの構文や、将来的に追加される可能性がある試験的な構文もサポートしている。プラグインやトランスパイラを使用することによって、JSX やTypeScript の解析も可能になる。[4][5]
歴史
[編集]JSLint や JSHint は、コードの品質 と コーディングスタイルに関するルールを追加することができなかった。[3] そのため、ZakasはJSHintにコントリビュートするのではなく、2013年6月に新しいコード解析としてESLint (当時はJSCheckという名称だったが、1ヶ月後に名称を変更した)を作成することを決めた。ESLintはこれらのツールとは違い、実行時に動的にルールを変更したり追加したりできるようにした。[6][7]
2016年4月に、 ESLint は jQuery Foundationに加入した。[8] その同年、jQuery Foundation は Dojo Foundation とともにLinux Foundationの一部となり、JS Foundation のプロジェクトとして成立した。 [9][10][11]
2017年10月に、JS Foundationのメンターシッププログラムを卒業した。[12]
2019年3月現在、JS Foundation と Node.js Foundationの合併により、ESLintは OpenJS Foundationのプロジェクトの一部である。[13][14]
採用
[編集]JetBrains は、WebStormコードエディター内で、ESLintをサポートしている。これにより、編集中のファイルにESLintが実行され、エディタ内で問題のあるコードの近くに警告が表示される。[15][16][17]
2016年から、 Vue.js は、Vue.jsの構文を自動的に検証する目的のESLintプラグインを提供している。[18][19][20] 2018年からは、新しいVue.jsプロジェクトを作成するときのウィザード 内で、このプラグインの使用を推奨している。[21]
2018年10月に、Facebookが開発している React は、公式のESLintプラグインを公開した。[22][23]
2021年現在、ESLintは最も使われているJavaScript用リンターであり、週に14,000,000回以上ダウンロードされている。 [24]
脚注
[編集]- ^ “Release 9.7.0” (12 7月 2024). 22 7月 2024閲覧。
- ^ “First commit - eslint/eslint” (英語). GitHub. 2019年7月5日閲覧。
- ^ a b Zakas (2013年7月16日). “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日) 2018年2月26日閲覧。
- ^ “Rename project to ESLint · eslint/eslint@4f4c351” (英語). GitHub (2013年7月4日). 2020年6月26日閲覧。
- ^ Zakas (2016年4月19日). “ESLint Joins The jQuery Foundation” (英語). eslint.org. 2019年7月5日閲覧。
- ^ “jQuery Foundation and Dojo Foundation to Merge” (英語). Official jQuery Blog (2015年9月1日). 2018年7月2日閲覧。
- ^ “jQuery Foundation and Dojo Foundation to Merge”. PRWeb. (2015年7月1日) 2018年7月2日閲覧。
- ^ “Announcing the JS Foundation!” (英語). SitePen. (2016年10月17日) 2018年7月2日閲覧。
- ^ “ESLint Graduates from JS Foundation Mentorship Program” (英語). JS Foundation Blog. (2017年10月5日) 2019年7月5日閲覧。
- ^ Singh, Manish (2019年3月12日). “Node.js and JS foundations are merging to form OpenJS”. VentureBeat 2019年3月21日閲覧。
- ^ “The Node.js Foundation and JS Foundation Announce an Intent to Merge” (英語). JS Foundation Blog. (2018年10月4日) 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 (2015年12月30日). 2019年7月5日閲覧。
- ^ “Using JavaScript Standard Style” (英語). WebStorm Blog. JetBrains (2017年4月7日). 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 (2018年10月25日). “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日閲覧。