Browse Source

integrating

Daniel Zlotin 7 years ago
parent
commit
155c02bbb4

+ 13
- 0
src2/integration/env.test.js View File

@@ -0,0 +1,13 @@
1
+describe('test environment', () => {
2
+  it('handles object spread', () => {
3
+    const {x, y, ...z} = {x: 1, y: 2, a: 3, b: 4};
4
+    expect(x).toEqual(1);
5
+    expect(y).toEqual(2);
6
+    expect(z).toEqual({a: 3, b: 4});
7
+  });
8
+
9
+  it('handles async await', async() => {
10
+    const result = await new Promise((r) => r('hello'));
11
+    expect(result).toEqual('hello');
12
+  });
13
+});

+ 22
- 0
src2/integration/remx-support-component.js View File

@@ -0,0 +1,22 @@
1
+import {Text} from 'react-native';
2
+import React, {Component} from 'react';
3
+
4
+import {connect} from 'remx/react-native';
5
+
6
+import * as store from './remx-support-store';
7
+
8
+class MyScreen extends Component {
9
+  constructor(props) {
10
+    super(props);
11
+    this.renders = 0;
12
+  }
13
+  render() {
14
+    this.renders++;
15
+    const txt = store.selectors.getName();
16
+    return (
17
+      <Text>{txt}</Text>
18
+    );
19
+  }
20
+}
21
+
22
+export default MyScreen;

+ 18
- 0
src2/integration/remx-support-store.js View File

@@ -0,0 +1,18 @@
1
+import _ from 'lodash';
2
+import * as remx from 'remx';
3
+
4
+export const state = remx.state({
5
+  person: {}
6
+});
7
+
8
+export const mutators = remx.setters({
9
+  setName(newName) {
10
+    state.person.name = newName;
11
+  }
12
+});
13
+
14
+export const selectors = remx.getters({
15
+  getName() {
16
+    return _(state).get('person.name', 'no name');
17
+  }
18
+});

+ 29
- 0
src2/integration/remx-support.test.js View File

@@ -0,0 +1,29 @@
1
+xdescribe('remx support', () => {
2
+  let React;
3
+  let renderer;
4
+  let MyConnectedScreen;
5
+  let store;
6
+
7
+  beforeEach(() => {
8
+    require('react-native');
9
+    React = require('react');
10
+    renderer = require('react-test-renderer');
11
+    MyConnectedScreen = require('./remx-support-component').default;
12
+    store = require('./remx-support-store');
13
+  });
14
+
15
+  it('renders normally', () => {
16
+    const tree = renderer.create(<MyConnectedScreen/>);
17
+    expect(tree.toJSON().children).toEqual(['no name']);
18
+  });
19
+
20
+  it('rerenders as a result of an underlying state change (by selector)', () => {
21
+    const tree = renderer.create(<MyConnectedScreen/>);
22
+    const instance = tree.getInstance();
23
+    expect(tree.toJSON().children).toEqual(['no name']);
24
+    expect(instance.renders).toEqual(1);
25
+    store.mutators.setName('Bob');
26
+    expect(tree.toJSON().children).toEqual(['no name']);
27
+    expect(instance.renders).toEqual(2);
28
+  });
29
+});

+ 1
- 1
src2/screens/ScreenRegistry.test.js View File

@@ -1,5 +1,5 @@
1
-import {AppRegistry, Text} from 'react-native';
2 1
 import React, {Component} from 'react';
2
+import {AppRegistry, Text} from 'react-native';
3 3
 import renderer from 'react-test-renderer';
4 4
 
5 5
 describe('ComponentRegistry', () => {

+ 121
- 117
yarn.lock View File

@@ -3,8 +3,8 @@
3 3
 
4 4
 
5 5
 JSONStream@^1.0.3:
6
-  version "1.2.1"
7
-  resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.2.1.tgz#32aa5790e799481083b49b4b7fa94e23bae69bf9"
6
+  version "1.3.0"
7
+  resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.0.tgz#680ab9ac6572a8a1a207e0b38721db1c77b215e5"
8 8
   dependencies:
9 9
     jsonparse "^1.2.0"
10 10
     through ">=2.2.7 <3"
@@ -56,16 +56,16 @@ acorn@^3.0.4, acorn@^3.1.0:
56 56
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
57 57
 
58 58
 acorn@^4.0.1:
59
-  version "4.0.3"
60
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1"
59
+  version "4.0.4"
60
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
61 61
 
62 62
 ajv-keywords@^1.0.0:
63
-  version "1.2.0"
64
-  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.2.0.tgz#676c4f087bfe1e8b12dca6fda2f3c74f417b099c"
63
+  version "1.4.1"
64
+  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.4.1.tgz#f080e635e230baae26537ce727f260ae62b43802"
65 65
 
66 66
 ajv@^4.7.0:
67
-  version "4.10.0"
68
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.10.0.tgz#7ae6169180eb199192a8b9a19fd0f47fc9ac8764"
67
+  version "4.10.3"
68
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.10.3.tgz#3e4fea9675b157de7888b80dd0ed735b83f28e11"
69 69
   dependencies:
70 70
     co "^4.6.0"
71 71
     json-stable-stringify "^1.0.1"
@@ -282,18 +282,18 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.20.0:
282 282
     js-tokens "^2.0.0"
283 283
 
284 284
 babel-core@6.x.x, babel-core@^6.0.0, babel-core@^6.18.0, babel-core@^6.18.2, babel-core@^6.7.2:
285
-  version "6.20.0"
286
-  resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.20.0.tgz#ab0d7176d9dea434e66badadaf92237865eab1ec"
285
+  version "6.21.0"
286
+  resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.21.0.tgz#75525480c21c803f826ef3867d22c19f080a3724"
287 287
   dependencies:
288 288
     babel-code-frame "^6.20.0"
289
-    babel-generator "^6.20.0"
289
+    babel-generator "^6.21.0"
290 290
     babel-helpers "^6.16.0"
291 291
     babel-messages "^6.8.0"
292 292
     babel-register "^6.18.0"
293 293
     babel-runtime "^6.20.0"
294 294
     babel-template "^6.16.0"
295
-    babel-traverse "^6.20.0"
296
-    babel-types "^6.20.0"
295
+    babel-traverse "^6.21.0"
296
+    babel-types "^6.21.0"
297 297
     babylon "^6.11.0"
298 298
     convert-source-map "^1.1.0"
299 299
     debug "^2.1.1"
@@ -315,24 +315,24 @@ babel-eslint@7.1.1:
315 315
     babylon "^6.13.0"
316 316
     lodash.pickby "^4.6.0"
317 317
 
318
-babel-generator@^6.18.0, babel-generator@^6.20.0:
319
-  version "6.20.0"
320
-  resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.20.0.tgz#fee63614e0449390103b3097f3f6a118016c6766"
318
+babel-generator@^6.18.0, babel-generator@^6.21.0:
319
+  version "6.21.0"
320
+  resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.21.0.tgz#605f1269c489a1c75deeca7ea16d43d4656c8494"
321 321
   dependencies:
322 322
     babel-messages "^6.8.0"
323 323
     babel-runtime "^6.20.0"
324
-    babel-types "^6.20.0"
324
+    babel-types "^6.21.0"
325 325
     detect-indent "^4.0.0"
326 326
     jsesc "^1.3.0"
327 327
     lodash "^4.2.0"
328 328
     source-map "^0.5.0"
329 329
 
330 330
 babel-helper-builder-react-jsx@^6.8.0:
331
-  version "6.18.0"
332
-  resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.18.0.tgz#ab02f19a2eb7ace936dd87fa55896d02be59bf71"
331
+  version "6.21.1"
332
+  resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.21.1.tgz#c4a24208655be9dc1cccf14d366da176f20645e4"
333 333
   dependencies:
334 334
     babel-runtime "^6.9.0"
335
-    babel-types "^6.18.0"
335
+    babel-types "^6.21.0"
336 336
     esutils "^2.0.0"
337 337
     lodash "^4.2.0"
338 338
 
@@ -502,13 +502,13 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.6.5, babel-plugin-transf
502 502
     babel-runtime "^6.0.0"
503 503
 
504 504
 babel-plugin-transform-es2015-block-scoping@^6.5.0, babel-plugin-transform-es2015-block-scoping@^6.7.1, babel-plugin-transform-es2015-block-scoping@^6.8.0:
505
-  version "6.20.0"
506
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.20.0.tgz#5d8f3e83b1a1ae1064e64a9e5bb83108d8e73be3"
505
+  version "6.21.0"
506
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz#e840687f922e70fb2c42bb13501838c174a115ed"
507 507
   dependencies:
508 508
     babel-runtime "^6.20.0"
509 509
     babel-template "^6.15.0"
510
-    babel-traverse "^6.20.0"
511
-    babel-types "^6.20.0"
510
+    babel-traverse "^6.21.0"
511
+    babel-types "^6.21.0"
512 512
     lodash "^4.2.0"
513 513
 
514 514
 babel-plugin-transform-es2015-classes@^6.5.0, babel-plugin-transform-es2015-classes@^6.6.5, babel-plugin-transform-es2015-classes@^6.8.0:
@@ -576,15 +576,15 @@ babel-plugin-transform-es2015-object-super@^6.6.5, babel-plugin-transform-es2015
576 576
     babel-runtime "^6.0.0"
577 577
 
578 578
 babel-plugin-transform-es2015-parameters@6.x, babel-plugin-transform-es2015-parameters@^6.5.0, babel-plugin-transform-es2015-parameters@^6.7.0, babel-plugin-transform-es2015-parameters@^6.8.0:
579
-  version "6.18.0"
580
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.18.0.tgz#9b2cfe238c549f1635ba27fc1daa858be70608b1"
579
+  version "6.21.0"
580
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz#46a655e6864ef984091448cdf024d87b60b2a7d8"
581 581
   dependencies:
582 582
     babel-helper-call-delegate "^6.18.0"
583 583
     babel-helper-get-function-arity "^6.18.0"
584 584
     babel-runtime "^6.9.0"
585 585
     babel-template "^6.16.0"
586
-    babel-traverse "^6.18.0"
587
-    babel-types "^6.18.0"
586
+    babel-traverse "^6.21.0"
587
+    babel-types "^6.21.0"
588 588
 
589 589
 babel-plugin-transform-es2015-shorthand-properties@6.x, babel-plugin-transform-es2015-shorthand-properties@^6.5.0, babel-plugin-transform-es2015-shorthand-properties@^6.8.0:
590 590
   version "6.18.0"
@@ -634,8 +634,8 @@ babel-plugin-transform-es3-property-literals@^6.5.0, babel-plugin-transform-es3-
634 634
     babel-runtime "^6.0.0"
635 635
 
636 636
 babel-plugin-transform-flow-strip-types@^6.18.0, babel-plugin-transform-flow-strip-types@^6.5.0, babel-plugin-transform-flow-strip-types@^6.7.0, babel-plugin-transform-flow-strip-types@^6.8.0:
637
-  version "6.18.0"
638
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.18.0.tgz#4d3e642158661e9b40db457c004a30817fa32592"
637
+  version "6.21.0"
638
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.21.0.tgz#2eea3f8b5bb234339b47283feac155cfb237b948"
639 639
   dependencies:
640 640
     babel-plugin-syntax-flow "^6.18.0"
641 641
     babel-runtime "^6.0.0"
@@ -675,8 +675,8 @@ babel-plugin-transform-react-jsx@^6.5.0, babel-plugin-transform-react-jsx@^6.8.0
675 675
     babel-runtime "^6.0.0"
676 676
 
677 677
 babel-plugin-transform-regenerator@^6.5.0:
678
-  version "6.20.0"
679
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.20.0.tgz#a546cd2aa1c9889929d5c427a31303847847ab75"
678
+  version "6.21.0"
679
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz#75d0c7e7f84f379358f508451c68a2c5fa5a9703"
680 680
   dependencies:
681 681
     regenerator-transform "0.9.8"
682 682
 
@@ -778,8 +778,8 @@ babel-preset-jest@^17.0.2:
778 778
     babel-plugin-jest-hoist "^17.0.2"
779 779
 
780 780
 babel-preset-react-native@1.x.x, babel-preset-react-native@^1.9.0:
781
-  version "1.9.0"
782
-  resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-1.9.0.tgz#035fc06c65f4f2a02d0336a100b2da142f36dab1"
781
+  version "1.9.1"
782
+  resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-1.9.1.tgz#ec8e378274410d78f550fa9f8edd70353f3bb2fe"
783 783
   dependencies:
784 784
     babel-plugin-check-es2015-constants "^6.5.0"
785 785
     babel-plugin-react-transform "2.0.2"
@@ -840,23 +840,23 @@ babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-te
840 840
     babylon "^6.11.0"
841 841
     lodash "^4.2.0"
842 842
 
843
-babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.20.0:
844
-  version "6.20.0"
845
-  resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.20.0.tgz#5378d1a743e3d856e6a52289994100bbdfd9872a"
843
+babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.21.0:
844
+  version "6.21.0"
845
+  resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.21.0.tgz#69c6365804f1a4f69eb1213f85b00a818b8c21ad"
846 846
   dependencies:
847 847
     babel-code-frame "^6.20.0"
848 848
     babel-messages "^6.8.0"
849 849
     babel-runtime "^6.20.0"
850
-    babel-types "^6.20.0"
850
+    babel-types "^6.21.0"
851 851
     babylon "^6.11.0"
852 852
     debug "^2.2.0"
853 853
     globals "^9.0.0"
854 854
     invariant "^2.2.0"
855 855
     lodash "^4.2.0"
856 856
 
857
-babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.20.0, babel-types@^6.8.0, babel-types@^6.9.0:
858
-  version "6.20.0"
859
-  resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.20.0.tgz#3869ecb98459533b37df809886b3f7f3b08d2baa"
857
+babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.21.0, babel-types@^6.8.0, babel-types@^6.9.0:
858
+  version "6.21.0"
859
+  resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.21.0.tgz#314b92168891ef6d3806b7f7a917fdf87c11a4b2"
860 860
   dependencies:
861 861
     babel-runtime "^6.20.0"
862 862
     esutils "^2.0.2"
@@ -922,10 +922,10 @@ binaryextensions@~1.0.0:
922 922
   resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-1.0.1.tgz#1e637488b35b58bda5f4774bf96a5212a8c90755"
923 923
 
924 924
 bl@^1.0.0:
925
-  version "1.1.2"
926
-  resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398"
925
+  version "1.2.0"
926
+  resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.0.tgz#1397e7ec42c5f5dc387470c500e34a9f6be9ea98"
927 927
   dependencies:
928
-    readable-stream "~2.0.5"
928
+    readable-stream "^2.0.5"
929 929
 
930 930
 block-stream@*:
931 931
   version "0.0.9"
@@ -1127,7 +1127,7 @@ ci-info@^1.0.0:
1127 1127
   version "1.0.0"
1128 1128
   resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534"
1129 1129
 
1130
-circular-json@^0.3.0:
1130
+circular-json@^0.3.1:
1131 1131
   version "0.3.1"
1132 1132
   resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
1133 1133
 
@@ -1266,12 +1266,12 @@ concat-map@0.0.1:
1266 1266
   resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
1267 1267
 
1268 1268
 concat-stream@^1.4.6, concat-stream@^1.4.7:
1269
-  version "1.5.2"
1270
-  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
1269
+  version "1.6.0"
1270
+  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
1271 1271
   dependencies:
1272
-    inherits "~2.0.1"
1273
-    readable-stream "~2.0.0"
1274
-    typedarray "~0.0.5"
1272
+    inherits "^2.0.3"
1273
+    readable-stream "^2.2.2"
1274
+    typedarray "^0.0.6"
1275 1275
 
1276 1276
 concat-stream@~1.4.5:
1277 1277
   version "1.4.10"
@@ -1478,12 +1478,18 @@ dateformat@^1.0.11:
1478 1478
     get-stdin "^4.0.1"
1479 1479
     meow "^3.3.0"
1480 1480
 
1481
-debug@2.3.3, debug@^2.0.0, debug@^2.1.0, debug@^2.1.1, debug@^2.2.0:
1481
+debug@2.3.3:
1482 1482
   version "2.3.3"
1483 1483
   resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
1484 1484
   dependencies:
1485 1485
     ms "0.7.2"
1486 1486
 
1487
+debug@^2.0.0, debug@^2.1.0, debug@^2.1.1, debug@^2.2.0:
1488
+  version "2.5.2"
1489
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.5.2.tgz#50c295a53dbf1657146e0c1b21307275e90d49cb"
1490
+  dependencies:
1491
+    ms "0.7.2"
1492
+
1487 1493
 debug@~2.2.0:
1488 1494
   version "2.2.0"
1489 1495
   resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
@@ -1845,8 +1851,8 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
1845 1851
   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
1846 1852
 
1847 1853
 escodegen-wallaby@^1.6.7:
1848
-  version "1.6.7"
1849
-  resolved "https://registry.yarnpkg.com/escodegen-wallaby/-/escodegen-wallaby-1.6.7.tgz#59d0e8b6dadad9523b3ef0da6473eb6399a7be4b"
1854
+  version "1.6.8"
1855
+  resolved "https://registry.yarnpkg.com/escodegen-wallaby/-/escodegen-wallaby-1.6.8.tgz#903afc307b1a0df4a79797e523157fade70b1165"
1850 1856
   dependencies:
1851 1857
     esprima "^2.7.1"
1852 1858
     estraverse "^1.9.1"
@@ -1880,11 +1886,11 @@ eslint-plugin-babel@4.x.x:
1880 1886
   resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-4.0.0.tgz#a92114e2c493ac3034b030d7ecf96e174a76ef3f"
1881 1887
 
1882 1888
 eslint-plugin-react-native@2.x.x:
1883
-  version "2.2.0"
1884
-  resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-2.2.0.tgz#f10a8821b2f214d7820b303af9c69597c925183a"
1889
+  version "2.2.1"
1890
+  resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-2.2.1.tgz#9da90b76b234e6a71b06e2b9466b76f9017c16e0"
1885 1891
   dependencies:
1886 1892
     babel-eslint "7.1.1"
1887
-    eslint "3.11.0"
1893
+    eslint "3.12.0"
1888 1894
 
1889 1895
 eslint-plugin-react@6.x.x:
1890 1896
   version "6.8.0"
@@ -1893,9 +1899,9 @@ eslint-plugin-react@6.x.x:
1893 1899
     doctrine "^1.2.2"
1894 1900
     jsx-ast-utils "^1.3.4"
1895 1901
 
1896
-eslint@3.11.0:
1897
-  version "3.11.0"
1898
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.11.0.tgz#41d34f8b3e69949beee5c097ff4e75ad13ba2d00"
1902
+eslint@3.12.0:
1903
+  version "3.12.0"
1904
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.12.0.tgz#1dfa4ef0082e35feed90a0fb1f7996d1d426b249"
1899 1905
   dependencies:
1900 1906
     babel-code-frame "^6.16.0"
1901 1907
     chalk "^1.1.3"
@@ -1908,7 +1914,7 @@ eslint@3.11.0:
1908 1914
     esutils "^2.0.2"
1909 1915
     file-entry-cache "^2.0.0"
1910 1916
     glob "^7.0.3"
1911
-    globals "^9.2.0"
1917
+    globals "^9.14.0"
1912 1918
     ignore "^3.2.0"
1913 1919
     imurmurhash "^0.1.4"
1914 1920
     inquirer "^0.12.0"
@@ -1933,8 +1939,8 @@ eslint@3.11.0:
1933 1939
     user-home "^2.0.0"
1934 1940
 
1935 1941
 eslint@3.x.x:
1936
-  version "3.12.0"
1937
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.12.0.tgz#1dfa4ef0082e35feed90a0fb1f7996d1d426b249"
1942
+  version "3.12.2"
1943
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.12.2.tgz#6be5a9aa29658252abd7f91e9132bab1f26f3c34"
1938 1944
   dependencies:
1939 1945
     babel-code-frame "^6.16.0"
1940 1946
     chalk "^1.1.3"
@@ -1991,8 +1997,8 @@ esprima@~3.0.0:
1991 1997
   resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9"
1992 1998
 
1993 1999
 esprima@~3.1.0:
1994
-  version "3.1.2"
1995
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.2.tgz#954b5d19321ca436092fa90f06d6798531fe8184"
2000
+  version "3.1.3"
2001
+  resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
1996 2002
 
1997 2003
 esrecurse@^4.1.0:
1998 2004
   version "4.1.0"
@@ -2119,14 +2125,15 @@ fbjs-scripts@^0.7.0:
2119 2125
     through2 "^2.0.0"
2120 2126
 
2121 2127
 fbjs@^0.8.4, fbjs@^0.8.5:
2122
-  version "0.8.6"
2123
-  resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.6.tgz#7eb67d6986b2d5007a9b6e92e0e7cb6f75cad290"
2128
+  version "0.8.8"
2129
+  resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.8.tgz#02f1b6e0ea0d46c24e0b51a2d24df069563a5ad6"
2124 2130
   dependencies:
2125 2131
     core-js "^1.0.0"
2126 2132
     isomorphic-fetch "^2.1.1"
2127 2133
     loose-envify "^1.0.0"
2128 2134
     object-assign "^4.1.0"
2129 2135
     promise "^7.1.1"
2136
+    setimmediate "^1.0.5"
2130 2137
     ua-parser-js "^0.7.9"
2131 2138
 
2132 2139
 fd-slicer@~1.0.1:
@@ -2213,10 +2220,10 @@ first-chunk-stream@^2.0.0:
2213 2220
     readable-stream "^2.0.2"
2214 2221
 
2215 2222
 flat-cache@^1.2.1:
2216
-  version "1.2.1"
2217
-  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff"
2223
+  version "1.2.2"
2224
+  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
2218 2225
   dependencies:
2219
-    circular-json "^0.3.0"
2226
+    circular-json "^0.3.1"
2220 2227
     del "^2.0.2"
2221 2228
     graceful-fs "^4.1.2"
2222 2229
     write "^0.2.1"
@@ -2378,8 +2385,8 @@ glob-parent@^2.0.0:
2378 2385
     is-glob "^2.0.0"
2379 2386
 
2380 2387
 glob-parent@^3.0.0:
2381
-  version "3.0.1"
2382
-  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.0.1.tgz#60021327cc963ddc3b5f085764f500479ecd82ff"
2388
+  version "3.1.0"
2389
+  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
2383 2390
   dependencies:
2384 2391
     is-glob "^3.1.0"
2385 2392
     path-dirname "^1.0.0"
@@ -2435,7 +2442,7 @@ global@^4.3.0:
2435 2442
     min-document "^2.19.0"
2436 2443
     process "~0.5.1"
2437 2444
 
2438
-globals@^9.0.0, globals@^9.14.0, globals@^9.2.0:
2445
+globals@^9.0.0, globals@^9.14.0:
2439 2446
   version "9.14.0"
2440 2447
   resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
2441 2448
 
@@ -2706,7 +2713,7 @@ inflight@^1.0.4:
2706 2713
     once "^1.3.0"
2707 2714
     wrappy "1"
2708 2715
 
2709
-inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1:
2716
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1:
2710 2717
   version "2.0.3"
2711 2718
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
2712 2719
 
@@ -3300,8 +3307,8 @@ jsbn@~0.1.0:
3300 3307
   resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd"
3301 3308
 
3302 3309
 jsdom@^9.8.1:
3303
-  version "9.8.3"
3304
-  resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.8.3.tgz#fde29c109c32a1131e0b6c65914e64198f97c370"
3310
+  version "9.9.1"
3311
+  resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.9.1.tgz#84f3972ad394ab963233af8725211bce4d01bfd5"
3305 3312
   dependencies:
3306 3313
     abab "^1.0.0"
3307 3314
     acorn "^2.4.0"
@@ -3313,7 +3320,7 @@ jsdom@^9.8.1:
3313 3320
     escodegen "^1.6.1"
3314 3321
     html-encoding-sniffer "^1.0.1"
3315 3322
     iconv-lite "^0.4.13"
3316
-    nwmatcher ">= 1.3.7 < 2.0.0"
3323
+    nwmatcher ">= 1.3.9 < 2.0.0"
3317 3324
     parse5 "^1.5.1"
3318 3325
     request "^2.55.0"
3319 3326
     sax "^1.1.4"
@@ -3321,7 +3328,7 @@ jsdom@^9.8.1:
3321 3328
     tough-cookie "^2.3.1"
3322 3329
     webidl-conversions "^3.0.1"
3323 3330
     whatwg-encoding "^1.0.1"
3324
-    whatwg-url "^3.0.0"
3331
+    whatwg-url "^4.1.0"
3325 3332
     xml-name-validator ">= 2.0.1 < 3.0.0"
3326 3333
 
3327 3334
 jsesc@^1.3.0:
@@ -3369,8 +3376,8 @@ jsonparse@^1.2.0:
3369 3376
   resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.2.0.tgz#5c0c5685107160e72fe7489bddea0b44c2bc67bd"
3370 3377
 
3371 3378
 jsonpointer@^4.0.0:
3372
-  version "4.0.0"
3373
-  resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5"
3379
+  version "4.0.1"
3380
+  resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
3374 3381
 
3375 3382
 jsprim@^1.2.2:
3376 3383
   version "1.3.1"
@@ -3391,8 +3398,8 @@ jstransform@^11.0.3:
3391 3398
     source-map "^0.4.2"
3392 3399
 
3393 3400
 jsx-ast-utils@^1.3.4:
3394
-  version "1.3.4"
3395
-  resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.4.tgz#0257ed1cc4b1e65b39d7d9940f9fb4f20f7ba0a9"
3401
+  version "1.3.5"
3402
+  resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.5.tgz#9ba6297198d9f754594d62e59496ffb923778dd4"
3396 3403
   dependencies:
3397 3404
     acorn-jsx "^3.0.1"
3398 3405
     object-assign "^4.1.0"
@@ -3591,8 +3598,8 @@ lodash.templatesettings@^3.0.0:
3591 3598
     lodash.escape "^3.0.0"
3592 3599
 
3593 3600
 lodash@4.x.x, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.17.2, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.1:
3594
-  version "4.17.2"
3595
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42"
3601
+  version "4.17.3"
3602
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.3.tgz#557ed7d2a9438cac5fd5a43043ca60cb455e01f7"
3596 3603
 
3597 3604
 lodash@^3.1.0, lodash@^3.2.0, lodash@^3.3.1, lodash@^3.5.0, lodash@^3.6.0:
3598 3605
   version "3.10.1"
@@ -3751,13 +3758,13 @@ mime-db@~1.23.0:
3751 3758
   version "1.23.0"
3752 3759
   resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659"
3753 3760
 
3754
-mime-types@2.1.11, mime-types@~2.1.9:
3761
+mime-types@2.1.11:
3755 3762
   version "2.1.11"
3756 3763
   resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.11.tgz#c259c471bda808a85d6cd193b430a5fae4473b3c"
3757 3764
   dependencies:
3758 3765
     mime-db "~1.23.0"
3759 3766
 
3760
-mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.6, mime-types@~2.1.7:
3767
+mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.6, mime-types@~2.1.7, mime-types@~2.1.9:
3761 3768
   version "2.1.13"
3762 3769
   resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88"
3763 3770
   dependencies:
@@ -3867,8 +3874,8 @@ mute-stream@0.0.5:
3867 3874
   resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
3868 3875
 
3869 3876
 nan@^2.3.0:
3870
-  version "2.4.0"
3871
-  resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232"
3877
+  version "2.5.0"
3878
+  resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8"
3872 3879
 
3873 3880
 natural-compare@^1.4.0:
3874 3881
   version "1.4.0"
@@ -3961,8 +3968,8 @@ npmlog@^2.0.4:
3961 3968
     gauge "~1.2.5"
3962 3969
 
3963 3970
 npmlog@^4.0.1:
3964
-  version "4.0.1"
3965
-  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.1.tgz#d14f503b4cd79710375553004ba96e6662fbc0b8"
3971
+  version "4.0.2"
3972
+  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
3966 3973
   dependencies:
3967 3974
     are-we-there-yet "~1.1.2"
3968 3975
     console-control-strings "~1.1.0"
@@ -3979,7 +3986,7 @@ number-is-nan@^1.0.0:
3979 3986
   version "1.0.1"
3980 3987
   resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
3981 3988
 
3982
-"nwmatcher@>= 1.3.7 < 2.0.0":
3989
+"nwmatcher@>= 1.3.9 < 2.0.0":
3983 3990
   version "1.3.9"
3984 3991
   resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.3.9.tgz#8bab486ff7fa3dfd086656bbe8b17116d3692d2a"
3985 3992
 
@@ -4457,7 +4464,7 @@ readable-stream@1.1, "readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@^1.1
4457 4464
     isarray "0.0.1"
4458 4465
     string_decoder "~0.10.x"
4459 4466
 
4460
-readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5:
4467
+readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2:
4461 4468
   version "2.2.2"
4462 4469
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"
4463 4470
   dependencies:
@@ -4469,17 +4476,6 @@ readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.
4469 4476
     string_decoder "~0.10.x"
4470 4477
     util-deprecate "~1.0.1"
4471 4478
 
4472
-readable-stream@^2.0.2, readable-stream@~2.0.0, readable-stream@~2.0.5:
4473
-  version "2.0.6"
4474
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
4475
-  dependencies:
4476
-    core-util-is "~1.0.0"
4477
-    inherits "~2.0.1"
4478
-    isarray "~1.0.0"
4479
-    process-nextick-args "~1.0.6"
4480
-    string_decoder "~0.10.x"
4481
-    util-deprecate "~1.0.1"
4482
-
4483 4479
 readable-stream@~2.1.4:
4484 4480
   version "2.1.5"
4485 4481
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
@@ -4648,10 +4644,14 @@ resolve-from@^1.0.0:
4648 4644
   version "1.0.1"
4649 4645
   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
4650 4646
 
4651
-resolve@1.1.7, resolve@1.1.x, resolve@^1.1.3, resolve@^1.1.6:
4647
+resolve@1.1.7, resolve@1.1.x:
4652 4648
   version "1.1.7"
4653 4649
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
4654 4650
 
4651
+resolve@^1.1.3, resolve@^1.1.6:
4652
+  version "1.2.0"
4653
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
4654
+
4655 4655
 response-time@~2.3.1:
4656 4656
   version "2.3.2"
4657 4657
   resolved "https://registry.yarnpkg.com/response-time/-/response-time-2.3.2.tgz#ffa71bab952d62f7c1d49b7434355fbc68dffc5a"
@@ -4779,6 +4779,10 @@ set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1:
4779 4779
   version "1.0.1"
4780 4780
   resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
4781 4781
 
4782
+setimmediate@^1.0.5:
4783
+  version "1.0.5"
4784
+  resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
4785
+
4782 4786
 shell-quote@1.6.1:
4783 4787
   version "1.6.1"
4784 4788
   resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
@@ -4840,8 +4844,8 @@ sntp@1.x.x:
4840 4844
     hoek "2.x.x"
4841 4845
 
4842 4846
 source-map-support@^0.4.2:
4843
-  version "0.4.6"
4844
-  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb"
4847
+  version "0.4.8"
4848
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.8.tgz#4871918d8a3af07289182e974e32844327b2e98b"
4845 4849
   dependencies:
4846 4850
     source-map "^0.5.3"
4847 4851
 
@@ -5060,8 +5064,8 @@ supports-color@^3.1.0, supports-color@^3.1.2:
5060 5064
     has-flag "^1.0.0"
5061 5065
 
5062 5066
 "symbol-tree@>= 3.1.0 < 4.0.0":
5063
-  version "3.2.0"
5064
-  resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.0.tgz#2183fcd165fc30048b3421aad29ada7a339ea566"
5067
+  version "3.2.1"
5068
+  resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.1.tgz#8549dd1d01fa9f893c18cc9ab0b106b4d9b168cb"
5065 5069
 
5066 5070
 table@^3.7.8:
5067 5071
   version "3.8.3"
@@ -5177,8 +5181,8 @@ time-stamp@^1.0.0:
5177 5181
   resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151"
5178 5182
 
5179 5183
 timed-out@^3.0.0:
5180
-  version "3.0.0"
5181
-  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.0.0.tgz#ff88de96030ce960eabd42487db61d3add229273"
5184
+  version "3.1.0"
5185
+  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.0.tgz#43b98b14bb712c9161c28f4dc1f3068d67a04ec2"
5182 5186
 
5183 5187
 tmpl@1.0.x:
5184 5188
   version "1.0.4"
@@ -5237,8 +5241,8 @@ tunnel-agent@^0.4.0, tunnel-agent@~0.4.1:
5237 5241
   resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
5238 5242
 
5239 5243
 tweetnacl@^0.14.3, tweetnacl@~0.14.0:
5240
-  version "0.14.4"
5241
-  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.4.tgz#8c9dbfb52795686f166cd2023794bcf103d13c2b"
5244
+  version "0.14.5"
5245
+  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
5242 5246
 
5243 5247
 type-check@~0.3.2:
5244 5248
   version "0.3.2"
@@ -5253,7 +5257,7 @@ type-is@~1.6.6:
5253 5257
     media-typer "0.3.0"
5254 5258
     mime-types "~2.1.13"
5255 5259
 
5256
-typedarray@~0.0.5:
5260
+typedarray@^0.0.6, typedarray@~0.0.5:
5257 5261
   version "0.0.6"
5258 5262
   resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
5259 5263
 
@@ -5489,9 +5493,9 @@ whatwg-fetch@>=0.10.0, whatwg-fetch@^1.0.0:
5489 5493
   version "1.1.1"
5490 5494
   resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz#ac3c9d39f320c6dce5339969d054ef43dd333319"
5491 5495
 
5492
-whatwg-url@^3.0.0:
5493
-  version "3.1.0"
5494
-  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-3.1.0.tgz#7bdcae490f921aef6451fb6739ec6bbd8e907bf6"
5496
+whatwg-url@^4.1.0:
5497
+  version "4.1.1"
5498
+  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.1.1.tgz#567074923352de781e3500d64a86aa92a971b4a4"
5495 5499
   dependencies:
5496 5500
     tr46 "~0.0.3"
5497 5501
     webidl-conversions "^3.0.0"
@@ -5677,8 +5681,8 @@ yauzl@^2.2.1:
5677 5681
     fd-slicer "~1.0.1"
5678 5682
 
5679 5683
 yeoman-assert@^2.0.0:
5680
-  version "2.2.1"
5681
-  resolved "https://registry.yarnpkg.com/yeoman-assert/-/yeoman-assert-2.2.1.tgz#524bff6b2a83d344a7a24ea825c5eb16504396f5"
5684
+  version "2.2.2"
5685
+  resolved "https://registry.yarnpkg.com/yeoman-assert/-/yeoman-assert-2.2.2.tgz#d2b15982f6a438a0d2319d8b5c1d65abc5b6dbea"
5682 5686
   dependencies:
5683 5687
     lodash "^3.6.0"
5684 5688
     path-exists "^2.1.0"