どーも、ぐるたか@guru_takaです。
React のための ESLint と Prettier で構文解析とコード整形を自動化する方法を紹介します。使用するエディタは VSCode です。
事前準備
VSCode の拡張機能で、ESLint と Prettier をインストールする必要があります。目次
ESLint と Prettier を併用する理由
ESLint 単体でもコード整形は可能ですが、Prettier の方がコード整形が優れているため、併用します。
参考 Prettier 入門 ~ESLintとの違いを理解して併用する~QiitaReact のプロジェクトに ESLint と Prettier を設定する流れ
STEP.1
React のプロジェクトを新規作成
STEP.2
必要なパッケージをインストール
STEP.3
設定ファイルを作成
STEP.4
VSCode の設定ファイルを更新
STEP.1:React のプロジェクトを新規作成
まずは React の新規プロジェクトを作成しましょう。
ターミナル
【React の始め方】create react-app で Hello, World! する方法
yarn create react-app プロジェクト名
STEP.2:ESLint と Prettier で必要なパッケージをインストール
以下のコマンドを実行し、必要なパッケージをインストールします。
ターミナル
yarn add -D prettier eslint-config-prettier eslint-plugin-prettier eslint-plugin-react
それぞれ
パッケージ | 役割 |
prettier | コード整形 |
eslint-config-prettier | ESLint と Prettier の競合回避 |
eslint-plugin-prettier | ESLint が Prettier を実行 |
eslint-plugin-react | React の構文解析 |
続いて、ESLint と Prettier のルールを記述する設定ファイルを作成します。コードは以下の通りです。
ターミナル
touch .eslintrc.js .prettierrc
STEP.3:設定ファイルを作成
ESLint と Prettier の設定ファイルを作業ディレクトリに作成します。
パッケージ | ファイル名 |
ESLint | .eslintrc.js |
Prettier | .prettierrc |
基本的な設定ファイルの中身は以下の通りです。お好みの設定をしましょう。
.prettierrc
{
"trailingComma": "es5",
"semi": false,
"singleQuote": true,
// お好みで Prettier の設定を追加
}
.eslintrc.js
module.exports = {
// 環境設定
env: {
es6: true,
browser: true,
node: true,
},
parser: 'babel-eslint',
plugins: ['react'],
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
},
extends: [
// eslint-plugin-react 関連
'eslint:recommended',
'plugin:react/recommended',
// Prettier 関連
'plugin:prettier/recommended',
'prettier/react',
],
rules: {
// お好みで構文解析のルールを追加
},
}
extends
に plugin:prettier/recommended
を追加することで、以下の設定が自動で付与されます。そのため、本記事では以下の設定を記述していません。
.eslintrc.js
参考
prettier/eslint-plugin-prettier: ESLint plugin for Prettier formattingGitHub
参考
yannickcr/eslint-plugin-react: React specific linting rules for ESLintGitHub
"extends": ["prettier"],
rules: {
'prettier/prettier': 'error',
},
STEP.4:VSCode の設定ファイルを更新
最後にファイル保存時に、自動で構文解析&コード整形するように VSCode の設定を行います。変更箇所は以下の通りです。
settings.json
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
editor.formatOnSave
の設定も可能ですが、editor.codeActionsOnSave
の設定が推奨されています。
以上で、React の ESlint と Prettier の設定が完了になります!
コメントを残す