diff --git a/dangerfile.js b/dangerfile.js new file mode 100644 index 0000000000000..33c580d2d6af4 --- /dev/null +++ b/dangerfile.js @@ -0,0 +1,151 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +'use strict'; + +const {markdown, danger} = require('danger'); +const fetch = require('node-fetch'); + +const {generateResultsArray} = require('./scripts/rollup/stats'); +const {readFileSync} = require('fs'); + +const currentBuildResults = JSON.parse( + readFileSync('./scripts/rollup/results.json') +); + +/** + * Generates a Markdown table + * @param {string[]} headers + * @param {string[][]} body + */ +function generateMDTable(headers, body) { + const tableHeaders = [ + headers.join(' | '), + headers.map(() => ' --- ').join(' | '), + ]; + + const tablebody = body.map(r => r.join(' | ')); + return tableHeaders.join('\n') + '\n' + tablebody.join('\n'); +} + +/** + * Generates a user-readable string from a percentage change + * @param {string[]} headers + */ +function emojiPercent(change) { + if (change > 0) { + return `:small_red_triangle:+${change}%`; + } else if (change <= 0) { + return `${change}%`; + } +} + +// Grab the results.json before we ran CI via the GH API +// const baseMerge = danger.github.pr.base.sha +const parentOfOldestCommit = danger.git.commits[0].parents[0]; +const commitURL = sha => + `http://react.zpao.com/builds/master/_commits/${sha}/results.json`; + +fetch(commitURL(parentOfOldestCommit)).then(async response => { + const previousBuildResults = await response.json(); + const results = generateResultsArray( + currentBuildResults, + previousBuildResults + ); + + const percentToWarrentShowing = 1; + const packagesToShow = results + .filter( + r => + Math.abs(r.prevFileSizeChange) > percentToWarrentShowing || + Math.abs(r.prevGzipSizeChange) > percentToWarrentShowing + ) + .map(r => r.packageName); + + if (packagesToShow.length) { + let allTables = []; + + // Highlight React and React DOM changes inline + // e.g. react: `react.production.min.js`: -3%, `react.development.js`: +4% + + if (packagesToShow.includes('react')) { + const reactProd = results.find( + r => r.bundleType === 'UMD_PROD' && r.packageName === 'react' + ); + if ( + reactProd.prevFileSizeChange !== 0 || + reactProd.prevGzipSizeChange !== 0 + ) { + const changeSize = emojiPercent(reactProd.prevFileSizeChange); + const changeGzip = emojiPercent(reactProd.prevGzipSizeChange); + markdown(`React: size: ${changeSize}, gzip: ${changeGzip}`); + } + } + + if (packagesToShow.includes('react-dom')) { + const reactDOMProd = results.find( + r => r.bundleType === 'UMD_PROD' && r.packageName === 'react-dom' + ); + if ( + reactDOMProd.prevFileSizeChange !== 0 || + reactDOMProd.prevGzipSizeChange !== 0 + ) { + const changeSize = emojiPercent(reactDOMProd.prevFileSizeChange); + const changeGzip = emojiPercent(reactDOMProd.prevGzipSizeChange); + markdown(`ReactDOM: size: ${changeSize}, gzip: ${changeGzip}`); + } + } + + // Show a hidden summary table for all diffs + + // eslint-disable-next-line no-var + for (var name of new Set(packagesToShow)) { + const thisBundleResults = results.filter(r => r.packageName === name); + const changedFiles = thisBundleResults.filter( + r => r.prevGzipSizeChange !== 0 || r.prevGzipSizeChange !== 0 + ); + + const mdHeaders = [ + 'File', + 'Filesize Diff', + 'Gzip Diff', + 'Prev Size', + 'Current Size', + 'Prev Gzip', + 'Current Gzip', + 'ENV', + ]; + + const mdRows = changedFiles.map(r => [ + r.filename, + emojiPercent(r.prevFileSizeChange), + emojiPercent(r.prevGzipSizeChange), + r.prevSize, + r.prevFileSize, + r.prevGzip, + r.prevGzipSize, + r.bundleType, + ]); + + allTables.push(`\n## ${name}`); + allTables.push(generateMDTable(mdHeaders, mdRows)); + } + + const summary = ` +
+Details of bundled changes. + +

Comparing: ${parentOfOldestCommit}...${danger.github.pr.head.sha}

+ + +${allTables.join('\n')} + +
+`; + markdown(summary); + } +}); diff --git a/package.json b/package.json index ce2dc2a3f77a0..64afd817df624 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "coveralls": "^2.11.6", "create-react-class": "^15.6.2", "cross-env": "^5.1.1", + "danger": "^3.0.4", "del": "^2.0.2", "derequire": "^2.0.3", "escape-string-regexp": "^1.0.5", diff --git a/scripts/circleci/test_entry_point.sh b/scripts/circleci/test_entry_point.sh index d7f7a1b28a31a..249b09142c51d 100755 --- a/scripts/circleci/test_entry_point.sh +++ b/scripts/circleci/test_entry_point.sh @@ -25,6 +25,7 @@ if [ $((2 % CIRCLE_NODE_TOTAL)) -eq "$CIRCLE_NODE_INDEX" ]; then COMMANDS_TO_RUN+=('./scripts/circleci/build.sh') COMMANDS_TO_RUN+=('yarn test-build --maxWorkers=2') COMMANDS_TO_RUN+=('yarn test-build-prod --maxWorkers=2') + COMMANDS_TO_RUN+=('node ./scripts/tasks/danger') COMMANDS_TO_RUN+=('./scripts/circleci/upload_build.sh') fi diff --git a/scripts/rollup/results.json b/scripts/rollup/results.json index 100d02955ffb5..63208f49a4ea4 100644 --- a/scripts/rollup/results.json +++ b/scripts/rollup/results.json @@ -400,4 +400,4 @@ "gzip": 525 } ] -} \ No newline at end of file +} diff --git a/scripts/rollup/stats.js b/scripts/rollup/stats.js index fb262bde59613..7cf78dbc69ae8 100644 --- a/scripts/rollup/stats.js +++ b/scripts/rollup/stats.js @@ -21,8 +21,10 @@ function saveResults() { } function percentChange(prev, current) { - const change = Math.floor((current - prev) / prev * 100); + return Math.floor((current - prev) / prev * 100); +} +function percentChangeString(change) { if (change > 0) { return chalk.red.bold(`+${change} %`); } else if (change <= 0) { @@ -30,51 +32,75 @@ function percentChange(prev, current) { } } +const resultsHeaders = [ + 'Bundle', + 'Prev Size', + 'Current Size', + 'Diff', + 'Prev Gzip', + 'Current Gzip', + 'Diff', +]; + +function generateResultsArray(current, prevResults) { + return current.bundleSizes + .map(result => { + const prev = prevResults.bundleSizes.filter( + res => + res.filename === result.filename && + res.bundleType === result.bundleType + )[0]; + if (result === prev) { + // We didn't rebuild this bundle. + return; + } + + const size = result.size; + const gzip = result.gzip; + let prevSize = prev ? prev.size : 0; + let prevGzip = prev ? prev.gzip : 0; + + return { + filename: result.filename, + bundleType: result.bundleType, + packageName: result.packageName, + prevSize: filesize(prevSize), + prevFileSize: filesize(size), + prevFileSizeChange: percentChange(prevSize, size), + prevGzip: filesize(prevGzip), + prevGzipSize: filesize(gzip), + prevGzipSizeChange: percentChange(prevGzip, gzip), + }; + // Strip any nulls + }) + .filter(f => f); +} + function printResults() { const table = new Table({ - head: [ - chalk.gray.yellow('Bundle'), - chalk.gray.yellow('Prev Size'), - chalk.gray.yellow('Current Size'), - chalk.gray.yellow('Diff'), - chalk.gray.yellow('Prev Gzip'), - chalk.gray.yellow('Current Gzip'), - chalk.gray.yellow('Diff'), - ], + head: resultsHeaders.map(chalk.gray.yellow), }); - currentBuildResults.bundleSizes.forEach(result => { - const matches = prevBuildResults.bundleSizes.filter( - ({filename, bundleType}) => - filename === result.filename && bundleType === result.bundleType - ); - if (matches.length > 1) { - throw new Error(`Ambiguous bundle size record for: ${result.filename}`); - } - const prev = matches[0]; - if (result === prev) { - // We didn't rebuild this bundle. - return; - } - const size = result.size; - const gzip = result.gzip; - let prevSize = prev ? prev.size : 0; - let prevGzip = prev ? prev.gzip : 0; + const results = generateResultsArray(currentBuildResults, prevBuildResults); + results.forEach(result => { table.push([ - chalk.white.bold(`${result.filename} (${result.bundleType})`), - chalk.gray.bold(filesize(prevSize)), - chalk.white.bold(filesize(size)), - percentChange(prevSize, size), - chalk.gray.bold(filesize(prevGzip)), - chalk.white.bold(filesize(gzip)), - percentChange(prevGzip, gzip), + chalk.white.bold(`${result.filename} (${result.bundleType})`), + chalk.gray.bold(result.prevSize), + chalk.white.bold(result.prevFileSize), + percentChangeString(result.prevFileSizeChange), + chalk.gray.bold(result.prevGzip), + chalk.white.bold(result.prevGzipSize), + percentChangeString(result.prevGzipSizeChange), ]); }); + return table.toString(); } module.exports = { + currentBuildResults, + generateResultsArray, printResults, saveResults, - currentBuildResults, + resultsHeaders, }; diff --git a/scripts/tasks/danger.js b/scripts/tasks/danger.js new file mode 100644 index 0000000000000..8198d0c22bc40 --- /dev/null +++ b/scripts/tasks/danger.js @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +'use strict'; + +const path = require('path'); +const spawn = require('child_process').spawn; + +const extension = process.platform === 'win32' ? '.cmd' : ''; + +// This came from React Native's circle.yml +const token = 'e622517d9f1136ea8900' + '07c6373666312cdfaa69'; +spawn(path.join('node_modules', '.bin', 'danger-ci' + extension), [], { + // Allow colors to pass through + stdio: 'inherit', + env: { + ...process.env, + DANGER_GITHUB_API_TOKEN: token, + }, +}).on('close', function(code) { + if (code !== 0) { + console.error('Danger failed'); + } else { + console.log('Danger passed'); + } + + process.exit(code); +}); diff --git a/yarn.lock b/yarn.lock index 0047e02f79b20..dea59c7a14167 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@babel/code-frame@7.0.0-beta.36", "@babel/code-frame@^7.0.0-beta.35": +"@babel/code-frame@7.0.0-beta.36": version "7.0.0-beta.36" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.36.tgz#2349d7ec04b3a06945ae173280ef8579b63728e4" dependencies: @@ -55,8 +55,8 @@ to-fast-properties "^2.0.0" "@types/node@*": - version "8.5.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.2.tgz#83b8103fa9a2c2e83d78f701a9aa7c9539739aa5" + version "8.5.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.1.tgz#4ec3020bcdfe2abffeef9ba3fbf26fca097514b5" JSONStream@^1.0.3: version "1.3.1" @@ -73,6 +73,12 @@ abbrev@1: version "1.1.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" +acorn-globals@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" + dependencies: + acorn "^4.0.4" + acorn-globals@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" @@ -93,7 +99,7 @@ acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^4.0.3: +acorn@^4.0.3, acorn@^4.0.4: version "4.0.11" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" @@ -101,10 +107,20 @@ acorn@^5.0.0, acorn@^5.1.2: version "5.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.3.0.tgz#7446d39459c54fb49a80e6ee6478149b940ec822" +acorn@^5.0.1: + version "5.0.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" + acorn@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" +agent-base@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.1.2.tgz#80fa6cde440f4dcf9af2617cf246099b5d99f0c8" + dependencies: + es6-promisify "^5.0.0" + ajv-keywords@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" @@ -531,6 +547,13 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" +babel-jest@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-21.3.0-beta.4.tgz#43d3975be81fb029d2d675d913803c123267309d" + dependencies: + babel-plugin-istanbul "^4.1.5" + babel-preset-jest "21.3.0-beta.4" + babel-jest@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.0.6.tgz#807a2a5f5fad7789c57174a955cd14b11045299f" @@ -580,6 +603,10 @@ babel-plugin-istanbul@^4.1.5: istanbul-lib-instrument "^1.7.5" test-exclude "^4.1.1" +babel-plugin-jest-hoist@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.3.0-beta.4.tgz#a1283b7e556c3cf236604c17e0f18aaa9cf3d79a" + babel-plugin-jest-hoist@^22.0.6: version "22.0.6" 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: dependencies: babel-plugin-transform-flow-strip-types "^6.22.0" +babel-preset-jest@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-21.3.0-beta.4.tgz#d4f797e00a23c0a027a42341684702888d90789a" + dependencies: + babel-plugin-jest-hoist "21.3.0-beta.4" + babel-plugin-syntax-object-rest-spread "^6.13.0" + babel-preset-jest@^22.0.6: version "22.0.6" 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: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.1.0: +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" dependencies: @@ -1257,14 +1291,6 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" -cliui@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - clone-buffer@^1.0.0: version "1.0.0" 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: dependencies: delayed-stream "~1.0.0" +commander@^2.12.2: + version "2.12.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" + commander@^2.5.0, commander@^2.6.0, commander@^2.8.1, commander@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" @@ -1485,6 +1515,38 @@ d@1: dependencies: es5-ext "^0.10.9" +danger@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/danger/-/danger-3.0.4.tgz#df8bb80ec9e220f68718e0c7ce83efb7fe5b5367" + dependencies: + babel-polyfill "^6.23.0" + chalk "^2.3.0" + commander "^2.12.2" + debug "^3.1.0" + get-stdin "^5.0.1" + github "^13.0.1" + hyperlinker "^1.0.0" + jsome "^2.3.25" + json5 "^0.5.1" + jsonpointer "^4.0.1" + lodash.find "^4.6.0" + lodash.includes "^4.3.0" + lodash.isobject "^3.0.2" + lodash.keys "^4.0.8" + node-cleanup "^2.1.2" + node-fetch "^1.7.3" + parse-diff "^0.4.0" + parse-git-config "^1.1.1" + parse-github-url "^1.0.2" + parse-link-header "^1.0.1" + pinpoint "^1.1.0" + readline-sync "^1.4.7" + require-from-string "^2.0.1" + rfc6902 "^2.2.2" + supports-hyperlinks "^1.0.1" + vm2 patriksimek/vm2#custom_files + voca "^1.3.1" + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -1637,6 +1699,10 @@ domexception@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.0.tgz#81fe5df81b3f057052cde3a9fa9bf536a85b9ab0" +dotenv@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" + duplexer2@0.0.2: version "0.0.2" 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: dependencies: once "^1.4.0" +"errno@>=0.1.1 <0.2.0-0": + version "0.1.4" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + dependencies: + prr "~0.0.0" + error-ex@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" @@ -1743,6 +1815,16 @@ es6-map@^0.1.3: es6-symbol "~3.1.1" event-emitter "~0.3.5" +es6-promise@^4.0.3: + version "4.2.2" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.2.tgz#f722d7769af88bd33bc13ec6605e1f92966b82d9" + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + dependencies: + es6-promise "^4.0.3" + es6-set@~0.1.5: version "0.1.5" 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: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +escodegen@^1.6.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + escodegen@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" @@ -1889,7 +1982,7 @@ esprima-fb@~15001.1001.0-dev-harmony-fb: version "15001.1001.0-dev-harmony-fb" resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz#43beb57ec26e8cf237d3dd8b33e42533577f2659" -esprima@^2.6.0: +esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" @@ -1897,10 +1990,6 @@ esprima@^3.1.1, esprima@^3.1.3, esprima@~3.1.0: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" -esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - esquery@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" @@ -1914,6 +2003,10 @@ esrecurse@^4.1.0: estraverse "~4.1.0" object-assign "^4.0.1" +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" @@ -1981,6 +2074,17 @@ expand-tilde@^1.2.2: dependencies: os-homedir "^1.0.1" +expect@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/expect/-/expect-21.3.0-beta.4.tgz#e1243ad493fb9dec41793ab0ffd08a3a81eb9cb4" + dependencies: + ansi-styles "^3.2.0" + jest-diff "21.3.0-beta.4" + jest-get-type "21.3.0-beta.4" + jest-matcher-utils "21.3.0-beta.4" + jest-message-util "21.3.0-beta.4" + jest-regex-util "^21.2.0" + expect@^22.0.6: version "22.0.6" 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: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - functional-red-black-tree@^1.0.1: version "1.0.1" 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: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" +get-stdin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -2339,6 +2443,25 @@ git-branch@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/git-branch/-/git-branch-0.3.0.tgz#cae53f599054d2bd4773e164550f54cc5fe53d2c" +git-config-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-1.0.1.tgz#6d33f7ed63db0d0e118131503bab3aca47d54664" + dependencies: + extend-shallow "^2.0.1" + fs-exists-sync "^0.1.0" + homedir-polyfill "^1.0.0" + +github@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/github/-/github-13.0.1.tgz#4ccf4a41df662f92367e77a474674eabb1b6c78d" + dependencies: + debug "^3.1.0" + dotenv "^4.0.0" + https-proxy-agent "^2.1.0" + lodash "^4.17.4" + proxy-from-env "^1.0.0" + url-template "^2.0.8" + glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -2666,6 +2789,17 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +https-proxy-agent@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.1.1.tgz#a7ce4382a1ba8266ee848578778122d491260fd9" + dependencies: + agent-base "^4.1.0" + debug "^3.1.0" + +hyperlinker@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hyperlinker/-/hyperlinker-1.0.0.tgz#23dc9e38a206b208ee49bc2d6c8ef47027df0c0e" + iconv-lite@0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" @@ -2693,7 +2827,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -2892,7 +3026,7 @@ is-property@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" -is-regex@^1.0.3, is-regex@^1.0.4: +is-regex@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" dependencies: @@ -3048,12 +3182,53 @@ jasmine-check@^1.0.0-rc.0: dependencies: testcheck "^1.0.0-rc" +jest-changed-files@^21.2.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-21.2.0.tgz#5dbeecad42f5d88b482334902ce1cba6d9798d29" + dependencies: + throat "^4.0.0" + jest-changed-files@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.0.6.tgz#fca38cf4c89920c66aad1707e91d25bbea238875" dependencies: throat "^4.0.0" +jest-cli@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-21.3.0-beta.4.tgz#50a1c2773cfeff68dbb1fe454a3f259ad5850fa6" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + is-ci "^1.0.10" + istanbul-api "^1.1.14" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-instrument "^1.8.0" + istanbul-lib-source-maps "^1.2.1" + jest-changed-files "^21.2.0" + jest-config "21.3.0-beta.4" + jest-environment-jsdom "21.3.0-beta.4" + jest-haste-map "21.3.0-beta.4" + jest-message-util "21.3.0-beta.4" + jest-regex-util "^21.2.0" + jest-resolve-dependencies "^21.2.0" + jest-runner "21.3.0-beta.4" + jest-runtime "21.3.0-beta.4" + jest-snapshot "21.3.0-beta.4" + jest-util "21.3.0-beta.4" + micromatch "^2.3.11" + node-notifier "^5.1.2" + pify "^3.0.0" + rimraf "^2.5.4" + slash "^1.0.0" + string-length "^2.0.0" + strip-ansi "^4.0.0" + which "^1.2.12" + worker-farm "^1.3.1" + yargs "^9.0.0" + jest-cli@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.0.6.tgz#a2f1e5e094c42b29d22815463ae57f4d07e292ac" @@ -3090,6 +3265,22 @@ jest-cli@^22.0.6: which "^1.2.12" yargs "^10.0.3" +jest-config@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-21.3.0-beta.4.tgz#03c936c605c5ec11bbd42aa9d2715d4d96cb11ee" + dependencies: + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "21.3.0-beta.4" + jest-environment-node "21.3.0-beta.4" + jest-get-type "21.3.0-beta.4" + jest-jasmine2 "21.3.0-beta.4" + jest-regex-util "^21.2.0" + jest-resolve "21.3.0-beta.4" + jest-util "21.3.0-beta.4" + jest-validate "21.3.0-beta.4" + pretty-format "21.3.0-beta.4" + jest-config@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.0.6.tgz#8af116784df189b98ed6fd6c307bce4181f7f012" @@ -3106,6 +3297,15 @@ jest-config@^22.0.6: jest-validate "^22.0.6" pretty-format "^22.0.6" +jest-diff@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-21.3.0-beta.4.tgz#75e795e83f6c3368720c2ddd1f0cbed1543c4139" + dependencies: + chalk "^2.0.1" + diff "^3.2.0" + jest-get-type "21.3.0-beta.4" + pretty-format "21.3.0-beta.4" + jest-diff@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.0.6.tgz#38c07187324564ecf6389a980a2f0e86e7e79890" @@ -3115,12 +3315,26 @@ jest-diff@^22.0.6: jest-get-type "^22.0.6" pretty-format "^22.0.6" +jest-docblock@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.3.0-beta.4.tgz#11c3121cccc39d826d484e0951cb2faad1fe1ebd" + dependencies: + detect-newline "^2.1.0" + jest-docblock@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.0.6.tgz#f187fb2c67eec0999e569d563092125283084f9e" dependencies: detect-newline "^2.1.0" +jest-environment-jsdom@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-21.3.0-beta.4.tgz#aa2831f1ac6b2c88a7ec965990517960d5828da1" + dependencies: + jest-mock "21.3.0-beta.4" + jest-util "21.3.0-beta.4" + jsdom "^9.12.0" + jest-environment-jsdom@^22.0.6: version "22.0.6" 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: jest-util "^22.0.6" jsdom "^11.5.1" +jest-environment-node@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-21.3.0-beta.4.tgz#d4d620ee495d9af84edc157466ff962596e783ab" + dependencies: + jest-mock "21.3.0-beta.4" + jest-util "21.3.0-beta.4" + jest-environment-node@^22.0.6: version "22.0.6" 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: jest-mock "^22.0.6" jest-util "^22.0.6" +jest-get-type@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-21.3.0-beta.4.tgz#248b16f9b8fe2887a0baa35b31905d73d66e56e0" + jest-get-type@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.0.6.tgz#301fbc0760779fdbad37b6e3239a3c1811aa75cb" +jest-haste-map@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-21.3.0-beta.4.tgz#dd8736c40c6db933e16f8f402a45fec859a310f5" + dependencies: + fb-watchman "^2.0.0" + graceful-fs "^4.1.11" + jest-docblock "21.3.0-beta.4" + micromatch "^2.3.11" + sane "^2.0.0" + worker-farm "^1.3.1" + jest-haste-map@^22.0.6: version "22.0.6" 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: micromatch "^2.3.11" sane "^2.0.0" +jest-jasmine2@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-21.3.0-beta.4.tgz#da0f065ce48c8eaaec1de6c1074ad05cc5a9f96f" + dependencies: + chalk "^2.0.1" + expect "21.3.0-beta.4" + graceful-fs "^4.1.11" + jest-diff "21.3.0-beta.4" + jest-matcher-utils "21.3.0-beta.4" + jest-message-util "21.3.0-beta.4" + jest-snapshot "21.3.0-beta.4" + p-cancelable "^0.3.0" + source-map-support "^0.5.0" + jest-jasmine2@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.0.6.tgz#db9eae709978a8d67a52f7b90d74cab7301107f5" @@ -3173,6 +3423,14 @@ jest-leak-detector@^22.0.6: dependencies: pretty-format "^22.0.6" +jest-matcher-utils@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-21.3.0-beta.4.tgz#a83ad12d284c4c3a4db87ba5830f84a16b9a4a91" + dependencies: + chalk "^2.0.1" + jest-get-type "21.3.0-beta.4" + pretty-format "21.3.0-beta.4" + jest-matcher-utils@^22.0.6: version "22.0.6" 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: jest-get-type "^22.0.6" pretty-format "^22.0.6" +jest-message-util@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-21.3.0-beta.4.tgz#018dd79f8d7b1a4bbbd9f5b3d59354d14ac9641f" + dependencies: + chalk "^2.0.1" + micromatch "^2.3.11" + slash "^1.0.0" + stack-utils "^1.0.1" + jest-message-util@^22.0.6: version "22.0.6" 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: slash "^1.0.0" stack-utils "^1.0.1" +jest-mock@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-21.3.0-beta.4.tgz#f318168c781a340c2a75fbb3cc40559670531ddd" + jest-mock@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.0.6.tgz#0d1f51ec2bf1e72cd58e79cb76f587e6397306ec" +jest-regex-util@^21.2.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-21.2.0.tgz#1b1e33e63143babc3e0f2e6c9b5ba1eb34b2d530" + jest-regex-util@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.0.6.tgz#cd01d33c5993340f5d61be09b270773787a41d88" +jest-resolve-dependencies@^21.2.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz#9e231e371e1a736a1ad4e4b9a843bc72bfe03d09" + dependencies: + jest-regex-util "^21.2.0" + jest-resolve-dependencies@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.0.6.tgz#dd976f0a9c2874d32edf4876b0a965cef48d479b" dependencies: jest-regex-util "^22.0.6" +jest-resolve@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-21.3.0-beta.4.tgz#66771415f4be5363b846a6b00599c0e9b01dc726" + dependencies: + browser-resolve "^1.11.2" + chalk "^2.0.1" + jest-resolve@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.0.6.tgz#29d7aa425adb9aae7aa5ae157483dffba724e52b" @@ -3212,6 +3500,21 @@ jest-resolve@^22.0.6: browser-resolve "^1.11.2" chalk "^2.0.1" +jest-runner@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-21.3.0-beta.4.tgz#a52680a5aff6f1e160c6f520d86482224905d5fa" + dependencies: + jest-config "21.3.0-beta.4" + jest-docblock "21.3.0-beta.4" + jest-haste-map "21.3.0-beta.4" + jest-jasmine2 "21.3.0-beta.4" + jest-message-util "21.3.0-beta.4" + jest-runtime "21.3.0-beta.4" + jest-util "21.3.0-beta.4" + pify "^3.0.0" + throat "^4.0.0" + worker-farm "^1.3.1" + jest-runner@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.0.6.tgz#1986ee82b7968d21f04c402e5b67e3da71496f19" @@ -3227,6 +3530,27 @@ jest-runner@^22.0.6: jest-worker "^22.0.6" throat "^4.0.0" +jest-runtime@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-21.3.0-beta.4.tgz#22238a05341baf88857e44e39a881c28807e5a36" + dependencies: + babel-jest "21.3.0-beta.4" + babel-plugin-istanbul "^4.1.5" + chalk "^2.0.1" + convert-source-map "^1.4.0" + graceful-fs "^4.1.11" + jest-config "21.3.0-beta.4" + jest-haste-map "21.3.0-beta.4" + jest-regex-util "^21.2.0" + jest-resolve "21.3.0-beta.4" + jest-util "21.3.0-beta.4" + json-stable-stringify "^1.0.1" + micromatch "^2.3.11" + slash "^1.0.0" + strip-bom "3.0.0" + write-file-atomic "^2.1.0" + yargs "^9.0.0" + jest-runtime@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.0.6.tgz#827c35e706adfc22e685de733ba3ab78cda72bfc" @@ -3250,6 +3574,17 @@ jest-runtime@^22.0.6: write-file-atomic "^2.1.0" yargs "^10.0.3" +jest-snapshot@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-21.3.0-beta.4.tgz#0ba657b322029c2855dd6ac95a6494bf101de7dc" + dependencies: + chalk "^2.0.1" + jest-diff "21.3.0-beta.4" + jest-matcher-utils "21.3.0-beta.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "21.3.0-beta.4" + jest-snapshot@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.0.6.tgz#30c1f85b6f050891c4a2060d807a3d65a594591c" @@ -3261,6 +3596,18 @@ jest-snapshot@^22.0.6: natural-compare "^1.4.0" pretty-format "^22.0.6" +jest-util@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-21.3.0-beta.4.tgz#88bd0c8d1d51098336cf6696e3ae27d38b881664" + dependencies: + callsites "^2.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.11" + jest-message-util "21.3.0-beta.4" + jest-mock "21.3.0-beta.4" + jest-validate "21.3.0-beta.4" + mkdirp "^0.5.1" + jest-util@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.0.6.tgz#539b3f21f4e2e458bb38719aa0e417109fe31657" @@ -3273,6 +3620,15 @@ jest-util@^22.0.6: jest-validate "^22.0.6" mkdirp "^0.5.1" +jest-validate@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-21.3.0-beta.4.tgz#cfb0cdb38f7eb694f909ad041687645fd1b90452" + dependencies: + chalk "^2.0.1" + jest-get-type "21.3.0-beta.4" + leven "^2.1.0" + pretty-format "21.3.0-beta.4" + jest-validate@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.0.6.tgz#48c6972f154fa4abe20d0686a9b819d142740167" @@ -3362,6 +3718,30 @@ jsdom@^11.5.1: whatwg-url "^6.3.0" xml-name-validator "^2.0.1" +jsdom@^9.12.0: + version "9.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" + dependencies: + abab "^1.0.3" + acorn "^4.0.4" + acorn-globals "^3.1.0" + array-equal "^1.0.0" + content-type-parser "^1.0.1" + cssom ">= 0.3.2 < 0.4.0" + cssstyle ">= 0.2.37 < 0.3.0" + escodegen "^1.6.1" + html-encoding-sniffer "^1.0.1" + nwmatcher ">= 1.3.9 < 2.0.0" + parse5 "^1.5.1" + request "^2.79.0" + sax "^1.2.1" + symbol-tree "^3.2.1" + tough-cookie "^2.3.2" + webidl-conversions "^4.0.0" + whatwg-encoding "^1.0.1" + whatwg-url "^4.3.0" + xml-name-validator "^2.0.1" + jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" @@ -3370,6 +3750,14 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" +jsome@^2.3.25: + version "2.3.26" + resolved "https://registry.yarnpkg.com/jsome/-/jsome-2.3.26.tgz#8cb4438924d2c9dd5294c90adf03f35414fb3ca9" + dependencies: + chalk "^1.1.3" + json-stringify-safe "^5.0.1" + yargs "^4.8.0" + json-schema-traverse@^0.3.0: version "0.3.1" 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: dependencies: jsonify "~0.0.0" -json-stringify-safe@~5.0.1: +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -3396,7 +3784,7 @@ json5@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" -json5@^0.5.0: +json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -3408,7 +3796,7 @@ jsonparse@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.0.tgz#85fc245b1d9259acc6941960b905adf64e7de0e8" -jsonpointer@^4.0.0: +jsonpointer@^4.0.0, jsonpointer@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" @@ -3532,12 +3920,24 @@ lodash._root@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" +lodash.assign@^4.0.3, lodash.assign@^4.0.6: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + lodash.escape@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" dependencies: lodash._root "^3.0.0" +lodash.find@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" @@ -3546,6 +3946,10 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" +lodash.isobject@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" + lodash.keys@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -3554,6 +3958,10 @@ lodash.keys@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" +lodash.keys@^4.0.8: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" + lodash.memoize@~3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" @@ -3647,7 +4055,7 @@ mem@^1.1.0: dependencies: mimic-fn "^1.0.0" -merge-stream@^1.0.0, merge-stream@^1.0.1: +merge-stream@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" dependencies: @@ -3761,7 +4169,11 @@ ncp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" -node-fetch@^1.0.1: +node-cleanup@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c" + +node-fetch@^1.0.1, node-fetch@^1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" dependencies: @@ -3850,6 +4262,10 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" +"nwmatcher@>= 1.3.9 < 2.0.0": + version "1.3.9" + resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.3.9.tgz#8bab486ff7fa3dfd086656bbe8b17116d3692d2a" + nwmatcher@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c" @@ -3957,7 +4373,7 @@ os-shim@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -3976,6 +4392,10 @@ output-file-sync@^1.1.0: mkdirp "^0.5.1" object-assign "^4.1.0" +p-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -3990,6 +4410,23 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" +parse-diff@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/parse-diff/-/parse-diff-0.4.0.tgz#9ce35bcce8fc0b7c58f46d71113394fc0b4982dd" + +parse-git-config@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-1.1.1.tgz#d3a9984317132f57398712bba438e129590ddf8c" + dependencies: + extend-shallow "^2.0.1" + fs-exists-sync "^0.1.0" + git-config-path "^1.0.1" + ini "^1.3.4" + +parse-github-url@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" + parse-glob@^3.0.4: version "3.0.4" 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: dependencies: error-ex "^1.2.0" +parse-link-header@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-link-header/-/parse-link-header-1.0.1.tgz#bedfe0d2118aeb84be75e7b025419ec8a61140a7" + dependencies: + xtend "~4.0.1" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" +parse5@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" + parse5@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" @@ -4075,6 +4522,10 @@ pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -4085,6 +4536,10 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +pinpoint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pinpoint/-/pinpoint-1.1.0.tgz#0cf7757a6977f1bf7f6a32207b709e377388e874" + platform@^1.1.0: version "1.3.4" resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.4.tgz#6f0fb17edaaa48f21442b3a975c063130f1c3ebd" @@ -4094,8 +4549,8 @@ pluralize@^7.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" pn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9" + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" prelude-ls@~1.1.2: version "1.1.2" @@ -4109,6 +4564,13 @@ prettier@1.8.1, prettier@^1.0.0: version "1.8.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.8.1.tgz#91064d778c08c85ac1cbe6b23195c34310d039f9" +pretty-format@21.3.0-beta.4: + version "21.3.0-beta.4" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-21.3.0-beta.4.tgz#6b3b8aba0b7097f821156e5fd1e3bc0fa923b17f" + dependencies: + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" + pretty-format@^22.0.6: version "22.0.6" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.0.6.tgz#bbb78e38445f263c2d3b9e281f4b844380990720" @@ -4149,6 +4611,14 @@ prop-types@~15.5.7: fbjs "^0.8.9" loose-envify "^1.3.1" +proxy-from-env@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + +prr@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" 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 string_decoder "~1.0.0" util-deprecate "~1.0.1" -readable-stream@^2.0.5, readable-stream@^2.2.2: +readable-stream@^2.0.5: version "2.3.3" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: @@ -4309,6 +4779,10 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" +readline-sync@^1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.7.tgz#001bfdd4c06110c3c084c63bf7c6a56022213f30" + realpath-native@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.0.tgz#7885721a83b43bd5327609f0ddecb2482305fdf0" @@ -4462,7 +4936,7 @@ request@2.79.0: tunnel-agent "~0.4.1" uuid "^3.0.0" -request@^2.81.0: +request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -4520,6 +4994,10 @@ require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" +require-from-string@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.1.tgz#c545233e9d7da6616e9d59adfb39fc9f588676ff" + require-main-filename@^1.0.1: version "1.0.1" 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: onetime "^2.0.0" signal-exit "^3.0.2" +rfc6902@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/rfc6902/-/rfc6902-2.2.2.tgz#518a4e9caac1688f3d94c9df2fdcdb6ce21f29be" + right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" @@ -4814,6 +5296,12 @@ source-map@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + dependencies: + amdefine ">=0.0.4" + source-map@~0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -4989,6 +5477,19 @@ supports-color@^4.0.0: dependencies: has-flag "^2.0.0" +supports-color@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.1.0.tgz#058a021d1b619f7ddf3980d712ea3590ce7de3d5" + dependencies: + has-flag "^2.0.0" + +supports-hyperlinks@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz#71daedf36cc1060ac5100c351bb3da48c29c0ef7" + dependencies: + has-flag "^2.0.0" + supports-color "^5.0.0" + symbol-tree@^3.2.1: version "3.2.2" 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: dependencies: punycode "^1.4.1" -tough-cookie@~2.3.0: +tough-cookie@^2.3.2, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: @@ -5168,6 +5669,10 @@ tr46@^1.0.0: dependencies: punycode "^2.1.0" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + trim-right@^1.0.0, trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -5204,7 +5709,7 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -typedarray@^0.0.6, typedarray@~0.0.5: +typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -5248,6 +5753,10 @@ unique-stream@^2.0.2: json-stable-stringify "^1.0.0" through2-filter "^2.0.0" +url-template@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21" + user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" @@ -5313,6 +5822,14 @@ vlq@^0.2.1: version "0.2.2" resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.2.tgz#e316d5257b40b86bb43cb8d5fea5d7f54d6b0ca1" +vm2@patriksimek/vm2#custom_files: + version "3.5.0" + resolved "https://codeload.github.com/patriksimek/vm2/tar.gz/7e82f90ac705fc44fad044147cb0df09b4c79a57" + +voca@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/voca/-/voca-1.4.0.tgz#e15ac58b38290b72acc0c330366b6cc7984924d7" + walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" @@ -5323,6 +5840,14 @@ watch@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + +webidl-conversions@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" + webidl-conversions@^4.0.1, webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -5344,6 +5869,13 @@ whatwg-fetch@>=0.10.0: version "2.0.3" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" +whatwg-url@^4.3.0: + version "4.7.1" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.7.1.tgz#df4dc2e3f25a63b1fa5b32ed6d6c139577d690de" + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^6.3.0: version "6.4.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.0.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08" @@ -5386,6 +5918,10 @@ window-size@^0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" + wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -5398,6 +5934,13 @@ wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" +worker-farm@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.3.1.tgz#4333112bb49b17aa050b87895ca6b2cacf40e5ff" + dependencies: + errno ">=0.1.1 <0.2.0-0" + xtend ">=4.0.0 <4.1.0-0" + wrap-ansi@^2.0.0: version "2.1.0" 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: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" +yargs-parser@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" + dependencies: + camelcase "^3.0.0" + lodash.assign "^4.0.6" + yargs-parser@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" @@ -5451,12 +6001,6 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs-parser@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" - dependencies: - camelcase "^4.1.0" - yargs@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.1.tgz#420ef75e840c1457a80adcca9bc6fa3849de51aa" @@ -5475,22 +6019,24 @@ yargs@8.0.1: y18n "^3.2.1" yargs-parser "^7.0.0" -yargs@^10.0.3: - version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.0.tgz#85d98f2264c7487f18c4607b79c7e4e3b160e69e" +yargs@^4.8.0: + version "4.8.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" dependencies: - cliui "^4.0.0" + cliui "^3.2.0" decamelize "^1.1.1" - find-up "^2.1.0" get-caller-file "^1.0.1" - os-locale "^2.0.0" + lodash.assign "^4.0.3" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" + string-width "^1.0.1" + which-module "^1.0.0" + window-size "^0.2.0" y18n "^3.2.1" - yargs-parser "^8.1.0" + yargs-parser "^2.4.1" yargs@^6.3.0, yargs@^6.5.0: version "6.6.0" @@ -5510,6 +6056,24 @@ yargs@^6.3.0, yargs@^6.5.0: y18n "^3.2.1" yargs-parser "^4.2.0" +yargs@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"