Skip to content

Commit ea4e0d2

Browse files
committed
build: run saucelabs browsers in parallel
1 parent 26c73e0 commit ea4e0d2

File tree

4 files changed

+122
-32
lines changed

4 files changed

+122
-32
lines changed

.circleci/config.yml

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

package.json

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

test/karma.conf.js

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,16 @@ module.exports = (config) => {
9494
});
9595

9696
if (process.env['CIRCLECI']) {
97-
const instanceIndex = Number(process.env['CIRCLE_NODE_INDEX']);
98-
const maxParallelInstances = Number(process.env['CIRCLE_NODE_TOTAL']);
99-
const tunnelIdentifier = `${process.env['CIRCLE_BUILD_NUM']}-${instanceIndex}`;
97+
const containerInstanceIndex = Number(process.env['CIRCLE_NODE_INDEX']);
98+
const maxParallelContainerInstances = Number(process.env['CIRCLE_NODE_TOTAL']);
99+
const tunnelIdentifier = `${process.env['CIRCLE_BUILD_NUM']}-${containerInstanceIndex}`;
100100
const buildIdentifier = `angular-material-${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+
103107
if (testPlatform === 'browserstack') {
104108
config.browserStack.build = buildIdentifier;
105109
config.browserStack.tunnelIdentifier = tunnelIdentifier;
@@ -110,11 +114,15 @@ module.exports = (config) => {
110114

111115
const platformBrowsers = platformMap[testPlatform];
112116
const browserInstanceChunks = splitBrowsersIntoInstances(
113-
platformBrowsers, maxParallelInstances);
114-
115-
// Configure Karma to launch the browsers that belong to the given test platform
116-
// and instance.
117-
config.browsers = browserInstanceChunks[instanceIndex];
117+
platformBrowsers, maxParallelContainerInstances);
118+
119+
// Configure Karma to launch the browsers that belong to the given test platform and
120+
// instance. Also set up the parallel executors based on the specified parallel browsers.
121+
config.browsers = browserInstanceChunks[containerInstanceIndex];
122+
config.parallelOptions = {
123+
executors: parallelBrowserInstances,
124+
shardStrategy: 'round-robin',
125+
}
118126
}
119127
};
120128

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"
@@ -3720,6 +3725,18 @@ escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^
37203725
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
37213726
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
37223727

3728+
escodegen@1.8.x:
3729+
version "1.8.1"
3730+
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
3731+
integrity sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=
3732+
dependencies:
3733+
esprima "^2.7.1"
3734+
estraverse "^1.9.1"
3735+
esutils "^2.0.2"
3736+
optionator "^0.8.1"
3737+
optionalDependencies:
3738+
source-map "~0.2.0"
3739+
37233740
escodegen@1.x.x, escodegen@^1.6.1:
37243741
version "1.11.0"
37253742
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589"
@@ -3737,6 +3754,11 @@ espree@^2.2.3:
37373754
resolved "https://registry.yarnpkg.com/espree/-/espree-2.2.5.tgz#df691b9310889402aeb29cc066708c56690b854b"
37383755
integrity sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=
37393756

3757+
esprima@2.7.x, esprima@^2.7.1:
3758+
version "2.7.3"
3759+
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
3760+
integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=
3761+
37403762
esprima@3.x.x, esprima@^3.1.3:
37413763
version "3.1.3"
37423764
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
@@ -3754,6 +3776,11 @@ espurify@^1.6.0:
37543776
dependencies:
37553777
core-js "^2.0.0"
37563778

3779+
estraverse@^1.9.1:
3780+
version "1.9.3"
3781+
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
3782+
integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=
3783+
37573784
estraverse@^4.1.0, estraverse@^4.2.0:
37583785
version "4.2.0"
37593786
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -4732,6 +4759,17 @@ glob@^4.3.1:
47324759
minimatch "^2.0.1"
47334760
once "^1.3.0"
47344761

4762+
glob@^5.0.15:
4763+
version "5.0.15"
4764+
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
4765+
integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
4766+
dependencies:
4767+
inflight "^1.0.4"
4768+
inherits "2"
4769+
minimatch "2 || 3"
4770+
once "^1.3.0"
4771+
path-is-absolute "^1.0.0"
4772+
47354773
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:
47364774
version "7.1.3"
47374775
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
@@ -5323,7 +5361,7 @@ hammerjs@^2.0.8:
53235361
resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1"
53245362
integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=
53255363

5326-
handlebars@^4.0.2:
5364+
handlebars@^4.0.1, handlebars@^4.0.2:
53275365
version "4.0.12"
53285366
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5"
53295367
integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==
@@ -6356,6 +6394,26 @@ isstream@0.1.x, isstream@~0.1.2:
63566394
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
63576395
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
63586396

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

6427-
js-yaml@^3.7.0, js-yaml@^3.9.0:
6485+
js-yaml@3.x, js-yaml@^3.7.0, js-yaml@^3.9.0:
64286486
version "3.12.0"
64296487
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
64306488
integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==
@@ -6652,6 +6710,14 @@ karma-jasmine@^1.1.2:
66526710
resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.2.tgz#394f2b25ffb4a644b9ada6f22d443e2fd08886c3"
66536711
integrity sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=
66546712

6713+
karma-parallel@^0.3.0:
6714+
version "0.3.0"
6715+
resolved "https://registry.yarnpkg.com/karma-parallel/-/karma-parallel-0.3.0.tgz#2f5502fb824528647c935be18655567c84c013a9"
6716+
integrity sha512-tGRXTTv2ebttWUBj/nPiKDkqZP/GaOFuO/MhOqC01TKtixZoh/9gzaAUCU8OQa1mfGokhw0zuumid2ybS6lXEg==
6717+
dependencies:
6718+
istanbul "^0.4.5"
6719+
lodash "^4.17.11"
6720+
66556721
karma-requirejs@1.1.0:
66566722
version "1.1.0"
66576723
resolved "https://registry.yarnpkg.com/karma-requirejs/-/karma-requirejs-1.1.0.tgz#fddae2cb87d7ebc16fb0222893564d7fee578798"
@@ -7229,7 +7295,7 @@ lodash@^3.10.1:
72297295
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
72307296
integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=
72317297

7232-
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:
7298+
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:
72337299
version "4.17.11"
72347300
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
72357301
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
@@ -7670,20 +7736,20 @@ mimic-response@^1.0.0:
76707736
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
76717737
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
76727738

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

7680-
minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
7681-
version "3.0.4"
7682-
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
7683-
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
7684-
dependencies:
7685-
brace-expansion "^1.1.7"
7686-
76877753
minimatch@~0.2.11:
76887754
version "0.2.14"
76897755
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
@@ -8065,7 +8131,7 @@ nodemailer@^2.5.0:
80658131
nodemailer-smtp-transport "2.7.2"
80668132
socks "1.1.9"
80678133

8068-
"nopt@2 || 3":
8134+
"nopt@2 || 3", nopt@3.x:
80698135
version "3.0.6"
80708136
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
80718137
integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
@@ -8279,7 +8345,7 @@ on-headers@^1.0.0, on-headers@~1.0.1:
82798345
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
82808346
integrity sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=
82818347

8282-
once@^1.3.0, once@^1.3.1, once@^1.4.0:
8348+
once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0:
82838349
version "1.4.0"
82848350
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
82858351
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
@@ -9821,6 +9887,11 @@ resolve-url@^0.2.1:
98219887
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
98229888
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
98239889

9890+
resolve@1.1.x:
9891+
version "1.1.7"
9892+
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
9893+
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
9894+
98249895
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2, resolve@^1.4.0:
98259896
version "1.8.1"
98269897
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
@@ -10540,6 +10611,13 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
1054010611
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
1054110612
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
1054210613

10614+
source-map@~0.2.0:
10615+
version "0.2.0"
10616+
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
10617+
integrity sha1-2rc/vPwrqBm03gO9b26qSBZLP50=
10618+
dependencies:
10619+
amdefine ">=0.0.4"
10620+
1054310621
sourcemap-codec@^1.3.0, sourcemap-codec@^1.4.1:
1054410622
version "1.4.3"
1054510623
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz#0ba615b73ec35112f63c2f2d9e7c3f87282b0e33"
@@ -10986,7 +11064,7 @@ supports-color@^2.0.0:
1098611064
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
1098711065
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
1098811066

10989-
supports-color@^3.2.3:
11067+
supports-color@^3.1.0, supports-color@^3.2.3:
1099011068
version "3.2.3"
1099111069
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
1099211070
integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
@@ -12104,7 +12182,7 @@ which-module@^2.0.0:
1210412182
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
1210512183
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
1210612184

12107-
which@1, which@^1.2.1, which@^1.2.14, which@^1.2.9:
12185+
which@1, which@^1.1.1, which@^1.2.1, which@^1.2.14, which@^1.2.9:
1210812186
version "1.3.1"
1210912187
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
1211012188
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -12202,16 +12280,16 @@ wordwrap@0.0.2:
1220212280
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
1220312281
integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
1220412282

12283+
wordwrap@^1.0.0, wordwrap@~1.0.0:
12284+
version "1.0.0"
12285+
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
12286+
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
12287+
1220512288
wordwrap@~0.0.2:
1220612289
version "0.0.3"
1220712290
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
1220812291
integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
1220912292

12210-
wordwrap@~1.0.0:
12211-
version "1.0.0"
12212-
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
12213-
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
12214-
1221512293
wrap-ansi@^2.0.0:
1221612294
version "2.1.0"
1221712295
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"

0 commit comments

Comments
 (0)