From 0985e8f0122814d1513273af7a84714dc61be584 Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 11 Sep 2019 22:47:21 +0800 Subject: [PATCH] ci - build-artifacts - generate sesify-viz for inspecting deps (#7151) * ci - build-artifacts - generate sesify-viz for inspecting deps * lint fix --- .circleci/config.yml | 7 ++ .circleci/scripts/create-sesify-viz | 13 ++ gulpfile.js | 51 +++++++- package.json | 4 + yarn.lock | 183 ++++++++++++++++++++++++++-- 5 files changed, 248 insertions(+), 10 deletions(-) create mode 100755 .circleci/scripts/create-sesify-viz diff --git a/.circleci/config.yml b/.circleci/config.yml index 7373aa3a2..a8cfb4000 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -222,6 +222,13 @@ jobs: - store_artifacts: path: test-artifacts destination: test-artifacts + # important: generate sesify viz AFTER uploading builds as artifacts + - run: + name: build:sesify-viz + command: ./.circleci/scripts/create-sesify-viz + - store_artifacts: + path: build-artifacts + destination: build-artifacts - run: name: build:announce command: ./development/metamaskbot-build-announce.js diff --git a/.circleci/scripts/create-sesify-viz b/.circleci/scripts/create-sesify-viz new file mode 100755 index 000000000..ddaa04eb1 --- /dev/null +++ b/.circleci/scripts/create-sesify-viz @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -x +set -e +set -u +set -o pipefail + +# prepare artifacts dir +mkdir -p ./build-artifacts/deps-viz/ + +# generate viz +SESIFY_AUTOGEN=1 npx gulp build:extension:js:background +npx sesify-viz --deps sesify/deps-background.json --config sesify/background.json --dest ./build-artifacts/deps-viz/background \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index d8c889ed8..9fd821098 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -23,6 +23,9 @@ const rtlcss = require('gulp-rtlcss') const rename = require('gulp-rename') const gulpMultiProcess = require('gulp-multi-process') const endOfStream = pify(require('end-of-stream')) +const sesify = require('sesify') +const mkdirp = require('mkdirp') +const { makeStringTransform } = require('browserify-transform-tools') const packageJSON = require('./package.json') const dependencies = Object.keys(packageJSON && packageJSON.dependencies || {}) @@ -493,11 +496,26 @@ function zipTask (target) { function generateBundler (opts, performBundle) { const browserifyOpts = assign({}, watchify.args, { - plugin: 'browserify-derequire', + plugin: [], + transform: [], debug: opts.buildSourceMaps, fullPaths: opts.buildWithFullPaths, }) + const bundleName = opts.filename.split('.')[0] + + // activate sesify + const activateAutoConfig = Boolean(process.env.SESIFY_AUTOGEN) + // const activateSesify = activateAutoConfig + const activateSesify = activateAutoConfig && ['background'].includes(bundleName) + if (activateSesify) { + configureBundleForSesify({ browserifyOpts, bundleName }) + } + + if (!activateSesify) { + browserifyOpts.plugin.push('browserify-derequire') + } + if (!opts.buildLib) { if (opts.devMode && opts.filename === 'ui.js') { browserifyOpts['entries'] = ['./development/require-react-devtools.js', opts.filepath] @@ -615,6 +633,37 @@ function bundleTask (opts) { } } +function configureBundleForSesify ({ + browserifyOpts, + bundleName, +}) { + // add in sesify args for better globalRef usage detection + Object.assign(browserifyOpts, sesify.args) + + // ensure browserify uses full paths + browserifyOpts.fullPaths = true + + // record dependencies used in bundle + mkdirp.sync('./sesify') + browserifyOpts.plugin.push(['deps-dump', { + filename: `./sesify/deps-${bundleName}.json`, + }]) + + const sesifyConfigPath = `./sesify/${bundleName}.json` + + // add sesify plugin + browserifyOpts.plugin.push([sesify, { + writeAutoConfig: sesifyConfigPath, + }]) + + // remove html comments that SES is alergic to + const removeHtmlComment = makeStringTransform('remove-html-comment', { excludeExtension: ['.json'] }, (content, _, cb) => { + const result = content.split('-->').join('-- >') + cb(null, result) + }) + browserifyOpts.transform.push([removeHtmlComment, { global: true }]) +} + function beep () { process.stdout.write('\x07') } diff --git a/package.json b/package.json index 35b774fa8..86273e078 100644 --- a/package.json +++ b/package.json @@ -186,6 +186,7 @@ "babelify": "^10.0.0", "brfs": "^1.6.1", "browserify": "^16.2.3", + "browserify-transform-tools": "^1.7.0", "chai": "^4.1.0", "chromedriver": "^2.41.0", "concurrently": "^4.1.1", @@ -194,6 +195,7 @@ "css-loader": "^2.1.1", "deep-freeze-strict": "^1.1.1", "del": "^3.0.0", + "deps-dump": "^1.1.0", "envify": "^4.0.0", "enzyme": "^3.4.4", "enzyme-adapter-react-15": "^1.0.6", @@ -263,6 +265,8 @@ "rimraf": "^2.6.2", "sass-loader": "^7.0.1", "selenium-webdriver": "^3.5.0", + "sesify": "^4.2.1", + "sesify-viz": "^2.0.1", "sinon": "^5.0.0", "source-map": "^0.7.2", "static-server": "^2.2.1", diff --git a/yarn.lock b/yarn.lock index ffb6954c1..5175a52b0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2310,6 +2310,14 @@ JSONStream@^1.0.3: jsonparse "^1.2.0" through ">=2.2.7 <3" +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + abab@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" @@ -2393,6 +2401,14 @@ acorn-globals@^4.0.0: dependencies: acorn "^5.0.0" +acorn-globals@^4.3.3: + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + acorn-jsx@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" @@ -2415,6 +2431,11 @@ acorn-node@^1.2.0, acorn-node@^1.3.0, acorn-node@^1.5.2: acorn-walk "^6.1.0" xtend "^4.0.1" +acorn-walk@^6.0.1, acorn-walk@^6.1.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + acorn-walk@^6.1.0: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" @@ -2440,6 +2461,11 @@ acorn@^5.5.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== +acorn@^6.0.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" + integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== + acorn@^6.0.2: version "6.0.4" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz#77377e7353b72ec5104550aa2d2097a2fd40b754" @@ -4705,6 +4731,14 @@ browserify-sign@^4.0.0: inherits "^2.0.1" parse-asn1 "^5.0.0" +browserify-transform-tools@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/browserify-transform-tools/-/browserify-transform-tools-1.7.0.tgz#83e277221f63259bed2e7eb2a283a970a501f4c4" + integrity sha1-g+J3Ih9jJZvtLn6yooOpcKUB9MQ= + dependencies: + falafel "^2.0.0" + through "^2.3.7" + browserify-unibabel@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/browserify-unibabel/-/browserify-unibabel-3.0.0.tgz#5a6b8f0f704ce388d3927df47337e25830f71dda" @@ -7144,6 +7178,15 @@ deprecated-decorator@^0.1.6: resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" integrity sha1-AJZjF7ehL+kvPMgx91g68ym4bDc= +deps-dump@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/deps-dump/-/deps-dump-1.1.0.tgz#13bcb20462b9e267adf4126e5b45d325f2408dd7" + integrity sha512-ZTUZxdYSMuZdQGhQFc2rTlpVGBBREH5XAGFpxtdgHCvNEw4KPr9nJu816HWdBMoBjS9m84/zytwys9i6uK41JQ== + dependencies: + clone "^2.1.2" + json-stable-stringify "^1.0.1" + through2 "^3.0.1" + deps-sort@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5" @@ -9481,7 +9524,7 @@ fake-merkle-patricia-tree@^1.0.1: dependencies: checkpoint-store "^1.1.0" -falafel@^2.1.0: +falafel@^2.0.0, falafel@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.1.0.tgz#96bb17761daba94f46d001738b3cedf3a67fe06c" integrity sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw= @@ -9979,7 +10022,7 @@ follow-redirects@^1.0.0: dependencies: debug "^3.1.0" -for-each@^0.3.3: +for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== @@ -10105,6 +10148,11 @@ from@~0: resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= +fromentries@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.2.0.tgz#e6aa06f240d6267f913cea422075ef88b63e7897" + integrity sha512-33X7H/wdfO99GdRLLgkjUrD4geAFdq/Uv0kl3HD4da6HDixd2GUg8Mw7dahLCV9r/EARkmtYBB6Tch4EEokFTQ== + fs-access@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" @@ -10257,7 +10305,7 @@ ftp@~0.3.10: readable-stream "1.1.x" xregexp "2.0.0" -function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1, function-bind@~1.1.0: +function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1, function-bind@~1.1.0, function-bind@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== @@ -10652,7 +10700,7 @@ glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.4, glob@^7.0.5, glob@^7.1.0, glo once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.4, glob@^7.1.3: +glob@7.1.4, glob@^7.1.3, glob@~7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== @@ -11379,7 +11427,7 @@ has@^1.0.0, has@^1.0.1, has@~1.0.1: dependencies: function-bind "^1.0.2" -has@^1.0.3: +has@^1.0.3, has@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -11922,6 +11970,11 @@ inherits@2.0.1: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= +inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + ini@^1.3.0, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" @@ -14913,6 +14966,10 @@ module-deps@^6.0.0: through2 "^2.0.0" xtend "^4.0.0" +"module-name-from-path@git+https://git@github.com/kumavis/module-name-from-path.git": + version "1.0.4" + resolved "git+https://git@github.com/kumavis/module-name-from-path.git#fd9c592663a1af6cc48b1be7b8045ea547fca79a" + module-not-found-error@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0" @@ -15122,6 +15179,11 @@ nconf@^0.10.0: secure-keys "^1.0.0" yargs "^3.19.0" +ncp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" + integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= + nearley@^2.7.10: version "2.15.1" resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.15.1.tgz#965e4e6ec9ed6b80fc81453e161efbcebb36d247" @@ -15628,7 +15690,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.6.0: +object-inspect@^1.6.0, object-inspect@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== @@ -15801,6 +15863,13 @@ obs-store@^4.0.3: through2 "^2.0.3" xtend "^4.0.1" +offset-sourcemap-lines@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz#5854dff74b73fc06efcb61d7b721a8113d99be92" + integrity sha1-WFTf90tz/Abvy2HXtyGoET2ZvpI= + dependencies: + source-map "^0.5.0" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -18766,6 +18835,14 @@ resolve-options@^1.1.0: dependencies: value-or-function "^3.0.0" +resolve-package-path@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/resolve-package-path/-/resolve-package-path-1.2.7.tgz#2a7bc37ad96865e239330e3102c31322847e652e" + integrity sha512-fVEKHGeK85bGbVFuwO9o1aU0n3vqQGrezPc51JGu9UTXpFQfWq5qCeKxyaRUSvephs+06c5j5rPq/dzHGEo8+Q== + dependencies: + path-root "^0.1.1" + resolve "^1.10.0" + resolve-pathname@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" @@ -18810,7 +18887,7 @@ resolve@^1.1.4, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.4.0, dependencies: path-parse "^1.0.5" -resolve@^1.10.0, resolve@^1.11.0, resolve@^1.8.1: +resolve@^1.10.0, resolve@^1.11.0, resolve@^1.8.1, resolve@~1.11.1: version "1.11.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== @@ -19356,6 +19433,46 @@ servify@^0.1.12: request "^2.79.0" xhr "^2.3.3" +sesify-tofu@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/sesify-tofu/-/sesify-tofu-2.0.4.tgz#b31d4c8d67ea2d61e9c5be4948f085a849f3e632" + integrity sha512-8mWENwqoWauYrtUVww4/QE5mFjj+2JjvVdMWqjcfOZkt3SjOACy+S0ZnxOn06NYpW6epRaPYIqoIF8SdhvXjdA== + dependencies: + acorn-globals "^4.3.3" + +sesify-viz@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sesify-viz/-/sesify-viz-2.0.1.tgz#e2637893584d30a61d68474e9dcc877343ab775b" + integrity sha512-OfsrNNU3UTqgVrOBM46cggIaYvro4AI0CBtI4uAL6lPFS62Y6x54L+LnRwqMl8rfy8oDnY8zJcpVkZSIqcJdoQ== + dependencies: + ncp "^2.0.0" + pify "^4.0.1" + through2 "^3.0.1" + yargs "^13.3.0" + +sesify@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/sesify/-/sesify-4.2.1.tgz#ac98d190b6403abbf90016ec6f3a6d16eef8747e" + integrity sha512-fbgkQCs6KhVK6IhWx+e9MW2cNIzpMSKigIbF6KdAPWGrA6U0D6lDgLErfTB7Sllhv8sYFOwTppIOec+AHdU00g== + dependencies: + JSONStream "^1.3.5" + acorn-globals "^4.3.3" + acorn-walk "^6.1.1" + combine-source-map "^0.8.0" + defined "^1.0.0" + fromentries "^1.1.0" + json-stable-stringify "^1.0.1" + merge-deep "^3.0.2" + module-name-from-path "git+https://git@github.com/kumavis/module-name-from-path.git" + offset-sourcemap-lines "^1.0.1" + pify "^4.0.1" + resolve-package-path "^1.2.7" + safe-buffer "^5.1.2" + sesify-tofu "^2.0.4" + tape "^4.9.1" + through2 "^3.0.0" + umd "^3.0.3" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -21075,6 +21192,25 @@ tape@^4.5.1, tape@^4.6.3, tape@^4.8.0: string.prototype.trim "~1.1.2" through "~2.3.8" +tape@^4.9.1: + version "4.11.0" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.11.0.tgz#63d41accd95e45a23a874473051c57fdbc58edc1" + integrity sha512-yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA== + dependencies: + deep-equal "~1.0.1" + defined "~1.0.0" + for-each "~0.3.3" + function-bind "~1.1.1" + glob "~7.1.4" + has "~1.0.3" + inherits "~2.0.4" + minimist "~1.2.0" + object-inspect "~1.6.0" + resolve "~1.11.1" + resumer "~0.0.0" + string.prototype.trim "~1.1.2" + through "~2.3.8" + tar-stream@^1.5.2: version "1.6.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" @@ -21351,7 +21487,7 @@ through2@^2.0.5: readable-stream "~2.3.6" xtend "~4.0.1" -through2@^3.0.1: +through2@^3.0.0, through2@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== @@ -21374,7 +21510,7 @@ through2@~0.5.0: readable-stream "~1.0.17" xtend "~3.0.0" -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4, through@~2.3.8: +through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.7, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -21782,6 +21918,11 @@ umd@^3.0.0: resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" integrity sha1-iuVW4RAR9jwllnCKiDclnwGz1g4= +umd@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" + integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== + unbzip2-stream@^1.0.9: version "1.3.3" resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a" @@ -23253,6 +23394,14 @@ yargs-parser@^13.1.0: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" @@ -23332,6 +23481,22 @@ yargs@^12.0.1: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" +yargs@^13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.1" + yargs@^3.19.0, yargs@^3.5.4: version "3.32.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995"