Skip to content

Commit f229f9e

Browse files
devversionjosephperrott
authored andcommitted
build: run saucelabs browsers in parallel (#14106)
1 parent 66088cc commit f229f9e

File tree

4 files changed

+128
-31
lines changed

4 files changed

+128
-31
lines changed

.circleci/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ jobs:
149149
environment:
150150
SAUCE_USERNAME: "angular-ci"
151151
SAUCE_ACCESS_KEY: "9b988f434ff8-fbca-8aa4-4ae3-35442987"
152+
# Note: This number should not be too high because otherwise we might run into
153+
# a rate limit exception.
154+
KARMA_PARALLEL_BROWSERS: 2
152155
steps:
153156
- *checkout_code
154157
- *restore_cache

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112
"karma-chrome-launcher": "^2.2.0",
113113
"karma-firefox-launcher": "^1.0.1",
114114
"karma-jasmine": "^1.1.2",
115+
"karma-parallel": "^0.3.0",
115116
"karma-sauce-launcher": "^1.2.0",
116117
"karma-sourcemap-loader": "^0.3.7",
117118
"magic-string": "^0.22.4",

test/karma.conf.js

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,28 @@ module.exports = config => {
9393
});
9494

9595
if (process.env['CIRCLECI']) {
96-
const instanceIndex = Number(process.env['CIRCLE_NODE_INDEX']);
97-
const maxParallelInstances = Number(process.env['CIRCLE_NODE_TOTAL']);
96+
const containerInstanceIndex = Number(process.env['CIRCLE_NODE_INDEX']);
97+
const maxParallelContainerInstances = Number(process.env['CIRCLE_NODE_TOTAL']);
9898
const tunnelIdentifier =
99-
`angular-material-${process.env['CIRCLE_BUILD_NUM']}-${instanceIndex}`;
99+
`angular-material-${process.env['CIRCLE_BUILD_NUM']}-${containerInstanceIndex}`;
100100
const buildIdentifier = `circleci-${tunnelIdentifier}`;
101101
const testPlatform = process.env['TEST_PLATFORM'];
102102

103+
// This defines how often a given browser should be launched in the same CircleCI
104+
// container. This is helpful if we want to shard tests across the same browser.
105+
const parallelBrowserInstances = Number(process.env['KARMA_PARALLEL_BROWSERS']) || 1;
106+
107+
// In case there should be multiple instances of the browsers, we need to set up the
108+
// the karma-parallel plugin.
109+
if (parallelBrowserInstances > 1) {
110+
config.frameworks.unshift('parallel');
111+
config.plugins.push(require('karma-parallel'));
112+
config.parallelOptions = {
113+
executors: parallelBrowserInstances,
114+
shardStrategy: 'round-robin',
115+
}
116+
}
117+
103118
if (testPlatform === 'browserstack') {
104119
config.browserStack.build = buildIdentifier;
105120
config.browserStack.tunnelIdentifier = tunnelIdentifier;
@@ -110,11 +125,11 @@ module.exports = config => {
110125

111126
const platformBrowsers = platformMap[testPlatform];
112127
const browserInstanceChunks = splitBrowsersIntoInstances(
113-
platformBrowsers, maxParallelInstances);
128+
platformBrowsers, maxParallelContainerInstances);
114129

115-
// Configure Karma to launch the browsers that belong to the given test platform
116-
// and instance.
117-
config.browsers = browserInstanceChunks[instanceIndex];
130+
// Configure Karma to launch the browsers that belong to the given test platform and
131+
// container instance.
132+
config.browsers = browserInstanceChunks[containerInstanceIndex];
118133
}
119134
};
120135

yarn.lock

Lines changed: 102 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,6 +1014,11 @@ abbrev@1:
10141014
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
10151015
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
10161016

1017+
abbrev@1.0.x:
1018+
version "1.0.9"
1019+
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
1020+
integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU=
1021+
10171022
accepts@~1.3.4, accepts@~1.3.5:
10181023
version "1.3.5"
10191024
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
@@ -1461,6 +1466,11 @@ async-limiter@~1.0.0:
14611466
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
14621467
integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==
14631468

1469+
async@1.x, async@^1.3.0, async@^1.5.2:
1470+
version "1.5.2"
1471+
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
1472+
integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
1473+
14641474
async@2.0.1:
14651475
version "2.0.1"
14661476
resolved "https://registry.yarnpkg.com/async/-/async-2.0.1.tgz#b709cc0280a9c36f09f4536be823c838a9049e25"
@@ -1475,11 +1485,6 @@ async@2.6.0:
14751485
dependencies:
14761486
lodash "^4.14.0"
14771487

1478-
async@^1.3.0, async@^1.5.2:
1479-
version "1.5.2"
1480-
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
1481-
integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
1482-
14831488
async@^2.0.0, async@^2.0.1, async@^2.1.2, async@^2.3.0, async@^2.4.0, async@^2.5.0, async@~2.6.0:
14841489
version "2.6.1"
14851490
resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610"
@@ -3724,6 +3729,18 @@ escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^
37243729
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
37253730
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
37263731

3732+
escodegen@1.8.x:
3733+
version "1.8.1"
3734+
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
3735+
integrity sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=
3736+
dependencies:
3737+
esprima "^2.7.1"
3738+
estraverse "^1.9.1"
3739+
esutils "^2.0.2"
3740+
optionator "^0.8.1"
3741+
optionalDependencies:
3742+
source-map "~0.2.0"
3743+
37273744
escodegen@1.x.x, escodegen@^1.6.1:
37283745
version "1.11.0"
37293746
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589"
@@ -3741,6 +3758,11 @@ espree@^2.2.3:
37413758
resolved "https://registry.yarnpkg.com/espree/-/espree-2.2.5.tgz#df691b9310889402aeb29cc066708c56690b854b"
37423759
integrity sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=
37433760

3761+
esprima@2.7.x, esprima@^2.7.1:
3762+
version "2.7.3"
3763+
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
3764+
integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=
3765+
37443766
esprima@3.x.x, esprima@^3.1.3:
37453767
version "3.1.3"
37463768
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
@@ -3758,6 +3780,11 @@ espurify@^1.6.0:
37583780
dependencies:
37593781
core-js "^2.0.0"
37603782

3783+
estraverse@^1.9.1:
3784+
version "1.9.3"
3785+
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
3786+
integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=
3787+
37613788
estraverse@^4.1.0, estraverse@^4.2.0:
37623789
version "4.2.0"
37633790
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -4736,6 +4763,17 @@ glob@^4.3.1:
47364763
minimatch "^2.0.1"
47374764
once "^1.3.0"
47384765

4766+
glob@^5.0.15:
4767+
version "5.0.15"
4768+
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
4769+
integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
4770+
dependencies:
4771+
inflight "^1.0.4"
4772+
inherits "2"
4773+
minimatch "2 || 3"
4774+
once "^1.3.0"
4775+
path-is-absolute "^1.0.0"
4776+
47394777
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1:
47404778
version "7.1.3"
47414779
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
@@ -5328,7 +5366,7 @@ hammerjs@^2.0.8:
53285366
resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1"
53295367
integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=
53305368

5331-
handlebars@^4.0.2:
5369+
handlebars@^4.0.1, handlebars@^4.0.2:
53325370
version "4.0.12"
53335371
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5"
53345372
integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==
@@ -6354,6 +6392,26 @@ isstream@0.1.x, isstream@~0.1.2:
63546392
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
63556393
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
63566394

6395+
istanbul@^0.4.5:
6396+
version "0.4.5"
6397+
resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
6398+
integrity sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=
6399+
dependencies:
6400+
abbrev "1.0.x"
6401+
async "1.x"
6402+
escodegen "1.8.x"
6403+
esprima "2.7.x"
6404+
glob "^5.0.15"
6405+
handlebars "^4.0.1"
6406+
js-yaml "3.x"
6407+
mkdirp "0.5.x"
6408+
nopt "3.x"
6409+
once "1.x"
6410+
resolve "1.1.x"
6411+
supports-color "^3.1.0"
6412+
which "^1.1.1"
6413+
wordwrap "^1.0.0"
6414+
63576415
isurl@^1.0.0-alpha5:
63586416
version "1.0.0"
63596417
resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67"
@@ -6422,7 +6480,7 @@ js-tokens@^4.0.0:
64226480
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
64236481
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
64246482

6425-
js-yaml@^3.7.0, js-yaml@^3.9.0:
6483+
js-yaml@3.x, js-yaml@^3.7.0, js-yaml@^3.9.0:
64266484
version "3.12.0"
64276485
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
64286486
integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==
@@ -6650,6 +6708,14 @@ karma-jasmine@^1.1.2:
66506708
resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.2.tgz#394f2b25ffb4a644b9ada6f22d443e2fd08886c3"
66516709
integrity sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=
66526710

6711+
karma-parallel@^0.3.0:
6712+
version "0.3.0"
6713+
resolved "https://registry.yarnpkg.com/karma-parallel/-/karma-parallel-0.3.0.tgz#2f5502fb824528647c935be18655567c84c013a9"
6714+
integrity sha512-tGRXTTv2ebttWUBj/nPiKDkqZP/GaOFuO/MhOqC01TKtixZoh/9gzaAUCU8OQa1mfGokhw0zuumid2ybS6lXEg==
6715+
dependencies:
6716+
istanbul "^0.4.5"
6717+
lodash "^4.17.11"
6718+
66536719
karma-requirejs@1.1.0:
66546720
version "1.1.0"
66556721
resolved "https://registry.yarnpkg.com/karma-requirejs/-/karma-requirejs-1.1.0.tgz#fddae2cb87d7ebc16fb0222893564d7fee578798"
@@ -7227,7 +7293,7 @@ lodash@^3.10.1:
72277293
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
72287294
integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=
72297295

7230-
lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.8.0, lodash@~4.17.10:
7296+
lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.8.0, lodash@~4.17.10:
72317297
version "4.17.11"
72327298
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
72337299
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
@@ -7673,20 +7739,20 @@ mimic-response@^1.0.0:
76737739
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
76747740
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
76757741

7742+
"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
7743+
version "3.0.4"
7744+
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
7745+
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
7746+
dependencies:
7747+
brace-expansion "^1.1.7"
7748+
76767749
minimatch@^2.0.1:
76777750
version "2.0.10"
76787751
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
76797752
integrity sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=
76807753
dependencies:
76817754
brace-expansion "^1.0.0"
76827755

7683-
minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
7684-
version "3.0.4"
7685-
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
7686-
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
7687-
dependencies:
7688-
brace-expansion "^1.1.7"
7689-
76907756
minimatch@~0.2.11:
76917757
version "0.2.14"
76927758
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
@@ -8068,7 +8134,7 @@ nodemailer@^2.5.0:
80688134
nodemailer-smtp-transport "2.7.2"
80698135
socks "1.1.9"
80708136

8071-
"nopt@2 || 3":
8137+
"nopt@2 || 3", nopt@3.x:
80728138
version "3.0.6"
80738139
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
80748140
integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
@@ -8282,7 +8348,7 @@ on-headers@^1.0.0, on-headers@~1.0.1:
82828348
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
82838349
integrity sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=
82848350

8285-
once@^1.3.0, once@^1.3.1, once@^1.4.0:
8351+
once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0:
82868352
version "1.4.0"
82878353
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
82888354
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
@@ -9775,6 +9841,11 @@ resolve-url@^0.2.1:
97759841
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
97769842
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
97779843

9844+
resolve@1.1.x:
9845+
version "1.1.7"
9846+
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
9847+
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
9848+
97789849
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2, resolve@^1.4.0:
97799850
version "1.8.1"
97809851
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
@@ -10489,6 +10560,13 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
1048910560
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
1049010561
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
1049110562

10563+
source-map@~0.2.0:
10564+
version "0.2.0"
10565+
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
10566+
integrity sha1-2rc/vPwrqBm03gO9b26qSBZLP50=
10567+
dependencies:
10568+
amdefine ">=0.0.4"
10569+
1049210570
sourcemap-codec@^1.3.0, sourcemap-codec@^1.4.1:
1049310571
version "1.4.3"
1049410572
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz#0ba615b73ec35112f63c2f2d9e7c3f87282b0e33"
@@ -10936,7 +11014,7 @@ supports-color@^2.0.0:
1093611014
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
1093711015
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
1093811016

10939-
supports-color@^3.2.3:
11017+
supports-color@^3.1.0, supports-color@^3.2.3:
1094011018
version "3.2.3"
1094111019
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
1094211020
integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
@@ -12057,7 +12135,7 @@ which-module@^2.0.0:
1205712135
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
1205812136
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
1205912137

12060-
which@1, which@^1.2.1, which@^1.2.14, which@^1.2.9:
12138+
which@1, which@^1.1.1, which@^1.2.1, which@^1.2.14, which@^1.2.9:
1206112139
version "1.3.1"
1206212140
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
1206312141
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -12155,16 +12233,16 @@ wordwrap@0.0.2:
1215512233
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
1215612234
integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
1215712235

12236+
wordwrap@^1.0.0, wordwrap@~1.0.0:
12237+
version "1.0.0"
12238+
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
12239+
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
12240+
1215812241
wordwrap@~0.0.2:
1215912242
version "0.0.3"
1216012243
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
1216112244
integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
1216212245

12163-
wordwrap@~1.0.0:
12164-
version "1.0.0"
12165-
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
12166-
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
12167-
1216812246
wrap-ansi@^2.0.0:
1216912247
version "2.1.0"
1217012248
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"

0 commit comments

Comments
 (0)