Adds Danger and a rule showing build size differences (#11865)
* Adds danger_js with an initial rule for warning about large PRs Signed-off-by: Anandaroop Roy <roop@artsymail.com> * [WIP] Get the before and after for the build results * [Dev] More work on the Dangerfile * [Danger] Split the reports into sections based on their package * Remove the --extract-errors on the circle build * [Danger] Improve the lookup for previous -> current build to also include the environment * Fix rebase
Orta committed
Jan 16, 2018 at 20:49 UTC
d8d797645caebebda68971c93952ee812e636b1c
7 files changed
+862
-87
dangerfile.js
new
+151
@@ -0,0 +1,151 @@
1
+/**
2
+ * Copyright (c) 2013-present, Facebook, Inc.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+'use strict';
9
+
10
+const {markdown, danger} = require('danger');
11
+const fetch = require('node-fetch');
12
+
13
+const {generateResultsArray} = require('./scripts/rollup/stats');
14
+const {readFileSync} = require('fs');
15
+
16
+const currentBuildResults = JSON.parse(
17
+ readFileSync('./scripts/rollup/results.json')
18
+);
19
+
20
+/**
21
+ * Generates a Markdown table
22
+ * @param {string[]} headers
23
+ * @param {string[][]} body
24
+ */
25
+function generateMDTable(headers, body) {
26
+ const tableHeaders = [
27
+ headers.join(' | '),
28
+ headers.map(() => ' --- ').join(' | '),
29
+ ];
30
+
31
+ const tablebody = body.map(r => r.join(' | '));
32
+ return tableHeaders.join('\n') + '\n' + tablebody.join('\n');
33
+}
34
+
35
+/**
36
+ * Generates a user-readable string from a percentage change
37
+ * @param {string[]} headers
38
+ */
39
+function emojiPercent(change) {
40
+ if (change > 0) {
41
+ return `:small_red_triangle:+${change}%`;
42
+ } else if (change <= 0) {
43
+ return `${change}%`;
44
+ }
45
+}
46
+
47
+// Grab the results.json before we ran CI via the GH API
48
+// const baseMerge = danger.github.pr.base.sha
49
+const parentOfOldestCommit = danger.git.commits[0].parents[0];
50
+const commitURL = sha =>
51
+ `http://react.zpao.com/builds/master/_commits/${sha}/results.json`;
52
+
53
+fetch(commitURL(parentOfOldestCommit)).then(async response => {
54
+ const previousBuildResults = await response.json();
55
+ const results = generateResultsArray(
56
+ currentBuildResults,
57
+ previousBuildResults
58
+ );
59
+
60
+ const percentToWarrentShowing = 1;
61
+ const packagesToShow = results
62
+ .filter(
63
+ r =>
64
+ Math.abs(r.prevFileSizeChange) > percentToWarrentShowing ||
65
+ Math.abs(r.prevGzipSizeChange) > percentToWarrentShowing
66
+ )
67
+ .map(r => r.packageName);
68
+
69
+ if (packagesToShow.length) {
70
+ let allTables = [];
71
+
72
+ // Highlight React and React DOM changes inline
73
+ // e.g. react: `react.production.min.js`: -3%, `react.development.js`: +4%
74
+
75
+ if (packagesToShow.includes('react')) {
76
+ const reactProd = results.find(
77
+ r => r.bundleType === 'UMD_PROD' && r.packageName === 'react'
78
+ );
79
+ if (
80
+ reactProd.prevFileSizeChange !== 0 ||
81
+ reactProd.prevGzipSizeChange !== 0
82
+ ) {
83
+ const changeSize = emojiPercent(reactProd.prevFileSizeChange);
84
+ const changeGzip = emojiPercent(reactProd.prevGzipSizeChange);
85
+ markdown(`React: size: ${changeSize}, gzip: ${changeGzip}`);
86
+ }
87
+ }
88
+
89
+ if (packagesToShow.includes('react-dom')) {
90
+ const reactDOMProd = results.find(
91
+ r => r.bundleType === 'UMD_PROD' && r.packageName === 'react-dom'
92
+ );
93
+ if (
94
+ reactDOMProd.prevFileSizeChange !== 0 ||
95
+ reactDOMProd.prevGzipSizeChange !== 0
96
+ ) {
97
+ const changeSize = emojiPercent(reactDOMProd.prevFileSizeChange);
98
+ const changeGzip = emojiPercent(reactDOMProd.prevGzipSizeChange);
99
+ markdown(`ReactDOM: size: ${changeSize}, gzip: ${changeGzip}`);
100
+ }
101
+ }
102
+
103
+ // Show a hidden summary table for all diffs
104
+
105
+ // eslint-disable-next-line no-var
106
+ for (var name of new Set(packagesToShow)) {
107
+ const thisBundleResults = results.filter(r => r.packageName === name);
108
+ const changedFiles = thisBundleResults.filter(
109
+ r => r.prevGzipSizeChange !== 0 || r.prevGzipSizeChange !== 0
110
+ );
111
+
112
+ const mdHeaders = [
113
+ 'File',
114
+ 'Filesize Diff',
115
+ 'Gzip Diff',
116
+ 'Prev Size',
117
+ 'Current Size',
118
+ 'Prev Gzip',
119
+ 'Current Gzip',
120
+ 'ENV',
121
+ ];
122
+
123
+ const mdRows = changedFiles.map(r => [
124
+ r.filename,
125
+ emojiPercent(r.prevFileSizeChange),
126
+ emojiPercent(r.prevGzipSizeChange),
127
+ r.prevSize,
128
+ r.prevFileSize,
129
+ r.prevGzip,
130
+ r.prevGzipSize,
131
+ r.bundleType,
132
+ ]);
133
+
134
+ allTables.push(`\n## ${name}`);
135
+ allTables.push(generateMDTable(mdHeaders, mdRows));
136
+ }
137
+
138
+ const summary = `
139
+<details>
140
+<summary>Details of bundled changes.</summary>
141
+
142
+<p>Comparing: ${parentOfOldestCommit}...${danger.github.pr.head.sha}</p>
143
+
144
+
145
+${allTables.join('\n')}
146
+
147
+</details>
148
+`;
149
+ markdown(summary);
150
+ }
151
+});
package.json
+1
@@ -47,6 +47,7 @@
47
"coveralls": "^2.11.6",
48
"create-react-class": "^15.6.2",
49
"cross-env": "^5.1.1",
50
+ "danger": "^3.0.4",
51
"del": "^2.0.2",
52
"derequire": "^2.0.3",
53
"escape-string-regexp": "^1.0.5",
scripts/circleci/test_entry_point.sh
+1
@@ -25,6 +25,7 @@ if [ $((2 % CIRCLE_NODE_TOTAL)) -eq "$CIRCLE_NODE_INDEX" ]; then
25
COMMANDS_TO_RUN+=('./scripts/circleci/build.sh')
26
COMMANDS_TO_RUN+=('yarn test-build --maxWorkers=2')
27
COMMANDS_TO_RUN+=('yarn test-build-prod --maxWorkers=2')
28
+ COMMANDS_TO_RUN+=('node ./scripts/tasks/danger')
29
COMMANDS_TO_RUN+=('./scripts/circleci/upload_build.sh')
30
fi
31
scripts/rollup/results.json
+1
-1
@@ -400,4 +400,4 @@
400
"gzip": 525
401
}
402
]
403
-}
\ No newline at end of file
403
+}
scripts/rollup/stats.js
+61
-35
@@ -21,8 +21,10 @@ function saveResults() {
21
}
22
23
function percentChange(prev, current) {
24
- const change = Math.floor((current - prev) / prev * 100);
24
+ return Math.floor((current - prev) / prev * 100);
25
+}
26
27
+function percentChangeString(change) {
28
if (change > 0) {
29
return chalk.red.bold(`+${change} %`);
30
} else if (change <= 0) {
@@ -30,51 +32,75 @@ function percentChange(prev, current) {
32
}
33
}
34
35
+const resultsHeaders = [
36
+ 'Bundle',
37
+ 'Prev Size',
38
+ 'Current Size',
39
+ 'Diff',
40
+ 'Prev Gzip',
41
+ 'Current Gzip',
42
+ 'Diff',
43
+];
44
+
45
+function generateResultsArray(current, prevResults) {
46
+ return current.bundleSizes
47
+ .map(result => {
48
+ const prev = prevResults.bundleSizes.filter(
49
+ res =>
50
+ res.filename === result.filename &&
51
+ res.bundleType === result.bundleType
52
+ )[0];
53
+ if (result === prev) {
54
+ // We didn't rebuild this bundle.
55
+ return;
56
+ }
57
+
58
+ const size = result.size;
59
+ const gzip = result.gzip;
60
+ let prevSize = prev ? prev.size : 0;
61
+ let prevGzip = prev ? prev.gzip : 0;
62
+
63
+ return {
64
+ filename: result.filename,
65
+ bundleType: result.bundleType,
66
+ packageName: result.packageName,
67
+ prevSize: filesize(prevSize),
68
+ prevFileSize: filesize(size),
69
+ prevFileSizeChange: percentChange(prevSize, size),
70
+ prevGzip: filesize(prevGzip),
71
+ prevGzipSize: filesize(gzip),
72
+ prevGzipSizeChange: percentChange(prevGzip, gzip),
73
+ };
74
+ // Strip any nulls
75
+ })
76
+ .filter(f => f);
77
+}
78
+
79
function printResults() {
80
const table = new Table({
35
- head: [
36
- chalk.gray.yellow('Bundle'),
37
- chalk.gray.yellow('Prev Size'),
38
- chalk.gray.yellow('Current Size'),
39
- chalk.gray.yellow('Diff'),
40
- chalk.gray.yellow('Prev Gzip'),
41
- chalk.gray.yellow('Current Gzip'),
42
- chalk.gray.yellow('Diff'),
43
- ],
81
+ head: resultsHeaders.map(chalk.gray.yellow),
82
});
45
- currentBuildResults.bundleSizes.forEach(result => {
46
- const matches = prevBuildResults.bundleSizes.filter(
47
- ({filename, bundleType}) =>
48
- filename === result.filename && bundleType === result.bundleType
49
- );
50
- if (matches.length > 1) {
51
- throw new Error(`Ambiguous bundle size record for: ${result.filename}`);
52
- }
53
- const prev = matches[0];
54
- if (result === prev) {
55
- // We didn't rebuild this bundle.
56
- return;
57
- }
83
59
- const size = result.size;
60
- const gzip = result.gzip;
61
- let prevSize = prev ? prev.size : 0;
62
- let prevGzip = prev ? prev.gzip : 0;
84
+ const results = generateResultsArray(currentBuildResults, prevBuildResults);
85
+ results.forEach(result => {
86
table.push([
64
- chalk.white.bold(`${result.filename} (${result.bundleType})`),
65
- chalk.gray.bold(filesize(prevSize)),
66
- chalk.white.bold(filesize(size)),
67
- percentChange(prevSize, size),
68
- chalk.gray.bold(filesize(prevGzip)),
69
- chalk.white.bold(filesize(gzip)),
70
- percentChange(prevGzip, gzip),
87
+ chalk.white.bold(`${result.filename} (${result.bundleType})`),
88
+ chalk.gray.bold(result.prevSize),
89
+ chalk.white.bold(result.prevFileSize),
90
+ percentChangeString(result.prevFileSizeChange),
91
+ chalk.gray.bold(result.prevGzip),
92
+ chalk.white.bold(result.prevGzipSize),
93
+ percentChangeString(result.prevGzipSizeChange),
94
]);
95
});
96
+
97
return table.toString();
98
}
99
100
module.exports = {
101
+ currentBuildResults,
102
+ generateResultsArray,
103
printResults,
104
saveResults,
79
- currentBuildResults,
105
+ resultsHeaders,
106
};
scripts/tasks/danger.js
new
+32
@@ -0,0 +1,32 @@
1
+/**
2
+ * Copyright (c) 2013-present, Facebook, Inc.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+'use strict';
9
+
10
+const path = require('path');
11
+const spawn = require('child_process').spawn;
12
+
13
+const extension = process.platform === 'win32' ? '.cmd' : '';
14
+
15
+// This came from React Native's circle.yml
16
+const token = 'e622517d9f1136ea8900' + '07c6373666312cdfaa69';
17
+spawn(path.join('node_modules', '.bin', 'danger-ci' + extension), [], {
18
+ // Allow colors to pass through
19
+ stdio: 'inherit',
20
+ env: {
21
+ ...process.env,
22
+ DANGER_GITHUB_API_TOKEN: token,
23
+ },
24
+}).on('close', function(code) {
25
+ if (code !== 0) {
26
+ console.error('Danger failed');
27
+ } else {
28
+ console.log('Danger passed');
29
+ }
30
+
31
+ process.exit(code);
32
+});
yarn.lock
+615
-51
@@ -2,7 +2,7 @@
2
# yarn lockfile v1
3
4
5
-"@babel/code-frame@7.0.0-beta.36", "@babel/code-frame@^7.0.0-beta.35":
5
+"@babel/code-frame@7.0.0-beta.36":
6
version "7.0.0-beta.36"
7
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.36.tgz#2349d7ec04b3a06945ae173280ef8579b63728e4"
8
dependencies:
@@ -55,8 +55,8 @@
55
to-fast-properties "^2.0.0"
56
57
"@types/node@*":
58
- version "8.5.2"
59
- resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.2.tgz#83b8103fa9a2c2e83d78f701a9aa7c9539739aa5"
58
+ version "8.5.1"
59
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.1.tgz#4ec3020bcdfe2abffeef9ba3fbf26fca097514b5"
60
61
JSONStream@^1.0.3:
62
version "1.3.1"
@@ -73,6 +73,12 @@ abbrev@1:
73
version "1.1.0"
74
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
75
76
+acorn-globals@^3.1.0:
77
+ version "3.1.0"
78
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf"
79
+ dependencies:
80
+ acorn "^4.0.4"
81
+
82
acorn-globals@^4.0.0:
83
version "4.1.0"
84
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538"
@@ -93,7 +99,7 @@ acorn@^3.0.4:
99
version "3.3.0"
100
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
101
96
-acorn@^4.0.3:
102
+acorn@^4.0.3, acorn@^4.0.4:
103
version "4.0.11"
104
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
105
@@ -101,10 +107,20 @@ acorn@^5.0.0, acorn@^5.1.2:
107
version "5.3.0"
108
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.3.0.tgz#7446d39459c54fb49a80e6ee6478149b940ec822"
109
110
+acorn@^5.0.1:
111
+ version "5.0.3"
112
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
113
+
114
acorn@^5.2.1:
115
version "5.2.1"
116
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7"
117
118
+agent-base@^4.1.0:
119
+ version "4.1.2"
120
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.1.2.tgz#80fa6cde440f4dcf9af2617cf246099b5d99f0c8"
121
+ dependencies:
122
+ es6-promisify "^5.0.0"
123
+
124
ajv-keywords@^2.1.0:
125
version "2.1.1"
126
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
@@ -531,6 +547,13 @@ babel-helpers@^6.24.1:
547
babel-runtime "^6.22.0"
548
babel-template "^6.24.1"
549
550
+babel-jest@21.3.0-beta.4:
551
+ version "21.3.0-beta.4"
552
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-21.3.0-beta.4.tgz#43d3975be81fb029d2d675d913803c123267309d"
553
+ dependencies:
554
+ babel-plugin-istanbul "^4.1.5"
555
+ babel-preset-jest "21.3.0-beta.4"
556
+
557
babel-jest@^22.0.6:
558
version "22.0.6"
559
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.0.6.tgz#807a2a5f5fad7789c57174a955cd14b11045299f"
@@ -580,6 +603,10 @@ babel-plugin-istanbul@^4.1.5:
603
istanbul-lib-instrument "^1.7.5"
604
test-exclude "^4.1.1"
605
606
+babel-plugin-jest-hoist@21.3.0-beta.4:
607
+ version "21.3.0-beta.4"
608
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.3.0-beta.4.tgz#a1283b7e556c3cf236604c17e0f18aaa9cf3d79a"
609
+
610
babel-plugin-jest-hoist@^22.0.6:
611
version "22.0.6"
612
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.0.6.tgz#551269ded350a15d6585da35d16d449df30d66c4"
@@ -868,6 +895,13 @@ babel-preset-flow@^6.23.0:
895
dependencies:
896
babel-plugin-transform-flow-strip-types "^6.22.0"
897
898
+babel-preset-jest@21.3.0-beta.4:
899
+ version "21.3.0-beta.4"
900
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-21.3.0-beta.4.tgz#d4f797e00a23c0a027a42341684702888d90789a"
901
+ dependencies:
902
+ babel-plugin-jest-hoist "21.3.0-beta.4"
903
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
904
+
905
babel-preset-jest@^22.0.6:
906
version "22.0.6"
907
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.0.6.tgz#d13202533db9495c98663044d9f51b273d3984c8"
@@ -1178,7 +1212,7 @@ chalk@*, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
1212
strip-ansi "^3.0.0"
1213
supports-color "^2.0.0"
1214
1181
-chalk@^2.0.0, chalk@^2.1.0:
1215
+chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0:
1216
version "2.3.0"
1217
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
1218
dependencies:
@@ -1257,14 +1291,6 @@ cliui@^3.2.0:
1291
strip-ansi "^3.0.1"
1292
wrap-ansi "^2.0.0"
1293
1260
-cliui@^4.0.0:
1261
- version "4.0.0"
1262
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc"
1263
- dependencies:
1264
- string-width "^2.1.1"
1265
- strip-ansi "^4.0.0"
1266
- wrap-ansi "^2.0.0"
1267
-
1294
clone-buffer@^1.0.0:
1295
version "1.0.0"
1296
resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
@@ -1338,6 +1364,10 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
1364
dependencies:
1365
delayed-stream "~1.0.0"
1366
1367
+commander@^2.12.2:
1368
+ version "2.12.2"
1369
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555"
1370
+
1371
commander@^2.5.0, commander@^2.6.0, commander@^2.8.1, commander@^2.9.0:
1372
version "2.9.0"
1373
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
@@ -1485,6 +1515,38 @@ d@1:
1515
dependencies:
1516
es5-ext "^0.10.9"
1517
1518
+danger@^3.0.4:
1519
+ version "3.0.4"
1520
+ resolved "https://registry.yarnpkg.com/danger/-/danger-3.0.4.tgz#df8bb80ec9e220f68718e0c7ce83efb7fe5b5367"
1521
+ dependencies:
1522
+ babel-polyfill "^6.23.0"
1523
+ chalk "^2.3.0"
1524
+ commander "^2.12.2"
1525
+ debug "^3.1.0"
1526
+ get-stdin "^5.0.1"
1527
+ github "^13.0.1"
1528
+ hyperlinker "^1.0.0"
1529
+ jsome "^2.3.25"
1530
+ json5 "^0.5.1"
1531
+ jsonpointer "^4.0.1"
1532
+ lodash.find "^4.6.0"
1533
+ lodash.includes "^4.3.0"
1534
+ lodash.isobject "^3.0.2"
1535
+ lodash.keys "^4.0.8"
1536
+ node-cleanup "^2.1.2"
1537
+ node-fetch "^1.7.3"
1538
+ parse-diff "^0.4.0"
1539
+ parse-git-config "^1.1.1"
1540
+ parse-github-url "^1.0.2"
1541
+ parse-link-header "^1.0.1"
1542
+ pinpoint "^1.1.0"
1543
+ readline-sync "^1.4.7"
1544
+ require-from-string "^2.0.1"
1545
+ rfc6902 "^2.2.2"
1546
+ supports-hyperlinks "^1.0.1"
1547
+ vm2 patriksimek/vm2#custom_files
1548
+ voca "^1.3.1"
1549
+
1550
dashdash@^1.12.0:
1551
version "1.14.1"
1552
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@@ -1637,6 +1699,10 @@ domexception@^1.0.0:
1699
version "1.0.0"
1700
resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.0.tgz#81fe5df81b3f057052cde3a9fa9bf536a85b9ab0"
1701
1702
+dotenv@^4.0.0:
1703
+ version "4.0.0"
1704
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d"
1705
+
1706
duplexer2@0.0.2:
1707
version "0.0.2"
1708
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
@@ -1684,6 +1750,12 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
1750
dependencies:
1751
once "^1.4.0"
1752
1753
+"errno@>=0.1.1 <0.2.0-0":
1754
+ version "0.1.4"
1755
+ resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
1756
+ dependencies:
1757
+ prr "~0.0.0"
1758
+
1759
error-ex@^1.2.0:
1760
version "1.3.1"
1761
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
@@ -1743,6 +1815,16 @@ es6-map@^0.1.3:
1815
es6-symbol "~3.1.1"
1816
event-emitter "~0.3.5"
1817
1818
+es6-promise@^4.0.3:
1819
+ version "4.2.2"
1820
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.2.tgz#f722d7769af88bd33bc13ec6605e1f92966b82d9"
1821
+
1822
+es6-promisify@^5.0.0:
1823
+ version "5.0.0"
1824
+ resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
1825
+ dependencies:
1826
+ es6-promise "^4.0.3"
1827
+
1828
es6-set@~0.1.5:
1829
version "0.1.5"
1830
resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
@@ -1773,6 +1855,17 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
1855
version "1.0.5"
1856
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
1857
1858
+escodegen@^1.6.1:
1859
+ version "1.8.1"
1860
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
1861
+ dependencies:
1862
+ esprima "^2.7.1"
1863
+ estraverse "^1.9.1"
1864
+ esutils "^2.0.2"
1865
+ optionator "^0.8.1"
1866
+ optionalDependencies:
1867
+ source-map "~0.2.0"
1868
+
1869
escodegen@^1.9.0:
1870
version "1.9.0"
1871
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852"
@@ -1889,7 +1982,7 @@ esprima-fb@~15001.1001.0-dev-harmony-fb:
1982
version "15001.1001.0-dev-harmony-fb"
1983
resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz#43beb57ec26e8cf237d3dd8b33e42533577f2659"
1984
1892
-esprima@^2.6.0:
1985
+esprima@^2.6.0, esprima@^2.7.1:
1986
version "2.7.3"
1987
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
1988
@@ -1897,10 +1990,6 @@ esprima@^3.1.1, esprima@^3.1.3, esprima@~3.1.0:
1990
version "3.1.3"
1991
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
1992
1900
-esprima@^4.0.0:
1901
- version "4.0.0"
1902
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
1903
-
1993
esquery@^1.0.0:
1994
version "1.0.0"
1995
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
@@ -1914,6 +2003,10 @@ esrecurse@^4.1.0:
2003
estraverse "~4.1.0"
2004
object-assign "^4.0.1"
2005
2006
+estraverse@^1.9.1:
2007
+ version "1.9.3"
2008
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
2009
+
2010
estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
2011
version "4.2.0"
2012
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -1981,6 +2074,17 @@ expand-tilde@^1.2.2:
2074
dependencies:
2075
os-homedir "^1.0.1"
2076
2077
+expect@21.3.0-beta.4:
2078
+ version "21.3.0-beta.4"
2079
+ resolved "https://registry.yarnpkg.com/expect/-/expect-21.3.0-beta.4.tgz#e1243ad493fb9dec41793ab0ffd08a3a81eb9cb4"
2080
+ dependencies:
2081
+ ansi-styles "^3.2.0"
2082
+ jest-diff "21.3.0-beta.4"
2083
+ jest-get-type "21.3.0-beta.4"
2084
+ jest-matcher-utils "21.3.0-beta.4"
2085
+ jest-message-util "21.3.0-beta.4"
2086
+ jest-regex-util "^21.2.0"
2087
+
2088
expect@^22.0.6:
2089
version "22.0.6"
2090
resolved "https://registry.yarnpkg.com/expect/-/expect-22.0.6.tgz#69e1761ecb5ba354513e546e6187beda79e18078"
@@ -2286,10 +2390,6 @@ function-bind@^1.0.2, function-bind@^1.1.0:
2390
version "1.1.0"
2391
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
2392
2289
-function-bind@^1.1.1:
2290
- version "1.1.1"
2291
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
2292
-
2393
functional-red-black-tree@^1.0.1:
2394
version "1.0.1"
2395
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
@@ -2325,6 +2425,10 @@ get-stdin@^4.0.1:
2425
version "4.0.1"
2426
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
2427
2428
+get-stdin@^5.0.1:
2429
+ version "5.0.1"
2430
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
2431
+
2432
get-stream@^3.0.0:
2433
version "3.0.0"
2434
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
@@ -2339,6 +2443,25 @@ git-branch@^0.3.0:
2443
version "0.3.0"
2444
resolved "https://registry.yarnpkg.com/git-branch/-/git-branch-0.3.0.tgz#cae53f599054d2bd4773e164550f54cc5fe53d2c"
2445
2446
+git-config-path@^1.0.1:
2447
+ version "1.0.1"
2448
+ resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-1.0.1.tgz#6d33f7ed63db0d0e118131503bab3aca47d54664"
2449
+ dependencies:
2450
+ extend-shallow "^2.0.1"
2451
+ fs-exists-sync "^0.1.0"
2452
+ homedir-polyfill "^1.0.0"
2453
+
2454
+github@^13.0.1:
2455
+ version "13.0.1"
2456
+ resolved "https://registry.yarnpkg.com/github/-/github-13.0.1.tgz#4ccf4a41df662f92367e77a474674eabb1b6c78d"
2457
+ dependencies:
2458
+ debug "^3.1.0"
2459
+ dotenv "^4.0.0"
2460
+ https-proxy-agent "^2.1.0"
2461
+ lodash "^4.17.4"
2462
+ proxy-from-env "^1.0.0"
2463
+ url-template "^2.0.8"
2464
+
2465
glob-base@^0.3.0:
2466
version "0.3.0"
2467
resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
@@ -2666,6 +2789,17 @@ http-signature@~1.2.0:
2789
jsprim "^1.2.2"
2790
sshpk "^1.7.0"
2791
2792
+https-proxy-agent@^2.1.0:
2793
+ version "2.1.1"
2794
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.1.1.tgz#a7ce4382a1ba8266ee848578778122d491260fd9"
2795
+ dependencies:
2796
+ agent-base "^4.1.0"
2797
+ debug "^3.1.0"
2798
+
2799
+hyperlinker@^1.0.0:
2800
+ version "1.0.0"
2801
+ resolved "https://registry.yarnpkg.com/hyperlinker/-/hyperlinker-1.0.0.tgz#23dc9e38a206b208ee49bc2d6c8ef47027df0c0e"
2802
+
2803
iconv-lite@0.4.13:
2804
version "0.4.13"
2805
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
@@ -2693,7 +2827,7 @@ inflight@^1.0.4:
2827
once "^1.3.0"
2828
wrappy "1"
2829
2696
-inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
2830
+inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
2831
version "2.0.3"
2832
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
2833
@@ -2892,7 +3026,7 @@ is-property@^1.0.0:
3026
version "1.0.2"
3027
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
3028
2895
-is-regex@^1.0.3, is-regex@^1.0.4:
3029
+is-regex@^1.0.3:
3030
version "1.0.4"
3031
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
3032
dependencies:
@@ -3048,12 +3182,53 @@ jasmine-check@^1.0.0-rc.0:
3182
dependencies:
3183
testcheck "^1.0.0-rc"
3184
3185
+jest-changed-files@^21.2.0:
3186
+ version "21.2.0"
3187
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-21.2.0.tgz#5dbeecad42f5d88b482334902ce1cba6d9798d29"
3188
+ dependencies:
3189
+ throat "^4.0.0"
3190
+
3191
jest-changed-files@^22.0.6:
3192
version "22.0.6"
3193
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.0.6.tgz#fca38cf4c89920c66aad1707e91d25bbea238875"
3194
dependencies:
3195
throat "^4.0.0"
3196
3197
+jest-cli@21.3.0-beta.4:
3198
+ version "21.3.0-beta.4"
3199
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-21.3.0-beta.4.tgz#50a1c2773cfeff68dbb1fe454a3f259ad5850fa6"
3200
+ dependencies:
3201
+ ansi-escapes "^3.0.0"
3202
+ chalk "^2.0.1"
3203
+ glob "^7.1.2"
3204
+ graceful-fs "^4.1.11"
3205
+ is-ci "^1.0.10"
3206
+ istanbul-api "^1.1.14"
3207
+ istanbul-lib-coverage "^1.1.1"
3208
+ istanbul-lib-instrument "^1.8.0"
3209
+ istanbul-lib-source-maps "^1.2.1"
3210
+ jest-changed-files "^21.2.0"
3211
+ jest-config "21.3.0-beta.4"
3212
+ jest-environment-jsdom "21.3.0-beta.4"
3213
+ jest-haste-map "21.3.0-beta.4"
3214
+ jest-message-util "21.3.0-beta.4"
3215
+ jest-regex-util "^21.2.0"
3216
+ jest-resolve-dependencies "^21.2.0"
3217
+ jest-runner "21.3.0-beta.4"
3218
+ jest-runtime "21.3.0-beta.4"
3219
+ jest-snapshot "21.3.0-beta.4"
3220
+ jest-util "21.3.0-beta.4"
3221
+ micromatch "^2.3.11"
3222
+ node-notifier "^5.1.2"
3223
+ pify "^3.0.0"
3224
+ rimraf "^2.5.4"
3225
+ slash "^1.0.0"
3226
+ string-length "^2.0.0"
3227
+ strip-ansi "^4.0.0"
3228
+ which "^1.2.12"
3229
+ worker-farm "^1.3.1"
3230
+ yargs "^9.0.0"
3231
+
3232
jest-cli@^22.0.6:
3233
version "22.0.6"
3234
resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.0.6.tgz#a2f1e5e094c42b29d22815463ae57f4d07e292ac"
@@ -3090,6 +3265,22 @@ jest-cli@^22.0.6:
3265
which "^1.2.12"
3266
yargs "^10.0.3"
3267
3268
+jest-config@21.3.0-beta.4:
3269
+ version "21.3.0-beta.4"
3270
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-21.3.0-beta.4.tgz#03c936c605c5ec11bbd42aa9d2715d4d96cb11ee"
3271
+ dependencies:
3272
+ chalk "^2.0.1"
3273
+ glob "^7.1.1"
3274
+ jest-environment-jsdom "21.3.0-beta.4"
3275
+ jest-environment-node "21.3.0-beta.4"
3276
+ jest-get-type "21.3.0-beta.4"
3277
+ jest-jasmine2 "21.3.0-beta.4"
3278
+ jest-regex-util "^21.2.0"
3279
+ jest-resolve "21.3.0-beta.4"
3280
+ jest-util "21.3.0-beta.4"
3281
+ jest-validate "21.3.0-beta.4"
3282
+ pretty-format "21.3.0-beta.4"
3283
+
3284
jest-config@^22.0.6:
3285
version "22.0.6"
3286
resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.0.6.tgz#8af116784df189b98ed6fd6c307bce4181f7f012"
@@ -3106,6 +3297,15 @@ jest-config@^22.0.6:
3297
jest-validate "^22.0.6"
3298
pretty-format "^22.0.6"
3299
3300
+jest-diff@21.3.0-beta.4:
3301
+ version "21.3.0-beta.4"
3302
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-21.3.0-beta.4.tgz#75e795e83f6c3368720c2ddd1f0cbed1543c4139"
3303
+ dependencies:
3304
+ chalk "^2.0.1"
3305
+ diff "^3.2.0"
3306
+ jest-get-type "21.3.0-beta.4"
3307
+ pretty-format "21.3.0-beta.4"
3308
+
3309
jest-diff@^22.0.6:
3310
version "22.0.6"
3311
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.0.6.tgz#38c07187324564ecf6389a980a2f0e86e7e79890"
@@ -3115,12 +3315,26 @@ jest-diff@^22.0.6:
3315
jest-get-type "^22.0.6"
3316
pretty-format "^22.0.6"
3317
3318
+jest-docblock@21.3.0-beta.4:
3319
+ version "21.3.0-beta.4"
3320
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.3.0-beta.4.tgz#11c3121cccc39d826d484e0951cb2faad1fe1ebd"
3321
+ dependencies:
3322
+ detect-newline "^2.1.0"
3323
+
3324
jest-docblock@^22.0.6:
3325
version "22.0.6"
3326
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.0.6.tgz#f187fb2c67eec0999e569d563092125283084f9e"
3327
dependencies:
3328
detect-newline "^2.1.0"
3329
3330
+jest-environment-jsdom@21.3.0-beta.4:
3331
+ version "21.3.0-beta.4"
3332
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-21.3.0-beta.4.tgz#aa2831f1ac6b2c88a7ec965990517960d5828da1"
3333
+ dependencies:
3334
+ jest-mock "21.3.0-beta.4"
3335
+ jest-util "21.3.0-beta.4"
3336
+ jsdom "^9.12.0"
3337
+
3338
jest-environment-jsdom@^22.0.6:
3339
version "22.0.6"
3340
resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.0.6.tgz#243f3fa7167a1f293410aec8d3eb12ab8de4f748"
@@ -3129,6 +3343,13 @@ jest-environment-jsdom@^22.0.6:
3343
jest-util "^22.0.6"
3344
jsdom "^11.5.1"
3345
3346
+jest-environment-node@21.3.0-beta.4:
3347
+ version "21.3.0-beta.4"
3348
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-21.3.0-beta.4.tgz#d4d620ee495d9af84edc157466ff962596e783ab"
3349
+ dependencies:
3350
+ jest-mock "21.3.0-beta.4"
3351
+ jest-util "21.3.0-beta.4"
3352
+
3353
jest-environment-node@^22.0.6:
3354
version "22.0.6"
3355
resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.0.6.tgz#4f34ac4c0591297aceefa6a93421360bd56e5a74"
@@ -3136,10 +3357,25 @@ jest-environment-node@^22.0.6:
3357
jest-mock "^22.0.6"
3358
jest-util "^22.0.6"
3359
3360
+jest-get-type@21.3.0-beta.4:
3361
+ version "21.3.0-beta.4"
3362
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-21.3.0-beta.4.tgz#248b16f9b8fe2887a0baa35b31905d73d66e56e0"
3363
+
3364
jest-get-type@^22.0.6:
3365
version "22.0.6"
3366
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.0.6.tgz#301fbc0760779fdbad37b6e3239a3c1811aa75cb"
3367
3368
+jest-haste-map@21.3.0-beta.4:
3369
+ version "21.3.0-beta.4"
3370
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-21.3.0-beta.4.tgz#dd8736c40c6db933e16f8f402a45fec859a310f5"
3371
+ dependencies:
3372
+ fb-watchman "^2.0.0"
3373
+ graceful-fs "^4.1.11"
3374
+ jest-docblock "21.3.0-beta.4"
3375
+ micromatch "^2.3.11"
3376
+ sane "^2.0.0"
3377
+ worker-farm "^1.3.1"
3378
+
3379
jest-haste-map@^22.0.6:
3380
version "22.0.6"
3381
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.0.6.tgz#198d665f65e1c484fef106a3c970c5b47903647e"
@@ -3151,6 +3387,20 @@ jest-haste-map@^22.0.6:
3387
micromatch "^2.3.11"
3388
sane "^2.0.0"
3389
3390
+jest-jasmine2@21.3.0-beta.4:
3391
+ version "21.3.0-beta.4"
3392
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-21.3.0-beta.4.tgz#da0f065ce48c8eaaec1de6c1074ad05cc5a9f96f"
3393
+ dependencies:
3394
+ chalk "^2.0.1"
3395
+ expect "21.3.0-beta.4"
3396
+ graceful-fs "^4.1.11"
3397
+ jest-diff "21.3.0-beta.4"
3398
+ jest-matcher-utils "21.3.0-beta.4"
3399
+ jest-message-util "21.3.0-beta.4"
3400
+ jest-snapshot "21.3.0-beta.4"
3401
+ p-cancelable "^0.3.0"
3402
+ source-map-support "^0.5.0"
3403
+
3404
jest-jasmine2@^22.0.6:
3405
version "22.0.6"
3406
resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.0.6.tgz#db9eae709978a8d67a52f7b90d74cab7301107f5"
@@ -3173,6 +3423,14 @@ jest-leak-detector@^22.0.6:
3423
dependencies:
3424
pretty-format "^22.0.6"
3425
3426
+jest-matcher-utils@21.3.0-beta.4:
3427
+ version "21.3.0-beta.4"
3428
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-21.3.0-beta.4.tgz#a83ad12d284c4c3a4db87ba5830f84a16b9a4a91"
3429
+ dependencies:
3430
+ chalk "^2.0.1"
3431
+ jest-get-type "21.3.0-beta.4"
3432
+ pretty-format "21.3.0-beta.4"
3433
+
3434
jest-matcher-utils@^22.0.6:
3435
version "22.0.6"
3436
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.0.6.tgz#55675242b2af1de913f44e00aa4d68a38d349b07"
@@ -3181,6 +3439,15 @@ jest-matcher-utils@^22.0.6:
3439
jest-get-type "^22.0.6"
3440
pretty-format "^22.0.6"
3441
3442
+jest-message-util@21.3.0-beta.4:
3443
+ version "21.3.0-beta.4"
3444
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-21.3.0-beta.4.tgz#018dd79f8d7b1a4bbbd9f5b3d59354d14ac9641f"
3445
+ dependencies:
3446
+ chalk "^2.0.1"
3447
+ micromatch "^2.3.11"
3448
+ slash "^1.0.0"
3449
+ stack-utils "^1.0.1"
3450
+
3451
jest-message-util@^22.0.6:
3452
version "22.0.6"
3453
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.0.6.tgz#2b30edce5131a9358f529ad66ff84835ba4ed457"
@@ -3191,20 +3458,41 @@ jest-message-util@^22.0.6:
3458
slash "^1.0.0"
3459
stack-utils "^1.0.1"
3460
3461
+jest-mock@21.3.0-beta.4:
3462
+ version "21.3.0-beta.4"
3463
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-21.3.0-beta.4.tgz#f318168c781a340c2a75fbb3cc40559670531ddd"
3464
+
3465
jest-mock@^22.0.6:
3466
version "22.0.6"
3467
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.0.6.tgz#0d1f51ec2bf1e72cd58e79cb76f587e6397306ec"
3468
3469
+jest-regex-util@^21.2.0:
3470
+ version "21.2.0"
3471
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-21.2.0.tgz#1b1e33e63143babc3e0f2e6c9b5ba1eb34b2d530"
3472
+
3473
jest-regex-util@^22.0.6:
3474
version "22.0.6"
3475
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.0.6.tgz#cd01d33c5993340f5d61be09b270773787a41d88"
3476
3477
+jest-resolve-dependencies@^21.2.0:
3478
+ version "21.2.0"
3479
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz#9e231e371e1a736a1ad4e4b9a843bc72bfe03d09"
3480
+ dependencies:
3481
+ jest-regex-util "^21.2.0"
3482
+
3483
jest-resolve-dependencies@^22.0.6:
3484
version "22.0.6"
3485
resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.0.6.tgz#dd976f0a9c2874d32edf4876b0a965cef48d479b"
3486
dependencies:
3487
jest-regex-util "^22.0.6"
3488
3489
+jest-resolve@21.3.0-beta.4:
3490
+ version "21.3.0-beta.4"
3491
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-21.3.0-beta.4.tgz#66771415f4be5363b846a6b00599c0e9b01dc726"
3492
+ dependencies:
3493
+ browser-resolve "^1.11.2"
3494
+ chalk "^2.0.1"
3495
+
3496
jest-resolve@^22.0.6:
3497
version "22.0.6"
3498
resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.0.6.tgz#29d7aa425adb9aae7aa5ae157483dffba724e52b"
@@ -3212,6 +3500,21 @@ jest-resolve@^22.0.6:
3500
browser-resolve "^1.11.2"
3501
chalk "^2.0.1"
3502
3503
+jest-runner@21.3.0-beta.4:
3504
+ version "21.3.0-beta.4"
3505
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-21.3.0-beta.4.tgz#a52680a5aff6f1e160c6f520d86482224905d5fa"
3506
+ dependencies:
3507
+ jest-config "21.3.0-beta.4"
3508
+ jest-docblock "21.3.0-beta.4"
3509
+ jest-haste-map "21.3.0-beta.4"
3510
+ jest-jasmine2 "21.3.0-beta.4"
3511
+ jest-message-util "21.3.0-beta.4"
3512
+ jest-runtime "21.3.0-beta.4"
3513
+ jest-util "21.3.0-beta.4"
3514
+ pify "^3.0.0"
3515
+ throat "^4.0.0"
3516
+ worker-farm "^1.3.1"
3517
+
3518
jest-runner@^22.0.6:
3519
version "22.0.6"
3520
resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.0.6.tgz#1986ee82b7968d21f04c402e5b67e3da71496f19"
@@ -3227,6 +3530,27 @@ jest-runner@^22.0.6:
3530
jest-worker "^22.0.6"
3531
throat "^4.0.0"
3532
3533
+jest-runtime@21.3.0-beta.4:
3534
+ version "21.3.0-beta.4"
3535
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-21.3.0-beta.4.tgz#22238a05341baf88857e44e39a881c28807e5a36"
3536
+ dependencies:
3537
+ babel-jest "21.3.0-beta.4"
3538
+ babel-plugin-istanbul "^4.1.5"
3539
+ chalk "^2.0.1"
3540
+ convert-source-map "^1.4.0"
3541
+ graceful-fs "^4.1.11"
3542
+ jest-config "21.3.0-beta.4"
3543
+ jest-haste-map "21.3.0-beta.4"
3544
+ jest-regex-util "^21.2.0"
3545
+ jest-resolve "21.3.0-beta.4"
3546
+ jest-util "21.3.0-beta.4"
3547
+ json-stable-stringify "^1.0.1"
3548
+ micromatch "^2.3.11"
3549
+ slash "^1.0.0"
3550
+ strip-bom "3.0.0"
3551
+ write-file-atomic "^2.1.0"
3552
+ yargs "^9.0.0"
3553
+
3554
jest-runtime@^22.0.6:
3555
version "22.0.6"
3556
resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.0.6.tgz#827c35e706adfc22e685de733ba3ab78cda72bfc"
@@ -3250,6 +3574,17 @@ jest-runtime@^22.0.6:
3574
write-file-atomic "^2.1.0"
3575
yargs "^10.0.3"
3576
3577
+jest-snapshot@21.3.0-beta.4:
3578
+ version "21.3.0-beta.4"
3579
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-21.3.0-beta.4.tgz#0ba657b322029c2855dd6ac95a6494bf101de7dc"
3580
+ dependencies:
3581
+ chalk "^2.0.1"
3582
+ jest-diff "21.3.0-beta.4"
3583
+ jest-matcher-utils "21.3.0-beta.4"
3584
+ mkdirp "^0.5.1"
3585
+ natural-compare "^1.4.0"
3586
+ pretty-format "21.3.0-beta.4"
3587
+
3588
jest-snapshot@^22.0.6:
3589
version "22.0.6"
3590
resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.0.6.tgz#30c1f85b6f050891c4a2060d807a3d65a594591c"
@@ -3261,6 +3596,18 @@ jest-snapshot@^22.0.6:
3596
natural-compare "^1.4.0"
3597
pretty-format "^22.0.6"
3598
3599
+jest-util@21.3.0-beta.4:
3600
+ version "21.3.0-beta.4"
3601
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-21.3.0-beta.4.tgz#88bd0c8d1d51098336cf6696e3ae27d38b881664"
3602
+ dependencies:
3603
+ callsites "^2.0.0"
3604
+ chalk "^2.0.1"
3605
+ graceful-fs "^4.1.11"
3606
+ jest-message-util "21.3.0-beta.4"
3607
+ jest-mock "21.3.0-beta.4"
3608
+ jest-validate "21.3.0-beta.4"
3609
+ mkdirp "^0.5.1"
3610
+
3611
jest-util@^22.0.6:
3612
version "22.0.6"
3613
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.0.6.tgz#539b3f21f4e2e458bb38719aa0e417109fe31657"
@@ -3273,6 +3620,15 @@ jest-util@^22.0.6:
3620
jest-validate "^22.0.6"
3621
mkdirp "^0.5.1"
3622
3623
+jest-validate@21.3.0-beta.4:
3624
+ version "21.3.0-beta.4"
3625
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-21.3.0-beta.4.tgz#cfb0cdb38f7eb694f909ad041687645fd1b90452"
3626
+ dependencies:
3627
+ chalk "^2.0.1"
3628
+ jest-get-type "21.3.0-beta.4"
3629
+ leven "^2.1.0"
3630
+ pretty-format "21.3.0-beta.4"
3631
+
3632
jest-validate@^22.0.6:
3633
version "22.0.6"
3634
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.0.6.tgz#48c6972f154fa4abe20d0686a9b819d142740167"
@@ -3362,6 +3718,30 @@ jsdom@^11.5.1:
3718
whatwg-url "^6.3.0"
3719
xml-name-validator "^2.0.1"
3720
3721
+jsdom@^9.12.0:
3722
+ version "9.12.0"
3723
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4"
3724
+ dependencies:
3725
+ abab "^1.0.3"
3726
+ acorn "^4.0.4"
3727
+ acorn-globals "^3.1.0"
3728
+ array-equal "^1.0.0"
3729
+ content-type-parser "^1.0.1"
3730
+ cssom ">= 0.3.2 < 0.4.0"
3731
+ cssstyle ">= 0.2.37 < 0.3.0"
3732
+ escodegen "^1.6.1"
3733
+ html-encoding-sniffer "^1.0.1"
3734
+ nwmatcher ">= 1.3.9 < 2.0.0"
3735
+ parse5 "^1.5.1"
3736
+ request "^2.79.0"
3737
+ sax "^1.2.1"
3738
+ symbol-tree "^3.2.1"
3739
+ tough-cookie "^2.3.2"
3740
+ webidl-conversions "^4.0.0"
3741
+ whatwg-encoding "^1.0.1"
3742
+ whatwg-url "^4.3.0"
3743
+ xml-name-validator "^2.0.1"
3744
+
3745
jsesc@^1.3.0:
3746
version "1.3.0"
3747
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
@@ -3370,6 +3750,14 @@ jsesc@~0.5.0:
3750
version "0.5.0"
3751
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
3752
3753
+jsome@^2.3.25:
3754
+ version "2.3.26"
3755
+ resolved "https://registry.yarnpkg.com/jsome/-/jsome-2.3.26.tgz#8cb4438924d2c9dd5294c90adf03f35414fb3ca9"
3756
+ dependencies:
3757
+ chalk "^1.1.3"
3758
+ json-stringify-safe "^5.0.1"
3759
+ yargs "^4.8.0"
3760
+
3761
json-schema-traverse@^0.3.0:
3762
version "0.3.1"
3763
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
@@ -3388,7 +3776,7 @@ json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
3776
dependencies:
3777
jsonify "~0.0.0"
3778
3391
-json-stringify-safe@~5.0.1:
3779
+json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
3780
version "5.0.1"
3781
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
3782
@@ -3396,7 +3784,7 @@ json5@^0.4.0:
3784
version "0.4.0"
3785
resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d"
3786
3399
-json5@^0.5.0:
3787
+json5@^0.5.0, json5@^0.5.1:
3788
version "0.5.1"
3789
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
3790
@@ -3408,7 +3796,7 @@ jsonparse@^1.2.0:
3796
version "1.3.0"
3797
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.0.tgz#85fc245b1d9259acc6941960b905adf64e7de0e8"
3798
3411
-jsonpointer@^4.0.0:
3799
+jsonpointer@^4.0.0, jsonpointer@^4.0.1:
3800
version "4.0.1"
3801
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
3802
@@ -3532,12 +3920,24 @@ lodash._root@^3.0.0:
3920
version "3.0.1"
3921
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
3922
3923
+lodash.assign@^4.0.3, lodash.assign@^4.0.6:
3924
+ version "4.2.0"
3925
+ resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
3926
+
3927
lodash.escape@^3.0.0:
3928
version "3.2.0"
3929
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
3930
dependencies:
3931
lodash._root "^3.0.0"
3932
3933
+lodash.find@^4.6.0:
3934
+ version "4.6.0"
3935
+ resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1"
3936
+
3937
+lodash.includes@^4.3.0:
3938
+ version "4.3.0"
3939
+ resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
3940
+
3941
lodash.isarguments@^3.0.0:
3942
version "3.1.0"
3943
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
@@ -3546,6 +3946,10 @@ lodash.isarray@^3.0.0:
3946
version "3.0.4"
3947
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
3948
3949
+lodash.isobject@^3.0.2:
3950
+ version "3.0.2"
3951
+ resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d"
3952
+
3953
lodash.keys@^3.0.0:
3954
version "3.1.2"
3955
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
@@ -3554,6 +3958,10 @@ lodash.keys@^3.0.0:
3958
lodash.isarguments "^3.0.0"
3959
lodash.isarray "^3.0.0"
3960
3961
+lodash.keys@^4.0.8:
3962
+ version "4.2.0"
3963
+ resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205"
3964
+
3965
lodash.memoize@~3.0.3:
3966
version "3.0.4"
3967
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f"
@@ -3647,7 +4055,7 @@ mem@^1.1.0:
4055
dependencies:
4056
mimic-fn "^1.0.0"
4057
3650
-merge-stream@^1.0.0, merge-stream@^1.0.1:
4058
+merge-stream@^1.0.0:
4059
version "1.0.1"
4060
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
4061
dependencies:
@@ -3761,7 +4169,11 @@ ncp@^2.0.0:
4169
version "2.0.0"
4170
resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
4171
3764
-node-fetch@^1.0.1:
4172
+node-cleanup@^2.1.2:
4173
+ version "2.1.2"
4174
+ resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c"
4175
+
4176
+node-fetch@^1.0.1, node-fetch@^1.7.3:
4177
version "1.7.3"
4178
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
4179
dependencies:
@@ -3850,6 +4262,10 @@ number-is-nan@^1.0.0:
4262
version "1.0.1"
4263
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
4264
4265
+"nwmatcher@>= 1.3.9 < 2.0.0":
4266
+ version "1.3.9"
4267
+ resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.3.9.tgz#8bab486ff7fa3dfd086656bbe8b17116d3692d2a"
4268
+
4269
nwmatcher@^1.4.3:
4270
version "1.4.3"
4271
resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c"
@@ -3957,7 +4373,7 @@ os-shim@^0.1.2:
4373
version "0.1.3"
4374
resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
4375
3960
-os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
4376
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1:
4377
version "1.0.2"
4378
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
4379
@@ -3976,6 +4392,10 @@ output-file-sync@^1.1.0:
4392
mkdirp "^0.5.1"
4393
object-assign "^4.1.0"
4394
4395
+p-cancelable@^0.3.0:
4396
+ version "0.3.0"
4397
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa"
4398
+
4399
p-finally@^1.0.0:
4400
version "1.0.0"
4401
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
@@ -3990,6 +4410,23 @@ p-locate@^2.0.0:
4410
dependencies:
4411
p-limit "^1.1.0"
4412
4413
+parse-diff@^0.4.0:
4414
+ version "0.4.0"
4415
+ resolved "https://registry.yarnpkg.com/parse-diff/-/parse-diff-0.4.0.tgz#9ce35bcce8fc0b7c58f46d71113394fc0b4982dd"
4416
+
4417
+parse-git-config@^1.1.1:
4418
+ version "1.1.1"
4419
+ resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-1.1.1.tgz#d3a9984317132f57398712bba438e129590ddf8c"
4420
+ dependencies:
4421
+ extend-shallow "^2.0.1"
4422
+ fs-exists-sync "^0.1.0"
4423
+ git-config-path "^1.0.1"
4424
+ ini "^1.3.4"
4425
+
4426
+parse-github-url@^1.0.2:
4427
+ version "1.0.2"
4428
+ resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395"
4429
+
4430
parse-glob@^3.0.4:
4431
version "3.0.4"
4432
resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
@@ -4005,10 +4442,20 @@ parse-json@2.2.0, parse-json@^2.2.0:
4442
dependencies:
4443
error-ex "^1.2.0"
4444
4445
+parse-link-header@^1.0.1:
4446
+ version "1.0.1"
4447
+ resolved "https://registry.yarnpkg.com/parse-link-header/-/parse-link-header-1.0.1.tgz#bedfe0d2118aeb84be75e7b025419ec8a61140a7"
4448
+ dependencies:
4449
+ xtend "~4.0.1"
4450
+
4451
parse-passwd@^1.0.0:
4452
version "1.0.0"
4453
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
4454
4455
+parse5@^1.5.1:
4456
+ version "1.5.1"
4457
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94"
4458
+
4459
parse5@^3.0.2:
4460
version "3.0.3"
4461
resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c"
@@ -4075,6 +4522,10 @@ pify@^2.0.0:
4522
version "2.3.0"
4523
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
4524
4525
+pify@^3.0.0:
4526
+ version "3.0.0"
4527
+ resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
4528
+
4529
pinkie-promise@^2.0.0:
4530
version "2.0.1"
4531
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
@@ -4085,6 +4536,10 @@ pinkie@^2.0.0:
4536
version "2.0.4"
4537
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
4538
4539
+pinpoint@^1.1.0:
4540
+ version "1.1.0"
4541
+ resolved "https://registry.yarnpkg.com/pinpoint/-/pinpoint-1.1.0.tgz#0cf7757a6977f1bf7f6a32207b709e377388e874"
4542
+
4543
platform@^1.1.0:
4544
version "1.3.4"
4545
resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.4.tgz#6f0fb17edaaa48f21442b3a975c063130f1c3ebd"
@@ -4094,8 +4549,8 @@ pluralize@^7.0.0:
4549
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
4550
4551
pn@^1.0.0:
4097
- version "1.0.0"
4098
- resolved "https://registry.yarnpkg.com/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9"
4552
+ version "1.1.0"
4553
+ resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
4554
4555
prelude-ls@~1.1.2:
4556
version "1.1.2"
@@ -4109,6 +4564,13 @@ prettier@1.8.1, prettier@^1.0.0:
4564
version "1.8.1"
4565
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.8.1.tgz#91064d778c08c85ac1cbe6b23195c34310d039f9"
4566
4567
+pretty-format@21.3.0-beta.4:
4568
+ version "21.3.0-beta.4"
4569
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-21.3.0-beta.4.tgz#6b3b8aba0b7097f821156e5fd1e3bc0fa923b17f"
4570
+ dependencies:
4571
+ ansi-regex "^3.0.0"
4572
+ ansi-styles "^3.2.0"
4573
+
4574
pretty-format@^22.0.6:
4575
version "22.0.6"
4576
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.0.6.tgz#bbb78e38445f263c2d3b9e281f4b844380990720"
@@ -4149,6 +4611,14 @@ prop-types@~15.5.7:
4611
fbjs "^0.8.9"
4612
loose-envify "^1.3.1"
4613
4614
+proxy-from-env@^1.0.0:
4615
+ version "1.0.0"
4616
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee"
4617
+
4618
+prr@~0.0.0:
4619
+ version "0.0.0"
4620
+ resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
4621
+
4622
pseudomap@^1.0.1, pseudomap@^1.0.2:
4623
version "1.0.2"
4624
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
@@ -4277,7 +4747,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable
4747
string_decoder "~1.0.0"
4748
util-deprecate "~1.0.1"
4749
4280
-readable-stream@^2.0.5, readable-stream@^2.2.2:
4750
+readable-stream@^2.0.5:
4751
version "2.3.3"
4752
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
4753
dependencies:
@@ -4309,6 +4779,10 @@ readdirp@^2.0.0:
4779
readable-stream "^2.0.2"
4780
set-immediate-shim "^1.0.1"
4781
4782
+readline-sync@^1.4.7:
4783
+ version "1.4.7"
4784
+ resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.7.tgz#001bfdd4c06110c3c084c63bf7c6a56022213f30"
4785
+
4786
realpath-native@^1.0.0:
4787
version "1.0.0"
4788
resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.0.tgz#7885721a83b43bd5327609f0ddecb2482305fdf0"
@@ -4462,7 +4936,7 @@ request@2.79.0:
4936
tunnel-agent "~0.4.1"
4937
uuid "^3.0.0"
4938
4465
-request@^2.81.0:
4939
+request@^2.79.0, request@^2.81.0:
4940
version "2.81.0"
4941
resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
4942
dependencies:
@@ -4520,6 +4994,10 @@ require-directory@^2.1.1:
4994
version "2.1.1"
4995
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
4996
4997
+require-from-string@^2.0.1:
4998
+ version "2.0.1"
4999
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.1.tgz#c545233e9d7da6616e9d59adfb39fc9f588676ff"
5000
+
5001
require-main-filename@^1.0.1:
5002
version "1.0.1"
5003
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
@@ -4565,6 +5043,10 @@ restore-cursor@^2.0.0:
5043
onetime "^2.0.0"
5044
signal-exit "^3.0.2"
5045
5046
+rfc6902@^2.2.2:
5047
+ version "2.2.2"
5048
+ resolved "https://registry.yarnpkg.com/rfc6902/-/rfc6902-2.2.2.tgz#518a4e9caac1688f3d94c9df2fdcdb6ce21f29be"
5049
+
5050
right-align@^0.1.1:
5051
version "0.1.3"
5052
resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
@@ -4814,6 +5296,12 @@ source-map@^0.6.0:
5296
version "0.6.1"
5297
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
5298
5299
+source-map@~0.2.0:
5300
+ version "0.2.0"
5301
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
5302
+ dependencies:
5303
+ amdefine ">=0.0.4"
5304
+
5305
source-map@~0.5.6:
5306
version "0.5.7"
5307
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
@@ -4989,6 +5477,19 @@ supports-color@^4.0.0:
5477
dependencies:
5478
has-flag "^2.0.0"
5479
5480
+supports-color@^5.0.0:
5481
+ version "5.1.0"
5482
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.1.0.tgz#058a021d1b619f7ddf3980d712ea3590ce7de3d5"
5483
+ dependencies:
5484
+ has-flag "^2.0.0"
5485
+
5486
+supports-hyperlinks@^1.0.1:
5487
+ version "1.0.1"
5488
+ resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz#71daedf36cc1060ac5100c351bb3da48c29c0ef7"
5489
+ dependencies:
5490
+ has-flag "^2.0.0"
5491
+ supports-color "^5.0.0"
5492
+
5493
symbol-tree@^3.2.1:
5494
version "3.2.2"
5495
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
@@ -5156,7 +5657,7 @@ tough-cookie@>=2.3.3, tough-cookie@^2.3.3, tough-cookie@~2.3.3:
5657
dependencies:
5658
punycode "^1.4.1"
5659
5159
-tough-cookie@~2.3.0:
5660
+tough-cookie@^2.3.2, tough-cookie@~2.3.0:
5661
version "2.3.2"
5662
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
5663
dependencies:
@@ -5168,6 +5669,10 @@ tr46@^1.0.0:
5669
dependencies:
5670
punycode "^2.1.0"
5671
5672
+tr46@~0.0.3:
5673
+ version "0.0.3"
5674
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
5675
+
5676
trim-right@^1.0.0, trim-right@^1.0.1:
5677
version "1.0.1"
5678
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
@@ -5204,7 +5709,7 @@ type-check@~0.3.2:
5709
dependencies:
5710
prelude-ls "~1.1.2"
5711
5207
-typedarray@^0.0.6, typedarray@~0.0.5:
5712
+typedarray@~0.0.5:
5713
version "0.0.6"
5714
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
5715
@@ -5248,6 +5753,10 @@ unique-stream@^2.0.2:
5753
json-stable-stringify "^1.0.0"
5754
through2-filter "^2.0.0"
5755
5756
+url-template@^2.0.8:
5757
+ version "2.0.8"
5758
+ resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21"
5759
+
5760
user-home@^1.1.1:
5761
version "1.1.1"
5762
resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
@@ -5313,6 +5822,14 @@ vlq@^0.2.1:
5822
version "0.2.2"
5823
resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.2.tgz#e316d5257b40b86bb43cb8d5fea5d7f54d6b0ca1"
5824
5825
+vm2@patriksimek/vm2#custom_files:
5826
+ version "3.5.0"
5827
+ resolved "https://codeload.github.com/patriksimek/vm2/tar.gz/7e82f90ac705fc44fad044147cb0df09b4c79a57"
5828
+
5829
+voca@^1.3.1:
5830
+ version "1.4.0"
5831
+ resolved "https://registry.yarnpkg.com/voca/-/voca-1.4.0.tgz#e15ac58b38290b72acc0c330366b6cc7984924d7"
5832
+
5833
walker@~1.0.5:
5834
version "1.0.7"
5835
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
@@ -5323,6 +5840,14 @@ watch@~0.10.0:
5840
version "0.10.0"
5841
resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc"
5842
5843
+webidl-conversions@^3.0.0:
5844
+ version "3.0.1"
5845
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
5846
+
5847
+webidl-conversions@^4.0.0:
5848
+ version "4.0.1"
5849
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0"
5850
+
5851
webidl-conversions@^4.0.1, webidl-conversions@^4.0.2:
5852
version "4.0.2"
5853
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
@@ -5344,6 +5869,13 @@ whatwg-fetch@>=0.10.0:
5869
version "2.0.3"
5870
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
5871
5872
+whatwg-url@^4.3.0:
5873
+ version "4.7.1"
5874
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.7.1.tgz#df4dc2e3f25a63b1fa5b32ed6d6c139577d690de"
5875
+ dependencies:
5876
+ tr46 "~0.0.3"
5877
+ webidl-conversions "^3.0.0"
5878
+
5879
whatwg-url@^6.3.0:
5880
version "6.4.0"
5881
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.0.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08"
@@ -5386,6 +5918,10 @@ window-size@^0.1.2:
5918
version "0.1.4"
5919
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
5920
5921
+window-size@^0.2.0:
5922
+ version "0.2.0"
5923
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
5924
+
5925
wordwrap@0.0.2:
5926
version "0.0.2"
5927
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
@@ -5398,6 +5934,13 @@ wordwrap@~1.0.0:
5934
version "1.0.0"
5935
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
5936
5937
+worker-farm@^1.3.1:
5938
+ version "1.3.1"
5939
+ resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.3.1.tgz#4333112bb49b17aa050b87895ca6b2cacf40e5ff"
5940
+ dependencies:
5941
+ errno ">=0.1.1 <0.2.0-0"
5942
+ xtend ">=4.0.0 <4.1.0-0"
5943
+
5944
wrap-ansi@^2.0.0:
5945
version "2.1.0"
5946
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
@@ -5439,6 +5982,13 @@ yallist@^2.0.0, yallist@^2.1.2:
5982
version "2.1.2"
5983
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
5984
5985
+yargs-parser@^2.4.1:
5986
+ version "2.4.1"
5987
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4"
5988
+ dependencies:
5989
+ camelcase "^3.0.0"
5990
+ lodash.assign "^4.0.6"
5991
+
5992
yargs-parser@^4.2.0:
5993
version "4.2.1"
5994
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
@@ -5451,12 +6001,6 @@ yargs-parser@^7.0.0:
6001
dependencies:
6002
camelcase "^4.1.0"
6003
5454
-yargs-parser@^8.1.0:
5455
- version "8.1.0"
5456
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
5457
- dependencies:
5458
- camelcase "^4.1.0"
5459
-
6004
yargs@8.0.1:
6005
version "8.0.1"
6006
resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.1.tgz#420ef75e840c1457a80adcca9bc6fa3849de51aa"
@@ -5475,22 +6019,24 @@ yargs@8.0.1:
6019
y18n "^3.2.1"
6020
yargs-parser "^7.0.0"
6021
5478
-yargs@^10.0.3:
5479
- version "10.1.0"
5480
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.0.tgz#85d98f2264c7487f18c4607b79c7e4e3b160e69e"
6022
+yargs@^4.8.0:
6023
+ version "4.8.1"
6024
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"
6025
dependencies:
5482
- cliui "^4.0.0"
6026
+ cliui "^3.2.0"
6027
decamelize "^1.1.1"
5484
- find-up "^2.1.0"
6028
get-caller-file "^1.0.1"
5486
- os-locale "^2.0.0"
6029
+ lodash.assign "^4.0.3"
6030
+ os-locale "^1.4.0"
6031
+ read-pkg-up "^1.0.1"
6032
require-directory "^2.1.1"
6033
require-main-filename "^1.0.1"
6034
set-blocking "^2.0.0"
5490
- string-width "^2.0.0"
5491
- which-module "^2.0.0"
6035
+ string-width "^1.0.1"
6036
+ which-module "^1.0.0"
6037
+ window-size "^0.2.0"
6038
y18n "^3.2.1"
5493
- yargs-parser "^8.1.0"
6039
+ yargs-parser "^2.4.1"
6040
6041
yargs@^6.3.0, yargs@^6.5.0:
6042
version "6.6.0"
@@ -5510,6 +6056,24 @@ yargs@^6.3.0, yargs@^6.5.0:
6056
y18n "^3.2.1"
6057
yargs-parser "^4.2.0"
6058
6059
+yargs@^9.0.0:
6060
+ version "9.0.1"
6061
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c"
6062
+ dependencies:
6063
+ camelcase "^4.1.0"
6064
+ cliui "^3.2.0"
6065
+ decamelize "^1.1.1"
6066
+ get-caller-file "^1.0.1"
6067
+ os-locale "^2.0.0"
6068
+ read-pkg-up "^2.0.0"
6069
+ require-directory "^2.1.1"
6070
+ require-main-filename "^1.0.1"
6071
+ set-blocking "^2.0.0"
6072
+ string-width "^2.0.0"
6073
+ which-module "^2.0.0"
6074
+ y18n "^3.2.1"
6075
+ yargs-parser "^7.0.0"
6076
+
6077
yargs@~3.10.0:
6078
version "3.10.0"
6079
resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"