ESLint と Prettier の導入
はじめに
今回のコードはこちら↓
開発環境
"@typescript-eslint/eslint-plugin": "7.0.2",
"@typescript-eslint/parser": "7.0.2",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
"prettier": "3.2.5",
"typescript": "5.3.3",
eslint とは?
ESLint は、コードの一貫性を高め、バグを回避することを目的として、ECMAScript/JavaScript コードで見つかったパターンを特定してレポートするためのツールです。
ESLint は完全にプラグイン可能です。すべてのルールはプラグインであり、実行時にさらに追加できます。コミュニティ プラグイン、構成、パーサーを追加して、ESLint の機能を拡張することもできます。
prettier とは?
Prettier は、独自のコード フォーマッタです。
元のスタイルがすべて削除され、出力されるすべてのコードが一貫したスタイルに準拠するようになります。
環境構築
React に導入することを前提に進る。
↓こちらの記事で Vite + React の環境構築を解説しているのでよければ参考に。
eslint + prettier のセットアップ
- eslint のインストール
- eslint のセットアップ
- prettier と eslint-config-prettier のインストール
- prettier のセットアップ
- eslint-config-prettier のセットアップ
- package.json に lint と prettier のコマンドを追加する
- コマンドの実行
eslint のインストール
Vite + React のセットアップをされた方は、 eslint は入っているので、prettier と eslint-config-prettier のインストールまでスキップする。
公式を参考に進めていく。
npm install --save-dev eslint
eslint のセットアップ
eslint の設定ファイル .eslintrc
を作成する。
touch .eslintrc.js
.eslintrc.js に下記コードを追記する。
module.exports = {
"env": {
"browser": true,
"es2021": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
}
prettier と eslint-config-prettier のインストール
公式を参考に進めていく。
npm install --save-dev --save-exact prettier
npm install --save-dev eslint-config-prettier
prettier のセットアップ
prettier の設定ファイル.prettierrc
とフォーマットから外すためのファイル.prettierignore
を作成する。
node --eval "fs.writeFileSync('.prettierrc','{}\n')"
node --eval "fs.writeFileSync('.prettierignore','')"
今回は最低限の設定で進めため、それぞれのファイルに下記を記述する。
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": false,
"singleQuote": true
}
# Ignore artifacts:
build
coverage
# Ignore all HTML files:
**/*.html
eslint-config-prettier のセットアップ
eslint と prettier の設定がバッティングしないための設定を eslint に追記する。
{
"extends": [
・・・
"prettier"
]
}
package.json に lint と prettier のコマンドを追加する
{
・・・
"scripts": {
・・・
"lint": "eslint .",
"prettier": "prettier . --write",
},
}
コマンドの実行
eslint と prettier のコマンドを実行する。
npm run lint
npm run prettier
エラーが起きなければ完了。
<おまけ> vscodeのワークスペースにeslintを適用
IDE で vscode を使用されている場合に、 vscode のワークスペースにプロジェクトで設定した eslintを適用する。
- cmd + "," で vecode の設定を開く
- タブをワークスペースに切り替える
- 検索窓に
eslint
と入力する -
setting.json で編集
をクリックする - setting.json に下記コードを適用する
{
"[javascript]": {
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
},
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
}
以上!
Discussion