package.json でESLint設定
ReactJS, Webpack, Lintのpackage.jsonの設定について (日本語)
package.jsonファイルは、Node.jsプロジェクトの依存関係やスクリプトを定義するファイルです。このファイル内で、ESLintの設定を指定し、スクリプトを実行することができます。
基本的な設定例
{
"name": "your-project-name",
"version": "1.0.0",
"scripts": {
"start": "webpack-dev-server --mode development",
"build": "webpack --mode production",
"lint": "eslint ."
},
"dependencies": {
// ...
},
"devDependencies": {
"eslint": "^8.33.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-react": "^7.32.2",
"webpack": "^5.75.0",
"webpack-cli": "^5.0.1",
"webpack-dev-server": "^4.13.1"
}
}
重要なポイント
- scriptsプロパティ:
- devDependenciesプロパティ:
eslint
: ESLint本体。eslint-config-airbnb
: AirbnbのESLintスタイルガイド。eslint-plugin-import
,eslint-plugin-jsx-a11y
,eslint-plugin-react
: Reactプロジェクトに特化したESLintルールセット。webpack
,webpack-cli
,webpack-dev-server
: Webpack関連のツール。
具体的な使い方
- ターミナルでプロジェクトディレクトリに移動
- コマンドを実行
npm run lint
これにより、ESLintがプロジェクト内のすべてのJavaScriptファイルを解析し、エラーや警告を出力します。
さらに詳しい設定
- ESLintルール
ESLintには多くのルールがあり、プロジェクトのコーディングスタイルに合わせて設定することができます。 - .eslintrc.jsファイル
ESLintの設定をより細かくカスタマイズするためのファイルです。
package.jsonでESLintを設定する例 (日本語)
{
"name": "your-project-name",
"version": "1.0.0",
"scripts": {
"lint": "eslint ."
},
"devDependencies": {
"eslint": "^8.33.0"
}
}
- devDependenciesプロパティ:
eslint
: ESLint本体をインストールします。
.eslintrc.jsファイル
ESLintの設定をより細かくカスタマイズするためのファイルです。
module.exports = {
"env": {
"browser": true,
"es2021": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 13,
"sourceType": "module"
},
"rules": {
"ind ent": ["error", 2],
"linebreak-style": ["error", "unix"],
"quotes": ["error", "double"],
"semi": ["error", "always"]
}
};
- rules: カスタムルールを指定します。
- parserOptions: パーサーの設定です。
- extends: ESLintの推奨ルールセットを継承します。
- env: 環境を指定します。
ESLintルール
例えば、
semi
: セミコロンの使用を指定します。quotes
: 引用符のスタイルを指定します。linebreak-style
: 改行スタイルを指定します。indent
: インデントのスタイルを指定します。
複数のルールセットを使用
複数のルールセットを組み合わせることもできます。
module.exports = {
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:prettier/recommended"
]
};
この例では、ESLintの推奨ルールセットに加えて、ReactとPrettierのルールセットも使用しています。
ESLintのプラグイン
ESLintのプラグインを使用することで、特定のフレームワークやライブラリに合わせたルールセットを追加することができます。
例えば、Reactプロジェクトでは、eslint-plugin-react
プラグインを使用することができます。
ESLintのCLI (Command-Line Interface)
直接ESLintのCLIを使用して、プロジェクトを解析することができます。
eslint .
ESLintの統合開発環境 (IDE)
多くのIDE (Integrated Development Environment) は、ESLintを統合し、コードの編集中にリアルタイムでエラーや警告を表示することができます。
- WebStorm
WebStormはESLintを組み込んでおり、コードの編集中にエラーや警告を表示します。 - Visual Studio Code
ESLintの拡張機能をインストールすることで、コードの編集中にエラーや警告が表示されます。
ESLintのタスクランナー
GulpやGruntなどのタスクランナーを使用して、ESLintを自動化することができます。
Gulpの場合
const gulp = require('gulp');
const eslint = require('gulp-eslint');
gulp.task('lint', () => {
return gulp.src(['./src/**/*.js'])
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.f ailAfterError());
});
Gruntの場合
module.exports = function(grunt) {
grunt.initConfig({
eslint: {
target: ['./src/**/*.js']
}
});
grunt.loadNpmTasks('grunt-eslint');
};
WebpackやCreate React Appなどのツールには、ESLintを統合するためのプラグインが提供されています。これらのプラグインを使用することで、プロジェクトのビルドプロセス中にESLintを実行することができます。
ESLintのサーバー
ESLintのサーバーを起動し、コードの編集中にリアルタイムでエラーや警告を表示することもできます。
reactjs webpack lint