🤔
ESLint の導入方法と初期設定
はじめに
ESLintについて学習する機会があったので、その際に行った導入方法と初期設定を記事にしておきます。
ESLintとは
ESLint は、JavaScript/TypeScript のための静的検証ツールコードでスタイルの一貫性を高め、バグを回避することを目的としたツールです。
ESLintを手動で導入
任意のディレクトリを作成/移動
mkdir lint_tool
cd lint_tool
package.jsonを作成
npm init
ESLintをインストール
npm install --save-dev eslint
※ 開発環境でしか使用しないため--save-devオプションを使用。
ESLintの初期設定
npx eslint --init
下記の質問が出てくるので選択していきます。
How would you like use ESLint?
to check syntax only.
to check syntax and find problems.
❯ to check syntax, find problems, and enforce code style
ESLintをどのように使いたいですか?
構文チェックのみ行いたい
構文をチェックし、問題を発見する
❯ 構文をチェックし、問題を発見し、コードスタイルを強制する
What type of modules does your project use?
❯ JavaScript modules
CommonJS
None of these
あなたのプロジェクトでは、どのような種類のモジュールを使用していますか?
❯ JavaScript モジュール
CommonJS
なし
Which framework does your project use?
React
Vue.js
❯ None of these
あなたのプロジェクトでは、どのフレームワークを使用していますか?...
React
Vue.js
❯ どれも使っていない
Does your project use TypeScript? › No / Yes
あなたのプロジェクトはTypeScriptを使用していますか? ❯ いいえ / はい
? Where does your code run?
(Press <space> to select, <a> to toggle all, <i> to invert selection)
✔ Browser
✔ Node
あなたのコードはどこで実行されますか?
(<スペース>で選択、<a>で全選択、<i>で反転します。)
✔ Browser
✔ Node
? How would you like to define a style for your project?
❯ Use a popular style guide
Answer questions about your style
プロジェクトのスタイルをどのように定義しますか?
❯ 一般的なスタイルガイドを使用する
スタイルに関する質問に答える
? 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
どのスタイルガイドに従いますか?
❯ エアビーアンドビー: 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
? What format do you want your config file to be in?
JavaScript
YAML
❯ JSON
? 設定ファイルはどのような形式で作成しますか?
JavaScript
YAML
❯ JSON
eslint-config-airbnb-base@latest eslint@^7.32.0 || ^8.2.0 eslint-plugin-import@^2.25.2
? Would you like to install them now? › No / ❯ Yes
今すぐインストールしますか?' いいえ / ❯はい
? Which package manager do you want to use?
❯ npm
yarn
pnpm
どのパッケージマネージャを使用しますか?
❯ npm
yarn
pnpm
package.json修正
"scripts": {
"lint": "eslint --ext ts,tsx src/**/*",
"lint:fix": "eslint --ext ts,tsx --fix src/**/"
}
srcディレクトリを作成し、その中にtest.jsファイルを作成。
以下のコードをtest.jsファイルにコピペ
function hello(name) {
'Hello World'
}
hello('test')
ESLintを実行
npm run lint
すると以下のようなエラーが出力されます。
1:16 error 'name' is defined but never used no-unused-vars
2:17 error Missing semicolon semi
5:14 error Missing semicolon semi
引数nameが使用されていないよ。
セミコロンを忘れているよ。
セミコロンを忘れているよ。
これでESLintの初期設定は完了になります。
もし設定を変更したい場合は、.eslintrc.* ファイルの中身を ESLintドキュメント に従って変更します。
Discussion