@samitouri / QOS-React / commits / d8d797645c

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"