From 402b8b2ffe3809fe02ce925546a87929911edf4a Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Thu, 28 Jul 2016 17:24:27 +0100 Subject: [PATCH] Tweak ESLint to better understand Flow --- config/eslint.js | 8 ++++++-- package.json | 1 + template/README.md | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/config/eslint.js b/config/eslint.js index f7209c758ee..47c3064d2bc 100644 --- a/config/eslint.js +++ b/config/eslint.js @@ -22,7 +22,7 @@ module.exports = { parser: 'babel-eslint', // import plugin is termporarily disabled, scroll below to see why - plugins: ['react'/*, 'import'*/, 'jsx-a11y'], + plugins: [/*'import', */'flow-vars', 'jsx-a11y', 'react'], env: { browser: true, @@ -195,6 +195,10 @@ module.exports = { 'jsx-a11y/aria-role': 'warn', 'jsx-a11y/img-has-alt': 'warn', 'jsx-a11y/img-redundant-alt': 'warn', - 'jsx-a11y/no-access-key': 'warn' + 'jsx-a11y/no-access-key': 'warn', + + // https://github.com/zertosh/eslint-plugin-flow-vars + 'flow-vars/define-flow-type': 'warn', + 'flow-vars/use-flow-type': 'warn' } }; diff --git a/package.json b/package.json index 6f4eae96600..93df52231ec 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "detect-port": "0.1.4", "eslint": "3.1.1", "eslint-loader": "1.4.1", + "eslint-plugin-flow-vars": "0.5.0", "eslint-plugin-import": "1.12.0", "eslint-plugin-jsx-a11y": "2.0.1", "eslint-plugin-react": "5.2.2", diff --git a/template/README.md b/template/README.md index ec428c475c9..f41620b5941 100644 --- a/template/README.md +++ b/template/README.md @@ -257,7 +257,7 @@ If you don’t need ESLint integration with your editor, you can safely delete t Finally, you will need to install some packages *globally*: ```sh -npm install -g eslint babel-eslint eslint-plugin-react eslint-plugin-import eslint-plugin-jsx-a11y +npm install -g eslint babel-eslint eslint-plugin-react eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-flow-vars ``` We recognize that this is suboptimal, but it is currently required due to the way we hide the ESLint dependency. The ESLint team is already [working on a solution to this](https://github.com/eslint/eslint/issues/3458) so this may become unnecessary in a couple of months.