【React】ESLint と Prettier を VS Code に導入し、設定する方法。構文解析とコード整形を自動化する!

どーも、ぐるたか@guru_takaです。

React のための ESLint と Prettier で構文解析とコード整形を自動化する方法を紹介します。使用するエディタは VSCode です。

事前準備
VSCode の拡張機能で、ESLint と Prettier をインストールする必要があります。

ESLint と Prettier を併用する理由

ESLint 単体でもコード整形は可能ですが、Prettier の方がコード整形が優れているため、併用します。

参考 Prettier 入門 ~ESLintとの違いを理解して併用する~Qiita

React のプロジェクトに ESLint と Prettier を設定する流れ

STEP.1
React のプロジェクトを新規作成
STEP.2
必要なパッケージをインストール
STEP.3
設定ファイルを作成
STEP.4
VSCode の設定ファイルを更新

STEP.1:React のプロジェクトを新規作成

まずは React の新規プロジェクトを作成しましょう。

ターミナル
yarn create react-app プロジェクト名
【React の始め方】create react-app で Hello, World! する方法

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: {
    // お好みで構文解析のルールを追加
  },
}

extendsplugin:prettier/recommended を追加することで、以下の設定が自動で付与されます。そのため、本記事では以下の設定を記述していません。

.eslintrc.js

 "extends": ["prettier"],
  rules: {
    'prettier/prettier': 'error',
  },
参考 prettier/eslint-plugin-prettier: ESLint plugin for Prettier formattingGitHub 参考 yannickcr/eslint-plugin-react: React specific linting rules for ESLintGitHub

STEP.4:VSCode の設定ファイルを更新

最後にファイル保存時に、自動で構文解析&コード整形するように VSCode の設定を行います。変更箇所は以下の通りです。

settings.json
{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}

editor.formatOnSave の設定も可能ですが、editor.codeActionsOnSave の設定が推奨されています。

参考 vscode-eslint v2Qiita

以上で、React の ESlint と Prettier の設定が完了になります!

参考リンク

参考 VS CodeでESlint、Prettierを使用したReact環境を構築するHarkerblog 参考 ESLintとPrettierを併用するときの設定(eslint-plugin-prettier, eslint-config-prettier)dackdive's blog 参考 アメブロに ESLint + Prettier で自動コード整形を導入した話CyberAgent Developers Blog 参考 ESLint 最初の一歩Qiita

コメントを残す