目次
スポンサードリンク
事前準備
以下の記事の内容が完了している前提で本記事を記載しています。
まだの方は、以下から進めてください。
React(TypeScript)プロジェクトの作成方法(Docker、ESLint、Prettier、WebPack)【1/4】 - Reigle 技術ブログ
ESLintの組み込み
以下のコマンドを実行し、ESLintをインストールします。
npm install eslint --save-dev
以下のコマンドを実行して、ESLintの初期設定を行います。
npm init @eslint/config
以下が表示されるので、「y
」を入力してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
Need to install the following packages: @eslint/create-config Ok to proceed? (y) =====日本語訳===== 次のパッケージをインストールする必要があります。 @ eslint / create-config 続行しますか? (y)
以下が表示されるので、「To check syntax, find problems, and enforce code style
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
? How would you like to use ESLint? … To check syntax only To check syntax and find problems ❯ To check syntax, find problems, and enforce code style =====日本語訳===== ? ESLintをどのように使用しますか? … 構文のみを確認するには 構文をチェックして問題を見つけるには ❯構文をチェックし、問題を見つけ、コードスタイルを適用するには
以下が表示されるので、「JavaScript modules (import/export)
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
? What type of modules does your project use? … ❯ JavaScript modules (import/export) CommonJS (require/exports) None of these =====日本語訳===== ?プロジェクトで使用しているモジュールの種類は何ですか? … ❯JavaScriptモジュール(インポート/エクスポート) CommonJS(必須/エクスポート) どれでもない
以下が表示されるので、「React
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
? Which framework does your project use? … ❯ React Vue.js None of these =====日本語訳===== ?プロジェクトで使用しているフレームワークはどれですか? … ❯React Vue.js どれでもない
以下が表示されるので、「Yes
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
? Does your project use TypeScript? › No / Yes =====日本語訳===== ?プロジェクトはTypeScriptを使用していますか? > いいえ / はい
以下が表示されるので、「Browser
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
? Where does your code run? … (Press <space> to select, <a> to toggle all, <i> to invert selection) ✔ Browser ✔ Node =====日本語訳===== ?コードはどこで実行されますか? …(<スペース>を押して選択し、<a>を押してすべてを切り替え、<i>を押して選択を反転します) ✔ブラウザ ✔ノード
以下が表示されるので、「Use a popular style guide
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
? How would you like to define a style for your project? … ❯ Use a popular style guide Answer questions about your style =====日本語訳===== ?プロジェクトのスタイルをどのように定義しますか? … ❯人気のあるスタイルガイドを使用する あなたのスタイルについての質問に答える
以下が表示されるので、「Airbnb: https://github.com/airbnb/javascript
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
※これはどれを選択しても問題ありません。
? Which style guide do you want to follow? … ❯ Airbnb: https://github.com/airbnb/javascript Standard: https://github.com/standard/standard Google: https://github.com/google/eslint-config-google XO: https://github.com/xojs/eslint-config-xo =====日本語訳===== ?どのスタイルガイドに従いたいですか? … ❯Airbnb:https://github.com/airbnb/javascript 標準:https://github.com/standard/standard Google:https://github.com/google/eslint-config-google XO:https://github.com/xojs/eslint-config-xo
以下が表示されるので、「JavaScript
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
※これはどれを選択しても問題ありません。
? What format do you want your config file to be in? … ❯ JavaScript YAML JSON =====日本語訳===== ?設定ファイルをどのような形式にしますか? … ❯JavaScript YAML JSON
以下が表示されるので、「Yes
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
※環境や時期などによって表示内容が相違するかもしれませんが、必要なライブラリのインストールの確認なので、Yesで大丈夫です。
eslint-plugin-react@^7.28.0 @typescript-eslint/eslint-plugin@latest eslint-config-airbnb@latest eslint@^7.32.0 || ^8.2.0 eslint-plugin-import@^2.25.3 eslint-plugin-jsx-a11y@^6.5.1 eslint-plugin-react-hooks@^4.3.0 @typescript-eslint/parser@latest ? Would you like to install them now? › No / Yes =====日本語訳===== eslint-plugin-react @ ^ 7.28.0 @ typescript-eslint / eslint-plugin @ latest eslint-config-airbnb @ latest eslint @ ^ 7.32.0 || ^ 8.2.0 eslint-plugin-import @ ^ 2.25.3 eslint-plugin-jsx-a11y @ ^ 6.5.1 eslint-plugin-react-hooks @ ^ 4.3.0 @ typescript-eslint / parser @ latest ?今すぐインストールしますか? > いいえ / はい
以下が表示されるので、「npm
」を選択してエンターを押下します。
※「日本語訳
」以下はターミナルには表示されない項目です。
※これはどれを選択しても問題ありませんが、npmでまとめておいた方がいいかと思います。
? Which package manager do you want to use? … ❯ npm yarn pnpm =====日本語訳===== ?どのパッケージマネージャーを使用しますか? … ❯npm yarn pnpm
ここまでのソースコードは以下のGitHubにアップしています。
スポンサードリンク
ESLintの設定ファイルに任意の設定を行う
「.eslintrc.js
」の内容を以下の様に修正する
これで、TypeScriptの設定や、node_module
やpublic
などをチェック対象外にする設定などが含まれています。
それぞれ、設定の追加などは各自で実施してください。
module.exports = { "env": { "browser": true, "es2021": true }, "extends": [ "eslint:recommended", "plugin:react/recommended", "plugin:@typescript-eslint/recommended", ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "jsx": true }, "ecmaVersion": "latest", "sourceType": "module" }, "plugins": [ "react", "react-hooks", "@typescript-eslint" ], "rules": { }, "overrides": [ { "files": ["**/*.tsx"], "rules": { "react/prop-types": "off" } } ], "settings": { "react": { "version": "detect" }, }, "ignorePatterns": [ "**/public/*", "**/node_modules/*", "**/.vscode/*", ".eslintrc.js", ], }
コマンドでESLintのチェックを行う
以下のコマンドを実行する事で、「src
」ディレクトリ配下の全てのファイルをESLintでチェックできる。
./node_modules/.bin/eslint ./src/.
スポンサードリンク
VSCodeでESLintのチェックを起動する
VSCode の拡張機能の「ESLint」をインストールする
プロジェクトのルートに「.vscode
」ディレクトリを作成し、その配下に「settings.json
」を作成する。
「settings.json
」の内容は以下とする。
{ "eslint.validate": [ "javascript", "javascriptreact", "typescript", "typescriptreact" ] }
本記事の全ての内容(VSCodeの設定など)を含んだソースコードは以下のGitHubにアップしています。
続きは以下の記事です。
React(TypeScript)プロジェクトの作成方法(Docker、ESLint、Prettier、WebPack)【3/4】 - Reigle 技術ブログ