Browse Source

Dev Tooling fixes (eslint/editorconfig) (#1398)

* Add eslint to dev dependancies so it gets installed for the repo

yarn add --dev eslint babel-eslint eslint-plugin-reac

project specific version of eslint, you can globally install eslint-cli
if you want the global runtime, or add .bin to your path

* fix eslint errors about inconsitent returns

* eslint ignore the same as git ignore. allows for eslint .

* Add editorconfig file so everyones editor will be setup to follow the same standards
Gavin Mogan 1 year ago
parent
commit
3672a799d4
5 changed files with 529 additions and 19 deletions
  1. 12
    0
      .editorconfig
  2. 30
    0
      .eslintignore
  3. 5
    0
      package.json
  4. 10
    5
      streaming/index.js
  5. 472
    14
      yarn.lock

+ 12
- 0
.editorconfig View File

@@ -0,0 +1,12 @@
1
+# EditorConfig is awesome: http://EditorConfig.org
2
+
3
+# top-most EditorConfig file
4
+root = true
5
+
6
+# Unix-style newlines with a newline ending every file
7
+[*]
8
+end_of_line = lf
9
+insert_final_newline = true
10
+charset = utf-8
11
+indent_style = space
12
+indent_size = 2

+ 30
- 0
.eslintignore View File

@@ -0,0 +1,30 @@
1
+# See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
+#
3
+# If you find yourself ignoring temporary files generated by your text editor
4
+# or operating system, you probably want to add a global ignore instead:
5
+#   git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+# Ignore bundler config.
8
+/.bundle
9
+
10
+# Ignore the default SQLite database.
11
+/db/*.sqlite3
12
+/db/*.sqlite3-journal
13
+
14
+# Ignore all logfiles and tempfiles.
15
+/log/*
16
+!/log/.keep
17
+/tmp
18
+coverage
19
+public/system
20
+public/assets
21
+.env
22
+.env.production
23
+node_modules/
24
+neo4j/
25
+
26
+# Ignore Vagrant files
27
+.vagrant/
28
+
29
+# Ignore Capistrano customizations
30
+config/deploy/*

+ 5
- 0
package.json View File

@@ -72,5 +72,10 @@
72 72
     "webpack": "^2.2.1",
73 73
     "websocket.js": "^0.1.7",
74 74
     "ws": "^2.1.0"
75
+  },
76
+  "devDependencies": {
77
+    "babel-eslint": "^7.2.1",
78
+    "eslint": "^3.19.0",
79
+    "eslint-plugin-react": "^6.10.3"
75 80
   }
76 81
 }

+ 10
- 5
streaming/index.js View File

@@ -87,21 +87,24 @@ const setRequestId = (req, res, next) => {
87 87
 const accountFromToken = (token, req, next) => {
88 88
   pgPool.connect((err, client, done) => {
89 89
     if (err) {
90
-      return next(err)
90
+      next(err)
91
+      return
91 92
     }
92 93
 
93 94
     client.query('SELECT oauth_access_tokens.resource_owner_id, users.account_id FROM oauth_access_tokens INNER JOIN users ON oauth_access_tokens.resource_owner_id = users.id WHERE oauth_access_tokens.token = $1 LIMIT 1', [token], (err, result) => {
94 95
       done()
95 96
 
96 97
       if (err) {
97
-        return next(err)
98
+        next(err)
99
+        return
98 100
       }
99 101
 
100 102
       if (result.rows.length === 0) {
101 103
         err = new Error('Invalid access token')
102 104
         err.statusCode = 401
103 105
 
104
-        return next(err)
106
+        next(err)
107
+        return
105 108
       }
106 109
 
107 110
       req.accountId = result.rows[0].account_id
@@ -113,7 +116,8 @@ const accountFromToken = (token, req, next) => {
113 116
 
114 117
 const authenticationMiddleware = (req, res, next) => {
115 118
   if (req.method === 'OPTIONS') {
116
-    return next()
119
+    next()
120
+    return
117 121
   }
118 122
 
119 123
   const authorization = req.get('Authorization')
@@ -122,7 +126,8 @@ const authenticationMiddleware = (req, res, next) => {
122 126
     const err = new Error('Missing access token')
123 127
     err.statusCode = 401
124 128
 
125
-    return next(err)
129
+    next(err)
130
+    return
126 131
   }
127 132
 
128 133
   const token = authorization.replace(/^Bearer /, '')

+ 472
- 14
yarn.lock View File

@@ -140,6 +140,12 @@ acorn-globals@^3.1.0:
140 140
   dependencies:
141 141
     acorn "^4.0.4"
142 142
 
143
+acorn-jsx@^3.0.0:
144
+  version "3.0.1"
145
+  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
146
+  dependencies:
147
+    acorn "^3.0.4"
148
+
143 149
 acorn@^1.0.3:
144 150
   version "1.2.2"
145 151
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-1.2.2.tgz#c8ce27de0acc76d896d2b1fad3df588d9e82f014"
@@ -148,7 +154,7 @@ acorn@^2.7.0:
148 154
   version "2.7.0"
149 155
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7"
150 156
 
151
-acorn@^3.0.0:
157
+acorn@^3.0.0, acorn@^3.0.4:
152 158
   version "3.3.0"
153 159
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
154 160
 
@@ -156,6 +162,10 @@ acorn@^4.0.3, acorn@^4.0.4:
156 162
   version "4.0.11"
157 163
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
158 164
 
165
+acorn@^5.0.1:
166
+  version "5.0.3"
167
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
168
+
159 169
 airbnb-js-shims@^1.0.1:
160 170
   version "1.0.1"
161 171
   resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-1.0.1.tgz#7d5a7d772c8c6fdeb624ea3cef62506091b180b5"
@@ -169,7 +179,7 @@ airbnb-js-shims@^1.0.1:
169 179
     string.prototype.padend "^3.0.0"
170 180
     string.prototype.padstart "^3.0.0"
171 181
 
172
-ajv-keywords@^1.1.1:
182
+ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
173 183
   version "1.5.1"
174 184
   resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
175 185
 
@@ -196,6 +206,10 @@ amdefine@>=0.0.4:
196 206
   version "1.0.0"
197 207
   resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.0.tgz#fd17474700cb5cc9c2b709f0be9d23ce3c198c33"
198 208
 
209
+ansi-escapes@^1.1.0:
210
+  version "1.4.0"
211
+  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
212
+
199 213
 ansi-html@0.0.7:
200 214
   version "0.0.7"
201 215
   resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
@@ -284,10 +298,27 @@ array-reduce@~0.0.0:
284 298
   version "0.0.0"
285 299
   resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
286 300
 
301
+array-union@^1.0.1:
302
+  version "1.0.2"
303
+  resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
304
+  dependencies:
305
+    array-uniq "^1.0.1"
306
+
307
+array-uniq@^1.0.1:
308
+  version "1.0.3"
309
+  resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
310
+
287 311
 array-unique@^0.2.1:
288 312
   version "0.2.1"
289 313
   resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
290 314
 
315
+array.prototype.find@^2.0.1:
316
+  version "2.0.4"
317
+  resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90"
318
+  dependencies:
319
+    define-properties "^1.1.2"
320
+    es-abstract "^1.7.0"
321
+
291 322
 arrify@^1.0.0:
292 323
   version "1.0.1"
293 324
   resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -424,7 +455,7 @@ babel-code-frame@^6.11.0:
424 455
     esutils "^2.0.2"
425 456
     js-tokens "^2.0.0"
426 457
 
427
-babel-code-frame@^6.22.0:
458
+babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
428 459
   version "6.22.0"
429 460
   resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
430 461
   dependencies:
@@ -480,6 +511,15 @@ babel-core@^6.11.4:
480 511
     slash "^1.0.0"
481 512
     source-map "^0.5.0"
482 513
 
514
+babel-eslint@^7.2.1:
515
+  version "7.2.1"
516
+  resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.1.tgz#079422eb73ba811e3ca0865ce87af29327f8c52f"
517
+  dependencies:
518
+    babel-code-frame "^6.22.0"
519
+    babel-traverse "^6.23.1"
520
+    babel-types "^6.23.0"
521
+    babylon "^6.16.1"
522
+
483 523
 babel-generator@^6.22.0:
484 524
   version "6.22.0"
485 525
   resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805"
@@ -1302,6 +1342,10 @@ babylon@^6.15.0:
1302 1342
   version "6.15.0"
1303 1343
   resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
1304 1344
 
1345
+babylon@^6.16.1:
1346
+  version "6.16.1"
1347
+  resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
1348
+
1305 1349
 babylon@~5.8.3:
1306 1350
   version "5.8.38"
1307 1351
   resolved "https://registry.yarnpkg.com/babylon/-/babylon-5.8.38.tgz#ec9b120b11bf6ccd4173a18bf217e60b79859ffd"
@@ -1586,6 +1630,16 @@ cached-path-relative@^1.0.0:
1586 1630
   version "1.0.1"
1587 1631
   resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7"
1588 1632
 
1633
+caller-path@^0.1.0:
1634
+  version "0.1.0"
1635
+  resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
1636
+  dependencies:
1637
+    callsites "^0.2.0"
1638
+
1639
+callsites@^0.2.0:
1640
+  version "0.2.0"
1641
+  resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
1642
+
1589 1643
 camelcase-keys@^2.0.0:
1590 1644
   version "2.1.0"
1591 1645
   resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
@@ -1639,7 +1693,7 @@ chai@^3.5.0:
1639 1693
     deep-eql "^0.1.3"
1640 1694
     type-detect "^1.0.0"
1641 1695
 
1642
-chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
1696
+chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
1643 1697
   version "1.1.3"
1644 1698
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
1645 1699
   dependencies:
@@ -1695,6 +1749,10 @@ cipher-base@^1.0.0, cipher-base@^1.0.1:
1695 1749
   dependencies:
1696 1750
     inherits "^2.0.1"
1697 1751
 
1752
+circular-json@^0.3.1:
1753
+  version "0.3.1"
1754
+  resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
1755
+
1698 1756
 clap@^1.0.9:
1699 1757
   version "1.1.1"
1700 1758
   resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.1.tgz#a8a93e0bfb7581ac199c4f001a5525a724ce696d"
@@ -1705,6 +1763,16 @@ classnames@^2.1.2, classnames@^2.2.3, classnames@~2.2:
1705 1763
   version "2.2.5"
1706 1764
   resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
1707 1765
 
1766
+cli-cursor@^1.0.1:
1767
+  version "1.0.2"
1768
+  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
1769
+  dependencies:
1770
+    restore-cursor "^1.0.1"
1771
+
1772
+cli-width@^2.0.0:
1773
+  version "2.1.0"
1774
+  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
1775
+
1708 1776
 cliui@^2.1.0:
1709 1777
   version "2.1.0"
1710 1778
   resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
@@ -1824,7 +1892,7 @@ concat-map@0.0.1:
1824 1892
   version "0.0.1"
1825 1893
   resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
1826 1894
 
1827
-concat-stream@^1.4.7, concat-stream@~1.5.0, concat-stream@~1.5.1:
1895
+concat-stream@^1.4.7, concat-stream@^1.5.2, concat-stream@~1.5.0, concat-stream@~1.5.1:
1828 1896
   version "1.5.2"
1829 1897
   resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
1830 1898
   dependencies:
@@ -2085,6 +2153,12 @@ currently-unhandled@^0.4.1:
2085 2153
   dependencies:
2086 2154
     array-find-index "^1.0.1"
2087 2155
 
2156
+d@1:
2157
+  version "1.0.0"
2158
+  resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
2159
+  dependencies:
2160
+    es5-ext "^0.10.9"
2161
+
2088 2162
 d@^0.1.1, d@~0.1.1:
2089 2163
   version "0.1.1"
2090 2164
   resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309"
@@ -2140,6 +2214,18 @@ defined@^1.0.0:
2140 2214
   version "1.0.0"
2141 2215
   resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
2142 2216
 
2217
+del@^2.0.2:
2218
+  version "2.2.2"
2219
+  resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
2220
+  dependencies:
2221
+    globby "^5.0.0"
2222
+    is-path-cwd "^1.0.0"
2223
+    is-path-in-cwd "^1.0.0"
2224
+    object-assign "^4.0.1"
2225
+    pify "^2.0.0"
2226
+    pinkie-promise "^2.0.0"
2227
+    rimraf "^2.2.8"
2228
+
2143 2229
 delayed-stream@~1.0.0:
2144 2230
   version "1.0.0"
2145 2231
   resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -2197,6 +2283,13 @@ diffie-hellman@^5.0.0:
2197 2283
     miller-rabin "^4.0.0"
2198 2284
     randombytes "^2.0.0"
2199 2285
 
2286
+doctrine@^1.2.2:
2287
+  version "1.5.0"
2288
+  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
2289
+  dependencies:
2290
+    esutils "^2.0.2"
2291
+    isarray "^1.0.0"
2292
+
2200 2293
 doctrine@^2.0.0:
2201 2294
   version "2.0.0"
2202 2295
   resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
@@ -2377,6 +2470,15 @@ es-abstract@^1.3.2, es-abstract@^1.4.3, es-abstract@^1.5.0, es-abstract@^1.5.1:
2377 2470
     is-callable "^1.1.3"
2378 2471
     is-regex "^1.0.3"
2379 2472
 
2473
+es-abstract@^1.7.0:
2474
+  version "1.7.0"
2475
+  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c"
2476
+  dependencies:
2477
+    es-to-primitive "^1.1.1"
2478
+    function-bind "^1.1.0"
2479
+    is-callable "^1.1.3"
2480
+    is-regex "^1.0.3"
2481
+
2380 2482
 es-to-primitive@^1.1.1:
2381 2483
   version "1.1.1"
2382 2484
   resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
@@ -2385,6 +2487,13 @@ es-to-primitive@^1.1.1:
2385 2487
     is-date-object "^1.0.1"
2386 2488
     is-symbol "^1.0.1"
2387 2489
 
2490
+es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14:
2491
+  version "0.10.15"
2492
+  resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.15.tgz#c330a5934c1ee21284a7c081a86e5fd937c91ea6"
2493
+  dependencies:
2494
+    es6-iterator "2"
2495
+    es6-symbol "~3.1"
2496
+
2388 2497
 es5-ext@^0.10.7, es5-ext@~0.10.11, es5-ext@~0.10.2:
2389 2498
   version "0.10.12"
2390 2499
   resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047"
@@ -2404,10 +2513,39 @@ es6-iterator@2:
2404 2513
     es5-ext "^0.10.7"
2405 2514
     es6-symbol "3"
2406 2515
 
2516
+es6-iterator@^2.0.1, es6-iterator@~2.0.1:
2517
+  version "2.0.1"
2518
+  resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512"
2519
+  dependencies:
2520
+    d "1"
2521
+    es5-ext "^0.10.14"
2522
+    es6-symbol "^3.1"
2523
+
2524
+es6-map@^0.1.3:
2525
+  version "0.1.5"
2526
+  resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
2527
+  dependencies:
2528
+    d "1"
2529
+    es5-ext "~0.10.14"
2530
+    es6-iterator "~2.0.1"
2531
+    es6-set "~0.1.5"
2532
+    es6-symbol "~3.1.1"
2533
+    event-emitter "~0.3.5"
2534
+
2407 2535
 es6-promise@^3.2.1:
2408 2536
   version "3.3.1"
2409 2537
   resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
2410 2538
 
2539
+es6-set@~0.1.5:
2540
+  version "0.1.5"
2541
+  resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
2542
+  dependencies:
2543
+    d "1"
2544
+    es5-ext "~0.10.14"
2545
+    es6-iterator "~2.0.1"
2546
+    es6-symbol "3.1.1"
2547
+    event-emitter "~0.3.5"
2548
+
2411 2549
 es6-shim@^0.35.1:
2412 2550
   version "0.35.1"
2413 2551
   resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.1.tgz#a23524009005b031ab4a352ac196dfdfd1144ab7"
@@ -2419,6 +2557,22 @@ es6-symbol@3, es6-symbol@^3.0.2, es6-symbol@~3.1:
2419 2557
     d "~0.1.1"
2420 2558
     es5-ext "~0.10.11"
2421 2559
 
2560
+es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
2561
+  version "3.1.1"
2562
+  resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
2563
+  dependencies:
2564
+    d "1"
2565
+    es5-ext "~0.10.14"
2566
+
2567
+es6-weak-map@^2.0.1:
2568
+  version "2.0.2"
2569
+  resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
2570
+  dependencies:
2571
+    d "1"
2572
+    es5-ext "^0.10.14"
2573
+    es6-iterator "^2.0.1"
2574
+    es6-symbol "^3.1.1"
2575
+
2422 2576
 escape-html@^1.0.3, escape-html@~1.0.3:
2423 2577
   version "1.0.3"
2424 2578
   resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
@@ -2438,6 +2592,72 @@ escodegen@^1.6.1:
2438 2592
   optionalDependencies:
2439 2593
     source-map "~0.2.0"
2440 2594
 
2595
+escope@^3.6.0:
2596
+  version "3.6.0"
2597
+  resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
2598
+  dependencies:
2599
+    es6-map "^0.1.3"
2600
+    es6-weak-map "^2.0.1"
2601
+    esrecurse "^4.1.0"
2602
+    estraverse "^4.1.1"
2603
+
2604
+eslint-plugin-react@^6.10.3:
2605
+  version "6.10.3"
2606
+  resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78"
2607
+  dependencies:
2608
+    array.prototype.find "^2.0.1"
2609
+    doctrine "^1.2.2"
2610
+    has "^1.0.1"
2611
+    jsx-ast-utils "^1.3.4"
2612
+    object.assign "^4.0.4"
2613
+
2614
+eslint@^3.19.0:
2615
+  version "3.19.0"
2616
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
2617
+  dependencies:
2618
+    babel-code-frame "^6.16.0"
2619
+    chalk "^1.1.3"
2620
+    concat-stream "^1.5.2"
2621
+    debug "^2.1.1"
2622
+    doctrine "^2.0.0"
2623
+    escope "^3.6.0"
2624
+    espree "^3.4.0"
2625
+    esquery "^1.0.0"
2626
+    estraverse "^4.2.0"
2627
+    esutils "^2.0.2"
2628
+    file-entry-cache "^2.0.0"
2629
+    glob "^7.0.3"
2630
+    globals "^9.14.0"
2631
+    ignore "^3.2.0"
2632
+    imurmurhash "^0.1.4"
2633
+    inquirer "^0.12.0"
2634
+    is-my-json-valid "^2.10.0"
2635
+    is-resolvable "^1.0.0"
2636
+    js-yaml "^3.5.1"
2637
+    json-stable-stringify "^1.0.0"
2638
+    levn "^0.3.0"
2639
+    lodash "^4.0.0"
2640
+    mkdirp "^0.5.0"
2641
+    natural-compare "^1.4.0"
2642
+    optionator "^0.8.2"
2643
+    path-is-inside "^1.0.1"
2644
+    pluralize "^1.2.1"
2645
+    progress "^1.1.8"
2646
+    require-uncached "^1.0.2"
2647
+    shelljs "^0.7.5"
2648
+    strip-bom "^3.0.0"
2649
+    strip-json-comments "~2.0.1"
2650
+    table "^3.7.8"
2651
+    text-table "~0.2.0"
2652
+    user-home "^2.0.0"
2653
+
2654
+espree@^3.4.0:
2655
+  version "3.4.1"
2656
+  resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.1.tgz#28a83ab4aaed71ed8fe0f5efe61b76a05c13c4d2"
2657
+  dependencies:
2658
+    acorn "^5.0.1"
2659
+    acorn-jsx "^3.0.0"
2660
+
2441 2661
 esprima@^2.6.0, esprima@^2.7.1:
2442 2662
   version "2.7.3"
2443 2663
   resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
@@ -2446,10 +2666,31 @@ esprima@~3.1.0:
2446 2666
   version "3.1.3"
2447 2667
   resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
2448 2668
 
2669
+esquery@^1.0.0:
2670
+  version "1.0.0"
2671
+  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
2672
+  dependencies:
2673
+    estraverse "^4.0.0"
2674
+
2675
+esrecurse@^4.1.0:
2676
+  version "4.1.0"
2677
+  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
2678
+  dependencies:
2679
+    estraverse "~4.1.0"
2680
+    object-assign "^4.0.1"
2681
+
2449 2682
 estraverse@^1.9.1:
2450 2683
   version "1.9.3"
2451 2684
   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
2452 2685
 
2686
+estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
2687
+  version "4.2.0"
2688
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
2689
+
2690
+estraverse@~4.1.0:
2691
+  version "4.1.1"
2692
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
2693
+
2453 2694
 esutils@^2.0.0, esutils@^2.0.2:
2454 2695
   version "2.0.2"
2455 2696
   resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -2458,6 +2699,13 @@ etag@~1.7.0:
2458 2699
   version "1.7.0"
2459 2700
   resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8"
2460 2701
 
2702
+event-emitter@~0.3.5:
2703
+  version "0.3.5"
2704
+  resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
2705
+  dependencies:
2706
+    d "1"
2707
+    es5-ext "~0.10.14"
2708
+
2461 2709
 events@^1.0.0, events@^1.1.1, events@~1.1.0:
2462 2710
   version "1.1.1"
2463 2711
   resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
@@ -2478,6 +2726,10 @@ exenv@1.2.0:
2478 2726
   version "1.2.0"
2479 2727
   resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.0.tgz#3835f127abf075bfe082d0aed4484057c78e3c89"
2480 2728
 
2729
+exit-hook@^1.0.0:
2730
+  version "1.1.1"
2731
+  resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
2732
+
2481 2733
 expand-brackets@^0.1.4:
2482 2734
   version "0.1.5"
2483 2735
   resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
@@ -2559,6 +2811,20 @@ fbjs@^0.8.1, fbjs@^0.8.4:
2559 2811
     promise "^7.1.1"
2560 2812
     ua-parser-js "^0.7.9"
2561 2813
 
2814
+figures@^1.3.5:
2815
+  version "1.7.0"
2816
+  resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
2817
+  dependencies:
2818
+    escape-string-regexp "^1.0.5"
2819
+    object-assign "^4.1.0"
2820
+
2821
+file-entry-cache@^2.0.0:
2822
+  version "2.0.0"
2823
+  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
2824
+  dependencies:
2825
+    flat-cache "^1.2.1"
2826
+    object-assign "^4.0.1"
2827
+
2562 2828
 file-loader@^0.9.0:
2563 2829
   version "0.9.0"
2564 2830
   resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.9.0.tgz#1d2daddd424ce6d1b07cfe3f79731bed3617ab42"
@@ -2604,6 +2870,15 @@ find-up@^1.0.0:
2604 2870
     path-exists "^2.0.0"
2605 2871
     pinkie-promise "^2.0.0"
2606 2872
 
2873
+flat-cache@^1.2.1:
2874
+  version "1.2.2"
2875
+  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
2876
+  dependencies:
2877
+    circular-json "^0.3.1"
2878
+    del "^2.0.2"
2879
+    graceful-fs "^4.1.2"
2880
+    write "^0.2.1"
2881
+
2607 2882
 flatten@1.0.2, flatten@^1.0.2:
2608 2883
   version "1.0.2"
2609 2884
   resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
@@ -2815,10 +3090,21 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.0, glob@~7.1.1:
2815 3090
     once "^1.3.0"
2816 3091
     path-is-absolute "^1.0.0"
2817 3092
 
2818
-globals@^9.0.0:
3093
+globals@^9.0.0, globals@^9.14.0:
2819 3094
   version "9.14.0"
2820 3095
   resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
2821 3096
 
3097
+globby@^5.0.0:
3098
+  version "5.0.0"
3099
+  resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
3100
+  dependencies:
3101
+    array-union "^1.0.1"
3102
+    arrify "^1.0.0"
3103
+    glob "^7.0.3"
3104
+    object-assign "^4.0.1"
3105
+    pify "^2.0.0"
3106
+    pinkie-promise "^2.0.0"
3107
+
2822 3108
 globule@^1.0.0:
2823 3109
   version "1.1.0"
2824 3110
   resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f"
@@ -2986,6 +3272,10 @@ ieee754@^1.1.4:
2986 3272
   version "1.1.8"
2987 3273
   resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
2988 3274
 
3275
+ignore@^3.2.0:
3276
+  version "3.2.7"
3277
+  resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.7.tgz#4810ca5f1d8eca5595213a34b94f2eb4ed926bbd"
3278
+
2989 3279
 immutable@^3.7.6, immutable@^3.8.1:
2990 3280
   version "3.8.1"
2991 3281
   resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2"
@@ -3037,6 +3327,24 @@ inline-source-map@~0.6.0:
3037 3327
   dependencies:
3038 3328
     source-map "~0.5.3"
3039 3329
 
3330
+inquirer@^0.12.0:
3331
+  version "0.12.0"
3332
+  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
3333
+  dependencies:
3334
+    ansi-escapes "^1.1.0"
3335
+    ansi-regex "^2.0.0"
3336
+    chalk "^1.0.0"
3337
+    cli-cursor "^1.0.1"
3338
+    cli-width "^2.0.0"
3339
+    figures "^1.3.5"
3340
+    lodash "^4.3.0"
3341
+    readline2 "^1.0.1"
3342
+    run-async "^0.1.0"
3343
+    rx-lite "^3.1.2"
3344
+    string-width "^1.0.1"
3345
+    strip-ansi "^3.0.0"
3346
+    through "^2.3.6"
3347
+
3040 3348
 insert-module-globals@^7.0.0:
3041 3349
   version "7.0.1"
3042 3350
   resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.1.tgz#c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3"
@@ -3162,13 +3470,17 @@ is-fullwidth-code-point@^1.0.0:
3162 3470
   dependencies:
3163 3471
     number-is-nan "^1.0.0"
3164 3472
 
3473
+is-fullwidth-code-point@^2.0.0:
3474
+  version "2.0.0"
3475
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
3476
+
3165 3477
 is-glob@^2.0.0, is-glob@^2.0.1:
3166 3478
   version "2.0.1"
3167 3479
   resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
3168 3480
   dependencies:
3169 3481
     is-extglob "^1.0.0"
3170 3482
 
3171
-is-my-json-valid@^2.12.4:
3483
+is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
3172 3484
   version "2.15.0"
3173 3485
   resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
3174 3486
   dependencies:
@@ -3187,6 +3499,22 @@ is-obj@^1.0.0:
3187 3499
   version "1.0.1"
3188 3500
   resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
3189 3501
 
3502
+is-path-cwd@^1.0.0:
3503
+  version "1.0.0"
3504
+  resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
3505
+
3506
+is-path-in-cwd@^1.0.0:
3507
+  version "1.0.0"
3508
+  resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
3509
+  dependencies:
3510
+    is-path-inside "^1.0.0"
3511
+
3512
+is-path-inside@^1.0.0:
3513
+  version "1.0.0"
3514
+  resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
3515
+  dependencies:
3516
+    path-is-inside "^1.0.1"
3517
+
3190 3518
 is-plain-obj@^1.0.0:
3191 3519
   version "1.1.0"
3192 3520
   resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
@@ -3217,6 +3545,12 @@ is-regexp@^1.0.0:
3217 3545
   version "1.0.0"
3218 3546
   resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
3219 3547
 
3548
+is-resolvable@^1.0.0:
3549
+  version "1.0.0"
3550
+  resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
3551
+  dependencies:
3552
+    tryit "^1.0.1"
3553
+
3220 3554
 is-stream@^1.0.1:
3221 3555
   version "1.1.0"
3222 3556
   resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
@@ -3298,7 +3632,7 @@ js-tokens@^3.0.0:
3298 3632
   version "3.0.1"
3299 3633
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
3300 3634
 
3301
-js-yaml@^3.4.3, js-yaml@~3.6.1:
3635
+js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@~3.6.1:
3302 3636
   version "3.6.1"
3303 3637
   resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30"
3304 3638
   dependencies:
@@ -3349,7 +3683,7 @@ json-schema@0.2.3:
3349 3683
   version "0.2.3"
3350 3684
   resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
3351 3685
 
3352
-json-stable-stringify@^1.0.1:
3686
+json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
3353 3687
   version "1.0.1"
3354 3688
   resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
3355 3689
   dependencies:
@@ -3397,6 +3731,12 @@ jsprim@^1.2.2:
3397 3731
     json-schema "0.2.3"
3398 3732
     verror "1.3.6"
3399 3733
 
3734
+jsx-ast-utils@^1.3.4:
3735
+  version "1.4.0"
3736
+  resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz#5afe38868f56bc8cc7aeaef0100ba8c75bd12591"
3737
+  dependencies:
3738
+    object-assign "^4.1.0"
3739
+
3400 3740
 keycode@^2.1.1:
3401 3741
   version "2.1.7"
3402 3742
   resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.1.7.tgz#7b9255919f6cff562b09a064d222dca70b020f5c"
@@ -3435,7 +3775,7 @@ lcid@^1.0.0:
3435 3775
   dependencies:
3436 3776
     invert-kv "^1.0.0"
3437 3777
 
3438
-levn@~0.3.0:
3778
+levn@^0.3.0, levn@~0.3.0:
3439 3779
   version "0.3.0"
3440 3780
   resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
3441 3781
   dependencies:
@@ -3634,7 +3974,7 @@ lodash.tail@^4.1.1:
3634 3974
   version "4.1.1"
3635 3975
   resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
3636 3976
 
3637
-lodash@4.x.x, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.1:
3977
+lodash@4.x.x, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0:
3638 3978
   version "4.17.4"
3639 3979
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
3640 3980
 
@@ -3865,10 +4205,18 @@ ms@0.7.2:
3865 4205
   version "0.7.2"
3866 4206
   resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
3867 4207
 
4208
+mute-stream@0.0.5:
4209
+  version "0.0.5"
4210
+  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
4211
+
3868 4212
 nan@^2.3.0, nan@^2.3.2, nan@~2.5.0:
3869 4213
   version "2.5.1"
3870 4214
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
3871 4215
 
4216
+natural-compare@^1.4.0:
4217
+  version "1.4.0"
4218
+  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
4219
+
3872 4220
 negotiator@0.6.1:
3873 4221
   version "0.6.1"
3874 4222
   resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
@@ -4156,6 +4504,10 @@ once@~1.3.0, once@~1.3.3:
4156 4504
   dependencies:
4157 4505
     wrappy "1"
4158 4506
 
4507
+onetime@^1.0.0:
4508
+  version "1.1.0"
4509
+  resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
4510
+
4159 4511
 optimist@~0.6.0:
4160 4512
   version "0.6.1"
4161 4513
   resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
@@ -4163,7 +4515,7 @@ optimist@~0.6.0:
4163 4515
     minimist "~0.0.1"
4164 4516
     wordwrap "~0.0.2"
4165 4517
 
4166
-optionator@^0.8.1:
4518
+optionator@^0.8.1, optionator@^0.8.2:
4167 4519
   version "0.8.2"
4168 4520
   resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
4169 4521
   dependencies:
@@ -4284,6 +4636,10 @@ path-is-absolute@^1.0.0:
4284 4636
   version "1.0.1"
4285 4637
   resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
4286 4638
 
4639
+path-is-inside@^1.0.1:
4640
+  version "1.0.2"
4641
+  resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
4642
+
4287 4643
 path-platform@~0.11.15:
4288 4644
   version "0.11.15"
4289 4645
   resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2"
@@ -4373,6 +4729,10 @@ pkg-dir@^1.0.0:
4373 4729
   dependencies:
4374 4730
     find-up "^1.0.0"
4375 4731
 
4732
+pluralize@^1.2.1:
4733
+  version "1.2.1"
4734
+  resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
4735
+
4376 4736
 podda@^1.2.1:
4377 4737
   version "1.2.2"
4378 4738
   resolved "https://registry.yarnpkg.com/podda/-/podda-1.2.2.tgz#15b0edbd334ade145813343f5ecf9c10a71cf500"
@@ -4718,6 +5078,10 @@ process@^0.11.0, process@~0.11.0:
4718 5078
   version "0.11.9"
4719 5079
   resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
4720 5080
 
5081
+progress@^1.1.8:
5082
+  version "1.1.8"
5083
+  resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
5084
+
4721 5085
 promise@^7.1.1:
4722 5086
   version "7.1.1"
4723 5087
   resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
@@ -5140,6 +5504,14 @@ readdirp@^2.0.0:
5140 5504
     readable-stream "^2.0.2"
5141 5505
     set-immediate-shim "^1.0.1"
5142 5506
 
5507
+readline2@^1.0.1:
5508
+  version "1.0.1"
5509
+  resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
5510
+  dependencies:
5511
+    code-point-at "^1.0.0"
5512
+    is-fullwidth-code-point "^1.0.0"
5513
+    mute-stream "0.0.5"
5514
+
5143 5515
 recast@^0.11.5:
5144 5516
   version "0.11.22"
5145 5517
   resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.22.tgz#dedeb18fb001a2bbc6ac34475fda53dfe3d47dfa"
@@ -5341,6 +5713,13 @@ require-main-filename@^1.0.1:
5341 5713
   version "1.0.1"
5342 5714
   resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
5343 5715
 
5716
+require-uncached@^1.0.2:
5717
+  version "1.0.3"
5718
+  resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
5719
+  dependencies:
5720
+    caller-path "^0.1.0"
5721
+    resolve-from "^1.0.0"
5722
+
5344 5723
 requires-port@1.0.x:
5345 5724
   version "1.0.0"
5346 5725
   resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
@@ -5349,17 +5728,28 @@ reselect@^2.5.4:
5349 5728
   version "2.5.4"
5350 5729
   resolved "https://registry.yarnpkg.com/reselect/-/reselect-2.5.4.tgz#b7d23fdf00b83fa7ad0279546f8dbbbd765c7047"
5351 5730
 
5731
+resolve-from@^1.0.0:
5732
+  version "1.0.1"
5733
+  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
5734
+
5352 5735
 resolve@1.1.7, resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6:
5353 5736
   version "1.1.7"
5354 5737
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
5355 5738
 
5739
+restore-cursor@^1.0.1:
5740
+  version "1.0.1"
5741
+  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
5742
+  dependencies:
5743
+    exit-hook "^1.0.0"
5744
+    onetime "^1.0.0"
5745
+
5356 5746
 right-align@^0.1.1:
5357 5747
   version "0.1.3"
5358 5748
   resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
5359 5749
   dependencies:
5360 5750
     align-text "^0.1.1"
5361 5751
 
5362
-rimraf@2, rimraf@~2.5.0, rimraf@~2.5.1:
5752
+rimraf@2, rimraf@^2.2.8, rimraf@~2.5.0, rimraf@~2.5.1:
5363 5753
   version "2.5.4"
5364 5754
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
5365 5755
   dependencies:
@@ -5373,6 +5763,16 @@ ripemd160@^1.0.0:
5373 5763
   version "1.0.1"
5374 5764
   resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
5375 5765
 
5766
+run-async@^0.1.0:
5767
+  version "0.1.0"
5768
+  resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
5769
+  dependencies:
5770
+    once "^1.3.0"
5771
+
5772
+rx-lite@^3.1.2:
5773
+  version "3.1.2"
5774
+  resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
5775
+
5376 5776
 samsam@1.1.2, samsam@~1.1:
5377 5777
   version "1.1.2"
5378 5778
   resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.1.2.tgz#bec11fdc83a9fda063401210e40176c3024d1567"
@@ -5523,6 +5923,14 @@ shelljs@^0.7.4:
5523 5923
     interpret "^1.0.0"
5524 5924
     rechoir "^0.6.2"
5525 5925
 
5926
+shelljs@^0.7.5:
5927
+  version "0.7.7"
5928
+  resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1"
5929
+  dependencies:
5930
+    glob "^7.0.0"
5931
+    interpret "^1.0.0"
5932
+    rechoir "^0.6.2"
5933
+
5526 5934
 signal-exit@^3.0.0:
5527 5935
   version "3.0.1"
5528 5936
   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81"
@@ -5548,6 +5956,10 @@ slash@^1.0.0:
5548 5956
   version "1.0.0"
5549 5957
   resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
5550 5958
 
5959
+slice-ansi@0.0.4:
5960
+  version "0.0.4"
5961
+  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
5962
+
5551 5963
 slide@^1.1.5:
5552 5964
   version "1.1.6"
5553 5965
   resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
@@ -5692,6 +6104,13 @@ string-width@^1.0.1, string-width@^1.0.2:
5692 6104
     is-fullwidth-code-point "^1.0.0"
5693 6105
     strip-ansi "^3.0.0"
5694 6106
 
6107
+string-width@^2.0.0:
6108
+  version "2.0.0"
6109
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e"
6110
+  dependencies:
6111
+    is-fullwidth-code-point "^2.0.0"
6112
+    strip-ansi "^3.0.0"
6113
+
5695 6114
 string.prototype.padend@^3.0.0:
5696 6115
   version "3.0.0"
5697 6116
   resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0"
@@ -5735,6 +6154,10 @@ strip-bom@^2.0.0:
5735 6154
   dependencies:
5736 6155
     is-utf8 "^0.2.0"
5737 6156
 
6157
+strip-bom@^3.0.0:
6158
+  version "3.0.0"
6159
+  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
6160
+
5738 6161
 strip-indent@^1.0.1:
5739 6162
   version "1.0.1"
5740 6163
   resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
@@ -5745,6 +6168,10 @@ strip-json-comments@~1.0.4:
5745 6168
   version "1.0.4"
5746 6169
   resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
5747 6170
 
6171
+strip-json-comments@~2.0.1:
6172
+  version "2.0.1"
6173
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
6174
+
5748 6175
 style-loader@0.13.1:
5749 6176
   version "0.13.1"
5750 6177
   resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.1.tgz#468280efbc0473023cd3a6cd56e33b5a1d7fc3a9"
@@ -5809,6 +6236,17 @@ syntax-error@^1.1.1:
5809 6236
   dependencies:
5810 6237
     acorn "^2.7.0"
5811 6238
 
6239
+table@^3.7.8:
6240
+  version "3.8.3"
6241
+  resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
6242
+  dependencies:
6243
+    ajv "^4.7.0"
6244
+    ajv-keywords "^1.0.0"
6245
+    chalk "^1.1.1"
6246
+    lodash "^4.0.0"
6247
+    slice-ansi "0.0.4"
6248
+    string-width "^2.0.0"
6249
+
5812 6250
 tapable@^0.1.8, tapable@~0.1.8:
5813 6251
   version "0.1.10"
5814 6252
   resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4"
@@ -5856,6 +6294,10 @@ tar@^2.0.0, tar@~2.2.0, tar@~2.2.1:
5856 6294
     fstream "^1.0.2"
5857 6295
     inherits "2"
5858 6296
 
6297
+text-table@~0.2.0:
6298
+  version "0.2.0"
6299
+  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
6300
+
5859 6301
 through2@^2.0.0:
5860 6302
   version "2.0.1"
5861 6303
   resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.1.tgz#384e75314d49f32de12eebb8136b8eb6b5d59da9"
@@ -5863,7 +6305,7 @@ through2@^2.0.0:
5863 6305
     readable-stream "~2.0.0"
5864 6306
     xtend "~4.0.0"
5865 6307
 
5866
-through@2, "through@>=2.2.7 <3":
6308
+through@2, "through@>=2.2.7 <3", through@^2.3.6:
5867 6309
   version "2.3.8"
5868 6310
   resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
5869 6311
 
@@ -5909,6 +6351,10 @@ trim-right@^1.0.1:
5909 6351
   version "1.0.1"
5910 6352
   resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
5911 6353
 
6354
+tryit@^1.0.1:
6355
+  version "1.0.3"
6356
+  resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
6357
+
5912 6358
 tty-browserify@0.0.0, tty-browserify@~0.0.0:
5913 6359
   version "0.0.0"
5914 6360
   resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@@ -6022,6 +6468,12 @@ user-home@^1.1.1:
6022 6468
   version "1.1.1"
6023 6469
   resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
6024 6470
 
6471
+user-home@^2.0.0:
6472
+  version "2.0.0"
6473
+  resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
6474
+  dependencies:
6475
+    os-homedir "^1.0.0"
6476
+
6025 6477
 utf-8-validate@^3.0.1:
6026 6478
   version "3.0.1"
6027 6479
   resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-3.0.1.tgz#5d2b8656b4ddcfded47217b647a98941b63cf213"
@@ -6280,6 +6732,12 @@ write-file-atomic@^1.1.2:
6280 6732
     imurmurhash "^0.1.4"
6281 6733
     slide "^1.1.5"
6282 6734
 
6735
+write@^0.2.1:
6736
+  version "0.2.1"
6737
+  resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
6738
+  dependencies:
6739
+    mkdirp "^0.5.1"
6740
+
6283 6741
 ws@^2.1.0:
6284 6742
   version "2.1.0"
6285 6743
   resolved "https://registry.yarnpkg.com/ws/-/ws-2.1.0.tgz#b24eaed9609f8632dd51e3f7698619a90fddcc92"