web-dev-qa-db-ja.com

ESLintとArbnb構成およびFacebook Flowの併用

プロジェクトでESLintを使用しており、Facebookフローも使用したいのですが、フロータイプアノテーションについてESLintから警告が表示されます。

プロジェクトルートに.flowconfigと.eslintrcがあります。

.eslintrc:

// When you write javascript you should follow these soft rules and best practices
// https://github.com/airbnb/javascript

// This is a link to best practices and enforcer settings for eslint
// https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb

// Use this file as a starting point for your project's .eslintrc.
{
  "extends": "airbnb",

  "plugins": [
    "flow-vars"
  ],
  "rules": {
    "flow-vars/define-flow-type": 1,
    "flow-vars/use-flow-type": 1
  }
}

それを機能させるにはどうすればよいですか? webpackを使用して監視タスクでフローを一緒に実行する方法はありますか?

20

flow-vars は非推奨です!

これは、Airbnbでフローを実行する現在の適切な方法です( eslint-plugin-flowtype ):

これは、すでに flow がインストールされていることを前提としています。

npm install --save-dev eslint babel-eslint eslint-plugin-flowtype

.eslintrc

{
  "extends": [
    "airbnb",
    "plugin:flowtype/recommended"
  ],
  "parser": "babel-eslint",
  "plugins": [
    "flowtype"
  ]
}

代わりに カスタム構成 が必要ですか?

25
zurfyx

私にとっては、"parser": "babel-eslint".eslintrcに追加することで問題は解決しました。

(ただし、最初にnpm install babel-eslint --save-devを実行する必要がありました)。

{
  "extends": "airbnb",
  "parser": "babel-eslint", // <--
  "plugins": [
    "flow-vars"
  ],
  "rules": {
    "flow-vars/define-flow-type": 1,
    "flow-vars/use-flow-type": 1
  }
}
8
Markus-ipse