ESLint
ESLintは、コード内のバグやスタイルのエラーを迅速に見つけて修正するのに役立つ静的解析ツールです。ESLintが提供するルールは、Flowの型システムによって提供されるチェックを補完します。
ESLintのセットアップをすぐに開始するには、Yarnまたはnpmのいずれかでhermes-eslint
をインストールします。
yarn add --dev eslint hermes-eslint eslint-plugin-ft-flow
# or
npm install --save-dev eslint hermes-eslint eslint-plugin-ft-flow
次に、プロジェクトのルートに次の内容で.eslintrc.js
ファイルを作成します。
module.exports = {
root: true,
parser: 'hermes-eslint',
plugins: [
'ft-flow'
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
],
};
上記の設定では、extends
プラグインの順序が重要です。plugin:ft-flow/recommended
はeslint:recommended
の一部のルールを無効にするため、正しく動作させるには後に定義する必要があります。
ESLintの設定の詳細については、ESLintのドキュメントを参照してください。
その後、以下のコマンドでコードベースをlintできます。
yarn run eslint . --ext .js,.jsx
# or
npm run eslint . --ext .js,.jsx
Prettierとの併用
prettier
を使用している場合は、prettierが修正するフォーマットの問題をESLintが報告しないようにするための便利な設定であるeslint-config-prettier
もあります。
この設定を使用するには、extends
の末尾に追加します。
module.exports = {
root: true,
parser: 'hermes-eslint',
plugins: [
'ft-flow'
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
+ 'prettier',
],
};
追加のプラグイン
ESLintプラグインは、ESLintの上に追加のルールやその他の機能を提供します。以下は、役立つ可能性のあるいくつかの例です。
- Flowチームによる役立つ言語ルール:
eslint-plugin-fb-flow
- Reactのベストプラクティス:
eslint-plugin-react
およびeslint-plugin-react-hooks
- Jestテスト:
eslint-plugin-jest
- インポート/エクスポートの規約:
eslint-plugin-import
- NodeJSのベストプラクティス:
eslint-plugin-node
- ESLintコメントの制限:
eslint-plugin-eslint-comments
そこにあるすべてのプラグインには、提供するさまざまな設定とルールに関するドキュメントが含まれています。一般的なプラグインの使用例は次のとおりです。
module.exports = {
root: true,
parser: 'hermes-eslint',
plugins: [
'ft-flow'
+ 'jest',
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
+ 'plugin:jest/recommended',
],
};
詳細については、npmで「eslint-plugin」を検索してください。