vercel 28.18.3 → 28.18.5

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.
Files changed (2) hide show
  1. package/dist/index.js +2684 -30
  2. package/package.json +19 -18
package/dist/index.js CHANGED
@@ -3,12 +3,73 @@ module.exports =
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ var __webpack_modules__ = ({
5
5
 
6
+ /***/ 20077:
7
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
8
+
9
+ "use strict";
10
+
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
15
+ exports.getPackageJSON = void 0;
16
+ const fs_1 = __importDefault(__webpack_require__(35747));
17
+ const path_1 = __importDefault(__webpack_require__(85622));
18
+ const cache = new Map();
19
+ function getPackageJSONPath(dir) {
20
+ return path_1.default.join(dir, 'package.json');
21
+ }
22
+ function captureCallerCallSite() {
23
+ const _prepareStackTrace = Error.prepareStackTrace;
24
+ let callSite;
25
+ try {
26
+ Error.prepareStackTrace = (_, stack) => stack;
27
+ // The `stack` reference above is of type `Array<NodeJS.CallSite>`
28
+ const callSites = new Error().stack;
29
+ // TypeScript rule noUncheckedIndexedAccess makes `callSites[2]` potentially
30
+ // undefined; however, we can safely assert it is not undefined as the
31
+ // callstack will always have at least 3 entries, the first being this
32
+ // function, the second being `getPackageJSON`, and the third wherever its
33
+ // being called from.
34
+ callSite = callSites[2];
35
+ }
36
+ finally {
37
+ Error.prepareStackTrace = _prepareStackTrace;
38
+ }
39
+ return callSite;
40
+ }
41
+ function getPackageJSON() {
42
+ const callSite = captureCallerCallSite();
43
+ // Get the file name of where this function was called. It is guaranteed that
44
+ // the only way for `getFileName` to return `undefined` is if this function is
45
+ // called using `eval` thus it is safe to assert `filePath` is defined at this
46
+ // point.
47
+ const filePath = (callSite.getFileName() ||
48
+ callSite.getEvalOrigin());
49
+ let rootDir = path_1.default.dirname(filePath);
50
+ let packageJSONPath = getPackageJSONPath(rootDir);
51
+ while (!fs_1.default.existsSync(packageJSONPath)) {
52
+ rootDir = path_1.default.join(rootDir, '..');
53
+ packageJSONPath = getPackageJSONPath(rootDir);
54
+ }
55
+ let packageJSON = cache.get(packageJSONPath);
56
+ if (!packageJSON) {
57
+ packageJSON = JSON.parse(fs_1.default.readFileSync(packageJSONPath, 'utf-8'));
58
+ cache.set(packageJSONPath, packageJSON);
59
+ }
60
+ return packageJSON;
61
+ }
62
+ exports.getPackageJSON = getPackageJSON;
63
+ //# sourceMappingURL=index.js.map
64
+
65
+ /***/ }),
66
+
6
67
  /***/ 76210:
7
68
  /***/ ((__unused_webpack_module, exports) => {
8
69
 
9
70
  "use strict";
10
71
 
11
- exports.__esModule = true;
72
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
12
73
  exports.ProjectEnvType = exports.ProjectEnvTarget = void 0;
13
74
  // TODO (Ethan-Arrowood) - Replace enums
14
75
  var ProjectEnvTarget;
@@ -10286,7 +10347,7 @@ function setup(fetch) {
10286
10347
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10287
10348
 
10288
10349
  const retry = __webpack_require__(69420);
10289
- const debug = __webpack_require__(94219)('fetch-retry');
10350
+ const debug = __webpack_require__(49064)('fetch-retry');
10290
10351
 
10291
10352
  // retry settings
10292
10353
  const MIN_TIMEOUT = 10;
@@ -41142,6 +41203,656 @@ function init (debug) {
41142
41203
  exports.enable(load());
41143
41204
 
41144
41205
 
41206
+ /***/ }),
41207
+
41208
+ /***/ 12308:
41209
+ /***/ ((module, exports, __webpack_require__) => {
41210
+
41211
+ "use strict";
41212
+
41213
+
41214
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
41215
+
41216
+ /* eslint-env browser */
41217
+
41218
+ /**
41219
+ * This is the web browser implementation of `debug()`.
41220
+ */
41221
+ exports.log = log;
41222
+ exports.formatArgs = formatArgs;
41223
+ exports.save = save;
41224
+ exports.load = load;
41225
+ exports.useColors = useColors;
41226
+ exports.storage = localstorage();
41227
+ /**
41228
+ * Colors.
41229
+ */
41230
+
41231
+ exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'];
41232
+ /**
41233
+ * Currently only WebKit-based Web Inspectors, Firefox >= v31,
41234
+ * and the Firebug extension (any Firefox version) are known
41235
+ * to support "%c" CSS customizations.
41236
+ *
41237
+ * TODO: add a `localStorage` variable to explicitly enable/disable colors
41238
+ */
41239
+ // eslint-disable-next-line complexity
41240
+
41241
+ function useColors() {
41242
+ // NB: In an Electron preload script, document will be defined but not fully
41243
+ // initialized. Since we know we're in Chrome, we'll just detect this case
41244
+ // explicitly
41245
+ if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
41246
+ return true;
41247
+ } // Internet Explorer and Edge do not support colors.
41248
+
41249
+
41250
+ if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
41251
+ return false;
41252
+ } // Is webkit? http://stackoverflow.com/a/16459606/376773
41253
+ // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
41254
+
41255
+
41256
+ return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
41257
+ typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
41258
+ // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
41259
+ typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
41260
+ typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
41261
+ }
41262
+ /**
41263
+ * Colorize log arguments if enabled.
41264
+ *
41265
+ * @api public
41266
+ */
41267
+
41268
+
41269
+ function formatArgs(args) {
41270
+ args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff);
41271
+
41272
+ if (!this.useColors) {
41273
+ return;
41274
+ }
41275
+
41276
+ var c = 'color: ' + this.color;
41277
+ args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other
41278
+ // arguments passed either before or after the %c, so we need to
41279
+ // figure out the correct index to insert the CSS into
41280
+
41281
+ var index = 0;
41282
+ var lastC = 0;
41283
+ args[0].replace(/%[a-zA-Z%]/g, function (match) {
41284
+ if (match === '%%') {
41285
+ return;
41286
+ }
41287
+
41288
+ index++;
41289
+
41290
+ if (match === '%c') {
41291
+ // We only are interested in the *last* %c
41292
+ // (the user may have provided their own)
41293
+ lastC = index;
41294
+ }
41295
+ });
41296
+ args.splice(lastC, 0, c);
41297
+ }
41298
+ /**
41299
+ * Invokes `console.log()` when available.
41300
+ * No-op when `console.log` is not a "function".
41301
+ *
41302
+ * @api public
41303
+ */
41304
+
41305
+
41306
+ function log() {
41307
+ var _console;
41308
+
41309
+ // This hackery is required for IE8/9, where
41310
+ // the `console.log` function doesn't have 'apply'
41311
+ return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments);
41312
+ }
41313
+ /**
41314
+ * Save `namespaces`.
41315
+ *
41316
+ * @param {String} namespaces
41317
+ * @api private
41318
+ */
41319
+
41320
+
41321
+ function save(namespaces) {
41322
+ try {
41323
+ if (namespaces) {
41324
+ exports.storage.setItem('debug', namespaces);
41325
+ } else {
41326
+ exports.storage.removeItem('debug');
41327
+ }
41328
+ } catch (error) {// Swallow
41329
+ // XXX (@Qix-) should we be logging these?
41330
+ }
41331
+ }
41332
+ /**
41333
+ * Load `namespaces`.
41334
+ *
41335
+ * @return {String} returns the previously persisted debug modes
41336
+ * @api private
41337
+ */
41338
+
41339
+
41340
+ function load() {
41341
+ var r;
41342
+
41343
+ try {
41344
+ r = exports.storage.getItem('debug');
41345
+ } catch (error) {} // Swallow
41346
+ // XXX (@Qix-) should we be logging these?
41347
+ // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
41348
+
41349
+
41350
+ if (!r && typeof process !== 'undefined' && 'env' in process) {
41351
+ r = process.env.DEBUG;
41352
+ }
41353
+
41354
+ return r;
41355
+ }
41356
+ /**
41357
+ * Localstorage attempts to return the localstorage.
41358
+ *
41359
+ * This is necessary because safari throws
41360
+ * when a user disables cookies/localstorage
41361
+ * and you attempt to access it.
41362
+ *
41363
+ * @return {LocalStorage}
41364
+ * @api private
41365
+ */
41366
+
41367
+
41368
+ function localstorage() {
41369
+ try {
41370
+ // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
41371
+ // The Browser also has localStorage in the global context.
41372
+ return localStorage;
41373
+ } catch (error) {// Swallow
41374
+ // XXX (@Qix-) should we be logging these?
41375
+ }
41376
+ }
41377
+
41378
+ module.exports = __webpack_require__(14878)(exports);
41379
+ var formatters = module.exports.formatters;
41380
+ /**
41381
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
41382
+ */
41383
+
41384
+ formatters.j = function (v) {
41385
+ try {
41386
+ return JSON.stringify(v);
41387
+ } catch (error) {
41388
+ return '[UnexpectedJSONParseError]: ' + error.message;
41389
+ }
41390
+ };
41391
+
41392
+
41393
+
41394
+ /***/ }),
41395
+
41396
+ /***/ 14878:
41397
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
41398
+
41399
+ "use strict";
41400
+
41401
+
41402
+ /**
41403
+ * This is the common logic for both the Node.js and web browser
41404
+ * implementations of `debug()`.
41405
+ */
41406
+ function setup(env) {
41407
+ createDebug.debug = createDebug;
41408
+ createDebug.default = createDebug;
41409
+ createDebug.coerce = coerce;
41410
+ createDebug.disable = disable;
41411
+ createDebug.enable = enable;
41412
+ createDebug.enabled = enabled;
41413
+ createDebug.humanize = __webpack_require__(82801);
41414
+ Object.keys(env).forEach(function (key) {
41415
+ createDebug[key] = env[key];
41416
+ });
41417
+ /**
41418
+ * Active `debug` instances.
41419
+ */
41420
+
41421
+ createDebug.instances = [];
41422
+ /**
41423
+ * The currently active debug mode names, and names to skip.
41424
+ */
41425
+
41426
+ createDebug.names = [];
41427
+ createDebug.skips = [];
41428
+ /**
41429
+ * Map of special "%n" handling functions, for the debug "format" argument.
41430
+ *
41431
+ * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
41432
+ */
41433
+
41434
+ createDebug.formatters = {};
41435
+ /**
41436
+ * Selects a color for a debug namespace
41437
+ * @param {String} namespace The namespace string for the for the debug instance to be colored
41438
+ * @return {Number|String} An ANSI color code for the given namespace
41439
+ * @api private
41440
+ */
41441
+
41442
+ function selectColor(namespace) {
41443
+ var hash = 0;
41444
+
41445
+ for (var i = 0; i < namespace.length; i++) {
41446
+ hash = (hash << 5) - hash + namespace.charCodeAt(i);
41447
+ hash |= 0; // Convert to 32bit integer
41448
+ }
41449
+
41450
+ return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
41451
+ }
41452
+
41453
+ createDebug.selectColor = selectColor;
41454
+ /**
41455
+ * Create a debugger with the given `namespace`.
41456
+ *
41457
+ * @param {String} namespace
41458
+ * @return {Function}
41459
+ * @api public
41460
+ */
41461
+
41462
+ function createDebug(namespace) {
41463
+ var prevTime;
41464
+
41465
+ function debug() {
41466
+ // Disabled?
41467
+ if (!debug.enabled) {
41468
+ return;
41469
+ }
41470
+
41471
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
41472
+ args[_key] = arguments[_key];
41473
+ }
41474
+
41475
+ var self = debug; // Set `diff` timestamp
41476
+
41477
+ var curr = Number(new Date());
41478
+ var ms = curr - (prevTime || curr);
41479
+ self.diff = ms;
41480
+ self.prev = prevTime;
41481
+ self.curr = curr;
41482
+ prevTime = curr;
41483
+ args[0] = createDebug.coerce(args[0]);
41484
+
41485
+ if (typeof args[0] !== 'string') {
41486
+ // Anything else let's inspect with %O
41487
+ args.unshift('%O');
41488
+ } // Apply any `formatters` transformations
41489
+
41490
+
41491
+ var index = 0;
41492
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {
41493
+ // If we encounter an escaped % then don't increase the array index
41494
+ if (match === '%%') {
41495
+ return match;
41496
+ }
41497
+
41498
+ index++;
41499
+ var formatter = createDebug.formatters[format];
41500
+
41501
+ if (typeof formatter === 'function') {
41502
+ var val = args[index];
41503
+ match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format`
41504
+
41505
+ args.splice(index, 1);
41506
+ index--;
41507
+ }
41508
+
41509
+ return match;
41510
+ }); // Apply env-specific formatting (colors, etc.)
41511
+
41512
+ createDebug.formatArgs.call(self, args);
41513
+ var logFn = self.log || createDebug.log;
41514
+ logFn.apply(self, args);
41515
+ }
41516
+
41517
+ debug.namespace = namespace;
41518
+ debug.enabled = createDebug.enabled(namespace);
41519
+ debug.useColors = createDebug.useColors();
41520
+ debug.color = selectColor(namespace);
41521
+ debug.destroy = destroy;
41522
+ debug.extend = extend; // Debug.formatArgs = formatArgs;
41523
+ // debug.rawLog = rawLog;
41524
+ // env-specific initialization logic for debug instances
41525
+
41526
+ if (typeof createDebug.init === 'function') {
41527
+ createDebug.init(debug);
41528
+ }
41529
+
41530
+ createDebug.instances.push(debug);
41531
+ return debug;
41532
+ }
41533
+
41534
+ function destroy() {
41535
+ var index = createDebug.instances.indexOf(this);
41536
+
41537
+ if (index !== -1) {
41538
+ createDebug.instances.splice(index, 1);
41539
+ return true;
41540
+ }
41541
+
41542
+ return false;
41543
+ }
41544
+
41545
+ function extend(namespace, delimiter) {
41546
+ return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
41547
+ }
41548
+ /**
41549
+ * Enables a debug mode by namespaces. This can include modes
41550
+ * separated by a colon and wildcards.
41551
+ *
41552
+ * @param {String} namespaces
41553
+ * @api public
41554
+ */
41555
+
41556
+
41557
+ function enable(namespaces) {
41558
+ createDebug.save(namespaces);
41559
+ createDebug.names = [];
41560
+ createDebug.skips = [];
41561
+ var i;
41562
+ var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
41563
+ var len = split.length;
41564
+
41565
+ for (i = 0; i < len; i++) {
41566
+ if (!split[i]) {
41567
+ // ignore empty strings
41568
+ continue;
41569
+ }
41570
+
41571
+ namespaces = split[i].replace(/\*/g, '.*?');
41572
+
41573
+ if (namespaces[0] === '-') {
41574
+ createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
41575
+ } else {
41576
+ createDebug.names.push(new RegExp('^' + namespaces + '$'));
41577
+ }
41578
+ }
41579
+
41580
+ for (i = 0; i < createDebug.instances.length; i++) {
41581
+ var instance = createDebug.instances[i];
41582
+ instance.enabled = createDebug.enabled(instance.namespace);
41583
+ }
41584
+ }
41585
+ /**
41586
+ * Disable debug output.
41587
+ *
41588
+ * @api public
41589
+ */
41590
+
41591
+
41592
+ function disable() {
41593
+ createDebug.enable('');
41594
+ }
41595
+ /**
41596
+ * Returns true if the given mode name is enabled, false otherwise.
41597
+ *
41598
+ * @param {String} name
41599
+ * @return {Boolean}
41600
+ * @api public
41601
+ */
41602
+
41603
+
41604
+ function enabled(name) {
41605
+ if (name[name.length - 1] === '*') {
41606
+ return true;
41607
+ }
41608
+
41609
+ var i;
41610
+ var len;
41611
+
41612
+ for (i = 0, len = createDebug.skips.length; i < len; i++) {
41613
+ if (createDebug.skips[i].test(name)) {
41614
+ return false;
41615
+ }
41616
+ }
41617
+
41618
+ for (i = 0, len = createDebug.names.length; i < len; i++) {
41619
+ if (createDebug.names[i].test(name)) {
41620
+ return true;
41621
+ }
41622
+ }
41623
+
41624
+ return false;
41625
+ }
41626
+ /**
41627
+ * Coerce `val`.
41628
+ *
41629
+ * @param {Mixed} val
41630
+ * @return {Mixed}
41631
+ * @api private
41632
+ */
41633
+
41634
+
41635
+ function coerce(val) {
41636
+ if (val instanceof Error) {
41637
+ return val.stack || val.message;
41638
+ }
41639
+
41640
+ return val;
41641
+ }
41642
+
41643
+ createDebug.enable(createDebug.load());
41644
+ return createDebug;
41645
+ }
41646
+
41647
+ module.exports = setup;
41648
+
41649
+
41650
+
41651
+ /***/ }),
41652
+
41653
+ /***/ 49064:
41654
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
41655
+
41656
+ "use strict";
41657
+
41658
+
41659
+ /**
41660
+ * Detect Electron renderer / nwjs process, which is node, but we should
41661
+ * treat as a browser.
41662
+ */
41663
+ if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
41664
+ module.exports = __webpack_require__(12308);
41665
+ } else {
41666
+ module.exports = __webpack_require__(39227);
41667
+ }
41668
+
41669
+
41670
+
41671
+ /***/ }),
41672
+
41673
+ /***/ 39227:
41674
+ /***/ ((module, exports, __webpack_require__) => {
41675
+
41676
+ "use strict";
41677
+
41678
+
41679
+ /**
41680
+ * Module dependencies.
41681
+ */
41682
+ var tty = __webpack_require__(33867);
41683
+
41684
+ var util = __webpack_require__(31669);
41685
+ /**
41686
+ * This is the Node.js implementation of `debug()`.
41687
+ */
41688
+
41689
+
41690
+ exports.init = init;
41691
+ exports.log = log;
41692
+ exports.formatArgs = formatArgs;
41693
+ exports.save = save;
41694
+ exports.load = load;
41695
+ exports.useColors = useColors;
41696
+ /**
41697
+ * Colors.
41698
+ */
41699
+
41700
+ exports.colors = [6, 2, 3, 4, 5, 1];
41701
+
41702
+ try {
41703
+ // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
41704
+ // eslint-disable-next-line import/no-extraneous-dependencies
41705
+ var supportsColor = __webpack_require__(96328);
41706
+
41707
+ if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
41708
+ exports.colors = [20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221];
41709
+ }
41710
+ } catch (error) {} // Swallow - we only care if `supports-color` is available; it doesn't have to be.
41711
+
41712
+ /**
41713
+ * Build up the default `inspectOpts` object from the environment variables.
41714
+ *
41715
+ * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
41716
+ */
41717
+
41718
+
41719
+ exports.inspectOpts = Object.keys(process.env).filter(function (key) {
41720
+ return /^debug_/i.test(key);
41721
+ }).reduce(function (obj, key) {
41722
+ // Camel-case
41723
+ var prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, function (_, k) {
41724
+ return k.toUpperCase();
41725
+ }); // Coerce string value into JS value
41726
+
41727
+ var val = process.env[key];
41728
+
41729
+ if (/^(yes|on|true|enabled)$/i.test(val)) {
41730
+ val = true;
41731
+ } else if (/^(no|off|false|disabled)$/i.test(val)) {
41732
+ val = false;
41733
+ } else if (val === 'null') {
41734
+ val = null;
41735
+ } else {
41736
+ val = Number(val);
41737
+ }
41738
+
41739
+ obj[prop] = val;
41740
+ return obj;
41741
+ }, {});
41742
+ /**
41743
+ * Is stdout a TTY? Colored output is enabled when `true`.
41744
+ */
41745
+
41746
+ function useColors() {
41747
+ return 'colors' in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty.isatty(process.stderr.fd);
41748
+ }
41749
+ /**
41750
+ * Adds ANSI color escape codes if enabled.
41751
+ *
41752
+ * @api public
41753
+ */
41754
+
41755
+
41756
+ function formatArgs(args) {
41757
+ var name = this.namespace,
41758
+ useColors = this.useColors;
41759
+
41760
+ if (useColors) {
41761
+ var c = this.color;
41762
+ var colorCode = "\x1B[3" + (c < 8 ? c : '8;5;' + c);
41763
+ var prefix = " ".concat(colorCode, ";1m").concat(name, " \x1B[0m");
41764
+ args[0] = prefix + args[0].split('\n').join('\n' + prefix);
41765
+ args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + "\x1B[0m");
41766
+ } else {
41767
+ args[0] = getDate() + name + ' ' + args[0];
41768
+ }
41769
+ }
41770
+
41771
+ function getDate() {
41772
+ if (exports.inspectOpts.hideDate) {
41773
+ return '';
41774
+ }
41775
+
41776
+ return new Date().toISOString() + ' ';
41777
+ }
41778
+ /**
41779
+ * Invokes `util.format()` with the specified arguments and writes to stderr.
41780
+ */
41781
+
41782
+
41783
+ function log() {
41784
+ return process.stderr.write(util.format.apply(util, arguments) + '\n');
41785
+ }
41786
+ /**
41787
+ * Save `namespaces`.
41788
+ *
41789
+ * @param {String} namespaces
41790
+ * @api private
41791
+ */
41792
+
41793
+
41794
+ function save(namespaces) {
41795
+ if (namespaces) {
41796
+ process.env.DEBUG = namespaces;
41797
+ } else {
41798
+ // If you set a process.env field to null or undefined, it gets cast to the
41799
+ // string 'null' or 'undefined'. Just delete instead.
41800
+ delete process.env.DEBUG;
41801
+ }
41802
+ }
41803
+ /**
41804
+ * Load `namespaces`.
41805
+ *
41806
+ * @return {String} returns the previously persisted debug modes
41807
+ * @api private
41808
+ */
41809
+
41810
+
41811
+ function load() {
41812
+ return process.env.DEBUG;
41813
+ }
41814
+ /**
41815
+ * Init logic for `debug` instances.
41816
+ *
41817
+ * Create a new `inspectOpts` object in case `useColors` is set
41818
+ * differently for a particular `debug` instance.
41819
+ */
41820
+
41821
+
41822
+ function init(debug) {
41823
+ debug.inspectOpts = {};
41824
+ var keys = Object.keys(exports.inspectOpts);
41825
+
41826
+ for (var i = 0; i < keys.length; i++) {
41827
+ debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
41828
+ }
41829
+ }
41830
+
41831
+ module.exports = __webpack_require__(14878)(exports);
41832
+ var formatters = module.exports.formatters;
41833
+ /**
41834
+ * Map %o to `util.inspect()`, all on a single line.
41835
+ */
41836
+
41837
+ formatters.o = function (v) {
41838
+ this.inspectOpts.colors = this.useColors;
41839
+ return util.inspect(v, this.inspectOpts)
41840
+ .split('\n')
41841
+ .map(function (str) { return str.trim(); })
41842
+ .join(' ');
41843
+ };
41844
+ /**
41845
+ * Map %O to `util.inspect()`, allowing multiple lines if needed.
41846
+ */
41847
+
41848
+
41849
+ formatters.O = function (v) {
41850
+ this.inspectOpts.colors = this.useColors;
41851
+ return util.inspect(v, this.inspectOpts);
41852
+ };
41853
+
41854
+
41855
+
41145
41856
  /***/ }),
41146
41857
 
41147
41858
  /***/ 80279:
@@ -62879,6 +63590,979 @@ function patch (fs) {
62879
63590
  }
62880
63591
 
62881
63592
 
63593
+ /***/ }),
63594
+
63595
+ /***/ 23016:
63596
+ /***/ ((module) => {
63597
+
63598
+ "use strict";
63599
+
63600
+
63601
+ module.exports = clone
63602
+
63603
+ var getPrototypeOf = Object.getPrototypeOf || function (obj) {
63604
+ return obj.__proto__
63605
+ }
63606
+
63607
+ function clone (obj) {
63608
+ if (obj === null || typeof obj !== 'object')
63609
+ return obj
63610
+
63611
+ if (obj instanceof Object)
63612
+ var copy = { __proto__: getPrototypeOf(obj) }
63613
+ else
63614
+ var copy = Object.create(null)
63615
+
63616
+ Object.getOwnPropertyNames(obj).forEach(function (key) {
63617
+ Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))
63618
+ })
63619
+
63620
+ return copy
63621
+ }
63622
+
63623
+
63624
+ /***/ }),
63625
+
63626
+ /***/ 57156:
63627
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
63628
+
63629
+ var fs = __webpack_require__(35747)
63630
+ var polyfills = __webpack_require__(54692)
63631
+ var legacy = __webpack_require__(36465)
63632
+ var clone = __webpack_require__(23016)
63633
+
63634
+ var util = __webpack_require__(31669)
63635
+
63636
+ /* istanbul ignore next - node 0.x polyfill */
63637
+ var gracefulQueue
63638
+ var previousSymbol
63639
+
63640
+ /* istanbul ignore else - node 0.x polyfill */
63641
+ if (typeof Symbol === 'function' && typeof Symbol.for === 'function') {
63642
+ gracefulQueue = Symbol.for('graceful-fs.queue')
63643
+ // This is used in testing by future versions
63644
+ previousSymbol = Symbol.for('graceful-fs.previous')
63645
+ } else {
63646
+ gracefulQueue = '___graceful-fs.queue'
63647
+ previousSymbol = '___graceful-fs.previous'
63648
+ }
63649
+
63650
+ function noop () {}
63651
+
63652
+ function publishQueue(context, queue) {
63653
+ Object.defineProperty(context, gracefulQueue, {
63654
+ get: function() {
63655
+ return queue
63656
+ }
63657
+ })
63658
+ }
63659
+
63660
+ var debug = noop
63661
+ if (util.debuglog)
63662
+ debug = util.debuglog('gfs4')
63663
+ else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ''))
63664
+ debug = function() {
63665
+ var m = util.format.apply(util, arguments)
63666
+ m = 'GFS4: ' + m.split(/\n/).join('\nGFS4: ')
63667
+ console.error(m)
63668
+ }
63669
+
63670
+ // Once time initialization
63671
+ if (!fs[gracefulQueue]) {
63672
+ // This queue can be shared by multiple loaded instances
63673
+ var queue = global[gracefulQueue] || []
63674
+ publishQueue(fs, queue)
63675
+
63676
+ // Patch fs.close/closeSync to shared queue version, because we need
63677
+ // to retry() whenever a close happens *anywhere* in the program.
63678
+ // This is essential when multiple graceful-fs instances are
63679
+ // in play at the same time.
63680
+ fs.close = (function (fs$close) {
63681
+ function close (fd, cb) {
63682
+ return fs$close.call(fs, fd, function (err) {
63683
+ // This function uses the graceful-fs shared queue
63684
+ if (!err) {
63685
+ resetQueue()
63686
+ }
63687
+
63688
+ if (typeof cb === 'function')
63689
+ cb.apply(this, arguments)
63690
+ })
63691
+ }
63692
+
63693
+ Object.defineProperty(close, previousSymbol, {
63694
+ value: fs$close
63695
+ })
63696
+ return close
63697
+ })(fs.close)
63698
+
63699
+ fs.closeSync = (function (fs$closeSync) {
63700
+ function closeSync (fd) {
63701
+ // This function uses the graceful-fs shared queue
63702
+ fs$closeSync.apply(fs, arguments)
63703
+ resetQueue()
63704
+ }
63705
+
63706
+ Object.defineProperty(closeSync, previousSymbol, {
63707
+ value: fs$closeSync
63708
+ })
63709
+ return closeSync
63710
+ })(fs.closeSync)
63711
+
63712
+ if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) {
63713
+ process.on('exit', function() {
63714
+ debug(fs[gracefulQueue])
63715
+ __webpack_require__(42357).equal(fs[gracefulQueue].length, 0)
63716
+ })
63717
+ }
63718
+ }
63719
+
63720
+ if (!global[gracefulQueue]) {
63721
+ publishQueue(global, fs[gracefulQueue]);
63722
+ }
63723
+
63724
+ module.exports = patch(clone(fs))
63725
+ if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {
63726
+ module.exports = patch(fs)
63727
+ fs.__patched = true;
63728
+ }
63729
+
63730
+ function patch (fs) {
63731
+ // Everything that references the open() function needs to be in here
63732
+ polyfills(fs)
63733
+ fs.gracefulify = patch
63734
+
63735
+ fs.createReadStream = createReadStream
63736
+ fs.createWriteStream = createWriteStream
63737
+ var fs$readFile = fs.readFile
63738
+ fs.readFile = readFile
63739
+ function readFile (path, options, cb) {
63740
+ if (typeof options === 'function')
63741
+ cb = options, options = null
63742
+
63743
+ return go$readFile(path, options, cb)
63744
+
63745
+ function go$readFile (path, options, cb, startTime) {
63746
+ return fs$readFile(path, options, function (err) {
63747
+ if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
63748
+ enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])
63749
+ else {
63750
+ if (typeof cb === 'function')
63751
+ cb.apply(this, arguments)
63752
+ }
63753
+ })
63754
+ }
63755
+ }
63756
+
63757
+ var fs$writeFile = fs.writeFile
63758
+ fs.writeFile = writeFile
63759
+ function writeFile (path, data, options, cb) {
63760
+ if (typeof options === 'function')
63761
+ cb = options, options = null
63762
+
63763
+ return go$writeFile(path, data, options, cb)
63764
+
63765
+ function go$writeFile (path, data, options, cb, startTime) {
63766
+ return fs$writeFile(path, data, options, function (err) {
63767
+ if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
63768
+ enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])
63769
+ else {
63770
+ if (typeof cb === 'function')
63771
+ cb.apply(this, arguments)
63772
+ }
63773
+ })
63774
+ }
63775
+ }
63776
+
63777
+ var fs$appendFile = fs.appendFile
63778
+ if (fs$appendFile)
63779
+ fs.appendFile = appendFile
63780
+ function appendFile (path, data, options, cb) {
63781
+ if (typeof options === 'function')
63782
+ cb = options, options = null
63783
+
63784
+ return go$appendFile(path, data, options, cb)
63785
+
63786
+ function go$appendFile (path, data, options, cb, startTime) {
63787
+ return fs$appendFile(path, data, options, function (err) {
63788
+ if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
63789
+ enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])
63790
+ else {
63791
+ if (typeof cb === 'function')
63792
+ cb.apply(this, arguments)
63793
+ }
63794
+ })
63795
+ }
63796
+ }
63797
+
63798
+ var fs$copyFile = fs.copyFile
63799
+ if (fs$copyFile)
63800
+ fs.copyFile = copyFile
63801
+ function copyFile (src, dest, flags, cb) {
63802
+ if (typeof flags === 'function') {
63803
+ cb = flags
63804
+ flags = 0
63805
+ }
63806
+ return go$copyFile(src, dest, flags, cb)
63807
+
63808
+ function go$copyFile (src, dest, flags, cb, startTime) {
63809
+ return fs$copyFile(src, dest, flags, function (err) {
63810
+ if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
63811
+ enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])
63812
+ else {
63813
+ if (typeof cb === 'function')
63814
+ cb.apply(this, arguments)
63815
+ }
63816
+ })
63817
+ }
63818
+ }
63819
+
63820
+ var fs$readdir = fs.readdir
63821
+ fs.readdir = readdir
63822
+ var noReaddirOptionVersions = /^v[0-5]\./
63823
+ function readdir (path, options, cb) {
63824
+ if (typeof options === 'function')
63825
+ cb = options, options = null
63826
+
63827
+ var go$readdir = noReaddirOptionVersions.test(process.version)
63828
+ ? function go$readdir (path, options, cb, startTime) {
63829
+ return fs$readdir(path, fs$readdirCallback(
63830
+ path, options, cb, startTime
63831
+ ))
63832
+ }
63833
+ : function go$readdir (path, options, cb, startTime) {
63834
+ return fs$readdir(path, options, fs$readdirCallback(
63835
+ path, options, cb, startTime
63836
+ ))
63837
+ }
63838
+
63839
+ return go$readdir(path, options, cb)
63840
+
63841
+ function fs$readdirCallback (path, options, cb, startTime) {
63842
+ return function (err, files) {
63843
+ if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
63844
+ enqueue([
63845
+ go$readdir,
63846
+ [path, options, cb],
63847
+ err,
63848
+ startTime || Date.now(),
63849
+ Date.now()
63850
+ ])
63851
+ else {
63852
+ if (files && files.sort)
63853
+ files.sort()
63854
+
63855
+ if (typeof cb === 'function')
63856
+ cb.call(this, err, files)
63857
+ }
63858
+ }
63859
+ }
63860
+ }
63861
+
63862
+ if (process.version.substr(0, 4) === 'v0.8') {
63863
+ var legStreams = legacy(fs)
63864
+ ReadStream = legStreams.ReadStream
63865
+ WriteStream = legStreams.WriteStream
63866
+ }
63867
+
63868
+ var fs$ReadStream = fs.ReadStream
63869
+ if (fs$ReadStream) {
63870
+ ReadStream.prototype = Object.create(fs$ReadStream.prototype)
63871
+ ReadStream.prototype.open = ReadStream$open
63872
+ }
63873
+
63874
+ var fs$WriteStream = fs.WriteStream
63875
+ if (fs$WriteStream) {
63876
+ WriteStream.prototype = Object.create(fs$WriteStream.prototype)
63877
+ WriteStream.prototype.open = WriteStream$open
63878
+ }
63879
+
63880
+ Object.defineProperty(fs, 'ReadStream', {
63881
+ get: function () {
63882
+ return ReadStream
63883
+ },
63884
+ set: function (val) {
63885
+ ReadStream = val
63886
+ },
63887
+ enumerable: true,
63888
+ configurable: true
63889
+ })
63890
+ Object.defineProperty(fs, 'WriteStream', {
63891
+ get: function () {
63892
+ return WriteStream
63893
+ },
63894
+ set: function (val) {
63895
+ WriteStream = val
63896
+ },
63897
+ enumerable: true,
63898
+ configurable: true
63899
+ })
63900
+
63901
+ // legacy names
63902
+ var FileReadStream = ReadStream
63903
+ Object.defineProperty(fs, 'FileReadStream', {
63904
+ get: function () {
63905
+ return FileReadStream
63906
+ },
63907
+ set: function (val) {
63908
+ FileReadStream = val
63909
+ },
63910
+ enumerable: true,
63911
+ configurable: true
63912
+ })
63913
+ var FileWriteStream = WriteStream
63914
+ Object.defineProperty(fs, 'FileWriteStream', {
63915
+ get: function () {
63916
+ return FileWriteStream
63917
+ },
63918
+ set: function (val) {
63919
+ FileWriteStream = val
63920
+ },
63921
+ enumerable: true,
63922
+ configurable: true
63923
+ })
63924
+
63925
+ function ReadStream (path, options) {
63926
+ if (this instanceof ReadStream)
63927
+ return fs$ReadStream.apply(this, arguments), this
63928
+ else
63929
+ return ReadStream.apply(Object.create(ReadStream.prototype), arguments)
63930
+ }
63931
+
63932
+ function ReadStream$open () {
63933
+ var that = this
63934
+ open(that.path, that.flags, that.mode, function (err, fd) {
63935
+ if (err) {
63936
+ if (that.autoClose)
63937
+ that.destroy()
63938
+
63939
+ that.emit('error', err)
63940
+ } else {
63941
+ that.fd = fd
63942
+ that.emit('open', fd)
63943
+ that.read()
63944
+ }
63945
+ })
63946
+ }
63947
+
63948
+ function WriteStream (path, options) {
63949
+ if (this instanceof WriteStream)
63950
+ return fs$WriteStream.apply(this, arguments), this
63951
+ else
63952
+ return WriteStream.apply(Object.create(WriteStream.prototype), arguments)
63953
+ }
63954
+
63955
+ function WriteStream$open () {
63956
+ var that = this
63957
+ open(that.path, that.flags, that.mode, function (err, fd) {
63958
+ if (err) {
63959
+ that.destroy()
63960
+ that.emit('error', err)
63961
+ } else {
63962
+ that.fd = fd
63963
+ that.emit('open', fd)
63964
+ }
63965
+ })
63966
+ }
63967
+
63968
+ function createReadStream (path, options) {
63969
+ return new fs.ReadStream(path, options)
63970
+ }
63971
+
63972
+ function createWriteStream (path, options) {
63973
+ return new fs.WriteStream(path, options)
63974
+ }
63975
+
63976
+ var fs$open = fs.open
63977
+ fs.open = open
63978
+ function open (path, flags, mode, cb) {
63979
+ if (typeof mode === 'function')
63980
+ cb = mode, mode = null
63981
+
63982
+ return go$open(path, flags, mode, cb)
63983
+
63984
+ function go$open (path, flags, mode, cb, startTime) {
63985
+ return fs$open(path, flags, mode, function (err, fd) {
63986
+ if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
63987
+ enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])
63988
+ else {
63989
+ if (typeof cb === 'function')
63990
+ cb.apply(this, arguments)
63991
+ }
63992
+ })
63993
+ }
63994
+ }
63995
+
63996
+ return fs
63997
+ }
63998
+
63999
+ function enqueue (elem) {
64000
+ debug('ENQUEUE', elem[0].name, elem[1])
64001
+ fs[gracefulQueue].push(elem)
64002
+ retry()
64003
+ }
64004
+
64005
+ // keep track of the timeout between retry() calls
64006
+ var retryTimer
64007
+
64008
+ // reset the startTime and lastTime to now
64009
+ // this resets the start of the 60 second overall timeout as well as the
64010
+ // delay between attempts so that we'll retry these jobs sooner
64011
+ function resetQueue () {
64012
+ var now = Date.now()
64013
+ for (var i = 0; i < fs[gracefulQueue].length; ++i) {
64014
+ // entries that are only a length of 2 are from an older version, don't
64015
+ // bother modifying those since they'll be retried anyway.
64016
+ if (fs[gracefulQueue][i].length > 2) {
64017
+ fs[gracefulQueue][i][3] = now // startTime
64018
+ fs[gracefulQueue][i][4] = now // lastTime
64019
+ }
64020
+ }
64021
+ // call retry to make sure we're actively processing the queue
64022
+ retry()
64023
+ }
64024
+
64025
+ function retry () {
64026
+ // clear the timer and remove it to help prevent unintended concurrency
64027
+ clearTimeout(retryTimer)
64028
+ retryTimer = undefined
64029
+
64030
+ if (fs[gracefulQueue].length === 0)
64031
+ return
64032
+
64033
+ var elem = fs[gracefulQueue].shift()
64034
+ var fn = elem[0]
64035
+ var args = elem[1]
64036
+ // these items may be unset if they were added by an older graceful-fs
64037
+ var err = elem[2]
64038
+ var startTime = elem[3]
64039
+ var lastTime = elem[4]
64040
+
64041
+ // if we don't have a startTime we have no way of knowing if we've waited
64042
+ // long enough, so go ahead and retry this item now
64043
+ if (startTime === undefined) {
64044
+ debug('RETRY', fn.name, args)
64045
+ fn.apply(null, args)
64046
+ } else if (Date.now() - startTime >= 60000) {
64047
+ // it's been more than 60 seconds total, bail now
64048
+ debug('TIMEOUT', fn.name, args)
64049
+ var cb = args.pop()
64050
+ if (typeof cb === 'function')
64051
+ cb.call(null, err)
64052
+ } else {
64053
+ // the amount of time between the last attempt and right now
64054
+ var sinceAttempt = Date.now() - lastTime
64055
+ // the amount of time between when we first tried, and when we last tried
64056
+ // rounded up to at least 1
64057
+ var sinceStart = Math.max(lastTime - startTime, 1)
64058
+ // backoff. wait longer than the total time we've been retrying, but only
64059
+ // up to a maximum of 100ms
64060
+ var desiredDelay = Math.min(sinceStart * 1.2, 100)
64061
+ // it's been long enough since the last retry, do it again
64062
+ if (sinceAttempt >= desiredDelay) {
64063
+ debug('RETRY', fn.name, args)
64064
+ fn.apply(null, args.concat([startTime]))
64065
+ } else {
64066
+ // if we can't do this job yet, push it to the end of the queue
64067
+ // and let the next iteration check again
64068
+ fs[gracefulQueue].push(elem)
64069
+ }
64070
+ }
64071
+
64072
+ // schedule our next run if one isn't already scheduled
64073
+ if (retryTimer === undefined) {
64074
+ retryTimer = setTimeout(retry, 0)
64075
+ }
64076
+ }
64077
+
64078
+
64079
+ /***/ }),
64080
+
64081
+ /***/ 36465:
64082
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
64083
+
64084
+ var Stream = __webpack_require__(92413).Stream
64085
+
64086
+ module.exports = legacy
64087
+
64088
+ function legacy (fs) {
64089
+ return {
64090
+ ReadStream: ReadStream,
64091
+ WriteStream: WriteStream
64092
+ }
64093
+
64094
+ function ReadStream (path, options) {
64095
+ if (!(this instanceof ReadStream)) return new ReadStream(path, options);
64096
+
64097
+ Stream.call(this);
64098
+
64099
+ var self = this;
64100
+
64101
+ this.path = path;
64102
+ this.fd = null;
64103
+ this.readable = true;
64104
+ this.paused = false;
64105
+
64106
+ this.flags = 'r';
64107
+ this.mode = 438; /*=0666*/
64108
+ this.bufferSize = 64 * 1024;
64109
+
64110
+ options = options || {};
64111
+
64112
+ // Mixin options into this
64113
+ var keys = Object.keys(options);
64114
+ for (var index = 0, length = keys.length; index < length; index++) {
64115
+ var key = keys[index];
64116
+ this[key] = options[key];
64117
+ }
64118
+
64119
+ if (this.encoding) this.setEncoding(this.encoding);
64120
+
64121
+ if (this.start !== undefined) {
64122
+ if ('number' !== typeof this.start) {
64123
+ throw TypeError('start must be a Number');
64124
+ }
64125
+ if (this.end === undefined) {
64126
+ this.end = Infinity;
64127
+ } else if ('number' !== typeof this.end) {
64128
+ throw TypeError('end must be a Number');
64129
+ }
64130
+
64131
+ if (this.start > this.end) {
64132
+ throw new Error('start must be <= end');
64133
+ }
64134
+
64135
+ this.pos = this.start;
64136
+ }
64137
+
64138
+ if (this.fd !== null) {
64139
+ process.nextTick(function() {
64140
+ self._read();
64141
+ });
64142
+ return;
64143
+ }
64144
+
64145
+ fs.open(this.path, this.flags, this.mode, function (err, fd) {
64146
+ if (err) {
64147
+ self.emit('error', err);
64148
+ self.readable = false;
64149
+ return;
64150
+ }
64151
+
64152
+ self.fd = fd;
64153
+ self.emit('open', fd);
64154
+ self._read();
64155
+ })
64156
+ }
64157
+
64158
+ function WriteStream (path, options) {
64159
+ if (!(this instanceof WriteStream)) return new WriteStream(path, options);
64160
+
64161
+ Stream.call(this);
64162
+
64163
+ this.path = path;
64164
+ this.fd = null;
64165
+ this.writable = true;
64166
+
64167
+ this.flags = 'w';
64168
+ this.encoding = 'binary';
64169
+ this.mode = 438; /*=0666*/
64170
+ this.bytesWritten = 0;
64171
+
64172
+ options = options || {};
64173
+
64174
+ // Mixin options into this
64175
+ var keys = Object.keys(options);
64176
+ for (var index = 0, length = keys.length; index < length; index++) {
64177
+ var key = keys[index];
64178
+ this[key] = options[key];
64179
+ }
64180
+
64181
+ if (this.start !== undefined) {
64182
+ if ('number' !== typeof this.start) {
64183
+ throw TypeError('start must be a Number');
64184
+ }
64185
+ if (this.start < 0) {
64186
+ throw new Error('start must be >= zero');
64187
+ }
64188
+
64189
+ this.pos = this.start;
64190
+ }
64191
+
64192
+ this.busy = false;
64193
+ this._queue = [];
64194
+
64195
+ if (this.fd === null) {
64196
+ this._open = fs.open;
64197
+ this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);
64198
+ this.flush();
64199
+ }
64200
+ }
64201
+ }
64202
+
64203
+
64204
+ /***/ }),
64205
+
64206
+ /***/ 54692:
64207
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
64208
+
64209
+ var constants = __webpack_require__(27619)
64210
+
64211
+ var origCwd = process.cwd
64212
+ var cwd = null
64213
+
64214
+ var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform
64215
+
64216
+ process.cwd = function() {
64217
+ if (!cwd)
64218
+ cwd = origCwd.call(process)
64219
+ return cwd
64220
+ }
64221
+ try {
64222
+ process.cwd()
64223
+ } catch (er) {}
64224
+
64225
+ // This check is needed until node.js 12 is required
64226
+ if (typeof process.chdir === 'function') {
64227
+ var chdir = process.chdir
64228
+ process.chdir = function (d) {
64229
+ cwd = null
64230
+ chdir.call(process, d)
64231
+ }
64232
+ if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)
64233
+ }
64234
+
64235
+ module.exports = patch
64236
+
64237
+ function patch (fs) {
64238
+ // (re-)implement some things that are known busted or missing.
64239
+
64240
+ // lchmod, broken prior to 0.6.2
64241
+ // back-port the fix here.
64242
+ if (constants.hasOwnProperty('O_SYMLINK') &&
64243
+ process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
64244
+ patchLchmod(fs)
64245
+ }
64246
+
64247
+ // lutimes implementation, or no-op
64248
+ if (!fs.lutimes) {
64249
+ patchLutimes(fs)
64250
+ }
64251
+
64252
+ // https://github.com/isaacs/node-graceful-fs/issues/4
64253
+ // Chown should not fail on einval or eperm if non-root.
64254
+ // It should not fail on enosys ever, as this just indicates
64255
+ // that a fs doesn't support the intended operation.
64256
+
64257
+ fs.chown = chownFix(fs.chown)
64258
+ fs.fchown = chownFix(fs.fchown)
64259
+ fs.lchown = chownFix(fs.lchown)
64260
+
64261
+ fs.chmod = chmodFix(fs.chmod)
64262
+ fs.fchmod = chmodFix(fs.fchmod)
64263
+ fs.lchmod = chmodFix(fs.lchmod)
64264
+
64265
+ fs.chownSync = chownFixSync(fs.chownSync)
64266
+ fs.fchownSync = chownFixSync(fs.fchownSync)
64267
+ fs.lchownSync = chownFixSync(fs.lchownSync)
64268
+
64269
+ fs.chmodSync = chmodFixSync(fs.chmodSync)
64270
+ fs.fchmodSync = chmodFixSync(fs.fchmodSync)
64271
+ fs.lchmodSync = chmodFixSync(fs.lchmodSync)
64272
+
64273
+ fs.stat = statFix(fs.stat)
64274
+ fs.fstat = statFix(fs.fstat)
64275
+ fs.lstat = statFix(fs.lstat)
64276
+
64277
+ fs.statSync = statFixSync(fs.statSync)
64278
+ fs.fstatSync = statFixSync(fs.fstatSync)
64279
+ fs.lstatSync = statFixSync(fs.lstatSync)
64280
+
64281
+ // if lchmod/lchown do not exist, then make them no-ops
64282
+ if (fs.chmod && !fs.lchmod) {
64283
+ fs.lchmod = function (path, mode, cb) {
64284
+ if (cb) process.nextTick(cb)
64285
+ }
64286
+ fs.lchmodSync = function () {}
64287
+ }
64288
+ if (fs.chown && !fs.lchown) {
64289
+ fs.lchown = function (path, uid, gid, cb) {
64290
+ if (cb) process.nextTick(cb)
64291
+ }
64292
+ fs.lchownSync = function () {}
64293
+ }
64294
+
64295
+ // on Windows, A/V software can lock the directory, causing this
64296
+ // to fail with an EACCES or EPERM if the directory contains newly
64297
+ // created files. Try again on failure, for up to 60 seconds.
64298
+
64299
+ // Set the timeout this long because some Windows Anti-Virus, such as Parity
64300
+ // bit9, may lock files for up to a minute, causing npm package install
64301
+ // failures. Also, take care to yield the scheduler. Windows scheduling gives
64302
+ // CPU to a busy looping process, which can cause the program causing the lock
64303
+ // contention to be starved of CPU by node, so the contention doesn't resolve.
64304
+ if (platform === "win32") {
64305
+ fs.rename = typeof fs.rename !== 'function' ? fs.rename
64306
+ : (function (fs$rename) {
64307
+ function rename (from, to, cb) {
64308
+ var start = Date.now()
64309
+ var backoff = 0;
64310
+ fs$rename(from, to, function CB (er) {
64311
+ if (er
64312
+ && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY")
64313
+ && Date.now() - start < 60000) {
64314
+ setTimeout(function() {
64315
+ fs.stat(to, function (stater, st) {
64316
+ if (stater && stater.code === "ENOENT")
64317
+ fs$rename(from, to, CB);
64318
+ else
64319
+ cb(er)
64320
+ })
64321
+ }, backoff)
64322
+ if (backoff < 100)
64323
+ backoff += 10;
64324
+ return;
64325
+ }
64326
+ if (cb) cb(er)
64327
+ })
64328
+ }
64329
+ if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename)
64330
+ return rename
64331
+ })(fs.rename)
64332
+ }
64333
+
64334
+ // if read() returns EAGAIN, then just try it again.
64335
+ fs.read = typeof fs.read !== 'function' ? fs.read
64336
+ : (function (fs$read) {
64337
+ function read (fd, buffer, offset, length, position, callback_) {
64338
+ var callback
64339
+ if (callback_ && typeof callback_ === 'function') {
64340
+ var eagCounter = 0
64341
+ callback = function (er, _, __) {
64342
+ if (er && er.code === 'EAGAIN' && eagCounter < 10) {
64343
+ eagCounter ++
64344
+ return fs$read.call(fs, fd, buffer, offset, length, position, callback)
64345
+ }
64346
+ callback_.apply(this, arguments)
64347
+ }
64348
+ }
64349
+ return fs$read.call(fs, fd, buffer, offset, length, position, callback)
64350
+ }
64351
+
64352
+ // This ensures `util.promisify` works as it does for native `fs.read`.
64353
+ if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)
64354
+ return read
64355
+ })(fs.read)
64356
+
64357
+ fs.readSync = typeof fs.readSync !== 'function' ? fs.readSync
64358
+ : (function (fs$readSync) { return function (fd, buffer, offset, length, position) {
64359
+ var eagCounter = 0
64360
+ while (true) {
64361
+ try {
64362
+ return fs$readSync.call(fs, fd, buffer, offset, length, position)
64363
+ } catch (er) {
64364
+ if (er.code === 'EAGAIN' && eagCounter < 10) {
64365
+ eagCounter ++
64366
+ continue
64367
+ }
64368
+ throw er
64369
+ }
64370
+ }
64371
+ }})(fs.readSync)
64372
+
64373
+ function patchLchmod (fs) {
64374
+ fs.lchmod = function (path, mode, callback) {
64375
+ fs.open( path
64376
+ , constants.O_WRONLY | constants.O_SYMLINK
64377
+ , mode
64378
+ , function (err, fd) {
64379
+ if (err) {
64380
+ if (callback) callback(err)
64381
+ return
64382
+ }
64383
+ // prefer to return the chmod error, if one occurs,
64384
+ // but still try to close, and report closing errors if they occur.
64385
+ fs.fchmod(fd, mode, function (err) {
64386
+ fs.close(fd, function(err2) {
64387
+ if (callback) callback(err || err2)
64388
+ })
64389
+ })
64390
+ })
64391
+ }
64392
+
64393
+ fs.lchmodSync = function (path, mode) {
64394
+ var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)
64395
+
64396
+ // prefer to return the chmod error, if one occurs,
64397
+ // but still try to close, and report closing errors if they occur.
64398
+ var threw = true
64399
+ var ret
64400
+ try {
64401
+ ret = fs.fchmodSync(fd, mode)
64402
+ threw = false
64403
+ } finally {
64404
+ if (threw) {
64405
+ try {
64406
+ fs.closeSync(fd)
64407
+ } catch (er) {}
64408
+ } else {
64409
+ fs.closeSync(fd)
64410
+ }
64411
+ }
64412
+ return ret
64413
+ }
64414
+ }
64415
+
64416
+ function patchLutimes (fs) {
64417
+ if (constants.hasOwnProperty("O_SYMLINK") && fs.futimes) {
64418
+ fs.lutimes = function (path, at, mt, cb) {
64419
+ fs.open(path, constants.O_SYMLINK, function (er, fd) {
64420
+ if (er) {
64421
+ if (cb) cb(er)
64422
+ return
64423
+ }
64424
+ fs.futimes(fd, at, mt, function (er) {
64425
+ fs.close(fd, function (er2) {
64426
+ if (cb) cb(er || er2)
64427
+ })
64428
+ })
64429
+ })
64430
+ }
64431
+
64432
+ fs.lutimesSync = function (path, at, mt) {
64433
+ var fd = fs.openSync(path, constants.O_SYMLINK)
64434
+ var ret
64435
+ var threw = true
64436
+ try {
64437
+ ret = fs.futimesSync(fd, at, mt)
64438
+ threw = false
64439
+ } finally {
64440
+ if (threw) {
64441
+ try {
64442
+ fs.closeSync(fd)
64443
+ } catch (er) {}
64444
+ } else {
64445
+ fs.closeSync(fd)
64446
+ }
64447
+ }
64448
+ return ret
64449
+ }
64450
+
64451
+ } else if (fs.futimes) {
64452
+ fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }
64453
+ fs.lutimesSync = function () {}
64454
+ }
64455
+ }
64456
+
64457
+ function chmodFix (orig) {
64458
+ if (!orig) return orig
64459
+ return function (target, mode, cb) {
64460
+ return orig.call(fs, target, mode, function (er) {
64461
+ if (chownErOk(er)) er = null
64462
+ if (cb) cb.apply(this, arguments)
64463
+ })
64464
+ }
64465
+ }
64466
+
64467
+ function chmodFixSync (orig) {
64468
+ if (!orig) return orig
64469
+ return function (target, mode) {
64470
+ try {
64471
+ return orig.call(fs, target, mode)
64472
+ } catch (er) {
64473
+ if (!chownErOk(er)) throw er
64474
+ }
64475
+ }
64476
+ }
64477
+
64478
+
64479
+ function chownFix (orig) {
64480
+ if (!orig) return orig
64481
+ return function (target, uid, gid, cb) {
64482
+ return orig.call(fs, target, uid, gid, function (er) {
64483
+ if (chownErOk(er)) er = null
64484
+ if (cb) cb.apply(this, arguments)
64485
+ })
64486
+ }
64487
+ }
64488
+
64489
+ function chownFixSync (orig) {
64490
+ if (!orig) return orig
64491
+ return function (target, uid, gid) {
64492
+ try {
64493
+ return orig.call(fs, target, uid, gid)
64494
+ } catch (er) {
64495
+ if (!chownErOk(er)) throw er
64496
+ }
64497
+ }
64498
+ }
64499
+
64500
+ function statFix (orig) {
64501
+ if (!orig) return orig
64502
+ // Older versions of Node erroneously returned signed integers for
64503
+ // uid + gid.
64504
+ return function (target, options, cb) {
64505
+ if (typeof options === 'function') {
64506
+ cb = options
64507
+ options = null
64508
+ }
64509
+ function callback (er, stats) {
64510
+ if (stats) {
64511
+ if (stats.uid < 0) stats.uid += 0x100000000
64512
+ if (stats.gid < 0) stats.gid += 0x100000000
64513
+ }
64514
+ if (cb) cb.apply(this, arguments)
64515
+ }
64516
+ return options ? orig.call(fs, target, options, callback)
64517
+ : orig.call(fs, target, callback)
64518
+ }
64519
+ }
64520
+
64521
+ function statFixSync (orig) {
64522
+ if (!orig) return orig
64523
+ // Older versions of Node erroneously returned signed integers for
64524
+ // uid + gid.
64525
+ return function (target, options) {
64526
+ var stats = options ? orig.call(fs, target, options)
64527
+ : orig.call(fs, target)
64528
+ if (stats) {
64529
+ if (stats.uid < 0) stats.uid += 0x100000000
64530
+ if (stats.gid < 0) stats.gid += 0x100000000
64531
+ }
64532
+ return stats;
64533
+ }
64534
+ }
64535
+
64536
+ // ENOSYS means that the fs doesn't support the op. Just ignore
64537
+ // that, because it doesn't matter.
64538
+ //
64539
+ // if there's no getuid, or if getuid() is something other
64540
+ // than 0, and the error is EINVAL or EPERM, then just ignore
64541
+ // it.
64542
+ //
64543
+ // This specific case is a silent failure in cp, install, tar,
64544
+ // and most other unix tools that manage permissions.
64545
+ //
64546
+ // When running as root, or if other types of errors are
64547
+ // encountered, then it's strict.
64548
+ function chownErOk (er) {
64549
+ if (!er)
64550
+ return true
64551
+
64552
+ if (er.code === "ENOSYS")
64553
+ return true
64554
+
64555
+ var nonroot = !process.getuid || process.getuid() !== 0
64556
+ if (nonroot) {
64557
+ if (er.code === "EINVAL" || er.code === "EPERM")
64558
+ return true
64559
+ }
64560
+
64561
+ return false
64562
+ }
64563
+ }
64564
+
64565
+
62882
64566
  /***/ }),
62883
64567
 
62884
64568
  /***/ 73661:
@@ -66612,7 +68296,7 @@ return{name,number,description,supported,action,forced,standard};
66612
68296
  */
66613
68297
 
66614
68298
  var util = __webpack_require__(31669);
66615
- var ms = __webpack_require__(21378);
68299
+ var ms = __webpack_require__(82801);
66616
68300
 
66617
68301
  module.exports = function (t) {
66618
68302
  if (typeof t === 'number') return t;
@@ -88227,7 +89911,7 @@ module.exports = {
88227
89911
 
88228
89912
  var _fs
88229
89913
  try {
88230
- _fs = __webpack_require__(41317)
89914
+ _fs = __webpack_require__(57156)
88231
89915
  } catch (_) {
88232
89916
  _fs = __webpack_require__(35747)
88233
89917
  }
@@ -88368,7 +90052,7 @@ module.exports = jsonfile
88368
90052
 
88369
90053
  let _fs
88370
90054
  try {
88371
- _fs = __webpack_require__(41317)
90055
+ _fs = __webpack_require__(57156)
88372
90056
  } catch (_) {
88373
90057
  _fs = __webpack_require__(35747)
88374
90058
  }
@@ -109575,6 +111259,960 @@ function regExpEscape (s) {
109575
111259
  }
109576
111260
 
109577
111261
 
111262
+ /***/ }),
111263
+
111264
+ /***/ 47345:
111265
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
111266
+
111267
+ module.exports = minimatch
111268
+ minimatch.Minimatch = Minimatch
111269
+
111270
+ var path = (function () { try { return __webpack_require__(85622) } catch (e) {}}()) || {
111271
+ sep: '/'
111272
+ }
111273
+ minimatch.sep = path.sep
111274
+
111275
+ var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
111276
+ var expand = __webpack_require__(90490)
111277
+
111278
+ var plTypes = {
111279
+ '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},
111280
+ '?': { open: '(?:', close: ')?' },
111281
+ '+': { open: '(?:', close: ')+' },
111282
+ '*': { open: '(?:', close: ')*' },
111283
+ '@': { open: '(?:', close: ')' }
111284
+ }
111285
+
111286
+ // any single thing other than /
111287
+ // don't need to escape / when using new RegExp()
111288
+ var qmark = '[^/]'
111289
+
111290
+ // * => any number of characters
111291
+ var star = qmark + '*?'
111292
+
111293
+ // ** when dots are allowed. Anything goes, except .. and .
111294
+ // not (^ or / followed by one or two dots followed by $ or /),
111295
+ // followed by anything, any number of times.
111296
+ var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
111297
+
111298
+ // not a ^ or / followed by a dot,
111299
+ // followed by anything, any number of times.
111300
+ var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
111301
+
111302
+ // characters that need to be escaped in RegExp.
111303
+ var reSpecials = charSet('().*{}+?[]^$\\!')
111304
+
111305
+ // "abc" -> { a:true, b:true, c:true }
111306
+ function charSet (s) {
111307
+ return s.split('').reduce(function (set, c) {
111308
+ set[c] = true
111309
+ return set
111310
+ }, {})
111311
+ }
111312
+
111313
+ // normalizes slashes.
111314
+ var slashSplit = /\/+/
111315
+
111316
+ minimatch.filter = filter
111317
+ function filter (pattern, options) {
111318
+ options = options || {}
111319
+ return function (p, i, list) {
111320
+ return minimatch(p, pattern, options)
111321
+ }
111322
+ }
111323
+
111324
+ function ext (a, b) {
111325
+ b = b || {}
111326
+ var t = {}
111327
+ Object.keys(a).forEach(function (k) {
111328
+ t[k] = a[k]
111329
+ })
111330
+ Object.keys(b).forEach(function (k) {
111331
+ t[k] = b[k]
111332
+ })
111333
+ return t
111334
+ }
111335
+
111336
+ minimatch.defaults = function (def) {
111337
+ if (!def || typeof def !== 'object' || !Object.keys(def).length) {
111338
+ return minimatch
111339
+ }
111340
+
111341
+ var orig = minimatch
111342
+
111343
+ var m = function minimatch (p, pattern, options) {
111344
+ return orig(p, pattern, ext(def, options))
111345
+ }
111346
+
111347
+ m.Minimatch = function Minimatch (pattern, options) {
111348
+ return new orig.Minimatch(pattern, ext(def, options))
111349
+ }
111350
+ m.Minimatch.defaults = function defaults (options) {
111351
+ return orig.defaults(ext(def, options)).Minimatch
111352
+ }
111353
+
111354
+ m.filter = function filter (pattern, options) {
111355
+ return orig.filter(pattern, ext(def, options))
111356
+ }
111357
+
111358
+ m.defaults = function defaults (options) {
111359
+ return orig.defaults(ext(def, options))
111360
+ }
111361
+
111362
+ m.makeRe = function makeRe (pattern, options) {
111363
+ return orig.makeRe(pattern, ext(def, options))
111364
+ }
111365
+
111366
+ m.braceExpand = function braceExpand (pattern, options) {
111367
+ return orig.braceExpand(pattern, ext(def, options))
111368
+ }
111369
+
111370
+ m.match = function (list, pattern, options) {
111371
+ return orig.match(list, pattern, ext(def, options))
111372
+ }
111373
+
111374
+ return m
111375
+ }
111376
+
111377
+ Minimatch.defaults = function (def) {
111378
+ return minimatch.defaults(def).Minimatch
111379
+ }
111380
+
111381
+ function minimatch (p, pattern, options) {
111382
+ assertValidPattern(pattern)
111383
+
111384
+ if (!options) options = {}
111385
+
111386
+ // shortcut: comments match nothing.
111387
+ if (!options.nocomment && pattern.charAt(0) === '#') {
111388
+ return false
111389
+ }
111390
+
111391
+ return new Minimatch(pattern, options).match(p)
111392
+ }
111393
+
111394
+ function Minimatch (pattern, options) {
111395
+ if (!(this instanceof Minimatch)) {
111396
+ return new Minimatch(pattern, options)
111397
+ }
111398
+
111399
+ assertValidPattern(pattern)
111400
+
111401
+ if (!options) options = {}
111402
+
111403
+ pattern = pattern.trim()
111404
+
111405
+ // windows support: need to use /, not \
111406
+ if (!options.allowWindowsEscape && path.sep !== '/') {
111407
+ pattern = pattern.split(path.sep).join('/')
111408
+ }
111409
+
111410
+ this.options = options
111411
+ this.set = []
111412
+ this.pattern = pattern
111413
+ this.regexp = null
111414
+ this.negate = false
111415
+ this.comment = false
111416
+ this.empty = false
111417
+ this.partial = !!options.partial
111418
+
111419
+ // make the set of regexps etc.
111420
+ this.make()
111421
+ }
111422
+
111423
+ Minimatch.prototype.debug = function () {}
111424
+
111425
+ Minimatch.prototype.make = make
111426
+ function make () {
111427
+ var pattern = this.pattern
111428
+ var options = this.options
111429
+
111430
+ // empty patterns and comments match nothing.
111431
+ if (!options.nocomment && pattern.charAt(0) === '#') {
111432
+ this.comment = true
111433
+ return
111434
+ }
111435
+ if (!pattern) {
111436
+ this.empty = true
111437
+ return
111438
+ }
111439
+
111440
+ // step 1: figure out negation, etc.
111441
+ this.parseNegate()
111442
+
111443
+ // step 2: expand braces
111444
+ var set = this.globSet = this.braceExpand()
111445
+
111446
+ if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }
111447
+
111448
+ this.debug(this.pattern, set)
111449
+
111450
+ // step 3: now we have a set, so turn each one into a series of path-portion
111451
+ // matching patterns.
111452
+ // These will be regexps, except in the case of "**", which is
111453
+ // set to the GLOBSTAR object for globstar behavior,
111454
+ // and will not contain any / characters
111455
+ set = this.globParts = set.map(function (s) {
111456
+ return s.split(slashSplit)
111457
+ })
111458
+
111459
+ this.debug(this.pattern, set)
111460
+
111461
+ // glob --> regexps
111462
+ set = set.map(function (s, si, set) {
111463
+ return s.map(this.parse, this)
111464
+ }, this)
111465
+
111466
+ this.debug(this.pattern, set)
111467
+
111468
+ // filter out everything that didn't compile properly.
111469
+ set = set.filter(function (s) {
111470
+ return s.indexOf(false) === -1
111471
+ })
111472
+
111473
+ this.debug(this.pattern, set)
111474
+
111475
+ this.set = set
111476
+ }
111477
+
111478
+ Minimatch.prototype.parseNegate = parseNegate
111479
+ function parseNegate () {
111480
+ var pattern = this.pattern
111481
+ var negate = false
111482
+ var options = this.options
111483
+ var negateOffset = 0
111484
+
111485
+ if (options.nonegate) return
111486
+
111487
+ for (var i = 0, l = pattern.length
111488
+ ; i < l && pattern.charAt(i) === '!'
111489
+ ; i++) {
111490
+ negate = !negate
111491
+ negateOffset++
111492
+ }
111493
+
111494
+ if (negateOffset) this.pattern = pattern.substr(negateOffset)
111495
+ this.negate = negate
111496
+ }
111497
+
111498
+ // Brace expansion:
111499
+ // a{b,c}d -> abd acd
111500
+ // a{b,}c -> abc ac
111501
+ // a{0..3}d -> a0d a1d a2d a3d
111502
+ // a{b,c{d,e}f}g -> abg acdfg acefg
111503
+ // a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
111504
+ //
111505
+ // Invalid sets are not expanded.
111506
+ // a{2..}b -> a{2..}b
111507
+ // a{b}c -> a{b}c
111508
+ minimatch.braceExpand = function (pattern, options) {
111509
+ return braceExpand(pattern, options)
111510
+ }
111511
+
111512
+ Minimatch.prototype.braceExpand = braceExpand
111513
+
111514
+ function braceExpand (pattern, options) {
111515
+ if (!options) {
111516
+ if (this instanceof Minimatch) {
111517
+ options = this.options
111518
+ } else {
111519
+ options = {}
111520
+ }
111521
+ }
111522
+
111523
+ pattern = typeof pattern === 'undefined'
111524
+ ? this.pattern : pattern
111525
+
111526
+ assertValidPattern(pattern)
111527
+
111528
+ // Thanks to Yeting Li <https://github.com/yetingli> for
111529
+ // improving this regexp to avoid a ReDOS vulnerability.
111530
+ if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
111531
+ // shortcut. no need to expand.
111532
+ return [pattern]
111533
+ }
111534
+
111535
+ return expand(pattern)
111536
+ }
111537
+
111538
+ var MAX_PATTERN_LENGTH = 1024 * 64
111539
+ var assertValidPattern = function (pattern) {
111540
+ if (typeof pattern !== 'string') {
111541
+ throw new TypeError('invalid pattern')
111542
+ }
111543
+
111544
+ if (pattern.length > MAX_PATTERN_LENGTH) {
111545
+ throw new TypeError('pattern is too long')
111546
+ }
111547
+ }
111548
+
111549
+ // parse a component of the expanded set.
111550
+ // At this point, no pattern may contain "/" in it
111551
+ // so we're going to return a 2d array, where each entry is the full
111552
+ // pattern, split on '/', and then turned into a regular expression.
111553
+ // A regexp is made at the end which joins each array with an
111554
+ // escaped /, and another full one which joins each regexp with |.
111555
+ //
111556
+ // Following the lead of Bash 4.1, note that "**" only has special meaning
111557
+ // when it is the *only* thing in a path portion. Otherwise, any series
111558
+ // of * is equivalent to a single *. Globstar behavior is enabled by
111559
+ // default, and can be disabled by setting options.noglobstar.
111560
+ Minimatch.prototype.parse = parse
111561
+ var SUBPARSE = {}
111562
+ function parse (pattern, isSub) {
111563
+ assertValidPattern(pattern)
111564
+
111565
+ var options = this.options
111566
+
111567
+ // shortcuts
111568
+ if (pattern === '**') {
111569
+ if (!options.noglobstar)
111570
+ return GLOBSTAR
111571
+ else
111572
+ pattern = '*'
111573
+ }
111574
+ if (pattern === '') return ''
111575
+
111576
+ var re = ''
111577
+ var hasMagic = !!options.nocase
111578
+ var escaping = false
111579
+ // ? => one single character
111580
+ var patternListStack = []
111581
+ var negativeLists = []
111582
+ var stateChar
111583
+ var inClass = false
111584
+ var reClassStart = -1
111585
+ var classStart = -1
111586
+ // . and .. never match anything that doesn't start with .,
111587
+ // even when options.dot is set.
111588
+ var patternStart = pattern.charAt(0) === '.' ? '' // anything
111589
+ // not (start or / followed by . or .. followed by / or end)
111590
+ : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
111591
+ : '(?!\\.)'
111592
+ var self = this
111593
+
111594
+ function clearStateChar () {
111595
+ if (stateChar) {
111596
+ // we had some state-tracking character
111597
+ // that wasn't consumed by this pass.
111598
+ switch (stateChar) {
111599
+ case '*':
111600
+ re += star
111601
+ hasMagic = true
111602
+ break
111603
+ case '?':
111604
+ re += qmark
111605
+ hasMagic = true
111606
+ break
111607
+ default:
111608
+ re += '\\' + stateChar
111609
+ break
111610
+ }
111611
+ self.debug('clearStateChar %j %j', stateChar, re)
111612
+ stateChar = false
111613
+ }
111614
+ }
111615
+
111616
+ for (var i = 0, len = pattern.length, c
111617
+ ; (i < len) && (c = pattern.charAt(i))
111618
+ ; i++) {
111619
+ this.debug('%s\t%s %s %j', pattern, i, re, c)
111620
+
111621
+ // skip over any that are escaped.
111622
+ if (escaping && reSpecials[c]) {
111623
+ re += '\\' + c
111624
+ escaping = false
111625
+ continue
111626
+ }
111627
+
111628
+ switch (c) {
111629
+ /* istanbul ignore next */
111630
+ case '/': {
111631
+ // completely not allowed, even escaped.
111632
+ // Should already be path-split by now.
111633
+ return false
111634
+ }
111635
+
111636
+ case '\\':
111637
+ clearStateChar()
111638
+ escaping = true
111639
+ continue
111640
+
111641
+ // the various stateChar values
111642
+ // for the "extglob" stuff.
111643
+ case '?':
111644
+ case '*':
111645
+ case '+':
111646
+ case '@':
111647
+ case '!':
111648
+ this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
111649
+
111650
+ // all of those are literals inside a class, except that
111651
+ // the glob [!a] means [^a] in regexp
111652
+ if (inClass) {
111653
+ this.debug(' in class')
111654
+ if (c === '!' && i === classStart + 1) c = '^'
111655
+ re += c
111656
+ continue
111657
+ }
111658
+
111659
+ // if we already have a stateChar, then it means
111660
+ // that there was something like ** or +? in there.
111661
+ // Handle the stateChar, then proceed with this one.
111662
+ self.debug('call clearStateChar %j', stateChar)
111663
+ clearStateChar()
111664
+ stateChar = c
111665
+ // if extglob is disabled, then +(asdf|foo) isn't a thing.
111666
+ // just clear the statechar *now*, rather than even diving into
111667
+ // the patternList stuff.
111668
+ if (options.noext) clearStateChar()
111669
+ continue
111670
+
111671
+ case '(':
111672
+ if (inClass) {
111673
+ re += '('
111674
+ continue
111675
+ }
111676
+
111677
+ if (!stateChar) {
111678
+ re += '\\('
111679
+ continue
111680
+ }
111681
+
111682
+ patternListStack.push({
111683
+ type: stateChar,
111684
+ start: i - 1,
111685
+ reStart: re.length,
111686
+ open: plTypes[stateChar].open,
111687
+ close: plTypes[stateChar].close
111688
+ })
111689
+ // negation is (?:(?!js)[^/]*)
111690
+ re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
111691
+ this.debug('plType %j %j', stateChar, re)
111692
+ stateChar = false
111693
+ continue
111694
+
111695
+ case ')':
111696
+ if (inClass || !patternListStack.length) {
111697
+ re += '\\)'
111698
+ continue
111699
+ }
111700
+
111701
+ clearStateChar()
111702
+ hasMagic = true
111703
+ var pl = patternListStack.pop()
111704
+ // negation is (?:(?!js)[^/]*)
111705
+ // The others are (?:<pattern>)<type>
111706
+ re += pl.close
111707
+ if (pl.type === '!') {
111708
+ negativeLists.push(pl)
111709
+ }
111710
+ pl.reEnd = re.length
111711
+ continue
111712
+
111713
+ case '|':
111714
+ if (inClass || !patternListStack.length || escaping) {
111715
+ re += '\\|'
111716
+ escaping = false
111717
+ continue
111718
+ }
111719
+
111720
+ clearStateChar()
111721
+ re += '|'
111722
+ continue
111723
+
111724
+ // these are mostly the same in regexp and glob
111725
+ case '[':
111726
+ // swallow any state-tracking char before the [
111727
+ clearStateChar()
111728
+
111729
+ if (inClass) {
111730
+ re += '\\' + c
111731
+ continue
111732
+ }
111733
+
111734
+ inClass = true
111735
+ classStart = i
111736
+ reClassStart = re.length
111737
+ re += c
111738
+ continue
111739
+
111740
+ case ']':
111741
+ // a right bracket shall lose its special
111742
+ // meaning and represent itself in
111743
+ // a bracket expression if it occurs
111744
+ // first in the list. -- POSIX.2 2.8.3.2
111745
+ if (i === classStart + 1 || !inClass) {
111746
+ re += '\\' + c
111747
+ escaping = false
111748
+ continue
111749
+ }
111750
+
111751
+ // handle the case where we left a class open.
111752
+ // "[z-a]" is valid, equivalent to "\[z-a\]"
111753
+ // split where the last [ was, make sure we don't have
111754
+ // an invalid re. if so, re-walk the contents of the
111755
+ // would-be class to re-translate any characters that
111756
+ // were passed through as-is
111757
+ // TODO: It would probably be faster to determine this
111758
+ // without a try/catch and a new RegExp, but it's tricky
111759
+ // to do safely. For now, this is safe and works.
111760
+ var cs = pattern.substring(classStart + 1, i)
111761
+ try {
111762
+ RegExp('[' + cs + ']')
111763
+ } catch (er) {
111764
+ // not a valid class!
111765
+ var sp = this.parse(cs, SUBPARSE)
111766
+ re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'
111767
+ hasMagic = hasMagic || sp[1]
111768
+ inClass = false
111769
+ continue
111770
+ }
111771
+
111772
+ // finish up the class.
111773
+ hasMagic = true
111774
+ inClass = false
111775
+ re += c
111776
+ continue
111777
+
111778
+ default:
111779
+ // swallow any state char that wasn't consumed
111780
+ clearStateChar()
111781
+
111782
+ if (escaping) {
111783
+ // no need
111784
+ escaping = false
111785
+ } else if (reSpecials[c]
111786
+ && !(c === '^' && inClass)) {
111787
+ re += '\\'
111788
+ }
111789
+
111790
+ re += c
111791
+
111792
+ } // switch
111793
+ } // for
111794
+
111795
+ // handle the case where we left a class open.
111796
+ // "[abc" is valid, equivalent to "\[abc"
111797
+ if (inClass) {
111798
+ // split where the last [ was, and escape it
111799
+ // this is a huge pita. We now have to re-walk
111800
+ // the contents of the would-be class to re-translate
111801
+ // any characters that were passed through as-is
111802
+ cs = pattern.substr(classStart + 1)
111803
+ sp = this.parse(cs, SUBPARSE)
111804
+ re = re.substr(0, reClassStart) + '\\[' + sp[0]
111805
+ hasMagic = hasMagic || sp[1]
111806
+ }
111807
+
111808
+ // handle the case where we had a +( thing at the *end*
111809
+ // of the pattern.
111810
+ // each pattern list stack adds 3 chars, and we need to go through
111811
+ // and escape any | chars that were passed through as-is for the regexp.
111812
+ // Go through and escape them, taking care not to double-escape any
111813
+ // | chars that were already escaped.
111814
+ for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
111815
+ var tail = re.slice(pl.reStart + pl.open.length)
111816
+ this.debug('setting tail', re, pl)
111817
+ // maybe some even number of \, then maybe 1 \, followed by a |
111818
+ tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) {
111819
+ if (!$2) {
111820
+ // the | isn't already escaped, so escape it.
111821
+ $2 = '\\'
111822
+ }
111823
+
111824
+ // need to escape all those slashes *again*, without escaping the
111825
+ // one that we need for escaping the | character. As it works out,
111826
+ // escaping an even number of slashes can be done by simply repeating
111827
+ // it exactly after itself. That's why this trick works.
111828
+ //
111829
+ // I am sorry that you have to see this.
111830
+ return $1 + $1 + $2 + '|'
111831
+ })
111832
+
111833
+ this.debug('tail=%j\n %s', tail, tail, pl, re)
111834
+ var t = pl.type === '*' ? star
111835
+ : pl.type === '?' ? qmark
111836
+ : '\\' + pl.type
111837
+
111838
+ hasMagic = true
111839
+ re = re.slice(0, pl.reStart) + t + '\\(' + tail
111840
+ }
111841
+
111842
+ // handle trailing things that only matter at the very end.
111843
+ clearStateChar()
111844
+ if (escaping) {
111845
+ // trailing \\
111846
+ re += '\\\\'
111847
+ }
111848
+
111849
+ // only need to apply the nodot start if the re starts with
111850
+ // something that could conceivably capture a dot
111851
+ var addPatternStart = false
111852
+ switch (re.charAt(0)) {
111853
+ case '[': case '.': case '(': addPatternStart = true
111854
+ }
111855
+
111856
+ // Hack to work around lack of negative lookbehind in JS
111857
+ // A pattern like: *.!(x).!(y|z) needs to ensure that a name
111858
+ // like 'a.xyz.yz' doesn't match. So, the first negative
111859
+ // lookahead, has to look ALL the way ahead, to the end of
111860
+ // the pattern.
111861
+ for (var n = negativeLists.length - 1; n > -1; n--) {
111862
+ var nl = negativeLists[n]
111863
+
111864
+ var nlBefore = re.slice(0, nl.reStart)
111865
+ var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
111866
+ var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)
111867
+ var nlAfter = re.slice(nl.reEnd)
111868
+
111869
+ nlLast += nlAfter
111870
+
111871
+ // Handle nested stuff like *(*.js|!(*.json)), where open parens
111872
+ // mean that we should *not* include the ) in the bit that is considered
111873
+ // "after" the negated section.
111874
+ var openParensBefore = nlBefore.split('(').length - 1
111875
+ var cleanAfter = nlAfter
111876
+ for (i = 0; i < openParensBefore; i++) {
111877
+ cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
111878
+ }
111879
+ nlAfter = cleanAfter
111880
+
111881
+ var dollar = ''
111882
+ if (nlAfter === '' && isSub !== SUBPARSE) {
111883
+ dollar = '$'
111884
+ }
111885
+ var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast
111886
+ re = newRe
111887
+ }
111888
+
111889
+ // if the re is not "" at this point, then we need to make sure
111890
+ // it doesn't match against an empty path part.
111891
+ // Otherwise a/* will match a/, which it should not.
111892
+ if (re !== '' && hasMagic) {
111893
+ re = '(?=.)' + re
111894
+ }
111895
+
111896
+ if (addPatternStart) {
111897
+ re = patternStart + re
111898
+ }
111899
+
111900
+ // parsing just a piece of a larger pattern.
111901
+ if (isSub === SUBPARSE) {
111902
+ return [re, hasMagic]
111903
+ }
111904
+
111905
+ // skip the regexp for non-magical patterns
111906
+ // unescape anything in it, though, so that it'll be
111907
+ // an exact match against a file etc.
111908
+ if (!hasMagic) {
111909
+ return globUnescape(pattern)
111910
+ }
111911
+
111912
+ var flags = options.nocase ? 'i' : ''
111913
+ try {
111914
+ var regExp = new RegExp('^' + re + '$', flags)
111915
+ } catch (er) /* istanbul ignore next - should be impossible */ {
111916
+ // If it was an invalid regular expression, then it can't match
111917
+ // anything. This trick looks for a character after the end of
111918
+ // the string, which is of course impossible, except in multi-line
111919
+ // mode, but it's not a /m regex.
111920
+ return new RegExp('$.')
111921
+ }
111922
+
111923
+ regExp._glob = pattern
111924
+ regExp._src = re
111925
+
111926
+ return regExp
111927
+ }
111928
+
111929
+ minimatch.makeRe = function (pattern, options) {
111930
+ return new Minimatch(pattern, options || {}).makeRe()
111931
+ }
111932
+
111933
+ Minimatch.prototype.makeRe = makeRe
111934
+ function makeRe () {
111935
+ if (this.regexp || this.regexp === false) return this.regexp
111936
+
111937
+ // at this point, this.set is a 2d array of partial
111938
+ // pattern strings, or "**".
111939
+ //
111940
+ // It's better to use .match(). This function shouldn't
111941
+ // be used, really, but it's pretty convenient sometimes,
111942
+ // when you just want to work with a regex.
111943
+ var set = this.set
111944
+
111945
+ if (!set.length) {
111946
+ this.regexp = false
111947
+ return this.regexp
111948
+ }
111949
+ var options = this.options
111950
+
111951
+ var twoStar = options.noglobstar ? star
111952
+ : options.dot ? twoStarDot
111953
+ : twoStarNoDot
111954
+ var flags = options.nocase ? 'i' : ''
111955
+
111956
+ var re = set.map(function (pattern) {
111957
+ return pattern.map(function (p) {
111958
+ return (p === GLOBSTAR) ? twoStar
111959
+ : (typeof p === 'string') ? regExpEscape(p)
111960
+ : p._src
111961
+ }).join('\\\/')
111962
+ }).join('|')
111963
+
111964
+ // must match entire pattern
111965
+ // ending in a * or ** will make it less strict.
111966
+ re = '^(?:' + re + ')$'
111967
+
111968
+ // can match anything, as long as it's not this.
111969
+ if (this.negate) re = '^(?!' + re + ').*$'
111970
+
111971
+ try {
111972
+ this.regexp = new RegExp(re, flags)
111973
+ } catch (ex) /* istanbul ignore next - should be impossible */ {
111974
+ this.regexp = false
111975
+ }
111976
+ return this.regexp
111977
+ }
111978
+
111979
+ minimatch.match = function (list, pattern, options) {
111980
+ options = options || {}
111981
+ var mm = new Minimatch(pattern, options)
111982
+ list = list.filter(function (f) {
111983
+ return mm.match(f)
111984
+ })
111985
+ if (mm.options.nonull && !list.length) {
111986
+ list.push(pattern)
111987
+ }
111988
+ return list
111989
+ }
111990
+
111991
+ Minimatch.prototype.match = function match (f, partial) {
111992
+ if (typeof partial === 'undefined') partial = this.partial
111993
+ this.debug('match', f, this.pattern)
111994
+ // short-circuit in the case of busted things.
111995
+ // comments, etc.
111996
+ if (this.comment) return false
111997
+ if (this.empty) return f === ''
111998
+
111999
+ if (f === '/' && partial) return true
112000
+
112001
+ var options = this.options
112002
+
112003
+ // windows: need to use /, not \
112004
+ if (path.sep !== '/') {
112005
+ f = f.split(path.sep).join('/')
112006
+ }
112007
+
112008
+ // treat the test path as a set of pathparts.
112009
+ f = f.split(slashSplit)
112010
+ this.debug(this.pattern, 'split', f)
112011
+
112012
+ // just ONE of the pattern sets in this.set needs to match
112013
+ // in order for it to be valid. If negating, then just one
112014
+ // match means that we have failed.
112015
+ // Either way, return on the first hit.
112016
+
112017
+ var set = this.set
112018
+ this.debug(this.pattern, 'set', set)
112019
+
112020
+ // Find the basename of the path by looking for the last non-empty segment
112021
+ var filename
112022
+ var i
112023
+ for (i = f.length - 1; i >= 0; i--) {
112024
+ filename = f[i]
112025
+ if (filename) break
112026
+ }
112027
+
112028
+ for (i = 0; i < set.length; i++) {
112029
+ var pattern = set[i]
112030
+ var file = f
112031
+ if (options.matchBase && pattern.length === 1) {
112032
+ file = [filename]
112033
+ }
112034
+ var hit = this.matchOne(file, pattern, partial)
112035
+ if (hit) {
112036
+ if (options.flipNegate) return true
112037
+ return !this.negate
112038
+ }
112039
+ }
112040
+
112041
+ // didn't get any hits. this is success if it's a negative
112042
+ // pattern, failure otherwise.
112043
+ if (options.flipNegate) return false
112044
+ return this.negate
112045
+ }
112046
+
112047
+ // set partial to true to test if, for example,
112048
+ // "/a/b" matches the start of "/*/b/*/d"
112049
+ // Partial means, if you run out of file before you run
112050
+ // out of pattern, then that's fine, as long as all
112051
+ // the parts match.
112052
+ Minimatch.prototype.matchOne = function (file, pattern, partial) {
112053
+ var options = this.options
112054
+
112055
+ this.debug('matchOne',
112056
+ { 'this': this, file: file, pattern: pattern })
112057
+
112058
+ this.debug('matchOne', file.length, pattern.length)
112059
+
112060
+ for (var fi = 0,
112061
+ pi = 0,
112062
+ fl = file.length,
112063
+ pl = pattern.length
112064
+ ; (fi < fl) && (pi < pl)
112065
+ ; fi++, pi++) {
112066
+ this.debug('matchOne loop')
112067
+ var p = pattern[pi]
112068
+ var f = file[fi]
112069
+
112070
+ this.debug(pattern, p, f)
112071
+
112072
+ // should be impossible.
112073
+ // some invalid regexp stuff in the set.
112074
+ /* istanbul ignore if */
112075
+ if (p === false) return false
112076
+
112077
+ if (p === GLOBSTAR) {
112078
+ this.debug('GLOBSTAR', [pattern, p, f])
112079
+
112080
+ // "**"
112081
+ // a/**/b/**/c would match the following:
112082
+ // a/b/x/y/z/c
112083
+ // a/x/y/z/b/c
112084
+ // a/b/x/b/x/c
112085
+ // a/b/c
112086
+ // To do this, take the rest of the pattern after
112087
+ // the **, and see if it would match the file remainder.
112088
+ // If so, return success.
112089
+ // If not, the ** "swallows" a segment, and try again.
112090
+ // This is recursively awful.
112091
+ //
112092
+ // a/**/b/**/c matching a/b/x/y/z/c
112093
+ // - a matches a
112094
+ // - doublestar
112095
+ // - matchOne(b/x/y/z/c, b/**/c)
112096
+ // - b matches b
112097
+ // - doublestar
112098
+ // - matchOne(x/y/z/c, c) -> no
112099
+ // - matchOne(y/z/c, c) -> no
112100
+ // - matchOne(z/c, c) -> no
112101
+ // - matchOne(c, c) yes, hit
112102
+ var fr = fi
112103
+ var pr = pi + 1
112104
+ if (pr === pl) {
112105
+ this.debug('** at the end')
112106
+ // a ** at the end will just swallow the rest.
112107
+ // We have found a match.
112108
+ // however, it will not swallow /.x, unless
112109
+ // options.dot is set.
112110
+ // . and .. are *never* matched by **, for explosively
112111
+ // exponential reasons.
112112
+ for (; fi < fl; fi++) {
112113
+ if (file[fi] === '.' || file[fi] === '..' ||
112114
+ (!options.dot && file[fi].charAt(0) === '.')) return false
112115
+ }
112116
+ return true
112117
+ }
112118
+
112119
+ // ok, let's see if we can swallow whatever we can.
112120
+ while (fr < fl) {
112121
+ var swallowee = file[fr]
112122
+
112123
+ this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
112124
+
112125
+ // XXX remove this slice. Just pass the start index.
112126
+ if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
112127
+ this.debug('globstar found match!', fr, fl, swallowee)
112128
+ // found a match.
112129
+ return true
112130
+ } else {
112131
+ // can't swallow "." or ".." ever.
112132
+ // can only swallow ".foo" when explicitly asked.
112133
+ if (swallowee === '.' || swallowee === '..' ||
112134
+ (!options.dot && swallowee.charAt(0) === '.')) {
112135
+ this.debug('dot detected!', file, fr, pattern, pr)
112136
+ break
112137
+ }
112138
+
112139
+ // ** swallows a segment, and continue.
112140
+ this.debug('globstar swallow a segment, and continue')
112141
+ fr++
112142
+ }
112143
+ }
112144
+
112145
+ // no match was found.
112146
+ // However, in partial mode, we can't say this is necessarily over.
112147
+ // If there's more *pattern* left, then
112148
+ /* istanbul ignore if */
112149
+ if (partial) {
112150
+ // ran out of file
112151
+ this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
112152
+ if (fr === fl) return true
112153
+ }
112154
+ return false
112155
+ }
112156
+
112157
+ // something other than **
112158
+ // non-magic patterns just have to match exactly
112159
+ // patterns with magic have been turned into regexps.
112160
+ var hit
112161
+ if (typeof p === 'string') {
112162
+ hit = f === p
112163
+ this.debug('string match', p, f, hit)
112164
+ } else {
112165
+ hit = f.match(p)
112166
+ this.debug('pattern match', p, f, hit)
112167
+ }
112168
+
112169
+ if (!hit) return false
112170
+ }
112171
+
112172
+ // Note: ending in / means that we'll get a final ""
112173
+ // at the end of the pattern. This can only match a
112174
+ // corresponding "" at the end of the file.
112175
+ // If the file ends in /, then it can only match a
112176
+ // a pattern that ends in /, unless the pattern just
112177
+ // doesn't have any more for it. But, a/b/ should *not*
112178
+ // match "a/b/*", even though "" matches against the
112179
+ // [^/]*? pattern, except in partial mode, where it might
112180
+ // simply not be reached yet.
112181
+ // However, a/b/ should still satisfy a/*
112182
+
112183
+ // now either we fell off the end of the pattern, or we're done.
112184
+ if (fi === fl && pi === pl) {
112185
+ // ran out of pattern and filename at the same time.
112186
+ // an exact hit!
112187
+ return true
112188
+ } else if (fi === fl) {
112189
+ // ran out of file, but still had pattern left.
112190
+ // this is ok if we're doing the match as part of
112191
+ // a glob fs traversal.
112192
+ return partial
112193
+ } else /* istanbul ignore else */ if (pi === pl) {
112194
+ // ran out of pattern, still have file left.
112195
+ // this is only acceptable if we're on the very last
112196
+ // empty segment of a file with a trailing slash.
112197
+ // a/* should match a/b/
112198
+ return (fi === fl - 1) && (file[fi] === '')
112199
+ }
112200
+
112201
+ // should be unreachable.
112202
+ /* istanbul ignore next */
112203
+ throw new Error('wtf?')
112204
+ }
112205
+
112206
+ // replace stuff like \* with *
112207
+ function globUnescape (s) {
112208
+ return s.replace(/\\(.)/g, '$1')
112209
+ }
112210
+
112211
+ function regExpEscape (s) {
112212
+ return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
112213
+ }
112214
+
112215
+
109578
112216
  /***/ }),
109579
112217
 
109580
112218
  /***/ 21328:
@@ -186159,7 +188797,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
186159
188797
  };
186160
188798
  Object.defineProperty(exports, "__esModule", ({ value: true }));
186161
188799
  exports.detectBuilders = exports.detectOutputDirectory = exports.detectApiDirectory = exports.detectApiExtensions = exports.sortFiles = void 0;
186162
- const minimatch_1 = __importDefault(__webpack_require__(97767));
188800
+ const minimatch_1 = __importDefault(__webpack_require__(47345));
186163
188801
  const semver_1 = __webpack_require__(41039);
186164
188802
  const path_1 = __webpack_require__(85622);
186165
188803
  const frameworks_1 = __importDefault(__webpack_require__(36678));
@@ -187616,6 +190254,7 @@ const monorepo_managers_1 = __webpack_require__(23315);
187616
190254
  const package_managers_1 = __webpack_require__(44501);
187617
190255
  const detect_framework_1 = __webpack_require__(7244);
187618
190256
  const json5_1 = __importDefault(__webpack_require__(83406));
190257
+ const semver_1 = __importDefault(__webpack_require__(41039));
187619
190258
  class MissingBuildPipeline extends Error {
187620
190259
  constructor() {
187621
190260
  super('Missing required `build` pipeline in turbo.json or package.json Turbo configuration.');
@@ -187628,6 +190267,15 @@ class MissingBuildTarget extends Error {
187628
190267
  }
187629
190268
  }
187630
190269
  exports.MissingBuildTarget = MissingBuildTarget;
190270
+ function supportsRootCommand(turboSemVer) {
190271
+ if (!turboSemVer) {
190272
+ return false;
190273
+ }
190274
+ if (!semver_1.default.validRange(turboSemVer)) {
190275
+ return false;
190276
+ }
190277
+ return !semver_1.default.intersects(turboSemVer, '<1.8.0');
190278
+ }
187631
190279
  async function getMonorepoDefaultSettings(projectName, projectPath, relativeToRoot, detectorFilesystem) {
187632
190280
  const [monorepoManager, packageManager] = await Promise.all([
187633
190281
  detect_framework_1.detectFramework({
@@ -187645,17 +190293,22 @@ async function getMonorepoDefaultSettings(projectName, projectPath, relativeToRo
187645
190293
  detectorFilesystem.readFile('package.json').catch(() => null),
187646
190294
  ]);
187647
190295
  let hasBuildPipeline = false;
190296
+ let turboSemVer = null;
187648
190297
  if (turboJSONBuf !== null) {
187649
190298
  const turboJSON = json5_1.default.parse(turboJSONBuf.toString('utf-8'));
187650
190299
  if (turboJSON?.pipeline?.build) {
187651
190300
  hasBuildPipeline = true;
187652
190301
  }
187653
190302
  }
187654
- else if (packageJSONBuf !== null) {
190303
+ if (packageJSONBuf !== null) {
187655
190304
  const packageJSON = JSON.parse(packageJSONBuf.toString('utf-8'));
187656
190305
  if (packageJSON?.turbo?.pipeline?.build) {
187657
190306
  hasBuildPipeline = true;
187658
190307
  }
190308
+ turboSemVer =
190309
+ packageJSON?.dependencies?.turbo ||
190310
+ packageJSON?.devDependencies?.turbo ||
190311
+ null;
187659
190312
  }
187660
190313
  if (!hasBuildPipeline) {
187661
190314
  throw new MissingBuildPipeline();
@@ -187663,16 +190316,24 @@ async function getMonorepoDefaultSettings(projectName, projectPath, relativeToRo
187663
190316
  if (projectPath === '/') {
187664
190317
  return {
187665
190318
  monorepoManager: 'turbo',
187666
- buildCommand: 'npx turbo run build',
190319
+ buildCommand: 'turbo run build',
187667
190320
  installCommand: packageManager ? `${packageManager} install` : null,
187668
190321
  commandForIgnoringBuildStep: 'npx turbo-ignore',
187669
190322
  };
187670
190323
  }
190324
+ let buildCommand = null;
190325
+ if (projectPath) {
190326
+ if (supportsRootCommand(turboSemVer)) {
190327
+ buildCommand = `turbo run build`;
190328
+ }
190329
+ else {
190330
+ // We don't know for sure if the local `turbo` supports inference.
190331
+ buildCommand = `cd ${relativeToRoot} && turbo run build --filter={${projectPath}}...`;
190332
+ }
190333
+ }
187671
190334
  return {
187672
190335
  monorepoManager: 'turbo',
187673
- buildCommand: projectPath
187674
- ? `cd ${relativeToRoot} && npx turbo run build --filter={${projectPath}}...`
187675
- : null,
190336
+ buildCommand,
187676
190337
  installCommand: packageManager === 'npm'
187677
190338
  ? `${packageManager} install --prefix=${relativeToRoot}`
187678
190339
  : packageManager
@@ -188852,6 +191513,9 @@ exports.routesSchema = {
188852
191513
  check: {
188853
191514
  type: 'boolean',
188854
191515
  },
191516
+ isInternal: {
191517
+ type: 'boolean',
191518
+ },
188855
191519
  status: {
188856
191520
  type: 'integer',
188857
191521
  minimum: 100,
@@ -190224,7 +192888,7 @@ const dotenv_1 = __importDefault(__webpack_require__(9116));
190224
192888
  const path_1 = __webpack_require__(85622);
190225
192889
  const build_utils_1 = __webpack_require__(63445);
190226
192890
  const fs_detectors_1 = __webpack_require__(88995);
190227
- const minimatch_1 = __importDefault(__webpack_require__(97767));
192891
+ const minimatch_1 = __importDefault(__webpack_require__(47345));
190228
192892
  const routing_utils_1 = __webpack_require__(679);
190229
192893
  const client_1 = __webpack_require__(40521);
190230
192894
  const pull_1 = __importDefault(__webpack_require__(65158));
@@ -198844,7 +201508,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
198844
201508
  };
198845
201509
  Object.defineProperty(exports, "__esModule", ({ value: true }));
198846
201510
  exports.shouldServe = exports.build = exports.version = void 0;
198847
- const minimatch_1 = __importDefault(__webpack_require__(97767));
201511
+ const minimatch_1 = __importDefault(__webpack_require__(47345));
198848
201512
  const build_utils_1 = __webpack_require__(63445);
198849
201513
  exports.version = 2;
198850
201514
  const build = async ({ entrypoint, files, config }) => {
@@ -201175,7 +203839,7 @@ const fun_1 = __webpack_require__(32182);
201175
203839
  const build_utils_1 = __webpack_require__(63445);
201176
203840
  const fs_detectors_1 = __webpack_require__(88995);
201177
203841
  const pluralize_1 = __importDefault(__webpack_require__(43669));
201178
- const minimatch_1 = __importDefault(__webpack_require__(97767));
203842
+ const minimatch_1 = __importDefault(__webpack_require__(47345));
201179
203843
  const highlight_1 = __importDefault(__webpack_require__(34661));
201180
203844
  const tree_kill_1 = __webpack_require__(49802);
201181
203845
  const path_helpers_1 = __webpack_require__(5410);
@@ -202108,7 +204772,7 @@ const node_fetch_1 = __importDefault(__webpack_require__(91596));
202108
204772
  const pluralize_1 = __importDefault(__webpack_require__(43669));
202109
204773
  const raw_body_1 = __importDefault(__webpack_require__(49658));
202110
204774
  const async_listen_1 = __importDefault(__webpack_require__(64670));
202111
- const minimatch_1 = __importDefault(__webpack_require__(97767));
204775
+ const minimatch_1 = __importDefault(__webpack_require__(47345));
202112
204776
  const http_proxy_1 = __importDefault(__webpack_require__(17047));
202113
204777
  const crypto_1 = __webpack_require__(76417);
202114
204778
  const serve_handler_1 = __importDefault(__webpack_require__(60986));
@@ -211345,23 +214009,13 @@ exports.getCommandName = getCommandName;
211345
214009
  /***/ }),
211346
214010
 
211347
214011
  /***/ 42246:
211348
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
214012
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
211349
214013
 
211350
214014
  "use strict";
211351
214015
 
211352
- var __importDefault = (this && this.__importDefault) || function (mod) {
211353
- return (mod && mod.__esModule) ? mod : { "default": mod };
211354
- };
211355
214016
  Object.defineProperty(exports, "__esModule", ({ value: true }));
211356
- const fs_1 = __importDefault(__webpack_require__(35747));
211357
- const path_1 = __webpack_require__(85622);
211358
- let rootDir = __dirname;
211359
- while (!fs_1.default.existsSync((0, path_1.join)(rootDir, 'package.json'))) {
211360
- rootDir = (0, path_1.join)(rootDir, '..');
211361
- }
211362
- const pkgPath = (0, path_1.join)(rootDir, 'package.json');
211363
- const pkg = JSON.parse(fs_1.default.readFileSync(pkgPath, 'utf8'));
211364
- exports.default = pkg;
214017
+ const get_package_json_1 = __webpack_require__(20077);
214018
+ exports.default = (0, get_package_json_1.getPackageJSON)();
211365
214019
 
211366
214020
 
211367
214021
  /***/ }),
@@ -213278,7 +215932,7 @@ module.exports = JSON.parse("[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"vali
213278
215932
  /***/ ((module) => {
213279
215933
 
213280
215934
  "use strict";
213281
- module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.18.3\",\"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 --bail\",\"test-unit\":\"pnpm test test/unit/\",\"test-e2e\":\"rimraf test/fixtures/integration && pnpm test test/integration-1.test.ts test/integration-2.test.ts test/integration-3.test.ts\",\"test-dev\":\"pnpm test test/dev/\",\"coverage\":\"codecov\",\"build\":\"ts-node ./scripts/build.ts\",\"dev\":\"ts-node ./src/index.ts\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"engines\":{\"node\":\">= 14\"},\"dependencies\":{\"@vercel/build-utils\":\"6.7.0\",\"@vercel/go\":\"2.4.3\",\"@vercel/hydrogen\":\"0.0.61\",\"@vercel/next\":\"3.7.3\",\"@vercel/node\":\"2.10.2\",\"@vercel/python\":\"3.1.57\",\"@vercel/redwood\":\"1.1.13\",\"@vercel/remix-builder\":\"1.8.3\",\"@vercel/ruby\":\"1.3.74\",\"@vercel/static-build\":\"1.3.21\"},\"devDependencies\":{\"@alex_neo/jest-expect-message\":\"1.0.5\",\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@swc/core\":\"1.2.218\",\"@tootallnate/once\":\"1.1.2\",\"@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\":\"14.18.33\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/psl\":\"1.1.0\",\"@types/qs\":\"6.9.7\",\"@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-internals/types\":\"*\",\"@vercel/client\":\"12.4.8\",\"@vercel/error-utils\":\"1.0.8\",\"@vercel/frameworks\":\"1.3.3\",\"@vercel/fs-detectors\":\"3.8.8\",\"@vercel/fun\":\"1.0.4\",\"@vercel/ncc\":\"0.24.0\",\"@vercel/routing-utils\":\"2.1.11\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"4.3.2\",\"ansi-regex\":\"5.0.1\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"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\",\"find-up\":\"4.1.0\",\"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\",\"jest-matcher-utils\":\"29.3.1\",\"jsonlines\":\"0.1.1\",\"line-async-iterator\":\"3.0.0\",\"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.7\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.4.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"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\":\"6.0.1\",\"stripe\":\"5.1.0\",\"supports-hyperlinks\":\"2.2.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\":\"10.9.1\",\"typescript\":\"4.9.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"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\"]}}");
215935
+ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.18.5\",\"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 --bail\",\"test-unit\":\"pnpm test test/unit/\",\"test-e2e\":\"rimraf test/fixtures/integration && pnpm test test/integration-1.test.ts test/integration-2.test.ts test/integration-3.test.ts\",\"test-dev\":\"pnpm test test/dev/\",\"coverage\":\"codecov\",\"build\":\"ts-node ./scripts/build.ts\",\"dev\":\"ts-node ./src/index.ts\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"engines\":{\"node\":\">= 14\"},\"dependencies\":{\"@vercel/build-utils\":\"6.7.1\",\"@vercel/go\":\"2.4.4\",\"@vercel/hydrogen\":\"0.0.62\",\"@vercel/next\":\"3.7.4\",\"@vercel/node\":\"2.10.3\",\"@vercel/python\":\"3.1.58\",\"@vercel/redwood\":\"1.1.14\",\"@vercel/remix-builder\":\"1.8.4\",\"@vercel/ruby\":\"1.3.75\",\"@vercel/static-build\":\"1.3.23\"},\"devDependencies\":{\"@alex_neo/jest-expect-message\":\"1.0.5\",\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@swc/core\":\"1.2.218\",\"@tootallnate/once\":\"1.1.2\",\"@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\":\"14.18.33\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/psl\":\"1.1.0\",\"@types/qs\":\"6.9.7\",\"@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-internals/get-package-json\":\"*\",\"@vercel-internals/types\":\"*\",\"@vercel/client\":\"12.4.9\",\"@vercel/error-utils\":\"1.0.9\",\"@vercel/frameworks\":\"1.3.4\",\"@vercel/fs-detectors\":\"3.8.10\",\"@vercel/fun\":\"1.0.4\",\"@vercel/ncc\":\"0.24.0\",\"@vercel/routing-utils\":\"2.2.0\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"4.3.2\",\"ansi-regex\":\"5.0.1\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"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\",\"find-up\":\"4.1.0\",\"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\",\"jest-matcher-utils\":\"29.3.1\",\"jsonlines\":\"0.1.1\",\"line-async-iterator\":\"3.0.0\",\"load-json-file\":\"3.0.0\",\"mime-types\":\"2.1.24\",\"minimatch\":\"3.1.2\",\"mri\":\"1.1.5\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.7\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.4.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"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\":\"6.0.1\",\"stripe\":\"5.1.0\",\"supports-hyperlinks\":\"2.2.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\":\"10.9.1\",\"typescript\":\"4.9.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"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\"]}}");
213282
215936
 
213283
215937
  /***/ }),
213284
215938
 
@@ -213286,7 +215940,7 @@ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.18.3\",\"pref
213286
215940
  /***/ ((module) => {
213287
215941
 
213288
215942
  "use strict";
213289
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.4.8\",\"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-e2e\":\"pnpm 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\":\"pnpm test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 14\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.5\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"14.18.33\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"@types/tar-fs\":\"1.16.1\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"6.7.0\",\"@vercel/routing-utils\":\"2.1.11\",\"@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.7\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\",\"tar-fs\":\"1.16.3\"}}");
215943
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.4.9\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"Apache-2.0\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-e2e\":\"pnpm 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\":\"pnpm test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 14\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.5\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"14.18.33\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"@types/tar-fs\":\"1.16.1\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"6.7.1\",\"@vercel/routing-utils\":\"2.2.0\",\"@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.7\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\",\"tar-fs\":\"1.16.3\"}}");
213290
215944
 
213291
215945
  /***/ }),
213292
215946