From 29c913e92e106eb9fe69b5b8b3f574f85924616e Mon Sep 17 00:00:00 2001
From: Dan Abramov <dan.abramov@gmail.com>
Date: Thu, 28 Jul 2016 19:32:16 +0100
Subject: [PATCH] Tweak ESLint to better understand Flow (#261)

---
 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 f7209c758..47c3064d2 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 e7e74d3c0..c4999d125 100644
--- a/package.json
+++ b/package.json
@@ -46,6 +46,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 ec428c475..f41620b59 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.
-- 
GitLab