vercel 26.0.0 → 27.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -28433,73 +28433,6 @@ function tryAutoDetect(){
28433
28433
  }
28434
28434
 
28435
28435
 
28436
- /***/ }),
28437
-
28438
- /***/ 57193:
28439
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
28440
-
28441
- /*! arch. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
28442
- var cp = __webpack_require__(63129)
28443
- var fs = __webpack_require__(35747)
28444
- var path = __webpack_require__(85622)
28445
-
28446
- /**
28447
- * Returns the operating system's CPU architecture. This is different than
28448
- * `process.arch` or `os.arch()` which returns the architecture the Node.js (or
28449
- * Electron) binary was compiled for.
28450
- */
28451
- module.exports = function arch () {
28452
- /**
28453
- * The running binary is 64-bit, so the OS is clearly 64-bit.
28454
- */
28455
- if (process.arch === 'x64') {
28456
- return 'x64'
28457
- }
28458
-
28459
- /**
28460
- * All recent versions of Mac OS are 64-bit.
28461
- */
28462
- if (process.platform === 'darwin') {
28463
- return 'x64'
28464
- }
28465
-
28466
- /**
28467
- * On Windows, the most reliable way to detect a 64-bit OS from within a 32-bit
28468
- * app is based on the presence of a WOW64 file: %SystemRoot%\SysNative.
28469
- * See: https://twitter.com/feross/status/776949077208510464
28470
- */
28471
- if (process.platform === 'win32') {
28472
- var useEnv = false
28473
- try {
28474
- useEnv = !!(process.env.SYSTEMROOT && fs.statSync(process.env.SYSTEMROOT))
28475
- } catch (err) {}
28476
-
28477
- var sysRoot = useEnv ? process.env.SYSTEMROOT : 'C:\\Windows'
28478
-
28479
- // If %SystemRoot%\SysNative exists, we are in a WOW64 FS Redirected application.
28480
- var isWOW64 = false
28481
- try {
28482
- isWOW64 = !!fs.statSync(path.join(sysRoot, 'sysnative'))
28483
- } catch (err) {}
28484
-
28485
- return isWOW64 ? 'x64' : 'x86'
28486
- }
28487
-
28488
- /**
28489
- * On Linux, use the `getconf` command to get the architecture.
28490
- */
28491
- if (process.platform === 'linux') {
28492
- var output = cp.execSync('getconf LONG_BIT', { encoding: 'utf8' })
28493
- return output === '64\n' ? 'x64' : 'x86'
28494
- }
28495
-
28496
- /**
28497
- * If none of the above, assume the architecture is 32-bit.
28498
- */
28499
- return 'x86'
28500
- }
28501
-
28502
-
28503
28436
  /***/ }),
28504
28437
 
28505
28438
  /***/ 27800:
@@ -44070,214 +44003,6 @@ function cliWidth(options) {
44070
44003
  };
44071
44004
 
44072
44005
 
44073
- /***/ }),
44074
-
44075
- /***/ 19997:
44076
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
44077
-
44078
- "use strict";
44079
-
44080
- const termux = __webpack_require__(87731);
44081
- const linux = __webpack_require__(11367);
44082
- const macos = __webpack_require__(6425);
44083
- const windows = __webpack_require__(42091);
44084
-
44085
- const platformLib = (() => {
44086
- switch (process.platform) {
44087
- case 'darwin':
44088
- return macos;
44089
- case 'win32':
44090
- return windows;
44091
- case 'android':
44092
- if (process.env.PREFIX !== '/data/data/com.termux/files/usr') {
44093
- throw new Error('You need to install Termux for this module to work on Android: https://termux.com');
44094
- }
44095
-
44096
- return termux;
44097
- default:
44098
- return linux;
44099
- }
44100
- })();
44101
-
44102
- exports.write = async text => {
44103
- if (typeof text !== 'string') {
44104
- throw new TypeError(`Expected a string, got ${typeof text}`);
44105
- }
44106
-
44107
- await platformLib.copy({input: text});
44108
- };
44109
-
44110
- exports.read = async () => platformLib.paste({stripEof: false});
44111
-
44112
- exports.writeSync = text => {
44113
- if (typeof text !== 'string') {
44114
- throw new TypeError(`Expected a string, got ${typeof text}`);
44115
- }
44116
-
44117
- platformLib.copySync({input: text});
44118
- };
44119
-
44120
- exports.readSync = () => platformLib.pasteSync({stripEof: false}).stdout;
44121
-
44122
-
44123
- /***/ }),
44124
-
44125
- /***/ 11367:
44126
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
44127
-
44128
- "use strict";
44129
-
44130
- const path = __webpack_require__(85622);
44131
- const execa = __webpack_require__(30580);
44132
-
44133
- const xsel = 'xsel';
44134
- const xselFallback = __webpack_require__.ab + "xsel";
44135
-
44136
- const copyArguments = ['--clipboard', '--input'];
44137
- const pasteArguments = ['--clipboard', '--output'];
44138
-
44139
- const makeError = (xselError, fallbackError) => {
44140
- let error;
44141
- if (xselError.code === 'ENOENT') {
44142
- error = new Error('Couldn\'t find the `xsel` binary and fallback didn\'t work. On Debian/Ubuntu you can install xsel with: sudo apt install xsel');
44143
- } else {
44144
- error = new Error('Both xsel and fallback failed');
44145
- error.xselError = xselError;
44146
- }
44147
-
44148
- error.fallbackError = fallbackError;
44149
- return error;
44150
- };
44151
-
44152
- const xselWithFallback = async (argumentList, options) => {
44153
- try {
44154
- return await execa.stdout(xsel, argumentList, options);
44155
- } catch (xselError) {
44156
- try {
44157
- return await execa.stdout(__webpack_require__.ab + "xsel", argumentList, options);
44158
- } catch (fallbackError) {
44159
- throw makeError(xselError, fallbackError);
44160
- }
44161
- }
44162
- };
44163
-
44164
- const xselWithFallbackSync = (argumentList, options) => {
44165
- try {
44166
- return execa.sync(xsel, argumentList, options);
44167
- } catch (xselError) {
44168
- try {
44169
- return execa.sync(__webpack_require__.ab + "xsel", argumentList, options);
44170
- } catch (fallbackError) {
44171
- throw makeError(xselError, fallbackError);
44172
- }
44173
- }
44174
- };
44175
-
44176
- module.exports = {
44177
- copy: async options => {
44178
- await xselWithFallback(copyArguments, options);
44179
- },
44180
- copySync: options => {
44181
- xselWithFallbackSync(copyArguments, options);
44182
- },
44183
- paste: options => xselWithFallback(pasteArguments, options),
44184
- pasteSync: options => xselWithFallbackSync(pasteArguments, options)
44185
- };
44186
-
44187
-
44188
- /***/ }),
44189
-
44190
- /***/ 6425:
44191
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
44192
-
44193
- "use strict";
44194
-
44195
- const execa = __webpack_require__(30580);
44196
-
44197
- const env = {
44198
- ...process.env,
44199
- LC_CTYPE: 'UTF-8'
44200
- };
44201
-
44202
- module.exports = {
44203
- copy: async options => execa('pbcopy', {...options, env}),
44204
- paste: async options => execa.stdout('pbpaste', {...options, env}),
44205
- copySync: options => execa.sync('pbcopy', {...options, env}),
44206
- pasteSync: options => execa.sync('pbpaste', {...options, env})
44207
- };
44208
-
44209
-
44210
- /***/ }),
44211
-
44212
- /***/ 87731:
44213
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
44214
-
44215
- "use strict";
44216
-
44217
- const execa = __webpack_require__(30580);
44218
-
44219
- const handler = error => {
44220
- if (error.code === 'ENOENT') {
44221
- throw new Error('Couldn\'t find the termux-api scripts. You can install them with: apt install termux-api');
44222
- }
44223
-
44224
- throw error;
44225
- };
44226
-
44227
- module.exports = {
44228
- copy: async options => {
44229
- try {
44230
- await execa('termux-clipboard-set', options);
44231
- } catch (error) {
44232
- handler(error);
44233
- }
44234
- },
44235
- paste: async options => {
44236
- try {
44237
- return await execa.stdout('termux-clipboard-get', options);
44238
- } catch (error) {
44239
- handler(error);
44240
- }
44241
- },
44242
- copySync: options => {
44243
- try {
44244
- execa.sync('termux-clipboard-set', options);
44245
- } catch (error) {
44246
- handler(error);
44247
- }
44248
- },
44249
- pasteSync: options => {
44250
- try {
44251
- return execa.sync('termux-clipboard-get', options);
44252
- } catch (error) {
44253
- handler(error);
44254
- }
44255
- }
44256
- };
44257
-
44258
-
44259
- /***/ }),
44260
-
44261
- /***/ 42091:
44262
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
44263
-
44264
- "use strict";
44265
-
44266
- const path = __webpack_require__(85622);
44267
- const execa = __webpack_require__(30580);
44268
- const arch = __webpack_require__(57193);
44269
-
44270
- // Binaries from: https://github.com/sindresorhus/win-clipboard
44271
- const windowBinaryPath = arch() === 'x64' ? __webpack_require__.ab + "clipboard_x86_64.exe" : __webpack_require__.ab + "clipboard_i686.exe";
44272
-
44273
- module.exports = {
44274
- copy: async options => execa(windowBinaryPath, ['--copy'], options),
44275
- paste: async options => execa.stdout(windowBinaryPath, ['--paste'], options),
44276
- copySync: options => execa.sync(windowBinaryPath, ['--copy'], options),
44277
- pasteSync: options => execa.sync(windowBinaryPath, ['--paste'], options)
44278
- };
44279
-
44280
-
44281
44006
  /***/ }),
44282
44007
 
44283
44008
  /***/ 26845:
@@ -59210,2757 +58935,386 @@ EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
59210
58935
  args[i - 1] = arguments[i];
59211
58936
  }
59212
58937
 
59213
- listeners.fn.apply(listeners.context, args);
59214
- } else {
59215
- var length = listeners.length
59216
- , j;
59217
-
59218
- for (i = 0; i < length; i++) {
59219
- if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);
59220
-
59221
- switch (len) {
59222
- case 1: listeners[i].fn.call(listeners[i].context); break;
59223
- case 2: listeners[i].fn.call(listeners[i].context, a1); break;
59224
- case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
59225
- case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;
59226
- default:
59227
- if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
59228
- args[j - 1] = arguments[j];
59229
- }
59230
-
59231
- listeners[i].fn.apply(listeners[i].context, args);
59232
- }
59233
- }
59234
- }
59235
-
59236
- return true;
59237
- };
59238
-
59239
- /**
59240
- * Add a listener for a given event.
59241
- *
59242
- * @param {(String|Symbol)} event The event name.
59243
- * @param {Function} fn The listener function.
59244
- * @param {*} [context=this] The context to invoke the listener with.
59245
- * @returns {EventEmitter} `this`.
59246
- * @public
59247
- */
59248
- EventEmitter.prototype.on = function on(event, fn, context) {
59249
- return addListener(this, event, fn, context, false);
59250
- };
59251
-
59252
- /**
59253
- * Add a one-time listener for a given event.
59254
- *
59255
- * @param {(String|Symbol)} event The event name.
59256
- * @param {Function} fn The listener function.
59257
- * @param {*} [context=this] The context to invoke the listener with.
59258
- * @returns {EventEmitter} `this`.
59259
- * @public
59260
- */
59261
- EventEmitter.prototype.once = function once(event, fn, context) {
59262
- return addListener(this, event, fn, context, true);
59263
- };
59264
-
59265
- /**
59266
- * Remove the listeners of a given event.
59267
- *
59268
- * @param {(String|Symbol)} event The event name.
59269
- * @param {Function} fn Only remove the listeners that match this function.
59270
- * @param {*} context Only remove the listeners that have this context.
59271
- * @param {Boolean} once Only remove one-time listeners.
59272
- * @returns {EventEmitter} `this`.
59273
- * @public
59274
- */
59275
- EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
59276
- var evt = prefix ? prefix + event : event;
59277
-
59278
- if (!this._events[evt]) return this;
59279
- if (!fn) {
59280
- clearEvent(this, evt);
59281
- return this;
59282
- }
59283
-
59284
- var listeners = this._events[evt];
59285
-
59286
- if (listeners.fn) {
59287
- if (
59288
- listeners.fn === fn &&
59289
- (!once || listeners.once) &&
59290
- (!context || listeners.context === context)
59291
- ) {
59292
- clearEvent(this, evt);
59293
- }
59294
- } else {
59295
- for (var i = 0, events = [], length = listeners.length; i < length; i++) {
59296
- if (
59297
- listeners[i].fn !== fn ||
59298
- (once && !listeners[i].once) ||
59299
- (context && listeners[i].context !== context)
59300
- ) {
59301
- events.push(listeners[i]);
59302
- }
59303
- }
59304
-
59305
- //
59306
- // Reset the array, or remove it completely if we have no more listeners.
59307
- //
59308
- if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
59309
- else clearEvent(this, evt);
59310
- }
59311
-
59312
- return this;
59313
- };
59314
-
59315
- /**
59316
- * Remove all listeners, or those of the specified event.
59317
- *
59318
- * @param {(String|Symbol)} [event] The event name.
59319
- * @returns {EventEmitter} `this`.
59320
- * @public
59321
- */
59322
- EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
59323
- var evt;
59324
-
59325
- if (event) {
59326
- evt = prefix ? prefix + event : event;
59327
- if (this._events[evt]) clearEvent(this, evt);
59328
- } else {
59329
- this._events = new Events();
59330
- this._eventsCount = 0;
59331
- }
59332
-
59333
- return this;
59334
- };
59335
-
59336
- //
59337
- // Alias methods names because people roll like that.
59338
- //
59339
- EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
59340
- EventEmitter.prototype.addListener = EventEmitter.prototype.on;
59341
-
59342
- //
59343
- // Expose the prefix.
59344
- //
59345
- EventEmitter.prefixed = prefix;
59346
-
59347
- //
59348
- // Allow `EventEmitter` to be imported as module namespace.
59349
- //
59350
- EventEmitter.EventEmitter = EventEmitter;
59351
-
59352
- //
59353
- // Expose the module.
59354
- //
59355
- if (true) {
59356
- module.exports = EventEmitter;
59357
- }
59358
-
59359
-
59360
- /***/ }),
59361
-
59362
- /***/ 16386:
59363
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
59364
-
59365
- (function () {
59366
-
59367
- var events = __webpack_require__(28614);
59368
- var util = __webpack_require__(31669);
59369
-
59370
- function intercept(type, interceptor) {
59371
- var m;
59372
-
59373
- if (typeof interceptor !== 'function') {
59374
- throw new TypeError('interceptor must be a function');
59375
- }
59376
-
59377
- this.emit('newInterceptor', type, interceptor);
59378
-
59379
- if (!this._interceptors[type]) {
59380
- this._interceptors[type] = [interceptor];
59381
- } else {
59382
- this._interceptors[type].push(interceptor);
59383
- }
59384
-
59385
- // Check for listener leak
59386
- if (!this._interceptors[type].warned) {
59387
- if (typeof this._maxInterceptors !== 'undefined') {
59388
- m = this._maxInterceptors;
59389
- } else {
59390
- m = EventEmitter.defaultMaxInterceptors;
59391
- }
59392
-
59393
- if (m && m > 0 && this._interceptors[type].length > m) {
59394
- this._interceptors[type].warned = true;
59395
- console.error('(node) warning: possible events-intercept EventEmitter memory ' +
59396
- 'leak detected. %d interceptors added. ' +
59397
- 'Use emitter.setMaxInterceptors(n) to increase limit.',
59398
- this._interceptors[type].length);
59399
- console.trace();
59400
- }
59401
- }
59402
-
59403
- return this;
59404
- }
59405
-
59406
- function emitFactory(superCall) {
59407
- return function (type) {
59408
- var completed,
59409
- interceptor,
59410
- _this = this;
59411
-
59412
- function next(err) {
59413
- var trueArgs;
59414
- if (err) {
59415
- _this.emit('error', err);
59416
- } else if (completed === interceptor.length) {
59417
- return superCall.apply(_this, [type].concat(Array.prototype.slice.call(arguments).slice(1)));
59418
- } else {
59419
- trueArgs = Array.prototype.slice.call(arguments).slice(1).concat([next]);
59420
- completed += 1;
59421
- return interceptor[completed - 1].apply(_this, trueArgs);
59422
- }
59423
- }
59424
-
59425
- if (!_this._interceptors) {
59426
- _this._interceptors = {};
59427
- }
59428
-
59429
- interceptor = _this._interceptors[type];
59430
-
59431
- if (!interceptor) {
59432
-
59433
- //Just pass through
59434
- return superCall.apply(_this, arguments);
59435
-
59436
- } else {
59437
-
59438
- completed = 0;
59439
- return next.apply(_this, [null].concat(Array.prototype.slice.call(arguments).slice(1)));
59440
-
59441
- }
59442
- };
59443
- }
59444
-
59445
- function interceptors(type) {
59446
- var ret;
59447
-
59448
- if (!this._interceptors || !this._interceptors[type]) {
59449
- ret = [];
59450
- } else {
59451
- ret = this._interceptors[type].slice();
59452
- }
59453
-
59454
- return ret;
59455
- }
59456
-
59457
- function removeInterceptor(type, interceptor) {
59458
- var list, position, length, i;
59459
-
59460
- if (typeof interceptor !== 'function') {
59461
- throw new TypeError('interceptor must be a function');
59462
- }
59463
-
59464
- if (!this._interceptors || !this._interceptors[type]) {
59465
- return this;
59466
- }
59467
-
59468
- list = this._interceptors[type];
59469
- length = list.length;
59470
- position = -1;
59471
-
59472
- for (i = length - 1; i >= 0; i--) {
59473
- if (list[i] === interceptor) {
59474
- position = i;
59475
- break;
59476
- }
59477
- }
59478
-
59479
- if (position < 0) {
59480
- return this;
59481
- }
59482
-
59483
- if (length === 1) {
59484
- delete this._interceptors[type];
59485
- } else {
59486
- list.splice(position, 1);
59487
- }
59488
-
59489
- this.emit('removeInterceptor', type, interceptor);
59490
-
59491
- return this;
59492
- }
59493
-
59494
- function listenersFactory(superCall) {
59495
- return function (type) {
59496
- var superListeners = superCall.call(this, type);
59497
- var fakeFunctionIndex;
59498
- var tempSuperListeners = superListeners.slice();
59499
- if (type === 'newListener' || type === 'removeListener') {
59500
- fakeFunctionIndex = superListeners.indexOf(fakeFunction);
59501
- if (fakeFunctionIndex !== -1) {
59502
- tempSuperListeners.splice(fakeFunctionIndex, 1);
59503
- }
59504
- return tempSuperListeners;
59505
- }
59506
- return superListeners;
59507
- };
59508
- }
59509
-
59510
- function fakeFunction() {}
59511
-
59512
- function fixListeners(emitter) {
59513
- emitter.on('newListener', fakeFunction);
59514
- emitter.on('removeListener', fakeFunction);
59515
- }
59516
-
59517
- function setMaxInterceptors(n) {
59518
- if (typeof n !== 'number' || n < 0 || isNaN(n)) {
59519
- throw new TypeError('n must be a positive number');
59520
- }
59521
- this._maxInterceptors = n;
59522
- return this;
59523
- }
59524
-
59525
- function removeAllInterceptors(type) {
59526
- var key, theseInterceptors, length, i;
59527
-
59528
- if (!this._interceptors || Object.getOwnPropertyNames(this._interceptors).length === 0) {
59529
- return this;
59530
- }
59531
-
59532
- if (arguments.length === 0) {
59533
-
59534
- for (key in this._interceptors) {
59535
- if (this._interceptors.hasOwnProperty(key) && key !== 'removeInterceptor') {
59536
- this.removeAllInterceptors(key);
59537
- }
59538
- }
59539
- this.removeAllInterceptors('removeInterceptor');
59540
- this._interceptors = {};
59541
-
59542
- } else if (this._interceptors[type]) {
59543
- theseInterceptors = this._interceptors[type];
59544
- length = theseInterceptors.length;
59545
-
59546
- // LIFO order
59547
- for (i = length - 1; i >= 0; i--) {
59548
- this.removeInterceptor(type, theseInterceptors[i]);
59549
- }
59550
-
59551
- delete this._interceptors[type];
59552
- }
59553
-
59554
- return this;
59555
- }
59556
-
59557
- function EventEmitter() {
59558
- events.EventEmitter.call(this);
59559
- fixListeners(this);
59560
- }
59561
-
59562
- util.inherits(EventEmitter, events.EventEmitter);
59563
-
59564
- EventEmitter.prototype.intercept = intercept;
59565
- EventEmitter.prototype.emit = emitFactory(EventEmitter.super_.prototype.emit);
59566
- EventEmitter.prototype.interceptors = interceptors;
59567
- EventEmitter.prototype.removeInterceptor = removeInterceptor;
59568
- EventEmitter.prototype.removeAllInterceptors = removeAllInterceptors;
59569
- EventEmitter.prototype.setMaxInterceptors = setMaxInterceptors;
59570
- EventEmitter.prototype.listeners = listenersFactory(EventEmitter.super_.prototype.listeners);
59571
- EventEmitter.defaultMaxInterceptors = 10;
59572
-
59573
- function monkeyPatch(emitter) {
59574
- var oldEmit = emitter.emit;
59575
- var oldListeners = emitter.listeners;
59576
-
59577
- emitter.emit = emitFactory(oldEmit);
59578
- emitter.intercept = intercept;
59579
- emitter.interceptors = interceptors;
59580
- emitter.removeInterceptor = removeInterceptor;
59581
- emitter.removeAllInterceptors = removeAllInterceptors;
59582
- emitter.setMaxInterceptors = setMaxInterceptors;
59583
- emitter.listeners = listenersFactory(oldListeners);
59584
- fixListeners(emitter);
59585
- }
59586
-
59587
- module.exports = {
59588
- EventEmitter: EventEmitter,
59589
- patch: monkeyPatch
59590
- };
59591
-
59592
- })();
59593
-
59594
-
59595
- /***/ }),
59596
-
59597
- /***/ 30580:
59598
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
59599
-
59600
- "use strict";
59601
-
59602
- const path = __webpack_require__(85622);
59603
- const childProcess = __webpack_require__(63129);
59604
- const crossSpawn = __webpack_require__(41146);
59605
- const stripEof = __webpack_require__(60605);
59606
- const npmRunPath = __webpack_require__(41783);
59607
- const isStream = __webpack_require__(1381);
59608
- const _getStream = __webpack_require__(19136);
59609
- const pFinally = __webpack_require__(65324);
59610
- const onExit = __webpack_require__(52028);
59611
- const errname = __webpack_require__(87529);
59612
- const stdio = __webpack_require__(28205);
59613
-
59614
- const TEN_MEGABYTES = 1000 * 1000 * 10;
59615
-
59616
- function handleArgs(cmd, args, opts) {
59617
- let parsed;
59618
-
59619
- opts = Object.assign({
59620
- extendEnv: true,
59621
- env: {}
59622
- }, opts);
59623
-
59624
- if (opts.extendEnv) {
59625
- opts.env = Object.assign({}, process.env, opts.env);
59626
- }
59627
-
59628
- if (opts.__winShell === true) {
59629
- delete opts.__winShell;
59630
- parsed = {
59631
- command: cmd,
59632
- args,
59633
- options: opts,
59634
- file: cmd,
59635
- original: {
59636
- cmd,
59637
- args
59638
- }
59639
- };
59640
- } else {
59641
- parsed = crossSpawn._parse(cmd, args, opts);
59642
- }
59643
-
59644
- opts = Object.assign({
59645
- maxBuffer: TEN_MEGABYTES,
59646
- buffer: true,
59647
- stripEof: true,
59648
- preferLocal: true,
59649
- localDir: parsed.options.cwd || process.cwd(),
59650
- encoding: 'utf8',
59651
- reject: true,
59652
- cleanup: true
59653
- }, parsed.options);
59654
-
59655
- opts.stdio = stdio(opts);
59656
-
59657
- if (opts.preferLocal) {
59658
- opts.env = npmRunPath.env(Object.assign({}, opts, {cwd: opts.localDir}));
59659
- }
59660
-
59661
- if (opts.detached) {
59662
- // #115
59663
- opts.cleanup = false;
59664
- }
59665
-
59666
- if (process.platform === 'win32' && path.basename(parsed.command) === 'cmd.exe') {
59667
- // #116
59668
- parsed.args.unshift('/q');
59669
- }
59670
-
59671
- return {
59672
- cmd: parsed.command,
59673
- args: parsed.args,
59674
- opts,
59675
- parsed
59676
- };
59677
- }
59678
-
59679
- function handleInput(spawned, input) {
59680
- if (input === null || input === undefined) {
59681
- return;
59682
- }
59683
-
59684
- if (isStream(input)) {
59685
- input.pipe(spawned.stdin);
59686
- } else {
59687
- spawned.stdin.end(input);
59688
- }
59689
- }
59690
-
59691
- function handleOutput(opts, val) {
59692
- if (val && opts.stripEof) {
59693
- val = stripEof(val);
59694
- }
59695
-
59696
- return val;
59697
- }
59698
-
59699
- function handleShell(fn, cmd, opts) {
59700
- let file = '/bin/sh';
59701
- let args = ['-c', cmd];
59702
-
59703
- opts = Object.assign({}, opts);
59704
-
59705
- if (process.platform === 'win32') {
59706
- opts.__winShell = true;
59707
- file = process.env.comspec || 'cmd.exe';
59708
- args = ['/s', '/c', `"${cmd}"`];
59709
- opts.windowsVerbatimArguments = true;
59710
- }
59711
-
59712
- if (opts.shell) {
59713
- file = opts.shell;
59714
- delete opts.shell;
59715
- }
59716
-
59717
- return fn(file, args, opts);
59718
- }
59719
-
59720
- function getStream(process, stream, {encoding, buffer, maxBuffer}) {
59721
- if (!process[stream]) {
59722
- return null;
59723
- }
59724
-
59725
- let ret;
59726
-
59727
- if (!buffer) {
59728
- // TODO: Use `ret = util.promisify(stream.finished)(process[stream]);` when targeting Node.js 10
59729
- ret = new Promise((resolve, reject) => {
59730
- process[stream]
59731
- .once('end', resolve)
59732
- .once('error', reject);
59733
- });
59734
- } else if (encoding) {
59735
- ret = _getStream(process[stream], {
59736
- encoding,
59737
- maxBuffer
59738
- });
59739
- } else {
59740
- ret = _getStream.buffer(process[stream], {maxBuffer});
59741
- }
59742
-
59743
- return ret.catch(err => {
59744
- err.stream = stream;
59745
- err.message = `${stream} ${err.message}`;
59746
- throw err;
59747
- });
59748
- }
59749
-
59750
- function makeError(result, options) {
59751
- const {stdout, stderr} = result;
59752
-
59753
- let err = result.error;
59754
- const {code, signal} = result;
59755
-
59756
- const {parsed, joinedCmd} = options;
59757
- const timedOut = options.timedOut || false;
59758
-
59759
- if (!err) {
59760
- let output = '';
59761
-
59762
- if (Array.isArray(parsed.opts.stdio)) {
59763
- if (parsed.opts.stdio[2] !== 'inherit') {
59764
- output += output.length > 0 ? stderr : `\n${stderr}`;
59765
- }
59766
-
59767
- if (parsed.opts.stdio[1] !== 'inherit') {
59768
- output += `\n${stdout}`;
59769
- }
59770
- } else if (parsed.opts.stdio !== 'inherit') {
59771
- output = `\n${stderr}${stdout}`;
59772
- }
59773
-
59774
- err = new Error(`Command failed: ${joinedCmd}${output}`);
59775
- err.code = code < 0 ? errname(code) : code;
59776
- }
59777
-
59778
- err.stdout = stdout;
59779
- err.stderr = stderr;
59780
- err.failed = true;
59781
- err.signal = signal || null;
59782
- err.cmd = joinedCmd;
59783
- err.timedOut = timedOut;
59784
-
59785
- return err;
59786
- }
59787
-
59788
- function joinCmd(cmd, args) {
59789
- let joinedCmd = cmd;
59790
-
59791
- if (Array.isArray(args) && args.length > 0) {
59792
- joinedCmd += ' ' + args.join(' ');
59793
- }
59794
-
59795
- return joinedCmd;
59796
- }
59797
-
59798
- module.exports = (cmd, args, opts) => {
59799
- const parsed = handleArgs(cmd, args, opts);
59800
- const {encoding, buffer, maxBuffer} = parsed.opts;
59801
- const joinedCmd = joinCmd(cmd, args);
59802
-
59803
- let spawned;
59804
- try {
59805
- spawned = childProcess.spawn(parsed.cmd, parsed.args, parsed.opts);
59806
- } catch (err) {
59807
- return Promise.reject(err);
59808
- }
59809
-
59810
- let removeExitHandler;
59811
- if (parsed.opts.cleanup) {
59812
- removeExitHandler = onExit(() => {
59813
- spawned.kill();
59814
- });
59815
- }
59816
-
59817
- let timeoutId = null;
59818
- let timedOut = false;
59819
-
59820
- const cleanup = () => {
59821
- if (timeoutId) {
59822
- clearTimeout(timeoutId);
59823
- timeoutId = null;
59824
- }
59825
-
59826
- if (removeExitHandler) {
59827
- removeExitHandler();
59828
- }
59829
- };
59830
-
59831
- if (parsed.opts.timeout > 0) {
59832
- timeoutId = setTimeout(() => {
59833
- timeoutId = null;
59834
- timedOut = true;
59835
- spawned.kill(parsed.opts.killSignal);
59836
- }, parsed.opts.timeout);
59837
- }
59838
-
59839
- const processDone = new Promise(resolve => {
59840
- spawned.on('exit', (code, signal) => {
59841
- cleanup();
59842
- resolve({code, signal});
59843
- });
59844
-
59845
- spawned.on('error', err => {
59846
- cleanup();
59847
- resolve({error: err});
59848
- });
59849
-
59850
- if (spawned.stdin) {
59851
- spawned.stdin.on('error', err => {
59852
- cleanup();
59853
- resolve({error: err});
59854
- });
59855
- }
59856
- });
59857
-
59858
- function destroy() {
59859
- if (spawned.stdout) {
59860
- spawned.stdout.destroy();
59861
- }
59862
-
59863
- if (spawned.stderr) {
59864
- spawned.stderr.destroy();
59865
- }
59866
- }
59867
-
59868
- const handlePromise = () => pFinally(Promise.all([
59869
- processDone,
59870
- getStream(spawned, 'stdout', {encoding, buffer, maxBuffer}),
59871
- getStream(spawned, 'stderr', {encoding, buffer, maxBuffer})
59872
- ]).then(arr => {
59873
- const result = arr[0];
59874
- result.stdout = arr[1];
59875
- result.stderr = arr[2];
59876
-
59877
- if (result.error || result.code !== 0 || result.signal !== null) {
59878
- const err = makeError(result, {
59879
- joinedCmd,
59880
- parsed,
59881
- timedOut
59882
- });
59883
-
59884
- // TODO: missing some timeout logic for killed
59885
- // https://github.com/nodejs/node/blob/master/lib/child_process.js#L203
59886
- // err.killed = spawned.killed || killed;
59887
- err.killed = err.killed || spawned.killed;
59888
-
59889
- if (!parsed.opts.reject) {
59890
- return err;
59891
- }
59892
-
59893
- throw err;
59894
- }
59895
-
59896
- return {
59897
- stdout: handleOutput(parsed.opts, result.stdout),
59898
- stderr: handleOutput(parsed.opts, result.stderr),
59899
- code: 0,
59900
- failed: false,
59901
- killed: false,
59902
- signal: null,
59903
- cmd: joinedCmd,
59904
- timedOut: false
59905
- };
59906
- }), destroy);
59907
-
59908
- crossSpawn._enoent.hookChildProcess(spawned, parsed.parsed);
59909
-
59910
- handleInput(spawned, parsed.opts.input);
59911
-
59912
- spawned.then = (onfulfilled, onrejected) => handlePromise().then(onfulfilled, onrejected);
59913
- spawned.catch = onrejected => handlePromise().catch(onrejected);
59914
-
59915
- return spawned;
59916
- };
59917
-
59918
- // TODO: set `stderr: 'ignore'` when that option is implemented
59919
- module.exports.stdout = (...args) => module.exports(...args).then(x => x.stdout);
59920
-
59921
- // TODO: set `stdout: 'ignore'` when that option is implemented
59922
- module.exports.stderr = (...args) => module.exports(...args).then(x => x.stderr);
59923
-
59924
- module.exports.shell = (cmd, opts) => handleShell(module.exports, cmd, opts);
59925
-
59926
- module.exports.sync = (cmd, args, opts) => {
59927
- const parsed = handleArgs(cmd, args, opts);
59928
- const joinedCmd = joinCmd(cmd, args);
59929
-
59930
- if (isStream(parsed.opts.input)) {
59931
- throw new TypeError('The `input` option cannot be a stream in sync mode');
59932
- }
59933
-
59934
- const result = childProcess.spawnSync(parsed.cmd, parsed.args, parsed.opts);
59935
- result.code = result.status;
59936
-
59937
- if (result.error || result.status !== 0 || result.signal !== null) {
59938
- const err = makeError(result, {
59939
- joinedCmd,
59940
- parsed
59941
- });
59942
-
59943
- if (!parsed.opts.reject) {
59944
- return err;
59945
- }
59946
-
59947
- throw err;
59948
- }
59949
-
59950
- return {
59951
- stdout: handleOutput(parsed.opts, result.stdout),
59952
- stderr: handleOutput(parsed.opts, result.stderr),
59953
- code: 0,
59954
- failed: false,
59955
- signal: null,
59956
- cmd: joinedCmd,
59957
- timedOut: false
59958
- };
59959
- };
59960
-
59961
- module.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, opts);
59962
-
59963
-
59964
- /***/ }),
59965
-
59966
- /***/ 87529:
59967
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
59968
-
59969
- "use strict";
59970
-
59971
- // Older verions of Node.js might not have `util.getSystemErrorName()`.
59972
- // In that case, fall back to a deprecated internal.
59973
- const util = __webpack_require__(31669);
59974
-
59975
- let uv;
59976
-
59977
- if (typeof util.getSystemErrorName === 'function') {
59978
- module.exports = util.getSystemErrorName;
59979
- } else {
59980
- try {
59981
- uv = process.binding('uv');
59982
-
59983
- if (typeof uv.errname !== 'function') {
59984
- throw new TypeError('uv.errname is not a function');
59985
- }
59986
- } catch (err) {
59987
- console.error('execa/lib/errname: unable to establish process.binding(\'uv\')', err);
59988
- uv = null;
59989
- }
59990
-
59991
- module.exports = code => errname(uv, code);
59992
- }
59993
-
59994
- // Used for testing the fallback behavior
59995
- module.exports.__test__ = errname;
59996
-
59997
- function errname(uv, code) {
59998
- if (uv) {
59999
- return uv.errname(code);
60000
- }
60001
-
60002
- if (!(code < 0)) {
60003
- throw new Error('err >= 0');
60004
- }
60005
-
60006
- return `Unknown system error ${code}`;
60007
- }
60008
-
60009
-
60010
-
60011
- /***/ }),
60012
-
60013
- /***/ 28205:
60014
- /***/ ((module) => {
60015
-
60016
- "use strict";
60017
-
60018
- const alias = ['stdin', 'stdout', 'stderr'];
60019
-
60020
- const hasAlias = opts => alias.some(x => Boolean(opts[x]));
60021
-
60022
- module.exports = opts => {
60023
- if (!opts) {
60024
- return null;
60025
- }
60026
-
60027
- if (opts.stdio && hasAlias(opts)) {
60028
- throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${alias.map(x => `\`${x}\``).join(', ')}`);
60029
- }
60030
-
60031
- if (typeof opts.stdio === 'string') {
60032
- return opts.stdio;
60033
- }
60034
-
60035
- const stdio = opts.stdio || [];
60036
-
60037
- if (!Array.isArray(stdio)) {
60038
- throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``);
60039
- }
60040
-
60041
- const result = [];
60042
- const len = Math.max(stdio.length, alias.length);
60043
-
60044
- for (let i = 0; i < len; i++) {
60045
- let value = null;
60046
-
60047
- if (stdio[i] !== undefined) {
60048
- value = stdio[i];
60049
- } else if (opts[alias[i]] !== undefined) {
60050
- value = opts[alias[i]];
60051
- }
60052
-
60053
- result[i] = value;
60054
- }
60055
-
60056
- return result;
60057
- };
60058
-
60059
-
60060
- /***/ }),
60061
-
60062
- /***/ 41146:
60063
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
60064
-
60065
- "use strict";
60066
-
60067
-
60068
- const cp = __webpack_require__(63129);
60069
- const parse = __webpack_require__(35892);
60070
- const enoent = __webpack_require__(33603);
60071
-
60072
- function spawn(command, args, options) {
60073
- // Parse the arguments
60074
- const parsed = parse(command, args, options);
60075
-
60076
- // Spawn the child process
60077
- const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
60078
-
60079
- // Hook into child process "exit" event to emit an error if the command
60080
- // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
60081
- enoent.hookChildProcess(spawned, parsed);
60082
-
60083
- return spawned;
60084
- }
60085
-
60086
- function spawnSync(command, args, options) {
60087
- // Parse the arguments
60088
- const parsed = parse(command, args, options);
60089
-
60090
- // Spawn the child process
60091
- const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
60092
-
60093
- // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
60094
- result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
60095
-
60096
- return result;
60097
- }
60098
-
60099
- module.exports = spawn;
60100
- module.exports.spawn = spawn;
60101
- module.exports.sync = spawnSync;
60102
-
60103
- module.exports._parse = parse;
60104
- module.exports._enoent = enoent;
60105
-
60106
-
60107
- /***/ }),
60108
-
60109
- /***/ 33603:
60110
- /***/ ((module) => {
60111
-
60112
- "use strict";
60113
-
60114
-
60115
- const isWin = process.platform === 'win32';
60116
-
60117
- function notFoundError(original, syscall) {
60118
- return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
60119
- code: 'ENOENT',
60120
- errno: 'ENOENT',
60121
- syscall: `${syscall} ${original.command}`,
60122
- path: original.command,
60123
- spawnargs: original.args,
60124
- });
60125
- }
60126
-
60127
- function hookChildProcess(cp, parsed) {
60128
- if (!isWin) {
60129
- return;
60130
- }
60131
-
60132
- const originalEmit = cp.emit;
60133
-
60134
- cp.emit = function (name, arg1) {
60135
- // If emitting "exit" event and exit code is 1, we need to check if
60136
- // the command exists and emit an "error" instead
60137
- // See https://github.com/IndigoUnited/node-cross-spawn/issues/16
60138
- if (name === 'exit') {
60139
- const err = verifyENOENT(arg1, parsed, 'spawn');
60140
-
60141
- if (err) {
60142
- return originalEmit.call(cp, 'error', err);
60143
- }
60144
- }
60145
-
60146
- return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params
60147
- };
60148
- }
60149
-
60150
- function verifyENOENT(status, parsed) {
60151
- if (isWin && status === 1 && !parsed.file) {
60152
- return notFoundError(parsed.original, 'spawn');
60153
- }
60154
-
60155
- return null;
60156
- }
60157
-
60158
- function verifyENOENTSync(status, parsed) {
60159
- if (isWin && status === 1 && !parsed.file) {
60160
- return notFoundError(parsed.original, 'spawnSync');
60161
- }
60162
-
60163
- return null;
60164
- }
60165
-
60166
- module.exports = {
60167
- hookChildProcess,
60168
- verifyENOENT,
60169
- verifyENOENTSync,
60170
- notFoundError,
60171
- };
60172
-
60173
-
60174
- /***/ }),
60175
-
60176
- /***/ 35892:
60177
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
60178
-
60179
- "use strict";
60180
-
60181
-
60182
- const path = __webpack_require__(85622);
60183
- const niceTry = __webpack_require__(7369);
60184
- const resolveCommand = __webpack_require__(45653);
60185
- const escape = __webpack_require__(7849);
60186
- const readShebang = __webpack_require__(3601);
60187
- const semver = __webpack_require__(72905);
60188
-
60189
- const isWin = process.platform === 'win32';
60190
- const isExecutableRegExp = /\.(?:com|exe)$/i;
60191
- const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
60192
-
60193
- // `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0
60194
- const supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false;
60195
-
60196
- function detectShebang(parsed) {
60197
- parsed.file = resolveCommand(parsed);
60198
-
60199
- const shebang = parsed.file && readShebang(parsed.file);
60200
-
60201
- if (shebang) {
60202
- parsed.args.unshift(parsed.file);
60203
- parsed.command = shebang;
60204
-
60205
- return resolveCommand(parsed);
60206
- }
60207
-
60208
- return parsed.file;
60209
- }
60210
-
60211
- function parseNonShell(parsed) {
60212
- if (!isWin) {
60213
- return parsed;
60214
- }
60215
-
60216
- // Detect & add support for shebangs
60217
- const commandFile = detectShebang(parsed);
60218
-
60219
- // We don't need a shell if the command filename is an executable
60220
- const needsShell = !isExecutableRegExp.test(commandFile);
60221
-
60222
- // If a shell is required, use cmd.exe and take care of escaping everything correctly
60223
- // Note that `forceShell` is an hidden option used only in tests
60224
- if (parsed.options.forceShell || needsShell) {
60225
- // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`
60226
- // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument
60227
- // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,
60228
- // we need to double escape them
60229
- const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);
60230
-
60231
- // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar)
60232
- // This is necessary otherwise it will always fail with ENOENT in those cases
60233
- parsed.command = path.normalize(parsed.command);
60234
-
60235
- // Escape command & arguments
60236
- parsed.command = escape.command(parsed.command);
60237
- parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));
60238
-
60239
- const shellCommand = [parsed.command].concat(parsed.args).join(' ');
60240
-
60241
- parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`];
60242
- parsed.command = process.env.comspec || 'cmd.exe';
60243
- parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped
60244
- }
60245
-
60246
- return parsed;
60247
- }
60248
-
60249
- function parseShell(parsed) {
60250
- // If node supports the shell option, there's no need to mimic its behavior
60251
- if (supportsShellOption) {
60252
- return parsed;
60253
- }
60254
-
60255
- // Mimic node shell option
60256
- // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335
60257
- const shellCommand = [parsed.command].concat(parsed.args).join(' ');
60258
-
60259
- if (isWin) {
60260
- parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe';
60261
- parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`];
60262
- parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped
60263
- } else {
60264
- if (typeof parsed.options.shell === 'string') {
60265
- parsed.command = parsed.options.shell;
60266
- } else if (process.platform === 'android') {
60267
- parsed.command = '/system/bin/sh';
60268
- } else {
60269
- parsed.command = '/bin/sh';
60270
- }
60271
-
60272
- parsed.args = ['-c', shellCommand];
60273
- }
60274
-
60275
- return parsed;
60276
- }
60277
-
60278
- function parse(command, args, options) {
60279
- // Normalize arguments, similar to nodejs
60280
- if (args && !Array.isArray(args)) {
60281
- options = args;
60282
- args = null;
60283
- }
60284
-
60285
- args = args ? args.slice(0) : []; // Clone array to avoid changing the original
60286
- options = Object.assign({}, options); // Clone object to avoid changing the original
60287
-
60288
- // Build our parsed object
60289
- const parsed = {
60290
- command,
60291
- args,
60292
- options,
60293
- file: undefined,
60294
- original: {
60295
- command,
60296
- args,
60297
- },
60298
- };
60299
-
60300
- // Delegate further parsing to shell or non-shell
60301
- return options.shell ? parseShell(parsed) : parseNonShell(parsed);
60302
- }
60303
-
60304
- module.exports = parse;
60305
-
60306
-
60307
- /***/ }),
60308
-
60309
- /***/ 7849:
60310
- /***/ ((module) => {
60311
-
60312
- "use strict";
60313
-
60314
-
60315
- // See http://www.robvanderwoude.com/escapechars.php
60316
- const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
60317
-
60318
- function escapeCommand(arg) {
60319
- // Escape meta chars
60320
- arg = arg.replace(metaCharsRegExp, '^$1');
60321
-
60322
- return arg;
60323
- }
60324
-
60325
- function escapeArgument(arg, doubleEscapeMetaChars) {
60326
- // Convert to string
60327
- arg = `${arg}`;
60328
-
60329
- // Algorithm below is based on https://qntm.org/cmd
60330
-
60331
- // Sequence of backslashes followed by a double quote:
60332
- // double up all the backslashes and escape the double quote
60333
- arg = arg.replace(/(\\*)"/g, '$1$1\\"');
60334
-
60335
- // Sequence of backslashes followed by the end of the string
60336
- // (which will become a double quote later):
60337
- // double up all the backslashes
60338
- arg = arg.replace(/(\\*)$/, '$1$1');
60339
-
60340
- // All other backslashes occur literally
60341
-
60342
- // Quote the whole thing:
60343
- arg = `"${arg}"`;
60344
-
60345
- // Escape meta chars
60346
- arg = arg.replace(metaCharsRegExp, '^$1');
60347
-
60348
- // Double escape meta chars if necessary
60349
- if (doubleEscapeMetaChars) {
60350
- arg = arg.replace(metaCharsRegExp, '^$1');
60351
- }
60352
-
60353
- return arg;
60354
- }
60355
-
60356
- module.exports.command = escapeCommand;
60357
- module.exports.argument = escapeArgument;
60358
-
60359
-
60360
- /***/ }),
60361
-
60362
- /***/ 3601:
60363
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
60364
-
60365
- "use strict";
60366
-
60367
-
60368
- const fs = __webpack_require__(35747);
60369
- const shebangCommand = __webpack_require__(24970);
60370
-
60371
- function readShebang(command) {
60372
- // Read the first 150 bytes from the file
60373
- const size = 150;
60374
- let buffer;
60375
-
60376
- if (Buffer.alloc) {
60377
- // Node.js v4.5+ / v5.10+
60378
- buffer = Buffer.alloc(size);
60379
- } else {
60380
- // Old Node.js API
60381
- buffer = new Buffer(size);
60382
- buffer.fill(0); // zero-fill
60383
- }
60384
-
60385
- let fd;
60386
-
60387
- try {
60388
- fd = fs.openSync(command, 'r');
60389
- fs.readSync(fd, buffer, 0, size, 0);
60390
- fs.closeSync(fd);
60391
- } catch (e) { /* Empty */ }
60392
-
60393
- // Attempt to extract shebang (null is returned if not a shebang)
60394
- return shebangCommand(buffer.toString());
60395
- }
60396
-
60397
- module.exports = readShebang;
60398
-
60399
-
60400
- /***/ }),
60401
-
60402
- /***/ 45653:
60403
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
60404
-
60405
- "use strict";
60406
-
60407
-
60408
- const path = __webpack_require__(85622);
60409
- const which = __webpack_require__(28201);
60410
- const pathKey = __webpack_require__(64258)();
60411
-
60412
- function resolveCommandAttempt(parsed, withoutPathExt) {
60413
- const cwd = process.cwd();
60414
- const hasCustomCwd = parsed.options.cwd != null;
60415
-
60416
- // If a custom `cwd` was specified, we need to change the process cwd
60417
- // because `which` will do stat calls but does not support a custom cwd
60418
- if (hasCustomCwd) {
60419
- try {
60420
- process.chdir(parsed.options.cwd);
60421
- } catch (err) {
60422
- /* Empty */
60423
- }
60424
- }
60425
-
60426
- let resolved;
60427
-
60428
- try {
60429
- resolved = which.sync(parsed.command, {
60430
- path: (parsed.options.env || process.env)[pathKey],
60431
- pathExt: withoutPathExt ? path.delimiter : undefined,
60432
- });
60433
- } catch (e) {
60434
- /* Empty */
60435
- } finally {
60436
- process.chdir(cwd);
60437
- }
60438
-
60439
- // If we successfully resolved, ensure that an absolute path is returned
60440
- // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it
60441
- if (resolved) {
60442
- resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);
60443
- }
60444
-
60445
- return resolved;
60446
- }
60447
-
60448
- function resolveCommand(parsed) {
60449
- return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);
60450
- }
60451
-
60452
- module.exports = resolveCommand;
60453
-
60454
-
60455
- /***/ }),
60456
-
60457
- /***/ 64258:
60458
- /***/ ((module) => {
60459
-
60460
- "use strict";
60461
-
60462
- module.exports = opts => {
60463
- opts = opts || {};
60464
-
60465
- const env = opts.env || process.env;
60466
- const platform = opts.platform || process.platform;
60467
-
60468
- if (platform !== 'win32') {
60469
- return 'PATH';
60470
- }
60471
-
60472
- return Object.keys(env).find(x => x.toUpperCase() === 'PATH') || 'Path';
60473
- };
60474
-
60475
-
60476
- /***/ }),
60477
-
60478
- /***/ 72905:
60479
- /***/ ((module, exports) => {
60480
-
60481
- exports = module.exports = SemVer
60482
-
60483
- var debug
60484
- /* istanbul ignore next */
60485
- if (typeof process === 'object' &&
60486
- process.env &&
60487
- process.env.NODE_DEBUG &&
60488
- /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
60489
- debug = function () {
60490
- var args = Array.prototype.slice.call(arguments, 0)
60491
- args.unshift('SEMVER')
60492
- console.log.apply(console, args)
60493
- }
60494
- } else {
60495
- debug = function () {}
60496
- }
60497
-
60498
- // Note: this is the semver.org version of the spec that it implements
60499
- // Not necessarily the package version of this code.
60500
- exports.SEMVER_SPEC_VERSION = '2.0.0'
60501
-
60502
- var MAX_LENGTH = 256
60503
- var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
60504
- /* istanbul ignore next */ 9007199254740991
60505
-
60506
- // Max safe segment length for coercion.
60507
- var MAX_SAFE_COMPONENT_LENGTH = 16
60508
-
60509
- // The actual regexps go on exports.re
60510
- var re = exports.re = []
60511
- var src = exports.src = []
60512
- var R = 0
60513
-
60514
- // The following Regular Expressions can be used for tokenizing,
60515
- // validating, and parsing SemVer version strings.
60516
-
60517
- // ## Numeric Identifier
60518
- // A single `0`, or a non-zero digit followed by zero or more digits.
60519
-
60520
- var NUMERICIDENTIFIER = R++
60521
- src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'
60522
- var NUMERICIDENTIFIERLOOSE = R++
60523
- src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'
60524
-
60525
- // ## Non-numeric Identifier
60526
- // Zero or more digits, followed by a letter or hyphen, and then zero or
60527
- // more letters, digits, or hyphens.
60528
-
60529
- var NONNUMERICIDENTIFIER = R++
60530
- src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
60531
-
60532
- // ## Main Version
60533
- // Three dot-separated numeric identifiers.
60534
-
60535
- var MAINVERSION = R++
60536
- src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' +
60537
- '(' + src[NUMERICIDENTIFIER] + ')\\.' +
60538
- '(' + src[NUMERICIDENTIFIER] + ')'
60539
-
60540
- var MAINVERSIONLOOSE = R++
60541
- src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
60542
- '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
60543
- '(' + src[NUMERICIDENTIFIERLOOSE] + ')'
60544
-
60545
- // ## Pre-release Version Identifier
60546
- // A numeric identifier, or a non-numeric identifier.
60547
-
60548
- var PRERELEASEIDENTIFIER = R++
60549
- src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +
60550
- '|' + src[NONNUMERICIDENTIFIER] + ')'
60551
-
60552
- var PRERELEASEIDENTIFIERLOOSE = R++
60553
- src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +
60554
- '|' + src[NONNUMERICIDENTIFIER] + ')'
60555
-
60556
- // ## Pre-release Version
60557
- // Hyphen, followed by one or more dot-separated pre-release version
60558
- // identifiers.
60559
-
60560
- var PRERELEASE = R++
60561
- src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +
60562
- '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'
60563
-
60564
- var PRERELEASELOOSE = R++
60565
- src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
60566
- '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'
60567
-
60568
- // ## Build Metadata Identifier
60569
- // Any combination of digits, letters, or hyphens.
60570
-
60571
- var BUILDIDENTIFIER = R++
60572
- src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
60573
-
60574
- // ## Build Metadata
60575
- // Plus sign, followed by one or more period-separated build metadata
60576
- // identifiers.
60577
-
60578
- var BUILD = R++
60579
- src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] +
60580
- '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'
60581
-
60582
- // ## Full Version String
60583
- // A main version, followed optionally by a pre-release version and
60584
- // build metadata.
60585
-
60586
- // Note that the only major, minor, patch, and pre-release sections of
60587
- // the version string are capturing groups. The build metadata is not a
60588
- // capturing group, because it should not ever be used in version
60589
- // comparison.
60590
-
60591
- var FULL = R++
60592
- var FULLPLAIN = 'v?' + src[MAINVERSION] +
60593
- src[PRERELEASE] + '?' +
60594
- src[BUILD] + '?'
60595
-
60596
- src[FULL] = '^' + FULLPLAIN + '$'
60597
-
60598
- // like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
60599
- // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
60600
- // common in the npm registry.
60601
- var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] +
60602
- src[PRERELEASELOOSE] + '?' +
60603
- src[BUILD] + '?'
60604
-
60605
- var LOOSE = R++
60606
- src[LOOSE] = '^' + LOOSEPLAIN + '$'
60607
-
60608
- var GTLT = R++
60609
- src[GTLT] = '((?:<|>)?=?)'
60610
-
60611
- // Something like "2.*" or "1.2.x".
60612
- // Note that "x.x" is a valid xRange identifer, meaning "any version"
60613
- // Only the first item is strictly required.
60614
- var XRANGEIDENTIFIERLOOSE = R++
60615
- src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'
60616
- var XRANGEIDENTIFIER = R++
60617
- src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'
60618
-
60619
- var XRANGEPLAIN = R++
60620
- src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
60621
- '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
60622
- '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
60623
- '(?:' + src[PRERELEASE] + ')?' +
60624
- src[BUILD] + '?' +
60625
- ')?)?'
60626
-
60627
- var XRANGEPLAINLOOSE = R++
60628
- src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
60629
- '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
60630
- '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
60631
- '(?:' + src[PRERELEASELOOSE] + ')?' +
60632
- src[BUILD] + '?' +
60633
- ')?)?'
60634
-
60635
- var XRANGE = R++
60636
- src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'
60637
- var XRANGELOOSE = R++
60638
- src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'
60639
-
60640
- // Coercion.
60641
- // Extract anything that could conceivably be a part of a valid semver
60642
- var COERCE = R++
60643
- src[COERCE] = '(?:^|[^\\d])' +
60644
- '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +
60645
- '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
60646
- '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
60647
- '(?:$|[^\\d])'
60648
-
60649
- // Tilde ranges.
60650
- // Meaning is "reasonably at or greater than"
60651
- var LONETILDE = R++
60652
- src[LONETILDE] = '(?:~>?)'
60653
-
60654
- var TILDETRIM = R++
60655
- src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'
60656
- re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')
60657
- var tildeTrimReplace = '$1~'
60658
-
60659
- var TILDE = R++
60660
- src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'
60661
- var TILDELOOSE = R++
60662
- src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'
60663
-
60664
- // Caret ranges.
60665
- // Meaning is "at least and backwards compatible with"
60666
- var LONECARET = R++
60667
- src[LONECARET] = '(?:\\^)'
60668
-
60669
- var CARETTRIM = R++
60670
- src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'
60671
- re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')
60672
- var caretTrimReplace = '$1^'
60673
-
60674
- var CARET = R++
60675
- src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'
60676
- var CARETLOOSE = R++
60677
- src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'
60678
-
60679
- // A simple gt/lt/eq thing, or just "" to indicate "any version"
60680
- var COMPARATORLOOSE = R++
60681
- src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'
60682
- var COMPARATOR = R++
60683
- src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'
60684
-
60685
- // An expression to strip any whitespace between the gtlt and the thing
60686
- // it modifies, so that `> 1.2.3` ==> `>1.2.3`
60687
- var COMPARATORTRIM = R++
60688
- src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] +
60689
- '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'
60690
-
60691
- // this one has to use the /g flag
60692
- re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')
60693
- var comparatorTrimReplace = '$1$2$3'
60694
-
60695
- // Something like `1.2.3 - 1.2.4`
60696
- // Note that these all use the loose form, because they'll be
60697
- // checked against either the strict or loose comparator form
60698
- // later.
60699
- var HYPHENRANGE = R++
60700
- src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' +
60701
- '\\s+-\\s+' +
60702
- '(' + src[XRANGEPLAIN] + ')' +
60703
- '\\s*$'
60704
-
60705
- var HYPHENRANGELOOSE = R++
60706
- src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' +
60707
- '\\s+-\\s+' +
60708
- '(' + src[XRANGEPLAINLOOSE] + ')' +
60709
- '\\s*$'
60710
-
60711
- // Star ranges basically just allow anything at all.
60712
- var STAR = R++
60713
- src[STAR] = '(<|>)?=?\\s*\\*'
60714
-
60715
- // Compile to actual regexp objects.
60716
- // All are flag-free, unless they were created above with a flag.
60717
- for (var i = 0; i < R; i++) {
60718
- debug(i, src[i])
60719
- if (!re[i]) {
60720
- re[i] = new RegExp(src[i])
60721
- }
60722
- }
60723
-
60724
- exports.parse = parse
60725
- function parse (version, options) {
60726
- if (!options || typeof options !== 'object') {
60727
- options = {
60728
- loose: !!options,
60729
- includePrerelease: false
60730
- }
60731
- }
60732
-
60733
- if (version instanceof SemVer) {
60734
- return version
60735
- }
60736
-
60737
- if (typeof version !== 'string') {
60738
- return null
60739
- }
60740
-
60741
- if (version.length > MAX_LENGTH) {
60742
- return null
60743
- }
60744
-
60745
- var r = options.loose ? re[LOOSE] : re[FULL]
60746
- if (!r.test(version)) {
60747
- return null
60748
- }
60749
-
60750
- try {
60751
- return new SemVer(version, options)
60752
- } catch (er) {
60753
- return null
60754
- }
60755
- }
60756
-
60757
- exports.valid = valid
60758
- function valid (version, options) {
60759
- var v = parse(version, options)
60760
- return v ? v.version : null
60761
- }
60762
-
60763
- exports.clean = clean
60764
- function clean (version, options) {
60765
- var s = parse(version.trim().replace(/^[=v]+/, ''), options)
60766
- return s ? s.version : null
60767
- }
60768
-
60769
- exports.SemVer = SemVer
60770
-
60771
- function SemVer (version, options) {
60772
- if (!options || typeof options !== 'object') {
60773
- options = {
60774
- loose: !!options,
60775
- includePrerelease: false
60776
- }
60777
- }
60778
- if (version instanceof SemVer) {
60779
- if (version.loose === options.loose) {
60780
- return version
60781
- } else {
60782
- version = version.version
60783
- }
60784
- } else if (typeof version !== 'string') {
60785
- throw new TypeError('Invalid Version: ' + version)
60786
- }
60787
-
60788
- if (version.length > MAX_LENGTH) {
60789
- throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')
60790
- }
60791
-
60792
- if (!(this instanceof SemVer)) {
60793
- return new SemVer(version, options)
60794
- }
60795
-
60796
- debug('SemVer', version, options)
60797
- this.options = options
60798
- this.loose = !!options.loose
60799
-
60800
- var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])
60801
-
60802
- if (!m) {
60803
- throw new TypeError('Invalid Version: ' + version)
60804
- }
60805
-
60806
- this.raw = version
60807
-
60808
- // these are actually numbers
60809
- this.major = +m[1]
60810
- this.minor = +m[2]
60811
- this.patch = +m[3]
60812
-
60813
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
60814
- throw new TypeError('Invalid major version')
60815
- }
60816
-
60817
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
60818
- throw new TypeError('Invalid minor version')
60819
- }
60820
-
60821
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
60822
- throw new TypeError('Invalid patch version')
60823
- }
60824
-
60825
- // numberify any prerelease numeric ids
60826
- if (!m[4]) {
60827
- this.prerelease = []
60828
- } else {
60829
- this.prerelease = m[4].split('.').map(function (id) {
60830
- if (/^[0-9]+$/.test(id)) {
60831
- var num = +id
60832
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
60833
- return num
60834
- }
60835
- }
60836
- return id
60837
- })
60838
- }
60839
-
60840
- this.build = m[5] ? m[5].split('.') : []
60841
- this.format()
60842
- }
60843
-
60844
- SemVer.prototype.format = function () {
60845
- this.version = this.major + '.' + this.minor + '.' + this.patch
60846
- if (this.prerelease.length) {
60847
- this.version += '-' + this.prerelease.join('.')
60848
- }
60849
- return this.version
60850
- }
60851
-
60852
- SemVer.prototype.toString = function () {
60853
- return this.version
60854
- }
60855
-
60856
- SemVer.prototype.compare = function (other) {
60857
- debug('SemVer.compare', this.version, this.options, other)
60858
- if (!(other instanceof SemVer)) {
60859
- other = new SemVer(other, this.options)
60860
- }
60861
-
60862
- return this.compareMain(other) || this.comparePre(other)
60863
- }
60864
-
60865
- SemVer.prototype.compareMain = function (other) {
60866
- if (!(other instanceof SemVer)) {
60867
- other = new SemVer(other, this.options)
60868
- }
60869
-
60870
- return compareIdentifiers(this.major, other.major) ||
60871
- compareIdentifiers(this.minor, other.minor) ||
60872
- compareIdentifiers(this.patch, other.patch)
60873
- }
60874
-
60875
- SemVer.prototype.comparePre = function (other) {
60876
- if (!(other instanceof SemVer)) {
60877
- other = new SemVer(other, this.options)
60878
- }
60879
-
60880
- // NOT having a prerelease is > having one
60881
- if (this.prerelease.length && !other.prerelease.length) {
60882
- return -1
60883
- } else if (!this.prerelease.length && other.prerelease.length) {
60884
- return 1
60885
- } else if (!this.prerelease.length && !other.prerelease.length) {
60886
- return 0
60887
- }
60888
-
60889
- var i = 0
60890
- do {
60891
- var a = this.prerelease[i]
60892
- var b = other.prerelease[i]
60893
- debug('prerelease compare', i, a, b)
60894
- if (a === undefined && b === undefined) {
60895
- return 0
60896
- } else if (b === undefined) {
60897
- return 1
60898
- } else if (a === undefined) {
60899
- return -1
60900
- } else if (a === b) {
60901
- continue
60902
- } else {
60903
- return compareIdentifiers(a, b)
60904
- }
60905
- } while (++i)
60906
- }
60907
-
60908
- // preminor will bump the version up to the next minor release, and immediately
60909
- // down to pre-release. premajor and prepatch work the same way.
60910
- SemVer.prototype.inc = function (release, identifier) {
60911
- switch (release) {
60912
- case 'premajor':
60913
- this.prerelease.length = 0
60914
- this.patch = 0
60915
- this.minor = 0
60916
- this.major++
60917
- this.inc('pre', identifier)
60918
- break
60919
- case 'preminor':
60920
- this.prerelease.length = 0
60921
- this.patch = 0
60922
- this.minor++
60923
- this.inc('pre', identifier)
60924
- break
60925
- case 'prepatch':
60926
- // If this is already a prerelease, it will bump to the next version
60927
- // drop any prereleases that might already exist, since they are not
60928
- // relevant at this point.
60929
- this.prerelease.length = 0
60930
- this.inc('patch', identifier)
60931
- this.inc('pre', identifier)
60932
- break
60933
- // If the input is a non-prerelease version, this acts the same as
60934
- // prepatch.
60935
- case 'prerelease':
60936
- if (this.prerelease.length === 0) {
60937
- this.inc('patch', identifier)
60938
- }
60939
- this.inc('pre', identifier)
60940
- break
60941
-
60942
- case 'major':
60943
- // If this is a pre-major version, bump up to the same major version.
60944
- // Otherwise increment major.
60945
- // 1.0.0-5 bumps to 1.0.0
60946
- // 1.1.0 bumps to 2.0.0
60947
- if (this.minor !== 0 ||
60948
- this.patch !== 0 ||
60949
- this.prerelease.length === 0) {
60950
- this.major++
60951
- }
60952
- this.minor = 0
60953
- this.patch = 0
60954
- this.prerelease = []
60955
- break
60956
- case 'minor':
60957
- // If this is a pre-minor version, bump up to the same minor version.
60958
- // Otherwise increment minor.
60959
- // 1.2.0-5 bumps to 1.2.0
60960
- // 1.2.1 bumps to 1.3.0
60961
- if (this.patch !== 0 || this.prerelease.length === 0) {
60962
- this.minor++
60963
- }
60964
- this.patch = 0
60965
- this.prerelease = []
60966
- break
60967
- case 'patch':
60968
- // If this is not a pre-release version, it will increment the patch.
60969
- // If it is a pre-release it will bump up to the same patch version.
60970
- // 1.2.0-5 patches to 1.2.0
60971
- // 1.2.0 patches to 1.2.1
60972
- if (this.prerelease.length === 0) {
60973
- this.patch++
60974
- }
60975
- this.prerelease = []
60976
- break
60977
- // This probably shouldn't be used publicly.
60978
- // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
60979
- case 'pre':
60980
- if (this.prerelease.length === 0) {
60981
- this.prerelease = [0]
60982
- } else {
60983
- var i = this.prerelease.length
60984
- while (--i >= 0) {
60985
- if (typeof this.prerelease[i] === 'number') {
60986
- this.prerelease[i]++
60987
- i = -2
60988
- }
60989
- }
60990
- if (i === -1) {
60991
- // didn't increment anything
60992
- this.prerelease.push(0)
60993
- }
60994
- }
60995
- if (identifier) {
60996
- // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
60997
- // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
60998
- if (this.prerelease[0] === identifier) {
60999
- if (isNaN(this.prerelease[1])) {
61000
- this.prerelease = [identifier, 0]
61001
- }
61002
- } else {
61003
- this.prerelease = [identifier, 0]
61004
- }
61005
- }
61006
- break
61007
-
61008
- default:
61009
- throw new Error('invalid increment argument: ' + release)
61010
- }
61011
- this.format()
61012
- this.raw = this.version
61013
- return this
61014
- }
61015
-
61016
- exports.inc = inc
61017
- function inc (version, release, loose, identifier) {
61018
- if (typeof (loose) === 'string') {
61019
- identifier = loose
61020
- loose = undefined
61021
- }
61022
-
61023
- try {
61024
- return new SemVer(version, loose).inc(release, identifier).version
61025
- } catch (er) {
61026
- return null
61027
- }
61028
- }
61029
-
61030
- exports.diff = diff
61031
- function diff (version1, version2) {
61032
- if (eq(version1, version2)) {
61033
- return null
61034
- } else {
61035
- var v1 = parse(version1)
61036
- var v2 = parse(version2)
61037
- var prefix = ''
61038
- if (v1.prerelease.length || v2.prerelease.length) {
61039
- prefix = 'pre'
61040
- var defaultResult = 'prerelease'
61041
- }
61042
- for (var key in v1) {
61043
- if (key === 'major' || key === 'minor' || key === 'patch') {
61044
- if (v1[key] !== v2[key]) {
61045
- return prefix + key
61046
- }
61047
- }
61048
- }
61049
- return defaultResult // may be undefined
61050
- }
61051
- }
61052
-
61053
- exports.compareIdentifiers = compareIdentifiers
61054
-
61055
- var numeric = /^[0-9]+$/
61056
- function compareIdentifiers (a, b) {
61057
- var anum = numeric.test(a)
61058
- var bnum = numeric.test(b)
61059
-
61060
- if (anum && bnum) {
61061
- a = +a
61062
- b = +b
61063
- }
61064
-
61065
- return a === b ? 0
61066
- : (anum && !bnum) ? -1
61067
- : (bnum && !anum) ? 1
61068
- : a < b ? -1
61069
- : 1
61070
- }
61071
-
61072
- exports.rcompareIdentifiers = rcompareIdentifiers
61073
- function rcompareIdentifiers (a, b) {
61074
- return compareIdentifiers(b, a)
61075
- }
61076
-
61077
- exports.major = major
61078
- function major (a, loose) {
61079
- return new SemVer(a, loose).major
61080
- }
61081
-
61082
- exports.minor = minor
61083
- function minor (a, loose) {
61084
- return new SemVer(a, loose).minor
61085
- }
61086
-
61087
- exports.patch = patch
61088
- function patch (a, loose) {
61089
- return new SemVer(a, loose).patch
61090
- }
61091
-
61092
- exports.compare = compare
61093
- function compare (a, b, loose) {
61094
- return new SemVer(a, loose).compare(new SemVer(b, loose))
61095
- }
61096
-
61097
- exports.compareLoose = compareLoose
61098
- function compareLoose (a, b) {
61099
- return compare(a, b, true)
61100
- }
61101
-
61102
- exports.rcompare = rcompare
61103
- function rcompare (a, b, loose) {
61104
- return compare(b, a, loose)
61105
- }
61106
-
61107
- exports.sort = sort
61108
- function sort (list, loose) {
61109
- return list.sort(function (a, b) {
61110
- return exports.compare(a, b, loose)
61111
- })
61112
- }
61113
-
61114
- exports.rsort = rsort
61115
- function rsort (list, loose) {
61116
- return list.sort(function (a, b) {
61117
- return exports.rcompare(a, b, loose)
61118
- })
61119
- }
61120
-
61121
- exports.gt = gt
61122
- function gt (a, b, loose) {
61123
- return compare(a, b, loose) > 0
61124
- }
61125
-
61126
- exports.lt = lt
61127
- function lt (a, b, loose) {
61128
- return compare(a, b, loose) < 0
61129
- }
61130
-
61131
- exports.eq = eq
61132
- function eq (a, b, loose) {
61133
- return compare(a, b, loose) === 0
61134
- }
61135
-
61136
- exports.neq = neq
61137
- function neq (a, b, loose) {
61138
- return compare(a, b, loose) !== 0
61139
- }
61140
-
61141
- exports.gte = gte
61142
- function gte (a, b, loose) {
61143
- return compare(a, b, loose) >= 0
61144
- }
61145
-
61146
- exports.lte = lte
61147
- function lte (a, b, loose) {
61148
- return compare(a, b, loose) <= 0
61149
- }
61150
-
61151
- exports.cmp = cmp
61152
- function cmp (a, op, b, loose) {
61153
- switch (op) {
61154
- case '===':
61155
- if (typeof a === 'object')
61156
- a = a.version
61157
- if (typeof b === 'object')
61158
- b = b.version
61159
- return a === b
61160
-
61161
- case '!==':
61162
- if (typeof a === 'object')
61163
- a = a.version
61164
- if (typeof b === 'object')
61165
- b = b.version
61166
- return a !== b
61167
-
61168
- case '':
61169
- case '=':
61170
- case '==':
61171
- return eq(a, b, loose)
61172
-
61173
- case '!=':
61174
- return neq(a, b, loose)
61175
-
61176
- case '>':
61177
- return gt(a, b, loose)
61178
-
61179
- case '>=':
61180
- return gte(a, b, loose)
61181
-
61182
- case '<':
61183
- return lt(a, b, loose)
61184
-
61185
- case '<=':
61186
- return lte(a, b, loose)
61187
-
61188
- default:
61189
- throw new TypeError('Invalid operator: ' + op)
61190
- }
61191
- }
61192
-
61193
- exports.Comparator = Comparator
61194
- function Comparator (comp, options) {
61195
- if (!options || typeof options !== 'object') {
61196
- options = {
61197
- loose: !!options,
61198
- includePrerelease: false
61199
- }
61200
- }
61201
-
61202
- if (comp instanceof Comparator) {
61203
- if (comp.loose === !!options.loose) {
61204
- return comp
61205
- } else {
61206
- comp = comp.value
61207
- }
61208
- }
61209
-
61210
- if (!(this instanceof Comparator)) {
61211
- return new Comparator(comp, options)
61212
- }
61213
-
61214
- debug('comparator', comp, options)
61215
- this.options = options
61216
- this.loose = !!options.loose
61217
- this.parse(comp)
61218
-
61219
- if (this.semver === ANY) {
61220
- this.value = ''
61221
- } else {
61222
- this.value = this.operator + this.semver.version
61223
- }
61224
-
61225
- debug('comp', this)
61226
- }
61227
-
61228
- var ANY = {}
61229
- Comparator.prototype.parse = function (comp) {
61230
- var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
61231
- var m = comp.match(r)
61232
-
61233
- if (!m) {
61234
- throw new TypeError('Invalid comparator: ' + comp)
61235
- }
61236
-
61237
- this.operator = m[1]
61238
- if (this.operator === '=') {
61239
- this.operator = ''
61240
- }
61241
-
61242
- // if it literally is just '>' or '' then allow anything.
61243
- if (!m[2]) {
61244
- this.semver = ANY
61245
- } else {
61246
- this.semver = new SemVer(m[2], this.options.loose)
61247
- }
61248
- }
61249
-
61250
- Comparator.prototype.toString = function () {
61251
- return this.value
61252
- }
61253
-
61254
- Comparator.prototype.test = function (version) {
61255
- debug('Comparator.test', version, this.options.loose)
61256
-
61257
- if (this.semver === ANY) {
61258
- return true
61259
- }
61260
-
61261
- if (typeof version === 'string') {
61262
- version = new SemVer(version, this.options)
61263
- }
61264
-
61265
- return cmp(version, this.operator, this.semver, this.options)
61266
- }
61267
-
61268
- Comparator.prototype.intersects = function (comp, options) {
61269
- if (!(comp instanceof Comparator)) {
61270
- throw new TypeError('a Comparator is required')
61271
- }
61272
-
61273
- if (!options || typeof options !== 'object') {
61274
- options = {
61275
- loose: !!options,
61276
- includePrerelease: false
61277
- }
61278
- }
61279
-
61280
- var rangeTmp
61281
-
61282
- if (this.operator === '') {
61283
- rangeTmp = new Range(comp.value, options)
61284
- return satisfies(this.value, rangeTmp, options)
61285
- } else if (comp.operator === '') {
61286
- rangeTmp = new Range(this.value, options)
61287
- return satisfies(comp.semver, rangeTmp, options)
61288
- }
61289
-
61290
- var sameDirectionIncreasing =
61291
- (this.operator === '>=' || this.operator === '>') &&
61292
- (comp.operator === '>=' || comp.operator === '>')
61293
- var sameDirectionDecreasing =
61294
- (this.operator === '<=' || this.operator === '<') &&
61295
- (comp.operator === '<=' || comp.operator === '<')
61296
- var sameSemVer = this.semver.version === comp.semver.version
61297
- var differentDirectionsInclusive =
61298
- (this.operator === '>=' || this.operator === '<=') &&
61299
- (comp.operator === '>=' || comp.operator === '<=')
61300
- var oppositeDirectionsLessThan =
61301
- cmp(this.semver, '<', comp.semver, options) &&
61302
- ((this.operator === '>=' || this.operator === '>') &&
61303
- (comp.operator === '<=' || comp.operator === '<'))
61304
- var oppositeDirectionsGreaterThan =
61305
- cmp(this.semver, '>', comp.semver, options) &&
61306
- ((this.operator === '<=' || this.operator === '<') &&
61307
- (comp.operator === '>=' || comp.operator === '>'))
61308
-
61309
- return sameDirectionIncreasing || sameDirectionDecreasing ||
61310
- (sameSemVer && differentDirectionsInclusive) ||
61311
- oppositeDirectionsLessThan || oppositeDirectionsGreaterThan
61312
- }
61313
-
61314
- exports.Range = Range
61315
- function Range (range, options) {
61316
- if (!options || typeof options !== 'object') {
61317
- options = {
61318
- loose: !!options,
61319
- includePrerelease: false
61320
- }
61321
- }
61322
-
61323
- if (range instanceof Range) {
61324
- if (range.loose === !!options.loose &&
61325
- range.includePrerelease === !!options.includePrerelease) {
61326
- return range
61327
- } else {
61328
- return new Range(range.raw, options)
61329
- }
61330
- }
61331
-
61332
- if (range instanceof Comparator) {
61333
- return new Range(range.value, options)
61334
- }
61335
-
61336
- if (!(this instanceof Range)) {
61337
- return new Range(range, options)
61338
- }
58938
+ listeners.fn.apply(listeners.context, args);
58939
+ } else {
58940
+ var length = listeners.length
58941
+ , j;
61339
58942
 
61340
- this.options = options
61341
- this.loose = !!options.loose
61342
- this.includePrerelease = !!options.includePrerelease
58943
+ for (i = 0; i < length; i++) {
58944
+ if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);
61343
58945
 
61344
- // First, split based on boolean or ||
61345
- this.raw = range
61346
- this.set = range.split(/\s*\|\|\s*/).map(function (range) {
61347
- return this.parseRange(range.trim())
61348
- }, this).filter(function (c) {
61349
- // throw out any that are not relevant for whatever reason
61350
- return c.length
61351
- })
58946
+ switch (len) {
58947
+ case 1: listeners[i].fn.call(listeners[i].context); break;
58948
+ case 2: listeners[i].fn.call(listeners[i].context, a1); break;
58949
+ case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
58950
+ case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;
58951
+ default:
58952
+ if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
58953
+ args[j - 1] = arguments[j];
58954
+ }
61352
58955
 
61353
- if (!this.set.length) {
61354
- throw new TypeError('Invalid SemVer Range: ' + range)
58956
+ listeners[i].fn.apply(listeners[i].context, args);
58957
+ }
58958
+ }
61355
58959
  }
61356
58960
 
61357
- this.format()
61358
- }
61359
-
61360
- Range.prototype.format = function () {
61361
- this.range = this.set.map(function (comps) {
61362
- return comps.join(' ').trim()
61363
- }).join('||').trim()
61364
- return this.range
61365
- }
58961
+ return true;
58962
+ };
61366
58963
 
61367
- Range.prototype.toString = function () {
61368
- return this.range
61369
- }
58964
+ /**
58965
+ * Add a listener for a given event.
58966
+ *
58967
+ * @param {(String|Symbol)} event The event name.
58968
+ * @param {Function} fn The listener function.
58969
+ * @param {*} [context=this] The context to invoke the listener with.
58970
+ * @returns {EventEmitter} `this`.
58971
+ * @public
58972
+ */
58973
+ EventEmitter.prototype.on = function on(event, fn, context) {
58974
+ return addListener(this, event, fn, context, false);
58975
+ };
61370
58976
 
61371
- Range.prototype.parseRange = function (range) {
61372
- var loose = this.options.loose
61373
- range = range.trim()
61374
- // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
61375
- var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]
61376
- range = range.replace(hr, hyphenReplace)
61377
- debug('hyphen replace', range)
61378
- // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
61379
- range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)
61380
- debug('comparator trim', range, re[COMPARATORTRIM])
58977
+ /**
58978
+ * Add a one-time listener for a given event.
58979
+ *
58980
+ * @param {(String|Symbol)} event The event name.
58981
+ * @param {Function} fn The listener function.
58982
+ * @param {*} [context=this] The context to invoke the listener with.
58983
+ * @returns {EventEmitter} `this`.
58984
+ * @public
58985
+ */
58986
+ EventEmitter.prototype.once = function once(event, fn, context) {
58987
+ return addListener(this, event, fn, context, true);
58988
+ };
61381
58989
 
61382
- // `~ 1.2.3` => `~1.2.3`
61383
- range = range.replace(re[TILDETRIM], tildeTrimReplace)
58990
+ /**
58991
+ * Remove the listeners of a given event.
58992
+ *
58993
+ * @param {(String|Symbol)} event The event name.
58994
+ * @param {Function} fn Only remove the listeners that match this function.
58995
+ * @param {*} context Only remove the listeners that have this context.
58996
+ * @param {Boolean} once Only remove one-time listeners.
58997
+ * @returns {EventEmitter} `this`.
58998
+ * @public
58999
+ */
59000
+ EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
59001
+ var evt = prefix ? prefix + event : event;
61384
59002
 
61385
- // `^ 1.2.3` => `^1.2.3`
61386
- range = range.replace(re[CARETTRIM], caretTrimReplace)
59003
+ if (!this._events[evt]) return this;
59004
+ if (!fn) {
59005
+ clearEvent(this, evt);
59006
+ return this;
59007
+ }
61387
59008
 
61388
- // normalize spaces
61389
- range = range.split(/\s+/).join(' ')
59009
+ var listeners = this._events[evt];
61390
59010
 
61391
- // At this point, the range is completely trimmed and
61392
- // ready to be split into comparators.
59011
+ if (listeners.fn) {
59012
+ if (
59013
+ listeners.fn === fn &&
59014
+ (!once || listeners.once) &&
59015
+ (!context || listeners.context === context)
59016
+ ) {
59017
+ clearEvent(this, evt);
59018
+ }
59019
+ } else {
59020
+ for (var i = 0, events = [], length = listeners.length; i < length; i++) {
59021
+ if (
59022
+ listeners[i].fn !== fn ||
59023
+ (once && !listeners[i].once) ||
59024
+ (context && listeners[i].context !== context)
59025
+ ) {
59026
+ events.push(listeners[i]);
59027
+ }
59028
+ }
61393
59029
 
61394
- var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
61395
- var set = range.split(' ').map(function (comp) {
61396
- return parseComparator(comp, this.options)
61397
- }, this).join(' ').split(/\s+/)
61398
- if (this.options.loose) {
61399
- // in loose mode, throw out any that are not valid comparators
61400
- set = set.filter(function (comp) {
61401
- return !!comp.match(compRe)
61402
- })
59030
+ //
59031
+ // Reset the array, or remove it completely if we have no more listeners.
59032
+ //
59033
+ if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
59034
+ else clearEvent(this, evt);
61403
59035
  }
61404
- set = set.map(function (comp) {
61405
- return new Comparator(comp, this.options)
61406
- }, this)
61407
59036
 
61408
- return set
61409
- }
59037
+ return this;
59038
+ };
61410
59039
 
61411
- Range.prototype.intersects = function (range, options) {
61412
- if (!(range instanceof Range)) {
61413
- throw new TypeError('a Range is required')
59040
+ /**
59041
+ * Remove all listeners, or those of the specified event.
59042
+ *
59043
+ * @param {(String|Symbol)} [event] The event name.
59044
+ * @returns {EventEmitter} `this`.
59045
+ * @public
59046
+ */
59047
+ EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
59048
+ var evt;
59049
+
59050
+ if (event) {
59051
+ evt = prefix ? prefix + event : event;
59052
+ if (this._events[evt]) clearEvent(this, evt);
59053
+ } else {
59054
+ this._events = new Events();
59055
+ this._eventsCount = 0;
61414
59056
  }
61415
59057
 
61416
- return this.set.some(function (thisComparators) {
61417
- return thisComparators.every(function (thisComparator) {
61418
- return range.set.some(function (rangeComparators) {
61419
- return rangeComparators.every(function (rangeComparator) {
61420
- return thisComparator.intersects(rangeComparator, options)
61421
- })
61422
- })
61423
- })
61424
- })
61425
- }
59058
+ return this;
59059
+ };
61426
59060
 
61427
- // Mostly just for testing and legacy API reasons
61428
- exports.toComparators = toComparators
61429
- function toComparators (range, options) {
61430
- return new Range(range, options).set.map(function (comp) {
61431
- return comp.map(function (c) {
61432
- return c.value
61433
- }).join(' ').trim().split(' ')
61434
- })
61435
- }
59061
+ //
59062
+ // Alias methods names because people roll like that.
59063
+ //
59064
+ EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
59065
+ EventEmitter.prototype.addListener = EventEmitter.prototype.on;
61436
59066
 
61437
- // comprised of xranges, tildes, stars, and gtlt's at this point.
61438
- // already replaced the hyphen ranges
61439
- // turn into a set of JUST comparators.
61440
- function parseComparator (comp, options) {
61441
- debug('comp', comp, options)
61442
- comp = replaceCarets(comp, options)
61443
- debug('caret', comp)
61444
- comp = replaceTildes(comp, options)
61445
- debug('tildes', comp)
61446
- comp = replaceXRanges(comp, options)
61447
- debug('xrange', comp)
61448
- comp = replaceStars(comp, options)
61449
- debug('stars', comp)
61450
- return comp
61451
- }
59067
+ //
59068
+ // Expose the prefix.
59069
+ //
59070
+ EventEmitter.prefixed = prefix;
61452
59071
 
61453
- function isX (id) {
61454
- return !id || id.toLowerCase() === 'x' || id === '*'
61455
- }
59072
+ //
59073
+ // Allow `EventEmitter` to be imported as module namespace.
59074
+ //
59075
+ EventEmitter.EventEmitter = EventEmitter;
61456
59076
 
61457
- // ~, ~> --> * (any, kinda silly)
61458
- // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0
61459
- // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0
61460
- // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0
61461
- // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0
61462
- // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0
61463
- function replaceTildes (comp, options) {
61464
- return comp.trim().split(/\s+/).map(function (comp) {
61465
- return replaceTilde(comp, options)
61466
- }).join(' ')
59077
+ //
59078
+ // Expose the module.
59079
+ //
59080
+ if (true) {
59081
+ module.exports = EventEmitter;
61467
59082
  }
61468
59083
 
61469
- function replaceTilde (comp, options) {
61470
- var r = options.loose ? re[TILDELOOSE] : re[TILDE]
61471
- return comp.replace(r, function (_, M, m, p, pr) {
61472
- debug('tilde', comp, _, M, m, p, pr)
61473
- var ret
61474
-
61475
- if (isX(M)) {
61476
- ret = ''
61477
- } else if (isX(m)) {
61478
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
61479
- } else if (isX(p)) {
61480
- // ~1.2 == >=1.2.0 <1.3.0
61481
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
61482
- } else if (pr) {
61483
- debug('replaceTilde pr', pr)
61484
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
61485
- ' <' + M + '.' + (+m + 1) + '.0'
61486
- } else {
61487
- // ~1.2.3 == >=1.2.3 <1.3.0
61488
- ret = '>=' + M + '.' + m + '.' + p +
61489
- ' <' + M + '.' + (+m + 1) + '.0'
61490
- }
61491
59084
 
61492
- debug('tilde return', ret)
61493
- return ret
61494
- })
61495
- }
59085
+ /***/ }),
61496
59086
 
61497
- // ^ --> * (any, kinda silly)
61498
- // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0
61499
- // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0
61500
- // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0
61501
- // ^1.2.3 --> >=1.2.3 <2.0.0
61502
- // ^1.2.0 --> >=1.2.0 <2.0.0
61503
- function replaceCarets (comp, options) {
61504
- return comp.trim().split(/\s+/).map(function (comp) {
61505
- return replaceCaret(comp, options)
61506
- }).join(' ')
61507
- }
59087
+ /***/ 16386:
59088
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
61508
59089
 
61509
- function replaceCaret (comp, options) {
61510
- debug('caret', comp, options)
61511
- var r = options.loose ? re[CARETLOOSE] : re[CARET]
61512
- return comp.replace(r, function (_, M, m, p, pr) {
61513
- debug('caret', comp, _, M, m, p, pr)
61514
- var ret
59090
+ (function () {
61515
59091
 
61516
- if (isX(M)) {
61517
- ret = ''
61518
- } else if (isX(m)) {
61519
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
61520
- } else if (isX(p)) {
61521
- if (M === '0') {
61522
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
61523
- } else {
61524
- ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'
61525
- }
61526
- } else if (pr) {
61527
- debug('replaceCaret pr', pr)
61528
- if (M === '0') {
61529
- if (m === '0') {
61530
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
61531
- ' <' + M + '.' + m + '.' + (+p + 1)
61532
- } else {
61533
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
61534
- ' <' + M + '.' + (+m + 1) + '.0'
61535
- }
61536
- } else {
61537
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
61538
- ' <' + (+M + 1) + '.0.0'
61539
- }
61540
- } else {
61541
- debug('no pr')
61542
- if (M === '0') {
61543
- if (m === '0') {
61544
- ret = '>=' + M + '.' + m + '.' + p +
61545
- ' <' + M + '.' + m + '.' + (+p + 1)
61546
- } else {
61547
- ret = '>=' + M + '.' + m + '.' + p +
61548
- ' <' + M + '.' + (+m + 1) + '.0'
61549
- }
61550
- } else {
61551
- ret = '>=' + M + '.' + m + '.' + p +
61552
- ' <' + (+M + 1) + '.0.0'
61553
- }
61554
- }
59092
+ var events = __webpack_require__(28614);
59093
+ var util = __webpack_require__(31669);
61555
59094
 
61556
- debug('caret return', ret)
61557
- return ret
61558
- })
61559
- }
59095
+ function intercept(type, interceptor) {
59096
+ var m;
61560
59097
 
61561
- function replaceXRanges (comp, options) {
61562
- debug('replaceXRanges', comp, options)
61563
- return comp.split(/\s+/).map(function (comp) {
61564
- return replaceXRange(comp, options)
61565
- }).join(' ')
61566
- }
59098
+ if (typeof interceptor !== 'function') {
59099
+ throw new TypeError('interceptor must be a function');
59100
+ }
61567
59101
 
61568
- function replaceXRange (comp, options) {
61569
- comp = comp.trim()
61570
- var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]
61571
- return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
61572
- debug('xRange', comp, ret, gtlt, M, m, p, pr)
61573
- var xM = isX(M)
61574
- var xm = xM || isX(m)
61575
- var xp = xm || isX(p)
61576
- var anyX = xp
59102
+ this.emit('newInterceptor', type, interceptor);
61577
59103
 
61578
- if (gtlt === '=' && anyX) {
61579
- gtlt = ''
59104
+ if (!this._interceptors[type]) {
59105
+ this._interceptors[type] = [interceptor];
59106
+ } else {
59107
+ this._interceptors[type].push(interceptor);
61580
59108
  }
61581
59109
 
61582
- if (xM) {
61583
- if (gtlt === '>' || gtlt === '<') {
61584
- // nothing is allowed
61585
- ret = '<0.0.0'
59110
+ // Check for listener leak
59111
+ if (!this._interceptors[type].warned) {
59112
+ if (typeof this._maxInterceptors !== 'undefined') {
59113
+ m = this._maxInterceptors;
61586
59114
  } else {
61587
- // nothing is forbidden
61588
- ret = '*'
59115
+ m = EventEmitter.defaultMaxInterceptors;
61589
59116
  }
61590
- } else if (gtlt && anyX) {
61591
- // we know patch is an x, because we have any x at all.
61592
- // replace X with 0
61593
- if (xm) {
61594
- m = 0
59117
+
59118
+ if (m && m > 0 && this._interceptors[type].length > m) {
59119
+ this._interceptors[type].warned = true;
59120
+ console.error('(node) warning: possible events-intercept EventEmitter memory ' +
59121
+ 'leak detected. %d interceptors added. ' +
59122
+ 'Use emitter.setMaxInterceptors(n) to increase limit.',
59123
+ this._interceptors[type].length);
59124
+ console.trace();
61595
59125
  }
61596
- p = 0
59126
+ }
61597
59127
 
61598
- if (gtlt === '>') {
61599
- // >1 => >=2.0.0
61600
- // >1.2 => >=1.3.0
61601
- // >1.2.3 => >= 1.2.4
61602
- gtlt = '>='
61603
- if (xm) {
61604
- M = +M + 1
61605
- m = 0
61606
- p = 0
61607
- } else {
61608
- m = +m + 1
61609
- p = 0
61610
- }
61611
- } else if (gtlt === '<=') {
61612
- // <=0.7.x is actually <0.8.0, since any 0.7.x should
61613
- // pass. Similarly, <=7.x is actually <8.0.0, etc.
61614
- gtlt = '<'
61615
- if (xm) {
61616
- M = +M + 1
59128
+ return this;
59129
+ }
59130
+
59131
+ function emitFactory(superCall) {
59132
+ return function (type) {
59133
+ var completed,
59134
+ interceptor,
59135
+ _this = this;
59136
+
59137
+ function next(err) {
59138
+ var trueArgs;
59139
+ if (err) {
59140
+ _this.emit('error', err);
59141
+ } else if (completed === interceptor.length) {
59142
+ return superCall.apply(_this, [type].concat(Array.prototype.slice.call(arguments).slice(1)));
61617
59143
  } else {
61618
- m = +m + 1
59144
+ trueArgs = Array.prototype.slice.call(arguments).slice(1).concat([next]);
59145
+ completed += 1;
59146
+ return interceptor[completed - 1].apply(_this, trueArgs);
61619
59147
  }
61620
59148
  }
61621
59149
 
61622
- ret = gtlt + M + '.' + m + '.' + p
61623
- } else if (xm) {
61624
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
61625
- } else if (xp) {
61626
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
61627
- }
61628
-
61629
- debug('xRange return', ret)
59150
+ if (!_this._interceptors) {
59151
+ _this._interceptors = {};
59152
+ }
61630
59153
 
61631
- return ret
61632
- })
61633
- }
59154
+ interceptor = _this._interceptors[type];
61634
59155
 
61635
- // Because * is AND-ed with everything else in the comparator,
61636
- // and '' means "any version", just remove the *s entirely.
61637
- function replaceStars (comp, options) {
61638
- debug('replaceStars', comp, options)
61639
- // Looseness is ignored here. star is always as loose as it gets!
61640
- return comp.trim().replace(re[STAR], '')
61641
- }
59156
+ if (!interceptor) {
61642
59157
 
61643
- // This function is passed to string.replace(re[HYPHENRANGE])
61644
- // M, m, patch, prerelease, build
61645
- // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
61646
- // 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
61647
- // 1.2 - 3.4 => >=1.2.0 <3.5.0
61648
- function hyphenReplace ($0,
61649
- from, fM, fm, fp, fpr, fb,
61650
- to, tM, tm, tp, tpr, tb) {
61651
- if (isX(fM)) {
61652
- from = ''
61653
- } else if (isX(fm)) {
61654
- from = '>=' + fM + '.0.0'
61655
- } else if (isX(fp)) {
61656
- from = '>=' + fM + '.' + fm + '.0'
61657
- } else {
61658
- from = '>=' + from
61659
- }
59158
+ //Just pass through
59159
+ return superCall.apply(_this, arguments);
61660
59160
 
61661
- if (isX(tM)) {
61662
- to = ''
61663
- } else if (isX(tm)) {
61664
- to = '<' + (+tM + 1) + '.0.0'
61665
- } else if (isX(tp)) {
61666
- to = '<' + tM + '.' + (+tm + 1) + '.0'
61667
- } else if (tpr) {
61668
- to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr
61669
- } else {
61670
- to = '<=' + to
61671
- }
59161
+ } else {
61672
59162
 
61673
- return (from + ' ' + to).trim()
61674
- }
59163
+ completed = 0;
59164
+ return next.apply(_this, [null].concat(Array.prototype.slice.call(arguments).slice(1)));
61675
59165
 
61676
- // if ANY of the sets match ALL of its comparators, then pass
61677
- Range.prototype.test = function (version) {
61678
- if (!version) {
61679
- return false
59166
+ }
59167
+ };
61680
59168
  }
61681
59169
 
61682
- if (typeof version === 'string') {
61683
- version = new SemVer(version, this.options)
61684
- }
59170
+ function interceptors(type) {
59171
+ var ret;
61685
59172
 
61686
- for (var i = 0; i < this.set.length; i++) {
61687
- if (testSet(this.set[i], version, this.options)) {
61688
- return true
59173
+ if (!this._interceptors || !this._interceptors[type]) {
59174
+ ret = [];
59175
+ } else {
59176
+ ret = this._interceptors[type].slice();
61689
59177
  }
61690
- }
61691
- return false
61692
- }
61693
59178
 
61694
- function testSet (set, version, options) {
61695
- for (var i = 0; i < set.length; i++) {
61696
- if (!set[i].test(version)) {
61697
- return false
61698
- }
59179
+ return ret;
61699
59180
  }
61700
59181
 
61701
- if (version.prerelease.length && !options.includePrerelease) {
61702
- // Find the set of versions that are allowed to have prereleases
61703
- // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
61704
- // That should allow `1.2.3-pr.2` to pass.
61705
- // However, `1.2.4-alpha.notready` should NOT be allowed,
61706
- // even though it's within the range set by the comparators.
61707
- for (i = 0; i < set.length; i++) {
61708
- debug(set[i].semver)
61709
- if (set[i].semver === ANY) {
61710
- continue
61711
- }
59182
+ function removeInterceptor(type, interceptor) {
59183
+ var list, position, length, i;
61712
59184
 
61713
- if (set[i].semver.prerelease.length > 0) {
61714
- var allowed = set[i].semver
61715
- if (allowed.major === version.major &&
61716
- allowed.minor === version.minor &&
61717
- allowed.patch === version.patch) {
61718
- return true
61719
- }
61720
- }
59185
+ if (typeof interceptor !== 'function') {
59186
+ throw new TypeError('interceptor must be a function');
61721
59187
  }
61722
59188
 
61723
- // Version has a -pre, but it's not one of the ones we like.
61724
- return false
61725
- }
61726
-
61727
- return true
61728
- }
59189
+ if (!this._interceptors || !this._interceptors[type]) {
59190
+ return this;
59191
+ }
61729
59192
 
61730
- exports.satisfies = satisfies
61731
- function satisfies (version, range, options) {
61732
- try {
61733
- range = new Range(range, options)
61734
- } catch (er) {
61735
- return false
61736
- }
61737
- return range.test(version)
61738
- }
59193
+ list = this._interceptors[type];
59194
+ length = list.length;
59195
+ position = -1;
61739
59196
 
61740
- exports.maxSatisfying = maxSatisfying
61741
- function maxSatisfying (versions, range, options) {
61742
- var max = null
61743
- var maxSV = null
61744
- try {
61745
- var rangeObj = new Range(range, options)
61746
- } catch (er) {
61747
- return null
61748
- }
61749
- versions.forEach(function (v) {
61750
- if (rangeObj.test(v)) {
61751
- // satisfies(v, range, options)
61752
- if (!max || maxSV.compare(v) === -1) {
61753
- // compare(max, v, true)
61754
- max = v
61755
- maxSV = new SemVer(max, options)
59197
+ for (i = length - 1; i >= 0; i--) {
59198
+ if (list[i] === interceptor) {
59199
+ position = i;
59200
+ break;
61756
59201
  }
61757
59202
  }
61758
- })
61759
- return max
61760
- }
61761
59203
 
61762
- exports.minSatisfying = minSatisfying
61763
- function minSatisfying (versions, range, options) {
61764
- var min = null
61765
- var minSV = null
61766
- try {
61767
- var rangeObj = new Range(range, options)
61768
- } catch (er) {
61769
- return null
61770
- }
61771
- versions.forEach(function (v) {
61772
- if (rangeObj.test(v)) {
61773
- // satisfies(v, range, options)
61774
- if (!min || minSV.compare(v) === 1) {
61775
- // compare(min, v, true)
61776
- min = v
61777
- minSV = new SemVer(min, options)
61778
- }
59204
+ if (position < 0) {
59205
+ return this;
61779
59206
  }
61780
- })
61781
- return min
61782
- }
61783
59207
 
61784
- exports.minVersion = minVersion
61785
- function minVersion (range, loose) {
61786
- range = new Range(range, loose)
59208
+ if (length === 1) {
59209
+ delete this._interceptors[type];
59210
+ } else {
59211
+ list.splice(position, 1);
59212
+ }
61787
59213
 
61788
- var minver = new SemVer('0.0.0')
61789
- if (range.test(minver)) {
61790
- return minver
61791
- }
59214
+ this.emit('removeInterceptor', type, interceptor);
61792
59215
 
61793
- minver = new SemVer('0.0.0-0')
61794
- if (range.test(minver)) {
61795
- return minver
59216
+ return this;
61796
59217
  }
61797
59218
 
61798
- minver = null
61799
- for (var i = 0; i < range.set.length; ++i) {
61800
- var comparators = range.set[i]
61801
-
61802
- comparators.forEach(function (comparator) {
61803
- // Clone to avoid manipulating the comparator's semver object.
61804
- var compver = new SemVer(comparator.semver.version)
61805
- switch (comparator.operator) {
61806
- case '>':
61807
- if (compver.prerelease.length === 0) {
61808
- compver.patch++
61809
- } else {
61810
- compver.prerelease.push(0)
61811
- }
61812
- compver.raw = compver.format()
61813
- /* fallthrough */
61814
- case '':
61815
- case '>=':
61816
- if (!minver || gt(minver, compver)) {
61817
- minver = compver
61818
- }
61819
- break
61820
- case '<':
61821
- case '<=':
61822
- /* Ignore maximum versions */
61823
- break
61824
- /* istanbul ignore next */
61825
- default:
61826
- throw new Error('Unexpected operation: ' + comparator.operator)
59219
+ function listenersFactory(superCall) {
59220
+ return function (type) {
59221
+ var superListeners = superCall.call(this, type);
59222
+ var fakeFunctionIndex;
59223
+ var tempSuperListeners = superListeners.slice();
59224
+ if (type === 'newListener' || type === 'removeListener') {
59225
+ fakeFunctionIndex = superListeners.indexOf(fakeFunction);
59226
+ if (fakeFunctionIndex !== -1) {
59227
+ tempSuperListeners.splice(fakeFunctionIndex, 1);
59228
+ }
59229
+ return tempSuperListeners;
61827
59230
  }
61828
- })
61829
- }
61830
-
61831
- if (minver && range.test(minver)) {
61832
- return minver
61833
- }
61834
-
61835
- return null
61836
- }
61837
-
61838
- exports.validRange = validRange
61839
- function validRange (range, options) {
61840
- try {
61841
- // Return '*' instead of '' so that truthiness works.
61842
- // This will throw if it's invalid anyway
61843
- return new Range(range, options).range || '*'
61844
- } catch (er) {
61845
- return null
59231
+ return superListeners;
59232
+ };
61846
59233
  }
61847
- }
61848
-
61849
- // Determine if version is less than all the versions possible in the range
61850
- exports.ltr = ltr
61851
- function ltr (version, range, options) {
61852
- return outside(version, range, '<', options)
61853
- }
61854
-
61855
- // Determine if version is greater than all the versions possible in the range.
61856
- exports.gtr = gtr
61857
- function gtr (version, range, options) {
61858
- return outside(version, range, '>', options)
61859
- }
61860
59234
 
61861
- exports.outside = outside
61862
- function outside (version, range, hilo, options) {
61863
- version = new SemVer(version, options)
61864
- range = new Range(range, options)
59235
+ function fakeFunction() {}
61865
59236
 
61866
- var gtfn, ltefn, ltfn, comp, ecomp
61867
- switch (hilo) {
61868
- case '>':
61869
- gtfn = gt
61870
- ltefn = lte
61871
- ltfn = lt
61872
- comp = '>'
61873
- ecomp = '>='
61874
- break
61875
- case '<':
61876
- gtfn = lt
61877
- ltefn = gte
61878
- ltfn = gt
61879
- comp = '<'
61880
- ecomp = '<='
61881
- break
61882
- default:
61883
- throw new TypeError('Must provide a hilo val of "<" or ">"')
59237
+ function fixListeners(emitter) {
59238
+ emitter.on('newListener', fakeFunction);
59239
+ emitter.on('removeListener', fakeFunction);
61884
59240
  }
61885
59241
 
61886
- // If it satisifes the range it is not outside
61887
- if (satisfies(version, range, options)) {
61888
- return false
59242
+ function setMaxInterceptors(n) {
59243
+ if (typeof n !== 'number' || n < 0 || isNaN(n)) {
59244
+ throw new TypeError('n must be a positive number');
59245
+ }
59246
+ this._maxInterceptors = n;
59247
+ return this;
61889
59248
  }
61890
59249
 
61891
- // From now on, variable terms are as if we're in "gtr" mode.
61892
- // but note that everything is flipped for the "ltr" function.
59250
+ function removeAllInterceptors(type) {
59251
+ var key, theseInterceptors, length, i;
61893
59252
 
61894
- for (var i = 0; i < range.set.length; ++i) {
61895
- var comparators = range.set[i]
59253
+ if (!this._interceptors || Object.getOwnPropertyNames(this._interceptors).length === 0) {
59254
+ return this;
59255
+ }
61896
59256
 
61897
- var high = null
61898
- var low = null
59257
+ if (arguments.length === 0) {
61899
59258
 
61900
- comparators.forEach(function (comparator) {
61901
- if (comparator.semver === ANY) {
61902
- comparator = new Comparator('>=0.0.0')
59259
+ for (key in this._interceptors) {
59260
+ if (this._interceptors.hasOwnProperty(key) && key !== 'removeInterceptor') {
59261
+ this.removeAllInterceptors(key);
59262
+ }
61903
59263
  }
61904
- high = high || comparator
61905
- low = low || comparator
61906
- if (gtfn(comparator.semver, high.semver, options)) {
61907
- high = comparator
61908
- } else if (ltfn(comparator.semver, low.semver, options)) {
61909
- low = comparator
59264
+ this.removeAllInterceptors('removeInterceptor');
59265
+ this._interceptors = {};
59266
+
59267
+ } else if (this._interceptors[type]) {
59268
+ theseInterceptors = this._interceptors[type];
59269
+ length = theseInterceptors.length;
59270
+
59271
+ // LIFO order
59272
+ for (i = length - 1; i >= 0; i--) {
59273
+ this.removeInterceptor(type, theseInterceptors[i]);
61910
59274
  }
61911
- })
61912
59275
 
61913
- // If the edge version comparator has a operator then our version
61914
- // isn't outside it
61915
- if (high.operator === comp || high.operator === ecomp) {
61916
- return false
59276
+ delete this._interceptors[type];
61917
59277
  }
61918
59278
 
61919
- // If the lowest version comparator has an operator and our version
61920
- // is less than it then it isn't higher than the range
61921
- if ((!low.operator || low.operator === comp) &&
61922
- ltefn(version, low.semver)) {
61923
- return false
61924
- } else if (low.operator === ecomp && ltfn(version, low.semver)) {
61925
- return false
61926
- }
59279
+ return this;
61927
59280
  }
61928
- return true
61929
- }
61930
-
61931
- exports.prerelease = prerelease
61932
- function prerelease (version, options) {
61933
- var parsed = parse(version, options)
61934
- return (parsed && parsed.prerelease.length) ? parsed.prerelease : null
61935
- }
61936
-
61937
- exports.intersects = intersects
61938
- function intersects (r1, r2, options) {
61939
- r1 = new Range(r1, options)
61940
- r2 = new Range(r2, options)
61941
- return r1.intersects(r2)
61942
- }
61943
59281
 
61944
- exports.coerce = coerce
61945
- function coerce (version) {
61946
- if (version instanceof SemVer) {
61947
- return version
59282
+ function EventEmitter() {
59283
+ events.EventEmitter.call(this);
59284
+ fixListeners(this);
61948
59285
  }
61949
59286
 
61950
- if (typeof version !== 'string') {
61951
- return null
61952
- }
59287
+ util.inherits(EventEmitter, events.EventEmitter);
61953
59288
 
61954
- var match = version.match(re[COERCE])
59289
+ EventEmitter.prototype.intercept = intercept;
59290
+ EventEmitter.prototype.emit = emitFactory(EventEmitter.super_.prototype.emit);
59291
+ EventEmitter.prototype.interceptors = interceptors;
59292
+ EventEmitter.prototype.removeInterceptor = removeInterceptor;
59293
+ EventEmitter.prototype.removeAllInterceptors = removeAllInterceptors;
59294
+ EventEmitter.prototype.setMaxInterceptors = setMaxInterceptors;
59295
+ EventEmitter.prototype.listeners = listenersFactory(EventEmitter.super_.prototype.listeners);
59296
+ EventEmitter.defaultMaxInterceptors = 10;
61955
59297
 
61956
- if (match == null) {
61957
- return null
59298
+ function monkeyPatch(emitter) {
59299
+ var oldEmit = emitter.emit;
59300
+ var oldListeners = emitter.listeners;
59301
+
59302
+ emitter.emit = emitFactory(oldEmit);
59303
+ emitter.intercept = intercept;
59304
+ emitter.interceptors = interceptors;
59305
+ emitter.removeInterceptor = removeInterceptor;
59306
+ emitter.removeAllInterceptors = removeAllInterceptors;
59307
+ emitter.setMaxInterceptors = setMaxInterceptors;
59308
+ emitter.listeners = listenersFactory(oldListeners);
59309
+ fixListeners(emitter);
61958
59310
  }
61959
59311
 
61960
- return parse(match[1] +
61961
- '.' + (match[2] || '0') +
61962
- '.' + (match[3] || '0'))
61963
- }
59312
+ module.exports = {
59313
+ EventEmitter: EventEmitter,
59314
+ patch: monkeyPatch
59315
+ };
59316
+
59317
+ })();
61964
59318
 
61965
59319
 
61966
59320
  /***/ }),
@@ -68840,123 +66194,6 @@ exports.W = function(promise) {
68840
66194
  };
68841
66195
 
68842
66196
 
68843
- /***/ }),
68844
-
68845
- /***/ 79114:
68846
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
68847
-
68848
- "use strict";
68849
-
68850
- const {PassThrough} = __webpack_require__(92413);
68851
-
68852
- module.exports = options => {
68853
- options = Object.assign({}, options);
68854
-
68855
- const {array} = options;
68856
- let {encoding} = options;
68857
- const buffer = encoding === 'buffer';
68858
- let objectMode = false;
68859
-
68860
- if (array) {
68861
- objectMode = !(encoding || buffer);
68862
- } else {
68863
- encoding = encoding || 'utf8';
68864
- }
68865
-
68866
- if (buffer) {
68867
- encoding = null;
68868
- }
68869
-
68870
- let len = 0;
68871
- const ret = [];
68872
- const stream = new PassThrough({objectMode});
68873
-
68874
- if (encoding) {
68875
- stream.setEncoding(encoding);
68876
- }
68877
-
68878
- stream.on('data', chunk => {
68879
- ret.push(chunk);
68880
-
68881
- if (objectMode) {
68882
- len = ret.length;
68883
- } else {
68884
- len += chunk.length;
68885
- }
68886
- });
68887
-
68888
- stream.getBufferedValue = () => {
68889
- if (array) {
68890
- return ret;
68891
- }
68892
-
68893
- return buffer ? Buffer.concat(ret, len) : ret.join('');
68894
- };
68895
-
68896
- stream.getBufferedLength = () => len;
68897
-
68898
- return stream;
68899
- };
68900
-
68901
-
68902
- /***/ }),
68903
-
68904
- /***/ 19136:
68905
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
68906
-
68907
- "use strict";
68908
-
68909
- const pump = __webpack_require__(89595);
68910
- const bufferStream = __webpack_require__(79114);
68911
-
68912
- class MaxBufferError extends Error {
68913
- constructor() {
68914
- super('maxBuffer exceeded');
68915
- this.name = 'MaxBufferError';
68916
- }
68917
- }
68918
-
68919
- function getStream(inputStream, options) {
68920
- if (!inputStream) {
68921
- return Promise.reject(new Error('Expected a stream'));
68922
- }
68923
-
68924
- options = Object.assign({maxBuffer: Infinity}, options);
68925
-
68926
- const {maxBuffer} = options;
68927
-
68928
- let stream;
68929
- return new Promise((resolve, reject) => {
68930
- const rejectPromise = error => {
68931
- if (error) { // A null check
68932
- error.bufferedData = stream.getBufferedValue();
68933
- }
68934
- reject(error);
68935
- };
68936
-
68937
- stream = pump(inputStream, bufferStream(options), error => {
68938
- if (error) {
68939
- rejectPromise(error);
68940
- return;
68941
- }
68942
-
68943
- resolve();
68944
- });
68945
-
68946
- stream.on('data', () => {
68947
- if (stream.getBufferedLength() > maxBuffer) {
68948
- rejectPromise(new MaxBufferError());
68949
- }
68950
- });
68951
- }).then(() => stream.getBufferedValue());
68952
- }
68953
-
68954
- module.exports = getStream;
68955
- module.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'}));
68956
- module.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true}));
68957
- module.exports.MaxBufferError = MaxBufferError;
68958
-
68959
-
68960
66197
  /***/ }),
68961
66198
 
68962
66199
  /***/ 13495:
@@ -81154,35 +78391,6 @@ module.exports = function (x) {
81154
78391
  };
81155
78392
 
81156
78393
 
81157
- /***/ }),
81158
-
81159
- /***/ 1381:
81160
- /***/ ((module) => {
81161
-
81162
- "use strict";
81163
-
81164
-
81165
- var isStream = module.exports = function (stream) {
81166
- return stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function';
81167
- };
81168
-
81169
- isStream.writable = function (stream) {
81170
- return isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object';
81171
- };
81172
-
81173
- isStream.readable = function (stream) {
81174
- return isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object';
81175
- };
81176
-
81177
- isStream.duplex = function (stream) {
81178
- return isStream.writable(stream) && isStream.readable(stream);
81179
- };
81180
-
81181
- isStream.transform = function (stream) {
81182
- return isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object';
81183
- };
81184
-
81185
-
81186
78394
  /***/ }),
81187
78395
 
81188
78396
  /***/ 92025:
@@ -107952,25 +105160,6 @@ MuteStream.prototype.destroySoon = proxy('destroySoon')
107952
105160
  MuteStream.prototype.close = proxy('close')
107953
105161
 
107954
105162
 
107955
- /***/ }),
107956
-
107957
- /***/ 7369:
107958
- /***/ ((module) => {
107959
-
107960
- "use strict";
107961
-
107962
-
107963
- /**
107964
- * Tries to execute a function and discards any error that occurs.
107965
- * @param {Function} fn - Function that might or might not throw an error.
107966
- * @returns {?*} Return-value of the function when no error occurred.
107967
- */
107968
- module.exports = function(fn) {
107969
-
107970
- try { return fn() } catch (e) {}
107971
-
107972
- }
107973
-
107974
105163
  /***/ }),
107975
105164
 
107976
105165
  /***/ 82197:
@@ -111463,74 +108652,6 @@ function fromRegistry (res) {
111463
108652
  }
111464
108653
 
111465
108654
 
111466
- /***/ }),
111467
-
111468
- /***/ 41783:
111469
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
111470
-
111471
- "use strict";
111472
-
111473
- const path = __webpack_require__(85622);
111474
- const pathKey = __webpack_require__(71948);
111475
-
111476
- module.exports = opts => {
111477
- opts = Object.assign({
111478
- cwd: process.cwd(),
111479
- path: process.env[pathKey()]
111480
- }, opts);
111481
-
111482
- let prev;
111483
- let pth = path.resolve(opts.cwd);
111484
- const ret = [];
111485
-
111486
- while (prev !== pth) {
111487
- ret.push(path.join(pth, 'node_modules/.bin'));
111488
- prev = pth;
111489
- pth = path.resolve(pth, '..');
111490
- }
111491
-
111492
- // ensure the running `node` binary is used
111493
- ret.push(path.dirname(process.execPath));
111494
-
111495
- return ret.concat(opts.path).join(path.delimiter);
111496
- };
111497
-
111498
- module.exports.env = opts => {
111499
- opts = Object.assign({
111500
- env: process.env
111501
- }, opts);
111502
-
111503
- const env = Object.assign({}, opts.env);
111504
- const path = pathKey({env});
111505
-
111506
- opts.path = env[path];
111507
- env[path] = module.exports(opts);
111508
-
111509
- return env;
111510
- };
111511
-
111512
-
111513
- /***/ }),
111514
-
111515
- /***/ 71948:
111516
- /***/ ((module) => {
111517
-
111518
- "use strict";
111519
-
111520
- module.exports = opts => {
111521
- opts = opts || {};
111522
-
111523
- const env = opts.env || process.env;
111524
- const platform = opts.platform || process.platform;
111525
-
111526
- if (platform !== 'win32') {
111527
- return 'PATH';
111528
- }
111529
-
111530
- return Object.keys(env).find(x => x.toUpperCase() === 'PATH') || 'Path';
111531
- };
111532
-
111533
-
111534
108655
  /***/ }),
111535
108656
 
111536
108657
  /***/ 40584:
@@ -114608,29 +111729,6 @@ memo('shell', function () {
114608
111729
  })
114609
111730
 
114610
111731
 
114611
- /***/ }),
114612
-
114613
- /***/ 65324:
114614
- /***/ ((module) => {
114615
-
114616
- "use strict";
114617
-
114618
- module.exports = (promise, onFinally) => {
114619
- onFinally = onFinally || (() => {});
114620
-
114621
- return promise.then(
114622
- val => new Promise(resolve => {
114623
- resolve(onFinally());
114624
- }).then(() => val),
114625
- err => new Promise(resolve => {
114626
- resolve(onFinally());
114627
- }).then(() => {
114628
- throw err;
114629
- })
114630
- );
114631
- };
114632
-
114633
-
114634
111732
  /***/ }),
114635
111733
 
114636
111734
  /***/ 52991:
@@ -140778,43 +137876,6 @@ function mixinProperties (obj, proto) {
140778
137876
  }
140779
137877
 
140780
137878
 
140781
- /***/ }),
140782
-
140783
- /***/ 24970:
140784
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
140785
-
140786
- "use strict";
140787
-
140788
- var shebangRegex = __webpack_require__(81504);
140789
-
140790
- module.exports = function (str) {
140791
- var match = str.match(shebangRegex);
140792
-
140793
- if (!match) {
140794
- return null;
140795
- }
140796
-
140797
- var arr = match[0].replace(/#! ?/, '').split(' ');
140798
- var bin = arr[0].split('/').pop();
140799
- var arg = arr[1];
140800
-
140801
- return (bin === 'env' ?
140802
- arg :
140803
- bin + (arg ? ' ' + arg : '')
140804
- );
140805
- };
140806
-
140807
-
140808
- /***/ }),
140809
-
140810
- /***/ 81504:
140811
- /***/ ((module) => {
140812
-
140813
- "use strict";
140814
-
140815
- module.exports = /^#!.*/;
140816
-
140817
-
140818
137879
  /***/ }),
140819
137880
 
140820
137881
  /***/ 52028:
@@ -152243,29 +149304,6 @@ module.exports = x => {
152243
149304
  };
152244
149305
 
152245
149306
 
152246
- /***/ }),
152247
-
152248
- /***/ 60605:
152249
- /***/ ((module) => {
152250
-
152251
- "use strict";
152252
-
152253
- module.exports = function (x) {
152254
- var lf = typeof x === 'string' ? '\n' : '\n'.charCodeAt();
152255
- var cr = typeof x === 'string' ? '\r' : '\r'.charCodeAt();
152256
-
152257
- if (x[x.length - 1] === lf) {
152258
- x = x.slice(0, x.length - 1);
152259
- }
152260
-
152261
- if (x[x.length - 1] === cr) {
152262
- x = x.slice(0, x.length - 1);
152263
- }
152264
-
152265
- return x;
152266
- };
152267
-
152268
-
152269
149307
  /***/ }),
152270
149308
 
152271
149309
  /***/ 56831:
@@ -166534,148 +163572,6 @@ function bisearch(ucs) {
166534
163572
  }
166535
163573
 
166536
163574
 
166537
- /***/ }),
166538
-
166539
- /***/ 28201:
166540
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
166541
-
166542
- module.exports = which
166543
- which.sync = whichSync
166544
-
166545
- var isWindows = process.platform === 'win32' ||
166546
- process.env.OSTYPE === 'cygwin' ||
166547
- process.env.OSTYPE === 'msys'
166548
-
166549
- var path = __webpack_require__(85622)
166550
- var COLON = isWindows ? ';' : ':'
166551
- var isexe = __webpack_require__(80228)
166552
-
166553
- function getNotFoundError (cmd) {
166554
- var er = new Error('not found: ' + cmd)
166555
- er.code = 'ENOENT'
166556
-
166557
- return er
166558
- }
166559
-
166560
- function getPathInfo (cmd, opt) {
166561
- var colon = opt.colon || COLON
166562
- var pathEnv = opt.path || process.env.PATH || ''
166563
- var pathExt = ['']
166564
-
166565
- pathEnv = pathEnv.split(colon)
166566
-
166567
- var pathExtExe = ''
166568
- if (isWindows) {
166569
- pathEnv.unshift(process.cwd())
166570
- pathExtExe = (opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM')
166571
- pathExt = pathExtExe.split(colon)
166572
-
166573
-
166574
- // Always test the cmd itself first. isexe will check to make sure
166575
- // it's found in the pathExt set.
166576
- if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')
166577
- pathExt.unshift('')
166578
- }
166579
-
166580
- // If it has a slash, then we don't bother searching the pathenv.
166581
- // just check the file itself, and that's it.
166582
- if (cmd.match(/\//) || isWindows && cmd.match(/\\/))
166583
- pathEnv = ['']
166584
-
166585
- return {
166586
- env: pathEnv,
166587
- ext: pathExt,
166588
- extExe: pathExtExe
166589
- }
166590
- }
166591
-
166592
- function which (cmd, opt, cb) {
166593
- if (typeof opt === 'function') {
166594
- cb = opt
166595
- opt = {}
166596
- }
166597
-
166598
- var info = getPathInfo(cmd, opt)
166599
- var pathEnv = info.env
166600
- var pathExt = info.ext
166601
- var pathExtExe = info.extExe
166602
- var found = []
166603
-
166604
- ;(function F (i, l) {
166605
- if (i === l) {
166606
- if (opt.all && found.length)
166607
- return cb(null, found)
166608
- else
166609
- return cb(getNotFoundError(cmd))
166610
- }
166611
-
166612
- var pathPart = pathEnv[i]
166613
- if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"')
166614
- pathPart = pathPart.slice(1, -1)
166615
-
166616
- var p = path.join(pathPart, cmd)
166617
- if (!pathPart && (/^\.[\\\/]/).test(cmd)) {
166618
- p = cmd.slice(0, 2) + p
166619
- }
166620
- ;(function E (ii, ll) {
166621
- if (ii === ll) return F(i + 1, l)
166622
- var ext = pathExt[ii]
166623
- isexe(p + ext, { pathExt: pathExtExe }, function (er, is) {
166624
- if (!er && is) {
166625
- if (opt.all)
166626
- found.push(p + ext)
166627
- else
166628
- return cb(null, p + ext)
166629
- }
166630
- return E(ii + 1, ll)
166631
- })
166632
- })(0, pathExt.length)
166633
- })(0, pathEnv.length)
166634
- }
166635
-
166636
- function whichSync (cmd, opt) {
166637
- opt = opt || {}
166638
-
166639
- var info = getPathInfo(cmd, opt)
166640
- var pathEnv = info.env
166641
- var pathExt = info.ext
166642
- var pathExtExe = info.extExe
166643
- var found = []
166644
-
166645
- for (var i = 0, l = pathEnv.length; i < l; i ++) {
166646
- var pathPart = pathEnv[i]
166647
- if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"')
166648
- pathPart = pathPart.slice(1, -1)
166649
-
166650
- var p = path.join(pathPart, cmd)
166651
- if (!pathPart && /^\.[\\\/]/.test(cmd)) {
166652
- p = cmd.slice(0, 2) + p
166653
- }
166654
- for (var j = 0, ll = pathExt.length; j < ll; j ++) {
166655
- var cur = p + pathExt[j]
166656
- var is
166657
- try {
166658
- is = isexe.sync(cur, { pathExt: pathExtExe })
166659
- if (is) {
166660
- if (opt.all)
166661
- found.push(cur)
166662
- else
166663
- return cur
166664
- }
166665
- } catch (ex) {}
166666
- }
166667
- }
166668
-
166669
- if (opt.all && found.length)
166670
- return found
166671
-
166672
- if (opt.nothrow)
166673
- return null
166674
-
166675
- throw getNotFoundError(cmd)
166676
- }
166677
-
166678
-
166679
163575
  /***/ }),
166680
163576
 
166681
163577
  /***/ 84586:
@@ -217890,6 +214786,41 @@ exports.frameworks = [
217890
214786
  },
217891
214787
  ],
217892
214788
  },
214789
+ {
214790
+ name: 'Hydrogen',
214791
+ slug: 'hydrogen',
214792
+ demo: 'https://hydrogen-template.vercel.app',
214793
+ logo: 'https://raw.githubusercontent.com/vercel/vercel/main/packages/frameworks/logos/hydrogen.svg',
214794
+ tagline: 'React framework for headless commerce',
214795
+ description: 'React framework for headless commerce',
214796
+ website: 'https://hydrogen.shopify.dev',
214797
+ useRuntime: { src: 'package.json', use: '@vercel/hydrogen' },
214798
+ detectors: {
214799
+ every: [
214800
+ {
214801
+ path: 'hydrogen.config.js',
214802
+ },
214803
+ ],
214804
+ },
214805
+ settings: {
214806
+ installCommand: {
214807
+ placeholder: '`yarn install`, `pnpm install`, or `npm install`',
214808
+ },
214809
+ buildCommand: {
214810
+ value: 'shopify hydrogen build',
214811
+ placeholder: '`npm run build` or `shopify hydrogen build`',
214812
+ },
214813
+ devCommand: {
214814
+ value: 'shopify hydrogen dev',
214815
+ placeholder: 'shopify hydrogen dev',
214816
+ },
214817
+ outputDirectory: {
214818
+ value: 'dist',
214819
+ },
214820
+ },
214821
+ dependency: '@shopify/hydrogen',
214822
+ getOutputDirName: async () => 'dist',
214823
+ },
217893
214824
  {
217894
214825
  name: 'Other',
217895
214826
  slug: null,
@@ -234835,7 +231766,6 @@ const help = () => `
234835
231766
  -e, --env Include an env var during run time (e.g.: ${chalk_1.default.dim('`-e KEY=value`')}). Can appear many times.
234836
231767
  -b, --build-env Similar to ${chalk_1.default.dim('`--env`')} but for build time only.
234837
231768
  -m, --meta Add metadata for the deployment (e.g.: ${chalk_1.default.dim('`-m KEY=value`')}). Can appear many times.
234838
- -C, --no-clipboard Do not attempt to copy URL to clipboard
234839
231769
  -S, --scope Set a custom scope
234840
231770
  --regions Set default regions to enable the deployment on
234841
231771
  --prod Create a production deployment
@@ -234904,7 +231834,6 @@ const highlight_1 = __importDefault(__webpack_require__(8199));
234904
231834
  const files_1 = __webpack_require__(79919);
234905
231835
  const get_args_1 = __importDefault(__webpack_require__(87612));
234906
231836
  const error_1 = __webpack_require__(54094);
234907
- const clipboardy_1 = __webpack_require__(19997);
234908
231837
  const build_utils_1 = __webpack_require__(3131);
234909
231838
  const humanize_path_1 = __importDefault(__webpack_require__(45090));
234910
231839
  const util_1 = __importDefault(__webpack_require__(60487));
@@ -234941,7 +231870,6 @@ exports.default = async (client) => {
234941
231870
  '--force': Boolean,
234942
231871
  '--with-cache': Boolean,
234943
231872
  '--public': Boolean,
234944
- '--no-clipboard': Boolean,
234945
231873
  '--env': [String],
234946
231874
  '--build-env': [String],
234947
231875
  '--meta': [String],
@@ -234955,7 +231883,6 @@ exports.default = async (client) => {
234955
231883
  '-p': '--public',
234956
231884
  '-e': '--env',
234957
231885
  '-b': '--build-env',
234958
- '-C': '--no-clipboard',
234959
231886
  '-m': '--meta',
234960
231887
  '-c': '--confirm',
234961
231888
  // deprecated
@@ -235337,7 +232264,7 @@ exports.default = async (client) => {
235337
232264
  error_1.handleError(err);
235338
232265
  return 1;
235339
232266
  }
235340
- return printDeploymentStatus(output, client, deployment, deployStamp, !argv['--no-clipboard']);
232267
+ return printDeploymentStatus(output, client, deployment, deployStamp);
235341
232268
  };
235342
232269
  function handleCreateDeployError(output, error, localConfig) {
235343
232270
  if (error instanceof errors_ts_1.InvalidDomain) {
@@ -235403,7 +232330,7 @@ const addProcessEnv = async (log, env) => {
235403
232330
  }
235404
232331
  }
235405
232332
  };
235406
- const printDeploymentStatus = async (output, client, { readyState, alias: aliasList, aliasError, target, indications, url: deploymentUrl, aliasWarning, }, deployStamp, isClipboardEnabled) => {
232333
+ const printDeploymentStatus = async (output, client, { readyState, alias: aliasList, aliasError, target, indications, url: deploymentUrl, aliasWarning, }, deployStamp) => {
235407
232334
  indications = indications || [];
235408
232335
  const isProdDeployment = target === 'production';
235409
232336
  if (readyState !== 'READY') {
@@ -235416,35 +232343,20 @@ const printDeploymentStatus = async (output, client, { readyState, alias: aliasL
235416
232343
  else {
235417
232344
  // print preview/production url
235418
232345
  let previewUrl;
235419
- let isWildcard;
235420
232346
  if (Array.isArray(aliasList) && aliasList.length > 0) {
235421
232347
  const previewUrlInfo = await get_preferred_preview_url_1.getPreferredPreviewURL(client, aliasList);
235422
232348
  if (previewUrlInfo) {
235423
- isWildcard = previewUrlInfo.isWildcard;
235424
232349
  previewUrl = previewUrlInfo.previewUrl;
235425
232350
  }
235426
232351
  else {
235427
- isWildcard = false;
235428
232352
  previewUrl = `https://${deploymentUrl}`;
235429
232353
  }
235430
232354
  }
235431
232355
  else {
235432
232356
  // fallback to deployment url
235433
- isWildcard = false;
235434
232357
  previewUrl = `https://${deploymentUrl}`;
235435
232358
  }
235436
- // copy to clipboard
235437
- let isCopiedToClipboard = false;
235438
- if (isClipboardEnabled && !isWildcard) {
235439
- try {
235440
- await clipboardy_1.write(previewUrl);
235441
- isCopiedToClipboard = true;
235442
- }
235443
- catch (err) {
235444
- output.debug(`Error copyind to clipboard: ${err}`);
235445
- }
235446
- }
235447
- output.print(emoji_1.prependEmoji(`${isProdDeployment ? 'Production' : 'Preview'}: ${chalk_1.default.bold(previewUrl)}${isCopiedToClipboard ? chalk_1.default.gray(` [copied to clipboard]`) : ''} ${deployStamp()}`, emoji_1.emoji('success')) + `\n`);
232359
+ output.print(emoji_1.prependEmoji(`${isProdDeployment ? 'Production' : 'Preview'}: ${chalk_1.default.bold(previewUrl)} ${deployStamp()}`, emoji_1.emoji('success')) + `\n`);
235448
232360
  }
235449
232361
  if (aliasWarning?.message) {
235450
232362
  indications.push({
@@ -238292,6 +235204,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
238292
235204
  return (mod && mod.__esModule) ? mod : { "default": mod };
238293
235205
  };
238294
235206
  Object.defineProperty(exports, "__esModule", ({ value: true }));
235207
+ exports.stateString = void 0;
238295
235208
  const chalk_1 = __importDefault(__webpack_require__(961));
238296
235209
  const ms_1 = __importDefault(__webpack_require__(80040));
238297
235210
  const text_table_1 = __importDefault(__webpack_require__(3221));
@@ -238302,12 +235215,15 @@ const cmd_1 = __importDefault(__webpack_require__(87350));
238302
235215
  const logo_1 = __importDefault(__webpack_require__(9829));
238303
235216
  const elapsed_1 = __importDefault(__webpack_require__(65303));
238304
235217
  const strlen_1 = __importDefault(__webpack_require__(17606));
238305
- const get_scope_1 = __importDefault(__webpack_require__(73389));
238306
235218
  const to_host_1 = __importDefault(__webpack_require__(83574));
238307
235219
  const parse_meta_1 = __importDefault(__webpack_require__(24509));
238308
235220
  const is_valid_name_1 = __webpack_require__(31315);
238309
235221
  const get_command_flags_1 = __importDefault(__webpack_require__(68927));
238310
235222
  const pkg_name_1 = __webpack_require__(98106);
235223
+ const validate_paths_1 = __importDefault(__webpack_require__(54579));
235224
+ const link_1 = __webpack_require__(67630);
235225
+ const ensure_link_1 = __webpack_require__(18067);
235226
+ const get_scope_1 = __importDefault(__webpack_require__(73389));
238311
235227
  const help = () => {
238312
235228
  console.log(`
238313
235229
  ${chalk_1.default.bold(`${logo_1.default} ${pkg_name_1.getPkgName()} list`)} [app]
@@ -238318,6 +235234,7 @@ const help = () => {
238318
235234
  -A ${chalk_1.default.bold.underline('FILE')}, --local-config=${chalk_1.default.bold.underline('FILE')} Path to the local ${'`vercel.json`'} file
238319
235235
  -Q ${chalk_1.default.bold.underline('DIR')}, --global-config=${chalk_1.default.bold.underline('DIR')} Path to the global ${'`.vercel`'} directory
238320
235236
  -d, --debug Debug mode [off]
235237
+ --confirm Skip the confirmation prompt
238321
235238
  -t ${chalk_1.default.bold.underline('TOKEN')}, --token=${chalk_1.default.bold.underline('TOKEN')} Login token
238322
235239
  -S, --scope Set a custom scope
238323
235240
  -m, --meta Filter deployments by metadata (e.g.: ${chalk_1.default.dim('`-m KEY=value`')}). Can appear many times.
@@ -238325,12 +235242,12 @@ const help = () => {
238325
235242
 
238326
235243
  ${chalk_1.default.dim('Examples:')}
238327
235244
 
238328
- ${chalk_1.default.gray('–')} List all deployments
235245
+ ${chalk_1.default.gray('–')} List all deployments for the currently linked project
238329
235246
 
238330
235247
  ${chalk_1.default.cyan(`$ ${pkg_name_1.getPkgName()} ls`)}
238331
235248
 
238332
- ${chalk_1.default.gray('–')} List all deployments for the app ${chalk_1.default.dim('`my-app`')}
238333
-
235249
+ ${chalk_1.default.gray('–')} List all deployments for the project ${chalk_1.default.dim('`my-app`')} in the team of the currently linked project
235250
+
238334
235251
  ${chalk_1.default.cyan(`$ ${pkg_name_1.getPkgName()} ls my-app`)}
238335
235252
 
238336
235253
  ${chalk_1.default.gray('–')} Filter deployments by metadata
@@ -238350,6 +235267,7 @@ async function main(client) {
238350
235267
  '-m': '--meta',
238351
235268
  '--next': Number,
238352
235269
  '-N': '--next',
235270
+ '--confirm': Boolean,
238353
235271
  });
238354
235272
  }
238355
235273
  catch (err) {
@@ -238362,15 +235280,55 @@ async function main(client) {
238362
235280
  error(`${pkg_name_1.getCommandName('ls [app]')} accepts at most one argument`);
238363
235281
  return 1;
238364
235282
  }
238365
- let app = argv._[1];
238366
- let host = undefined;
238367
235283
  if (argv['--help']) {
238368
235284
  help();
238369
235285
  return 2;
238370
235286
  }
235287
+ const yes = argv['--confirm'] || false;
238371
235288
  const meta = parse_meta_1.default(argv['--meta']);
238372
- const { currentTeam, includeScheme } = config;
238373
- let contextName = null;
235289
+ const { includeScheme } = config;
235290
+ let paths = [process.cwd()];
235291
+ const pathValidation = await validate_paths_1.default(client, paths);
235292
+ if (!pathValidation.valid) {
235293
+ return pathValidation.exitCode;
235294
+ }
235295
+ const { path } = pathValidation;
235296
+ // retrieve `project` and `org` from .vercel
235297
+ let link = await link_1.getLinkedProject(client, path);
235298
+ if (link.status === 'error') {
235299
+ return link.exitCode;
235300
+ }
235301
+ let { org, project, status } = link;
235302
+ const appArg = argv._[1];
235303
+ let app = appArg || project?.name;
235304
+ let host = undefined;
235305
+ if (app && !is_valid_name_1.isValidName(app)) {
235306
+ error(`The provided argument "${app}" is not a valid project name`);
235307
+ return 1;
235308
+ }
235309
+ // If there's no linked project and user doesn't pass `app` arg,
235310
+ // prompt to link their current directory.
235311
+ if (status === 'not_linked' && !app) {
235312
+ const linkedProject = await ensure_link_1.ensureLink('list', client, path, yes);
235313
+ if (typeof linkedProject === 'number') {
235314
+ return linkedProject;
235315
+ }
235316
+ link.org = linkedProject.org;
235317
+ link.project = linkedProject.project;
235318
+ }
235319
+ let { contextName, team } = await get_scope_1.default(client);
235320
+ // If user passed in a custom scope, update the current team & context name
235321
+ if (argv['--scope']) {
235322
+ client.config.currentTeam = team?.id || undefined;
235323
+ if (team?.slug)
235324
+ contextName = team.slug;
235325
+ }
235326
+ else {
235327
+ client.config.currentTeam = org?.type === 'team' ? org.id : undefined;
235328
+ if (org?.slug)
235329
+ contextName = org.slug;
235330
+ }
235331
+ const { currentTeam } = config;
238374
235332
  try {
238375
235333
  ({ contextName } = await get_scope_1.default(client));
238376
235334
  }
@@ -238439,17 +235397,18 @@ async function main(client) {
238439
235397
  if (host) {
238440
235398
  deployments = deployments.filter(deployment => deployment.url === host);
238441
235399
  }
238442
- log(`Deployments under ${chalk_1.default.bold(contextName)} ${elapsed_1.default(Date.now() - start)}`);
238443
235400
  // we don't output the table headers if we have no deployments
238444
235401
  if (!deployments.length) {
235402
+ log(`No deployments found.`);
238445
235403
  return 0;
238446
235404
  }
235405
+ log(`Deployments under ${chalk_1.default.bold(contextName)} ${elapsed_1.default(Date.now() - start)}`);
238447
235406
  // information to help the user find other deployments or instances
238448
235407
  if (app == null) {
238449
235408
  log(`To list more deployments for a project run ${cmd_1.default(`${pkg_name_1.getCommandName('ls [project]')}`)}`);
238450
235409
  }
238451
235410
  print('\n');
238452
- console.log(`${text_table_1.default([
235411
+ client.output.print(`${text_table_1.default([
238453
235412
  ['project', 'latest deployment', 'state', 'age', 'username'].map(header => chalk_1.default.dim(header)),
238454
235413
  ...deployments
238455
235414
  .sort(sortRecent())
@@ -238473,7 +235432,7 @@ async function main(client) {
238473
235432
  align: ['l', 'l', 'r', 'l', 'l'],
238474
235433
  hsep: ' '.repeat(4),
238475
235434
  stringLength: strlen_1.default,
238476
- }).replace(/^/gm, ' ')}\n`);
235435
+ }).replace(/^/gm, ' ')}\n\n`);
238477
235436
  if (pagination && pagination.count === 20) {
238478
235437
  const flags = get_command_flags_1.default(argv, ['_', '--next']);
238479
235438
  log(`To display the next page run ${pkg_name_1.getCommandName(`ls${app ? ' ' + app : ''}${flags} --next ${pagination.next}`)}`);
@@ -238500,6 +235459,7 @@ function stateString(s) {
238500
235459
  return chalk_1.default.gray('UNKNOWN');
238501
235460
  }
238502
235461
  }
235462
+ exports.stateString = stateString;
238503
235463
  // sorts by most recent deployment
238504
235464
  function sortRecent() {
238505
235465
  return function recencySort(a, b) {
@@ -241854,7 +238814,7 @@ const link_1 = __webpack_require__(67630);
241854
238814
  exports.OUTPUT_DIR = path_1.join(link_1.VERCEL_DIR, 'output');
241855
238815
  async function writeBuildResult(outputDir, buildResult, build, builder, builderPkg, cleanUrls) {
241856
238816
  const { version } = builder;
241857
- if (version === 2) {
238817
+ if (typeof version !== 'number' || version === 2) {
241858
238818
  return writeBuildResultV2(outputDir, buildResult, cleanUrls);
241859
238819
  }
241860
238820
  else if (version === 3) {
@@ -248350,6 +245310,46 @@ function prependEmoji(message, emoji) {
248350
245310
  exports.prependEmoji = prependEmoji;
248351
245311
 
248352
245312
 
245313
+ /***/ }),
245314
+
245315
+ /***/ 18067:
245316
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
245317
+
245318
+ "use strict";
245319
+
245320
+ var __importDefault = (this && this.__importDefault) || function (mod) {
245321
+ return (mod && mod.__esModule) ? mod : { "default": mod };
245322
+ };
245323
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
245324
+ exports.ensureLink = void 0;
245325
+ const setup_and_link_1 = __importDefault(__webpack_require__(69532));
245326
+ const param_1 = __importDefault(__webpack_require__(70330));
245327
+ const pkg_name_1 = __webpack_require__(98106);
245328
+ const link_1 = __webpack_require__(67630);
245329
+ async function ensureLink(commandName, client, cwd, yes) {
245330
+ let link = await link_1.getLinkedProject(client, cwd);
245331
+ if (link.status === 'not_linked') {
245332
+ link = await setup_and_link_1.default(client, cwd, {
245333
+ autoConfirm: yes,
245334
+ successEmoji: 'link',
245335
+ setupMsg: 'Set up',
245336
+ });
245337
+ if (link.status === 'not_linked') {
245338
+ // User aborted project linking questions
245339
+ return 0;
245340
+ }
245341
+ }
245342
+ if (link.status === 'error') {
245343
+ if (link.reason === 'HEADLESS') {
245344
+ client.output.error(`Command ${pkg_name_1.getCommandName(commandName)} requires confirmation. Use option ${param_1.default('--yes')} to confirm.`);
245345
+ }
245346
+ return link.exitCode;
245347
+ }
245348
+ return { org: link.org, project: link.project };
245349
+ }
245350
+ exports.ensureLink = ensureLink;
245351
+
245352
+
248353
245353
  /***/ }),
248354
245354
 
248355
245355
  /***/ 94859:
@@ -255221,7 +252221,7 @@ module.exports = JSON.parse("{\"application/1d-interleaved-parityfec\":{\"source
255221
252221
  /***/ ((module) => {
255222
252222
 
255223
252223
  "use strict";
255224
- module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"26.0.0\",\"preferGlobal\":true,\"license\":\"Apache-2.0\",\"description\":\"The command-line interface for Vercel\",\"homepage\":\"https://vercel.com\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/cli\"},\"scripts\":{\"preinstall\":\"node ./scripts/preinstall.js\",\"test\":\"jest --env node --verbose --runInBand --bail --forceExit\",\"test-unit\":\"yarn test test/unit/\",\"test-integration-cli\":\"rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose\",\"test-integration-dev\":\"yarn test test/dev/\",\"prepublishOnly\":\"yarn build\",\"coverage\":\"codecov\",\"build\":\"node -r ts-eager/register ./scripts/build.ts\",\"build-dev\":\"node -r ts-eager/register ./scripts/build.ts --dev\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"ava\":{\"extensions\":[\"ts\"],\"require\":[\"ts-node/register/transpile-only\",\"esm\"]},\"engines\":{\"node\":\">= 14\"},\"dependencies\":{\"@vercel/build-utils\":\"5.0.0\",\"@vercel/go\":\"2.0.4\",\"@vercel/next\":\"3.1.3\",\"@vercel/node\":\"2.4.0\",\"@vercel/python\":\"3.0.4\",\"@vercel/redwood\":\"1.0.5\",\"@vercel/remix\":\"1.0.5\",\"@vercel/ruby\":\"1.3.12\",\"@vercel/static-build\":\"1.0.4\",\"update-notifier\":\"5.1.0\"},\"devDependencies\":{\"@alex_neo/jest-expect-message\":\"1.0.5\",\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@tootallnate/once\":\"1.1.2\",\"@types/ansi-escapes\":\"3.0.0\",\"@types/ansi-regex\":\"4.0.0\",\"@types/async-retry\":\"1.2.1\",\"@types/bytes\":\"3.0.0\",\"@types/chance\":\"1.1.3\",\"@types/debug\":\"0.0.31\",\"@types/dotenv\":\"6.1.1\",\"@types/escape-html\":\"0.0.20\",\"@types/express\":\"4.17.13\",\"@types/fs-extra\":\"9.0.13\",\"@types/glob\":\"7.1.1\",\"@types/http-proxy\":\"1.16.2\",\"@types/ini\":\"1.3.31\",\"@types/inquirer\":\"7.3.1\",\"@types/jest\":\"27.4.1\",\"@types/jest-expect-message\":\"1.0.3\",\"@types/load-json-file\":\"2.0.7\",\"@types/mime-types\":\"2.1.0\",\"@types/minimatch\":\"3.0.3\",\"@types/mri\":\"1.1.0\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"11.11.0\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/progress\":\"2.0.3\",\"@types/psl\":\"1.1.0\",\"@types/semver\":\"6.0.1\",\"@types/tar-fs\":\"1.16.1\",\"@types/text-table\":\"0.2.0\",\"@types/title\":\"3.4.1\",\"@types/universal-analytics\":\"0.4.2\",\"@types/update-notifier\":\"5.1.0\",\"@types/which\":\"1.3.2\",\"@types/write-json-file\":\"2.2.1\",\"@types/yauzl-promise\":\"2.1.0\",\"@vercel/client\":\"12.0.4\",\"@vercel/frameworks\":\"1.0.2\",\"@vercel/fs-detectors\":\"1.0.0\",\"@vercel/ncc\":\"0.24.0\",\"@zeit/fun\":\"0.11.2\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"3.0.0\",\"ansi-regex\":\"3.0.0\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"ava\":\"2.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"clipboardy\":\"2.1.0\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"credit-card\":\"3.0.1\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"email-prompt\":\"0.3.2\",\"email-validator\":\"1.1.1\",\"epipebomb\":\"1.0.0\",\"escape-html\":\"1.0.3\",\"esm\":\"3.1.4\",\"execa\":\"3.2.0\",\"express\":\"4.17.1\",\"fast-deep-equal\":\"3.1.3\",\"fs-extra\":\"10.0.0\",\"get-port\":\"5.1.1\",\"git-last-commit\":\"1.0.1\",\"glob\":\"7.1.2\",\"http-proxy\":\"1.18.1\",\"ini\":\"3.0.0\",\"inquirer\":\"7.0.4\",\"is-docker\":\"2.2.1\",\"is-port-reachable\":\"3.1.0\",\"is-url\":\"1.2.2\",\"jaro-winkler\":\"0.2.8\",\"jsonlines\":\"0.1.1\",\"load-json-file\":\"3.0.0\",\"mime-types\":\"2.1.24\",\"minimatch\":\"3.0.4\",\"mri\":\"1.1.5\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.4.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"progress\":\"2.0.3\",\"promisepipe\":\"3.0.0\",\"psl\":\"1.1.31\",\"qr-image\":\"3.2.0\",\"raw-body\":\"2.4.1\",\"rimraf\":\"3.0.2\",\"semver\":\"5.5.0\",\"serve-handler\":\"6.1.1\",\"strip-ansi\":\"5.2.0\",\"stripe\":\"5.1.0\",\"tar-fs\":\"1.16.3\",\"test-listen\":\"1.1.0\",\"text-table\":\"0.2.0\",\"title\":\"3.4.1\",\"tmp-promise\":\"1.0.3\",\"tree-kill\":\"1.2.2\",\"ts-node\":\"8.3.0\",\"typescript\":\"4.3.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"which\":\"2.0.2\",\"write-json-file\":\"2.2.0\",\"xdg-app-paths\":\"5.1.0\",\"yauzl-promise\":\"2.1.3\"},\"jest\":{\"preset\":\"ts-jest\",\"globals\":{\"ts-jest\":{\"diagnostics\":false,\"isolatedModules\":true}},\"setupFilesAfterEnv\":[\"@alex_neo/jest-expect-message\"],\"verbose\":false,\"testEnvironment\":\"node\",\"testMatch\":[\"<rootDir>/test/**/*.test.ts\"]},\"gitHead\":\"621b53bc49a1ac4aaf6ab986f9bbbdd517af01f5\"}");
252224
+ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"27.0.0\",\"preferGlobal\":true,\"license\":\"Apache-2.0\",\"description\":\"The command-line interface for Vercel\",\"homepage\":\"https://vercel.com\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/cli\"},\"scripts\":{\"preinstall\":\"node ./scripts/preinstall.js\",\"test\":\"jest --env node --verbose --runInBand --bail --forceExit\",\"test-unit\":\"yarn test test/unit/\",\"test-integration-cli\":\"rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose\",\"test-integration-dev\":\"yarn test test/dev/\",\"prepublishOnly\":\"yarn build\",\"coverage\":\"codecov\",\"build\":\"node -r ts-eager/register ./scripts/build.ts\",\"build-dev\":\"node -r ts-eager/register ./scripts/build.ts --dev\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"ava\":{\"extensions\":[\"ts\"],\"require\":[\"ts-node/register/transpile-only\",\"esm\"]},\"engines\":{\"node\":\">= 14\"},\"dependencies\":{\"@vercel/build-utils\":\"5.0.1\",\"@vercel/go\":\"2.0.5\",\"@vercel/hydrogen\":\"0.0.2\",\"@vercel/next\":\"3.1.4\",\"@vercel/node\":\"2.4.1\",\"@vercel/python\":\"3.0.5\",\"@vercel/redwood\":\"1.0.6\",\"@vercel/remix\":\"1.0.6\",\"@vercel/ruby\":\"1.3.13\",\"@vercel/static-build\":\"1.0.5\",\"update-notifier\":\"5.1.0\"},\"devDependencies\":{\"@alex_neo/jest-expect-message\":\"1.0.5\",\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@tootallnate/once\":\"1.1.2\",\"@types/ansi-escapes\":\"3.0.0\",\"@types/ansi-regex\":\"4.0.0\",\"@types/async-retry\":\"1.2.1\",\"@types/bytes\":\"3.0.0\",\"@types/chance\":\"1.1.3\",\"@types/debug\":\"0.0.31\",\"@types/dotenv\":\"6.1.1\",\"@types/escape-html\":\"0.0.20\",\"@types/express\":\"4.17.13\",\"@types/fs-extra\":\"9.0.13\",\"@types/glob\":\"7.1.1\",\"@types/http-proxy\":\"1.16.2\",\"@types/ini\":\"1.3.31\",\"@types/inquirer\":\"7.3.1\",\"@types/jest\":\"27.4.1\",\"@types/jest-expect-message\":\"1.0.3\",\"@types/load-json-file\":\"2.0.7\",\"@types/mime-types\":\"2.1.0\",\"@types/minimatch\":\"3.0.3\",\"@types/mri\":\"1.1.0\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"11.11.0\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/progress\":\"2.0.3\",\"@types/psl\":\"1.1.0\",\"@types/semver\":\"6.0.1\",\"@types/tar-fs\":\"1.16.1\",\"@types/text-table\":\"0.2.0\",\"@types/title\":\"3.4.1\",\"@types/universal-analytics\":\"0.4.2\",\"@types/update-notifier\":\"5.1.0\",\"@types/which\":\"1.3.2\",\"@types/write-json-file\":\"2.2.1\",\"@types/yauzl-promise\":\"2.1.0\",\"@vercel/client\":\"12.1.0\",\"@vercel/frameworks\":\"1.1.0\",\"@vercel/fs-detectors\":\"1.0.1\",\"@vercel/ncc\":\"0.24.0\",\"@zeit/fun\":\"0.11.2\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"3.0.0\",\"ansi-regex\":\"3.0.0\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"ava\":\"2.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"credit-card\":\"3.0.1\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"email-prompt\":\"0.3.2\",\"email-validator\":\"1.1.1\",\"epipebomb\":\"1.0.0\",\"escape-html\":\"1.0.3\",\"esm\":\"3.1.4\",\"execa\":\"3.2.0\",\"express\":\"4.17.1\",\"fast-deep-equal\":\"3.1.3\",\"fs-extra\":\"10.0.0\",\"get-port\":\"5.1.1\",\"git-last-commit\":\"1.0.1\",\"glob\":\"7.1.2\",\"http-proxy\":\"1.18.1\",\"ini\":\"3.0.0\",\"inquirer\":\"7.0.4\",\"is-docker\":\"2.2.1\",\"is-port-reachable\":\"3.1.0\",\"is-url\":\"1.2.2\",\"jaro-winkler\":\"0.2.8\",\"jsonlines\":\"0.1.1\",\"load-json-file\":\"3.0.0\",\"mime-types\":\"2.1.24\",\"minimatch\":\"3.0.4\",\"mri\":\"1.1.5\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.4.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"progress\":\"2.0.3\",\"promisepipe\":\"3.0.0\",\"psl\":\"1.1.31\",\"qr-image\":\"3.2.0\",\"raw-body\":\"2.4.1\",\"rimraf\":\"3.0.2\",\"semver\":\"5.5.0\",\"serve-handler\":\"6.1.1\",\"strip-ansi\":\"5.2.0\",\"stripe\":\"5.1.0\",\"tar-fs\":\"1.16.3\",\"test-listen\":\"1.1.0\",\"text-table\":\"0.2.0\",\"title\":\"3.4.1\",\"tmp-promise\":\"1.0.3\",\"tree-kill\":\"1.2.2\",\"ts-node\":\"8.3.0\",\"typescript\":\"4.3.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"which\":\"2.0.2\",\"write-json-file\":\"2.2.0\",\"xdg-app-paths\":\"5.1.0\",\"yauzl-promise\":\"2.1.3\"},\"jest\":{\"preset\":\"ts-jest\",\"globals\":{\"ts-jest\":{\"diagnostics\":false,\"isolatedModules\":true}},\"setupFilesAfterEnv\":[\"@alex_neo/jest-expect-message\"],\"verbose\":false,\"testEnvironment\":\"node\",\"testMatch\":[\"<rootDir>/test/**/*.test.ts\"]},\"gitHead\":\"0a2af4fb94d71a7a23ffc72fb68748be1177f345\"}");
255225
252225
 
255226
252226
  /***/ }),
255227
252227
 
@@ -255237,7 +252237,7 @@ module.exports = JSON.parse("{\"VISA\":\"Visa\",\"MASTERCARD\":\"MasterCard\",\"
255237
252237
  /***/ ((module) => {
255238
252238
 
255239
252239
  "use strict";
255240
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.0.4\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"MIT\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-integration-once\":\"yarn test tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test\":\"jest --env node --verbose --runInBand --bail\",\"test-unit\":\"yarn test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 14\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.1\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"12.0.4\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"5.0.0\",\"@vercel/routing-utils\":\"1.13.5\",\"@zeit/fetch\":\"5.2.0\",\"async-retry\":\"1.2.3\",\"async-sema\":\"3.0.0\",\"fs-extra\":\"8.0.1\",\"ignore\":\"4.0.6\",\"minimatch\":\"5.0.1\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\"},\"gitHead\":\"621b53bc49a1ac4aaf6ab986f9bbbdd517af01f5\"}");
252240
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.1.0\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"MIT\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-integration-once\":\"yarn test tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test\":\"jest --env node --verbose --runInBand --bail\",\"test-unit\":\"yarn test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 14\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.1\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"12.0.4\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"5.0.1\",\"@vercel/routing-utils\":\"1.13.5\",\"@zeit/fetch\":\"5.2.0\",\"async-retry\":\"1.2.3\",\"async-sema\":\"3.0.0\",\"fs-extra\":\"8.0.1\",\"ignore\":\"4.0.6\",\"minimatch\":\"5.0.1\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\"},\"gitHead\":\"0a2af4fb94d71a7a23ffc72fb68748be1177f345\"}");
255241
252241
 
255242
252242
  /***/ }),
255243
252243