vercel 28.18.2 → 28.18.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1701 -29
- package/package.json +20 -19
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
|
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__(
|
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:
|
@@ -66612,7 +67323,7 @@ return{name,number,description,supported,action,forced,standard};
|
|
66612
67323
|
*/
|
66613
67324
|
|
66614
67325
|
var util = __webpack_require__(31669);
|
66615
|
-
var ms = __webpack_require__(
|
67326
|
+
var ms = __webpack_require__(82801);
|
66616
67327
|
|
66617
67328
|
module.exports = function (t) {
|
66618
67329
|
if (typeof t === 'number') return t;
|
@@ -109575,6 +110286,960 @@ function regExpEscape (s) {
|
|
109575
110286
|
}
|
109576
110287
|
|
109577
110288
|
|
110289
|
+
/***/ }),
|
110290
|
+
|
110291
|
+
/***/ 47345:
|
110292
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
110293
|
+
|
110294
|
+
module.exports = minimatch
|
110295
|
+
minimatch.Minimatch = Minimatch
|
110296
|
+
|
110297
|
+
var path = (function () { try { return __webpack_require__(85622) } catch (e) {}}()) || {
|
110298
|
+
sep: '/'
|
110299
|
+
}
|
110300
|
+
minimatch.sep = path.sep
|
110301
|
+
|
110302
|
+
var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
|
110303
|
+
var expand = __webpack_require__(90490)
|
110304
|
+
|
110305
|
+
var plTypes = {
|
110306
|
+
'!': { open: '(?:(?!(?:', close: '))[^/]*?)'},
|
110307
|
+
'?': { open: '(?:', close: ')?' },
|
110308
|
+
'+': { open: '(?:', close: ')+' },
|
110309
|
+
'*': { open: '(?:', close: ')*' },
|
110310
|
+
'@': { open: '(?:', close: ')' }
|
110311
|
+
}
|
110312
|
+
|
110313
|
+
// any single thing other than /
|
110314
|
+
// don't need to escape / when using new RegExp()
|
110315
|
+
var qmark = '[^/]'
|
110316
|
+
|
110317
|
+
// * => any number of characters
|
110318
|
+
var star = qmark + '*?'
|
110319
|
+
|
110320
|
+
// ** when dots are allowed. Anything goes, except .. and .
|
110321
|
+
// not (^ or / followed by one or two dots followed by $ or /),
|
110322
|
+
// followed by anything, any number of times.
|
110323
|
+
var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
|
110324
|
+
|
110325
|
+
// not a ^ or / followed by a dot,
|
110326
|
+
// followed by anything, any number of times.
|
110327
|
+
var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
|
110328
|
+
|
110329
|
+
// characters that need to be escaped in RegExp.
|
110330
|
+
var reSpecials = charSet('().*{}+?[]^$\\!')
|
110331
|
+
|
110332
|
+
// "abc" -> { a:true, b:true, c:true }
|
110333
|
+
function charSet (s) {
|
110334
|
+
return s.split('').reduce(function (set, c) {
|
110335
|
+
set[c] = true
|
110336
|
+
return set
|
110337
|
+
}, {})
|
110338
|
+
}
|
110339
|
+
|
110340
|
+
// normalizes slashes.
|
110341
|
+
var slashSplit = /\/+/
|
110342
|
+
|
110343
|
+
minimatch.filter = filter
|
110344
|
+
function filter (pattern, options) {
|
110345
|
+
options = options || {}
|
110346
|
+
return function (p, i, list) {
|
110347
|
+
return minimatch(p, pattern, options)
|
110348
|
+
}
|
110349
|
+
}
|
110350
|
+
|
110351
|
+
function ext (a, b) {
|
110352
|
+
b = b || {}
|
110353
|
+
var t = {}
|
110354
|
+
Object.keys(a).forEach(function (k) {
|
110355
|
+
t[k] = a[k]
|
110356
|
+
})
|
110357
|
+
Object.keys(b).forEach(function (k) {
|
110358
|
+
t[k] = b[k]
|
110359
|
+
})
|
110360
|
+
return t
|
110361
|
+
}
|
110362
|
+
|
110363
|
+
minimatch.defaults = function (def) {
|
110364
|
+
if (!def || typeof def !== 'object' || !Object.keys(def).length) {
|
110365
|
+
return minimatch
|
110366
|
+
}
|
110367
|
+
|
110368
|
+
var orig = minimatch
|
110369
|
+
|
110370
|
+
var m = function minimatch (p, pattern, options) {
|
110371
|
+
return orig(p, pattern, ext(def, options))
|
110372
|
+
}
|
110373
|
+
|
110374
|
+
m.Minimatch = function Minimatch (pattern, options) {
|
110375
|
+
return new orig.Minimatch(pattern, ext(def, options))
|
110376
|
+
}
|
110377
|
+
m.Minimatch.defaults = function defaults (options) {
|
110378
|
+
return orig.defaults(ext(def, options)).Minimatch
|
110379
|
+
}
|
110380
|
+
|
110381
|
+
m.filter = function filter (pattern, options) {
|
110382
|
+
return orig.filter(pattern, ext(def, options))
|
110383
|
+
}
|
110384
|
+
|
110385
|
+
m.defaults = function defaults (options) {
|
110386
|
+
return orig.defaults(ext(def, options))
|
110387
|
+
}
|
110388
|
+
|
110389
|
+
m.makeRe = function makeRe (pattern, options) {
|
110390
|
+
return orig.makeRe(pattern, ext(def, options))
|
110391
|
+
}
|
110392
|
+
|
110393
|
+
m.braceExpand = function braceExpand (pattern, options) {
|
110394
|
+
return orig.braceExpand(pattern, ext(def, options))
|
110395
|
+
}
|
110396
|
+
|
110397
|
+
m.match = function (list, pattern, options) {
|
110398
|
+
return orig.match(list, pattern, ext(def, options))
|
110399
|
+
}
|
110400
|
+
|
110401
|
+
return m
|
110402
|
+
}
|
110403
|
+
|
110404
|
+
Minimatch.defaults = function (def) {
|
110405
|
+
return minimatch.defaults(def).Minimatch
|
110406
|
+
}
|
110407
|
+
|
110408
|
+
function minimatch (p, pattern, options) {
|
110409
|
+
assertValidPattern(pattern)
|
110410
|
+
|
110411
|
+
if (!options) options = {}
|
110412
|
+
|
110413
|
+
// shortcut: comments match nothing.
|
110414
|
+
if (!options.nocomment && pattern.charAt(0) === '#') {
|
110415
|
+
return false
|
110416
|
+
}
|
110417
|
+
|
110418
|
+
return new Minimatch(pattern, options).match(p)
|
110419
|
+
}
|
110420
|
+
|
110421
|
+
function Minimatch (pattern, options) {
|
110422
|
+
if (!(this instanceof Minimatch)) {
|
110423
|
+
return new Minimatch(pattern, options)
|
110424
|
+
}
|
110425
|
+
|
110426
|
+
assertValidPattern(pattern)
|
110427
|
+
|
110428
|
+
if (!options) options = {}
|
110429
|
+
|
110430
|
+
pattern = pattern.trim()
|
110431
|
+
|
110432
|
+
// windows support: need to use /, not \
|
110433
|
+
if (!options.allowWindowsEscape && path.sep !== '/') {
|
110434
|
+
pattern = pattern.split(path.sep).join('/')
|
110435
|
+
}
|
110436
|
+
|
110437
|
+
this.options = options
|
110438
|
+
this.set = []
|
110439
|
+
this.pattern = pattern
|
110440
|
+
this.regexp = null
|
110441
|
+
this.negate = false
|
110442
|
+
this.comment = false
|
110443
|
+
this.empty = false
|
110444
|
+
this.partial = !!options.partial
|
110445
|
+
|
110446
|
+
// make the set of regexps etc.
|
110447
|
+
this.make()
|
110448
|
+
}
|
110449
|
+
|
110450
|
+
Minimatch.prototype.debug = function () {}
|
110451
|
+
|
110452
|
+
Minimatch.prototype.make = make
|
110453
|
+
function make () {
|
110454
|
+
var pattern = this.pattern
|
110455
|
+
var options = this.options
|
110456
|
+
|
110457
|
+
// empty patterns and comments match nothing.
|
110458
|
+
if (!options.nocomment && pattern.charAt(0) === '#') {
|
110459
|
+
this.comment = true
|
110460
|
+
return
|
110461
|
+
}
|
110462
|
+
if (!pattern) {
|
110463
|
+
this.empty = true
|
110464
|
+
return
|
110465
|
+
}
|
110466
|
+
|
110467
|
+
// step 1: figure out negation, etc.
|
110468
|
+
this.parseNegate()
|
110469
|
+
|
110470
|
+
// step 2: expand braces
|
110471
|
+
var set = this.globSet = this.braceExpand()
|
110472
|
+
|
110473
|
+
if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }
|
110474
|
+
|
110475
|
+
this.debug(this.pattern, set)
|
110476
|
+
|
110477
|
+
// step 3: now we have a set, so turn each one into a series of path-portion
|
110478
|
+
// matching patterns.
|
110479
|
+
// These will be regexps, except in the case of "**", which is
|
110480
|
+
// set to the GLOBSTAR object for globstar behavior,
|
110481
|
+
// and will not contain any / characters
|
110482
|
+
set = this.globParts = set.map(function (s) {
|
110483
|
+
return s.split(slashSplit)
|
110484
|
+
})
|
110485
|
+
|
110486
|
+
this.debug(this.pattern, set)
|
110487
|
+
|
110488
|
+
// glob --> regexps
|
110489
|
+
set = set.map(function (s, si, set) {
|
110490
|
+
return s.map(this.parse, this)
|
110491
|
+
}, this)
|
110492
|
+
|
110493
|
+
this.debug(this.pattern, set)
|
110494
|
+
|
110495
|
+
// filter out everything that didn't compile properly.
|
110496
|
+
set = set.filter(function (s) {
|
110497
|
+
return s.indexOf(false) === -1
|
110498
|
+
})
|
110499
|
+
|
110500
|
+
this.debug(this.pattern, set)
|
110501
|
+
|
110502
|
+
this.set = set
|
110503
|
+
}
|
110504
|
+
|
110505
|
+
Minimatch.prototype.parseNegate = parseNegate
|
110506
|
+
function parseNegate () {
|
110507
|
+
var pattern = this.pattern
|
110508
|
+
var negate = false
|
110509
|
+
var options = this.options
|
110510
|
+
var negateOffset = 0
|
110511
|
+
|
110512
|
+
if (options.nonegate) return
|
110513
|
+
|
110514
|
+
for (var i = 0, l = pattern.length
|
110515
|
+
; i < l && pattern.charAt(i) === '!'
|
110516
|
+
; i++) {
|
110517
|
+
negate = !negate
|
110518
|
+
negateOffset++
|
110519
|
+
}
|
110520
|
+
|
110521
|
+
if (negateOffset) this.pattern = pattern.substr(negateOffset)
|
110522
|
+
this.negate = negate
|
110523
|
+
}
|
110524
|
+
|
110525
|
+
// Brace expansion:
|
110526
|
+
// a{b,c}d -> abd acd
|
110527
|
+
// a{b,}c -> abc ac
|
110528
|
+
// a{0..3}d -> a0d a1d a2d a3d
|
110529
|
+
// a{b,c{d,e}f}g -> abg acdfg acefg
|
110530
|
+
// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
|
110531
|
+
//
|
110532
|
+
// Invalid sets are not expanded.
|
110533
|
+
// a{2..}b -> a{2..}b
|
110534
|
+
// a{b}c -> a{b}c
|
110535
|
+
minimatch.braceExpand = function (pattern, options) {
|
110536
|
+
return braceExpand(pattern, options)
|
110537
|
+
}
|
110538
|
+
|
110539
|
+
Minimatch.prototype.braceExpand = braceExpand
|
110540
|
+
|
110541
|
+
function braceExpand (pattern, options) {
|
110542
|
+
if (!options) {
|
110543
|
+
if (this instanceof Minimatch) {
|
110544
|
+
options = this.options
|
110545
|
+
} else {
|
110546
|
+
options = {}
|
110547
|
+
}
|
110548
|
+
}
|
110549
|
+
|
110550
|
+
pattern = typeof pattern === 'undefined'
|
110551
|
+
? this.pattern : pattern
|
110552
|
+
|
110553
|
+
assertValidPattern(pattern)
|
110554
|
+
|
110555
|
+
// Thanks to Yeting Li <https://github.com/yetingli> for
|
110556
|
+
// improving this regexp to avoid a ReDOS vulnerability.
|
110557
|
+
if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
|
110558
|
+
// shortcut. no need to expand.
|
110559
|
+
return [pattern]
|
110560
|
+
}
|
110561
|
+
|
110562
|
+
return expand(pattern)
|
110563
|
+
}
|
110564
|
+
|
110565
|
+
var MAX_PATTERN_LENGTH = 1024 * 64
|
110566
|
+
var assertValidPattern = function (pattern) {
|
110567
|
+
if (typeof pattern !== 'string') {
|
110568
|
+
throw new TypeError('invalid pattern')
|
110569
|
+
}
|
110570
|
+
|
110571
|
+
if (pattern.length > MAX_PATTERN_LENGTH) {
|
110572
|
+
throw new TypeError('pattern is too long')
|
110573
|
+
}
|
110574
|
+
}
|
110575
|
+
|
110576
|
+
// parse a component of the expanded set.
|
110577
|
+
// At this point, no pattern may contain "/" in it
|
110578
|
+
// so we're going to return a 2d array, where each entry is the full
|
110579
|
+
// pattern, split on '/', and then turned into a regular expression.
|
110580
|
+
// A regexp is made at the end which joins each array with an
|
110581
|
+
// escaped /, and another full one which joins each regexp with |.
|
110582
|
+
//
|
110583
|
+
// Following the lead of Bash 4.1, note that "**" only has special meaning
|
110584
|
+
// when it is the *only* thing in a path portion. Otherwise, any series
|
110585
|
+
// of * is equivalent to a single *. Globstar behavior is enabled by
|
110586
|
+
// default, and can be disabled by setting options.noglobstar.
|
110587
|
+
Minimatch.prototype.parse = parse
|
110588
|
+
var SUBPARSE = {}
|
110589
|
+
function parse (pattern, isSub) {
|
110590
|
+
assertValidPattern(pattern)
|
110591
|
+
|
110592
|
+
var options = this.options
|
110593
|
+
|
110594
|
+
// shortcuts
|
110595
|
+
if (pattern === '**') {
|
110596
|
+
if (!options.noglobstar)
|
110597
|
+
return GLOBSTAR
|
110598
|
+
else
|
110599
|
+
pattern = '*'
|
110600
|
+
}
|
110601
|
+
if (pattern === '') return ''
|
110602
|
+
|
110603
|
+
var re = ''
|
110604
|
+
var hasMagic = !!options.nocase
|
110605
|
+
var escaping = false
|
110606
|
+
// ? => one single character
|
110607
|
+
var patternListStack = []
|
110608
|
+
var negativeLists = []
|
110609
|
+
var stateChar
|
110610
|
+
var inClass = false
|
110611
|
+
var reClassStart = -1
|
110612
|
+
var classStart = -1
|
110613
|
+
// . and .. never match anything that doesn't start with .,
|
110614
|
+
// even when options.dot is set.
|
110615
|
+
var patternStart = pattern.charAt(0) === '.' ? '' // anything
|
110616
|
+
// not (start or / followed by . or .. followed by / or end)
|
110617
|
+
: options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
|
110618
|
+
: '(?!\\.)'
|
110619
|
+
var self = this
|
110620
|
+
|
110621
|
+
function clearStateChar () {
|
110622
|
+
if (stateChar) {
|
110623
|
+
// we had some state-tracking character
|
110624
|
+
// that wasn't consumed by this pass.
|
110625
|
+
switch (stateChar) {
|
110626
|
+
case '*':
|
110627
|
+
re += star
|
110628
|
+
hasMagic = true
|
110629
|
+
break
|
110630
|
+
case '?':
|
110631
|
+
re += qmark
|
110632
|
+
hasMagic = true
|
110633
|
+
break
|
110634
|
+
default:
|
110635
|
+
re += '\\' + stateChar
|
110636
|
+
break
|
110637
|
+
}
|
110638
|
+
self.debug('clearStateChar %j %j', stateChar, re)
|
110639
|
+
stateChar = false
|
110640
|
+
}
|
110641
|
+
}
|
110642
|
+
|
110643
|
+
for (var i = 0, len = pattern.length, c
|
110644
|
+
; (i < len) && (c = pattern.charAt(i))
|
110645
|
+
; i++) {
|
110646
|
+
this.debug('%s\t%s %s %j', pattern, i, re, c)
|
110647
|
+
|
110648
|
+
// skip over any that are escaped.
|
110649
|
+
if (escaping && reSpecials[c]) {
|
110650
|
+
re += '\\' + c
|
110651
|
+
escaping = false
|
110652
|
+
continue
|
110653
|
+
}
|
110654
|
+
|
110655
|
+
switch (c) {
|
110656
|
+
/* istanbul ignore next */
|
110657
|
+
case '/': {
|
110658
|
+
// completely not allowed, even escaped.
|
110659
|
+
// Should already be path-split by now.
|
110660
|
+
return false
|
110661
|
+
}
|
110662
|
+
|
110663
|
+
case '\\':
|
110664
|
+
clearStateChar()
|
110665
|
+
escaping = true
|
110666
|
+
continue
|
110667
|
+
|
110668
|
+
// the various stateChar values
|
110669
|
+
// for the "extglob" stuff.
|
110670
|
+
case '?':
|
110671
|
+
case '*':
|
110672
|
+
case '+':
|
110673
|
+
case '@':
|
110674
|
+
case '!':
|
110675
|
+
this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
|
110676
|
+
|
110677
|
+
// all of those are literals inside a class, except that
|
110678
|
+
// the glob [!a] means [^a] in regexp
|
110679
|
+
if (inClass) {
|
110680
|
+
this.debug(' in class')
|
110681
|
+
if (c === '!' && i === classStart + 1) c = '^'
|
110682
|
+
re += c
|
110683
|
+
continue
|
110684
|
+
}
|
110685
|
+
|
110686
|
+
// if we already have a stateChar, then it means
|
110687
|
+
// that there was something like ** or +? in there.
|
110688
|
+
// Handle the stateChar, then proceed with this one.
|
110689
|
+
self.debug('call clearStateChar %j', stateChar)
|
110690
|
+
clearStateChar()
|
110691
|
+
stateChar = c
|
110692
|
+
// if extglob is disabled, then +(asdf|foo) isn't a thing.
|
110693
|
+
// just clear the statechar *now*, rather than even diving into
|
110694
|
+
// the patternList stuff.
|
110695
|
+
if (options.noext) clearStateChar()
|
110696
|
+
continue
|
110697
|
+
|
110698
|
+
case '(':
|
110699
|
+
if (inClass) {
|
110700
|
+
re += '('
|
110701
|
+
continue
|
110702
|
+
}
|
110703
|
+
|
110704
|
+
if (!stateChar) {
|
110705
|
+
re += '\\('
|
110706
|
+
continue
|
110707
|
+
}
|
110708
|
+
|
110709
|
+
patternListStack.push({
|
110710
|
+
type: stateChar,
|
110711
|
+
start: i - 1,
|
110712
|
+
reStart: re.length,
|
110713
|
+
open: plTypes[stateChar].open,
|
110714
|
+
close: plTypes[stateChar].close
|
110715
|
+
})
|
110716
|
+
// negation is (?:(?!js)[^/]*)
|
110717
|
+
re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
|
110718
|
+
this.debug('plType %j %j', stateChar, re)
|
110719
|
+
stateChar = false
|
110720
|
+
continue
|
110721
|
+
|
110722
|
+
case ')':
|
110723
|
+
if (inClass || !patternListStack.length) {
|
110724
|
+
re += '\\)'
|
110725
|
+
continue
|
110726
|
+
}
|
110727
|
+
|
110728
|
+
clearStateChar()
|
110729
|
+
hasMagic = true
|
110730
|
+
var pl = patternListStack.pop()
|
110731
|
+
// negation is (?:(?!js)[^/]*)
|
110732
|
+
// The others are (?:<pattern>)<type>
|
110733
|
+
re += pl.close
|
110734
|
+
if (pl.type === '!') {
|
110735
|
+
negativeLists.push(pl)
|
110736
|
+
}
|
110737
|
+
pl.reEnd = re.length
|
110738
|
+
continue
|
110739
|
+
|
110740
|
+
case '|':
|
110741
|
+
if (inClass || !patternListStack.length || escaping) {
|
110742
|
+
re += '\\|'
|
110743
|
+
escaping = false
|
110744
|
+
continue
|
110745
|
+
}
|
110746
|
+
|
110747
|
+
clearStateChar()
|
110748
|
+
re += '|'
|
110749
|
+
continue
|
110750
|
+
|
110751
|
+
// these are mostly the same in regexp and glob
|
110752
|
+
case '[':
|
110753
|
+
// swallow any state-tracking char before the [
|
110754
|
+
clearStateChar()
|
110755
|
+
|
110756
|
+
if (inClass) {
|
110757
|
+
re += '\\' + c
|
110758
|
+
continue
|
110759
|
+
}
|
110760
|
+
|
110761
|
+
inClass = true
|
110762
|
+
classStart = i
|
110763
|
+
reClassStart = re.length
|
110764
|
+
re += c
|
110765
|
+
continue
|
110766
|
+
|
110767
|
+
case ']':
|
110768
|
+
// a right bracket shall lose its special
|
110769
|
+
// meaning and represent itself in
|
110770
|
+
// a bracket expression if it occurs
|
110771
|
+
// first in the list. -- POSIX.2 2.8.3.2
|
110772
|
+
if (i === classStart + 1 || !inClass) {
|
110773
|
+
re += '\\' + c
|
110774
|
+
escaping = false
|
110775
|
+
continue
|
110776
|
+
}
|
110777
|
+
|
110778
|
+
// handle the case where we left a class open.
|
110779
|
+
// "[z-a]" is valid, equivalent to "\[z-a\]"
|
110780
|
+
// split where the last [ was, make sure we don't have
|
110781
|
+
// an invalid re. if so, re-walk the contents of the
|
110782
|
+
// would-be class to re-translate any characters that
|
110783
|
+
// were passed through as-is
|
110784
|
+
// TODO: It would probably be faster to determine this
|
110785
|
+
// without a try/catch and a new RegExp, but it's tricky
|
110786
|
+
// to do safely. For now, this is safe and works.
|
110787
|
+
var cs = pattern.substring(classStart + 1, i)
|
110788
|
+
try {
|
110789
|
+
RegExp('[' + cs + ']')
|
110790
|
+
} catch (er) {
|
110791
|
+
// not a valid class!
|
110792
|
+
var sp = this.parse(cs, SUBPARSE)
|
110793
|
+
re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'
|
110794
|
+
hasMagic = hasMagic || sp[1]
|
110795
|
+
inClass = false
|
110796
|
+
continue
|
110797
|
+
}
|
110798
|
+
|
110799
|
+
// finish up the class.
|
110800
|
+
hasMagic = true
|
110801
|
+
inClass = false
|
110802
|
+
re += c
|
110803
|
+
continue
|
110804
|
+
|
110805
|
+
default:
|
110806
|
+
// swallow any state char that wasn't consumed
|
110807
|
+
clearStateChar()
|
110808
|
+
|
110809
|
+
if (escaping) {
|
110810
|
+
// no need
|
110811
|
+
escaping = false
|
110812
|
+
} else if (reSpecials[c]
|
110813
|
+
&& !(c === '^' && inClass)) {
|
110814
|
+
re += '\\'
|
110815
|
+
}
|
110816
|
+
|
110817
|
+
re += c
|
110818
|
+
|
110819
|
+
} // switch
|
110820
|
+
} // for
|
110821
|
+
|
110822
|
+
// handle the case where we left a class open.
|
110823
|
+
// "[abc" is valid, equivalent to "\[abc"
|
110824
|
+
if (inClass) {
|
110825
|
+
// split where the last [ was, and escape it
|
110826
|
+
// this is a huge pita. We now have to re-walk
|
110827
|
+
// the contents of the would-be class to re-translate
|
110828
|
+
// any characters that were passed through as-is
|
110829
|
+
cs = pattern.substr(classStart + 1)
|
110830
|
+
sp = this.parse(cs, SUBPARSE)
|
110831
|
+
re = re.substr(0, reClassStart) + '\\[' + sp[0]
|
110832
|
+
hasMagic = hasMagic || sp[1]
|
110833
|
+
}
|
110834
|
+
|
110835
|
+
// handle the case where we had a +( thing at the *end*
|
110836
|
+
// of the pattern.
|
110837
|
+
// each pattern list stack adds 3 chars, and we need to go through
|
110838
|
+
// and escape any | chars that were passed through as-is for the regexp.
|
110839
|
+
// Go through and escape them, taking care not to double-escape any
|
110840
|
+
// | chars that were already escaped.
|
110841
|
+
for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
|
110842
|
+
var tail = re.slice(pl.reStart + pl.open.length)
|
110843
|
+
this.debug('setting tail', re, pl)
|
110844
|
+
// maybe some even number of \, then maybe 1 \, followed by a |
|
110845
|
+
tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) {
|
110846
|
+
if (!$2) {
|
110847
|
+
// the | isn't already escaped, so escape it.
|
110848
|
+
$2 = '\\'
|
110849
|
+
}
|
110850
|
+
|
110851
|
+
// need to escape all those slashes *again*, without escaping the
|
110852
|
+
// one that we need for escaping the | character. As it works out,
|
110853
|
+
// escaping an even number of slashes can be done by simply repeating
|
110854
|
+
// it exactly after itself. That's why this trick works.
|
110855
|
+
//
|
110856
|
+
// I am sorry that you have to see this.
|
110857
|
+
return $1 + $1 + $2 + '|'
|
110858
|
+
})
|
110859
|
+
|
110860
|
+
this.debug('tail=%j\n %s', tail, tail, pl, re)
|
110861
|
+
var t = pl.type === '*' ? star
|
110862
|
+
: pl.type === '?' ? qmark
|
110863
|
+
: '\\' + pl.type
|
110864
|
+
|
110865
|
+
hasMagic = true
|
110866
|
+
re = re.slice(0, pl.reStart) + t + '\\(' + tail
|
110867
|
+
}
|
110868
|
+
|
110869
|
+
// handle trailing things that only matter at the very end.
|
110870
|
+
clearStateChar()
|
110871
|
+
if (escaping) {
|
110872
|
+
// trailing \\
|
110873
|
+
re += '\\\\'
|
110874
|
+
}
|
110875
|
+
|
110876
|
+
// only need to apply the nodot start if the re starts with
|
110877
|
+
// something that could conceivably capture a dot
|
110878
|
+
var addPatternStart = false
|
110879
|
+
switch (re.charAt(0)) {
|
110880
|
+
case '[': case '.': case '(': addPatternStart = true
|
110881
|
+
}
|
110882
|
+
|
110883
|
+
// Hack to work around lack of negative lookbehind in JS
|
110884
|
+
// A pattern like: *.!(x).!(y|z) needs to ensure that a name
|
110885
|
+
// like 'a.xyz.yz' doesn't match. So, the first negative
|
110886
|
+
// lookahead, has to look ALL the way ahead, to the end of
|
110887
|
+
// the pattern.
|
110888
|
+
for (var n = negativeLists.length - 1; n > -1; n--) {
|
110889
|
+
var nl = negativeLists[n]
|
110890
|
+
|
110891
|
+
var nlBefore = re.slice(0, nl.reStart)
|
110892
|
+
var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
|
110893
|
+
var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)
|
110894
|
+
var nlAfter = re.slice(nl.reEnd)
|
110895
|
+
|
110896
|
+
nlLast += nlAfter
|
110897
|
+
|
110898
|
+
// Handle nested stuff like *(*.js|!(*.json)), where open parens
|
110899
|
+
// mean that we should *not* include the ) in the bit that is considered
|
110900
|
+
// "after" the negated section.
|
110901
|
+
var openParensBefore = nlBefore.split('(').length - 1
|
110902
|
+
var cleanAfter = nlAfter
|
110903
|
+
for (i = 0; i < openParensBefore; i++) {
|
110904
|
+
cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
|
110905
|
+
}
|
110906
|
+
nlAfter = cleanAfter
|
110907
|
+
|
110908
|
+
var dollar = ''
|
110909
|
+
if (nlAfter === '' && isSub !== SUBPARSE) {
|
110910
|
+
dollar = '$'
|
110911
|
+
}
|
110912
|
+
var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast
|
110913
|
+
re = newRe
|
110914
|
+
}
|
110915
|
+
|
110916
|
+
// if the re is not "" at this point, then we need to make sure
|
110917
|
+
// it doesn't match against an empty path part.
|
110918
|
+
// Otherwise a/* will match a/, which it should not.
|
110919
|
+
if (re !== '' && hasMagic) {
|
110920
|
+
re = '(?=.)' + re
|
110921
|
+
}
|
110922
|
+
|
110923
|
+
if (addPatternStart) {
|
110924
|
+
re = patternStart + re
|
110925
|
+
}
|
110926
|
+
|
110927
|
+
// parsing just a piece of a larger pattern.
|
110928
|
+
if (isSub === SUBPARSE) {
|
110929
|
+
return [re, hasMagic]
|
110930
|
+
}
|
110931
|
+
|
110932
|
+
// skip the regexp for non-magical patterns
|
110933
|
+
// unescape anything in it, though, so that it'll be
|
110934
|
+
// an exact match against a file etc.
|
110935
|
+
if (!hasMagic) {
|
110936
|
+
return globUnescape(pattern)
|
110937
|
+
}
|
110938
|
+
|
110939
|
+
var flags = options.nocase ? 'i' : ''
|
110940
|
+
try {
|
110941
|
+
var regExp = new RegExp('^' + re + '$', flags)
|
110942
|
+
} catch (er) /* istanbul ignore next - should be impossible */ {
|
110943
|
+
// If it was an invalid regular expression, then it can't match
|
110944
|
+
// anything. This trick looks for a character after the end of
|
110945
|
+
// the string, which is of course impossible, except in multi-line
|
110946
|
+
// mode, but it's not a /m regex.
|
110947
|
+
return new RegExp('$.')
|
110948
|
+
}
|
110949
|
+
|
110950
|
+
regExp._glob = pattern
|
110951
|
+
regExp._src = re
|
110952
|
+
|
110953
|
+
return regExp
|
110954
|
+
}
|
110955
|
+
|
110956
|
+
minimatch.makeRe = function (pattern, options) {
|
110957
|
+
return new Minimatch(pattern, options || {}).makeRe()
|
110958
|
+
}
|
110959
|
+
|
110960
|
+
Minimatch.prototype.makeRe = makeRe
|
110961
|
+
function makeRe () {
|
110962
|
+
if (this.regexp || this.regexp === false) return this.regexp
|
110963
|
+
|
110964
|
+
// at this point, this.set is a 2d array of partial
|
110965
|
+
// pattern strings, or "**".
|
110966
|
+
//
|
110967
|
+
// It's better to use .match(). This function shouldn't
|
110968
|
+
// be used, really, but it's pretty convenient sometimes,
|
110969
|
+
// when you just want to work with a regex.
|
110970
|
+
var set = this.set
|
110971
|
+
|
110972
|
+
if (!set.length) {
|
110973
|
+
this.regexp = false
|
110974
|
+
return this.regexp
|
110975
|
+
}
|
110976
|
+
var options = this.options
|
110977
|
+
|
110978
|
+
var twoStar = options.noglobstar ? star
|
110979
|
+
: options.dot ? twoStarDot
|
110980
|
+
: twoStarNoDot
|
110981
|
+
var flags = options.nocase ? 'i' : ''
|
110982
|
+
|
110983
|
+
var re = set.map(function (pattern) {
|
110984
|
+
return pattern.map(function (p) {
|
110985
|
+
return (p === GLOBSTAR) ? twoStar
|
110986
|
+
: (typeof p === 'string') ? regExpEscape(p)
|
110987
|
+
: p._src
|
110988
|
+
}).join('\\\/')
|
110989
|
+
}).join('|')
|
110990
|
+
|
110991
|
+
// must match entire pattern
|
110992
|
+
// ending in a * or ** will make it less strict.
|
110993
|
+
re = '^(?:' + re + ')$'
|
110994
|
+
|
110995
|
+
// can match anything, as long as it's not this.
|
110996
|
+
if (this.negate) re = '^(?!' + re + ').*$'
|
110997
|
+
|
110998
|
+
try {
|
110999
|
+
this.regexp = new RegExp(re, flags)
|
111000
|
+
} catch (ex) /* istanbul ignore next - should be impossible */ {
|
111001
|
+
this.regexp = false
|
111002
|
+
}
|
111003
|
+
return this.regexp
|
111004
|
+
}
|
111005
|
+
|
111006
|
+
minimatch.match = function (list, pattern, options) {
|
111007
|
+
options = options || {}
|
111008
|
+
var mm = new Minimatch(pattern, options)
|
111009
|
+
list = list.filter(function (f) {
|
111010
|
+
return mm.match(f)
|
111011
|
+
})
|
111012
|
+
if (mm.options.nonull && !list.length) {
|
111013
|
+
list.push(pattern)
|
111014
|
+
}
|
111015
|
+
return list
|
111016
|
+
}
|
111017
|
+
|
111018
|
+
Minimatch.prototype.match = function match (f, partial) {
|
111019
|
+
if (typeof partial === 'undefined') partial = this.partial
|
111020
|
+
this.debug('match', f, this.pattern)
|
111021
|
+
// short-circuit in the case of busted things.
|
111022
|
+
// comments, etc.
|
111023
|
+
if (this.comment) return false
|
111024
|
+
if (this.empty) return f === ''
|
111025
|
+
|
111026
|
+
if (f === '/' && partial) return true
|
111027
|
+
|
111028
|
+
var options = this.options
|
111029
|
+
|
111030
|
+
// windows: need to use /, not \
|
111031
|
+
if (path.sep !== '/') {
|
111032
|
+
f = f.split(path.sep).join('/')
|
111033
|
+
}
|
111034
|
+
|
111035
|
+
// treat the test path as a set of pathparts.
|
111036
|
+
f = f.split(slashSplit)
|
111037
|
+
this.debug(this.pattern, 'split', f)
|
111038
|
+
|
111039
|
+
// just ONE of the pattern sets in this.set needs to match
|
111040
|
+
// in order for it to be valid. If negating, then just one
|
111041
|
+
// match means that we have failed.
|
111042
|
+
// Either way, return on the first hit.
|
111043
|
+
|
111044
|
+
var set = this.set
|
111045
|
+
this.debug(this.pattern, 'set', set)
|
111046
|
+
|
111047
|
+
// Find the basename of the path by looking for the last non-empty segment
|
111048
|
+
var filename
|
111049
|
+
var i
|
111050
|
+
for (i = f.length - 1; i >= 0; i--) {
|
111051
|
+
filename = f[i]
|
111052
|
+
if (filename) break
|
111053
|
+
}
|
111054
|
+
|
111055
|
+
for (i = 0; i < set.length; i++) {
|
111056
|
+
var pattern = set[i]
|
111057
|
+
var file = f
|
111058
|
+
if (options.matchBase && pattern.length === 1) {
|
111059
|
+
file = [filename]
|
111060
|
+
}
|
111061
|
+
var hit = this.matchOne(file, pattern, partial)
|
111062
|
+
if (hit) {
|
111063
|
+
if (options.flipNegate) return true
|
111064
|
+
return !this.negate
|
111065
|
+
}
|
111066
|
+
}
|
111067
|
+
|
111068
|
+
// didn't get any hits. this is success if it's a negative
|
111069
|
+
// pattern, failure otherwise.
|
111070
|
+
if (options.flipNegate) return false
|
111071
|
+
return this.negate
|
111072
|
+
}
|
111073
|
+
|
111074
|
+
// set partial to true to test if, for example,
|
111075
|
+
// "/a/b" matches the start of "/*/b/*/d"
|
111076
|
+
// Partial means, if you run out of file before you run
|
111077
|
+
// out of pattern, then that's fine, as long as all
|
111078
|
+
// the parts match.
|
111079
|
+
Minimatch.prototype.matchOne = function (file, pattern, partial) {
|
111080
|
+
var options = this.options
|
111081
|
+
|
111082
|
+
this.debug('matchOne',
|
111083
|
+
{ 'this': this, file: file, pattern: pattern })
|
111084
|
+
|
111085
|
+
this.debug('matchOne', file.length, pattern.length)
|
111086
|
+
|
111087
|
+
for (var fi = 0,
|
111088
|
+
pi = 0,
|
111089
|
+
fl = file.length,
|
111090
|
+
pl = pattern.length
|
111091
|
+
; (fi < fl) && (pi < pl)
|
111092
|
+
; fi++, pi++) {
|
111093
|
+
this.debug('matchOne loop')
|
111094
|
+
var p = pattern[pi]
|
111095
|
+
var f = file[fi]
|
111096
|
+
|
111097
|
+
this.debug(pattern, p, f)
|
111098
|
+
|
111099
|
+
// should be impossible.
|
111100
|
+
// some invalid regexp stuff in the set.
|
111101
|
+
/* istanbul ignore if */
|
111102
|
+
if (p === false) return false
|
111103
|
+
|
111104
|
+
if (p === GLOBSTAR) {
|
111105
|
+
this.debug('GLOBSTAR', [pattern, p, f])
|
111106
|
+
|
111107
|
+
// "**"
|
111108
|
+
// a/**/b/**/c would match the following:
|
111109
|
+
// a/b/x/y/z/c
|
111110
|
+
// a/x/y/z/b/c
|
111111
|
+
// a/b/x/b/x/c
|
111112
|
+
// a/b/c
|
111113
|
+
// To do this, take the rest of the pattern after
|
111114
|
+
// the **, and see if it would match the file remainder.
|
111115
|
+
// If so, return success.
|
111116
|
+
// If not, the ** "swallows" a segment, and try again.
|
111117
|
+
// This is recursively awful.
|
111118
|
+
//
|
111119
|
+
// a/**/b/**/c matching a/b/x/y/z/c
|
111120
|
+
// - a matches a
|
111121
|
+
// - doublestar
|
111122
|
+
// - matchOne(b/x/y/z/c, b/**/c)
|
111123
|
+
// - b matches b
|
111124
|
+
// - doublestar
|
111125
|
+
// - matchOne(x/y/z/c, c) -> no
|
111126
|
+
// - matchOne(y/z/c, c) -> no
|
111127
|
+
// - matchOne(z/c, c) -> no
|
111128
|
+
// - matchOne(c, c) yes, hit
|
111129
|
+
var fr = fi
|
111130
|
+
var pr = pi + 1
|
111131
|
+
if (pr === pl) {
|
111132
|
+
this.debug('** at the end')
|
111133
|
+
// a ** at the end will just swallow the rest.
|
111134
|
+
// We have found a match.
|
111135
|
+
// however, it will not swallow /.x, unless
|
111136
|
+
// options.dot is set.
|
111137
|
+
// . and .. are *never* matched by **, for explosively
|
111138
|
+
// exponential reasons.
|
111139
|
+
for (; fi < fl; fi++) {
|
111140
|
+
if (file[fi] === '.' || file[fi] === '..' ||
|
111141
|
+
(!options.dot && file[fi].charAt(0) === '.')) return false
|
111142
|
+
}
|
111143
|
+
return true
|
111144
|
+
}
|
111145
|
+
|
111146
|
+
// ok, let's see if we can swallow whatever we can.
|
111147
|
+
while (fr < fl) {
|
111148
|
+
var swallowee = file[fr]
|
111149
|
+
|
111150
|
+
this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
|
111151
|
+
|
111152
|
+
// XXX remove this slice. Just pass the start index.
|
111153
|
+
if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
|
111154
|
+
this.debug('globstar found match!', fr, fl, swallowee)
|
111155
|
+
// found a match.
|
111156
|
+
return true
|
111157
|
+
} else {
|
111158
|
+
// can't swallow "." or ".." ever.
|
111159
|
+
// can only swallow ".foo" when explicitly asked.
|
111160
|
+
if (swallowee === '.' || swallowee === '..' ||
|
111161
|
+
(!options.dot && swallowee.charAt(0) === '.')) {
|
111162
|
+
this.debug('dot detected!', file, fr, pattern, pr)
|
111163
|
+
break
|
111164
|
+
}
|
111165
|
+
|
111166
|
+
// ** swallows a segment, and continue.
|
111167
|
+
this.debug('globstar swallow a segment, and continue')
|
111168
|
+
fr++
|
111169
|
+
}
|
111170
|
+
}
|
111171
|
+
|
111172
|
+
// no match was found.
|
111173
|
+
// However, in partial mode, we can't say this is necessarily over.
|
111174
|
+
// If there's more *pattern* left, then
|
111175
|
+
/* istanbul ignore if */
|
111176
|
+
if (partial) {
|
111177
|
+
// ran out of file
|
111178
|
+
this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
|
111179
|
+
if (fr === fl) return true
|
111180
|
+
}
|
111181
|
+
return false
|
111182
|
+
}
|
111183
|
+
|
111184
|
+
// something other than **
|
111185
|
+
// non-magic patterns just have to match exactly
|
111186
|
+
// patterns with magic have been turned into regexps.
|
111187
|
+
var hit
|
111188
|
+
if (typeof p === 'string') {
|
111189
|
+
hit = f === p
|
111190
|
+
this.debug('string match', p, f, hit)
|
111191
|
+
} else {
|
111192
|
+
hit = f.match(p)
|
111193
|
+
this.debug('pattern match', p, f, hit)
|
111194
|
+
}
|
111195
|
+
|
111196
|
+
if (!hit) return false
|
111197
|
+
}
|
111198
|
+
|
111199
|
+
// Note: ending in / means that we'll get a final ""
|
111200
|
+
// at the end of the pattern. This can only match a
|
111201
|
+
// corresponding "" at the end of the file.
|
111202
|
+
// If the file ends in /, then it can only match a
|
111203
|
+
// a pattern that ends in /, unless the pattern just
|
111204
|
+
// doesn't have any more for it. But, a/b/ should *not*
|
111205
|
+
// match "a/b/*", even though "" matches against the
|
111206
|
+
// [^/]*? pattern, except in partial mode, where it might
|
111207
|
+
// simply not be reached yet.
|
111208
|
+
// However, a/b/ should still satisfy a/*
|
111209
|
+
|
111210
|
+
// now either we fell off the end of the pattern, or we're done.
|
111211
|
+
if (fi === fl && pi === pl) {
|
111212
|
+
// ran out of pattern and filename at the same time.
|
111213
|
+
// an exact hit!
|
111214
|
+
return true
|
111215
|
+
} else if (fi === fl) {
|
111216
|
+
// ran out of file, but still had pattern left.
|
111217
|
+
// this is ok if we're doing the match as part of
|
111218
|
+
// a glob fs traversal.
|
111219
|
+
return partial
|
111220
|
+
} else /* istanbul ignore else */ if (pi === pl) {
|
111221
|
+
// ran out of pattern, still have file left.
|
111222
|
+
// this is only acceptable if we're on the very last
|
111223
|
+
// empty segment of a file with a trailing slash.
|
111224
|
+
// a/* should match a/b/
|
111225
|
+
return (fi === fl - 1) && (file[fi] === '')
|
111226
|
+
}
|
111227
|
+
|
111228
|
+
// should be unreachable.
|
111229
|
+
/* istanbul ignore next */
|
111230
|
+
throw new Error('wtf?')
|
111231
|
+
}
|
111232
|
+
|
111233
|
+
// replace stuff like \* with *
|
111234
|
+
function globUnescape (s) {
|
111235
|
+
return s.replace(/\\(.)/g, '$1')
|
111236
|
+
}
|
111237
|
+
|
111238
|
+
function regExpEscape (s) {
|
111239
|
+
return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
|
111240
|
+
}
|
111241
|
+
|
111242
|
+
|
109578
111243
|
/***/ }),
|
109579
111244
|
|
109580
111245
|
/***/ 21328:
|
@@ -182604,7 +184269,7 @@ const main = async client => {
|
|
182604
184269
|
|
182605
184270
|
if (argv.help || !subcommand) {
|
182606
184271
|
help();
|
182607
|
-
await (0,exit/* default */.Z)(
|
184272
|
+
await (0,exit/* default */.Z)(2);
|
182608
184273
|
}
|
182609
184274
|
|
182610
184275
|
const {
|
@@ -186159,7 +187824,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
186159
187824
|
};
|
186160
187825
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
186161
187826
|
exports.detectBuilders = exports.detectOutputDirectory = exports.detectApiDirectory = exports.detectApiExtensions = exports.sortFiles = void 0;
|
186162
|
-
const minimatch_1 = __importDefault(__webpack_require__(
|
187827
|
+
const minimatch_1 = __importDefault(__webpack_require__(47345));
|
186163
187828
|
const semver_1 = __webpack_require__(41039);
|
186164
187829
|
const path_1 = __webpack_require__(85622);
|
186165
187830
|
const frameworks_1 = __importDefault(__webpack_require__(36678));
|
@@ -187616,6 +189281,7 @@ const monorepo_managers_1 = __webpack_require__(23315);
|
|
187616
189281
|
const package_managers_1 = __webpack_require__(44501);
|
187617
189282
|
const detect_framework_1 = __webpack_require__(7244);
|
187618
189283
|
const json5_1 = __importDefault(__webpack_require__(83406));
|
189284
|
+
const semver_1 = __importDefault(__webpack_require__(41039));
|
187619
189285
|
class MissingBuildPipeline extends Error {
|
187620
189286
|
constructor() {
|
187621
189287
|
super('Missing required `build` pipeline in turbo.json or package.json Turbo configuration.');
|
@@ -187645,17 +189311,22 @@ async function getMonorepoDefaultSettings(projectName, projectPath, relativeToRo
|
|
187645
189311
|
detectorFilesystem.readFile('package.json').catch(() => null),
|
187646
189312
|
]);
|
187647
189313
|
let hasBuildPipeline = false;
|
189314
|
+
let turboSemVer = null;
|
187648
189315
|
if (turboJSONBuf !== null) {
|
187649
189316
|
const turboJSON = json5_1.default.parse(turboJSONBuf.toString('utf-8'));
|
187650
189317
|
if (turboJSON?.pipeline?.build) {
|
187651
189318
|
hasBuildPipeline = true;
|
187652
189319
|
}
|
187653
189320
|
}
|
187654
|
-
|
189321
|
+
if (packageJSONBuf !== null) {
|
187655
189322
|
const packageJSON = JSON.parse(packageJSONBuf.toString('utf-8'));
|
187656
189323
|
if (packageJSON?.turbo?.pipeline?.build) {
|
187657
189324
|
hasBuildPipeline = true;
|
187658
189325
|
}
|
189326
|
+
turboSemVer =
|
189327
|
+
packageJSON?.dependencies?.turbo ||
|
189328
|
+
packageJSON?.devDependencies?.turbo ||
|
189329
|
+
null;
|
187659
189330
|
}
|
187660
189331
|
if (!hasBuildPipeline) {
|
187661
189332
|
throw new MissingBuildPipeline();
|
@@ -187663,16 +189334,24 @@ async function getMonorepoDefaultSettings(projectName, projectPath, relativeToRo
|
|
187663
189334
|
if (projectPath === '/') {
|
187664
189335
|
return {
|
187665
189336
|
monorepoManager: 'turbo',
|
187666
|
-
buildCommand: '
|
189337
|
+
buildCommand: 'turbo run build',
|
187667
189338
|
installCommand: packageManager ? `${packageManager} install` : null,
|
187668
189339
|
commandForIgnoringBuildStep: 'npx turbo-ignore',
|
187669
189340
|
};
|
187670
189341
|
}
|
189342
|
+
let buildCommand = null;
|
189343
|
+
if (projectPath) {
|
189344
|
+
if (turboSemVer && !semver_1.default.intersects(turboSemVer, '<1.8.0')) {
|
189345
|
+
buildCommand = `turbo run build`;
|
189346
|
+
}
|
189347
|
+
else {
|
189348
|
+
// We don't know for sure if the local `turbo` supports inference.
|
189349
|
+
buildCommand = `cd ${relativeToRoot} && turbo run build --filter={${projectPath}}...`;
|
189350
|
+
}
|
189351
|
+
}
|
187671
189352
|
return {
|
187672
189353
|
monorepoManager: 'turbo',
|
187673
|
-
buildCommand
|
187674
|
-
? `cd ${relativeToRoot} && npx turbo run build --filter={${projectPath}}...`
|
187675
|
-
: null,
|
189354
|
+
buildCommand,
|
187676
189355
|
installCommand: packageManager === 'npm'
|
187677
189356
|
? `${packageManager} install --prefix=${relativeToRoot}`
|
187678
189357
|
: packageManager
|
@@ -188852,6 +190531,9 @@ exports.routesSchema = {
|
|
188852
190531
|
check: {
|
188853
190532
|
type: 'boolean',
|
188854
190533
|
},
|
190534
|
+
isInternal: {
|
190535
|
+
type: 'boolean',
|
190536
|
+
},
|
188855
190537
|
status: {
|
188856
190538
|
type: 'integer',
|
188857
190539
|
minimum: 100,
|
@@ -190224,7 +191906,7 @@ const dotenv_1 = __importDefault(__webpack_require__(9116));
|
|
190224
191906
|
const path_1 = __webpack_require__(85622);
|
190225
191907
|
const build_utils_1 = __webpack_require__(63445);
|
190226
191908
|
const fs_detectors_1 = __webpack_require__(88995);
|
190227
|
-
const minimatch_1 = __importDefault(__webpack_require__(
|
191909
|
+
const minimatch_1 = __importDefault(__webpack_require__(47345));
|
190228
191910
|
const routing_utils_1 = __webpack_require__(679);
|
190229
191911
|
const client_1 = __webpack_require__(40521);
|
190230
191912
|
const pull_1 = __importDefault(__webpack_require__(65158));
|
@@ -198844,7 +200526,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
198844
200526
|
};
|
198845
200527
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
198846
200528
|
exports.shouldServe = exports.build = exports.version = void 0;
|
198847
|
-
const minimatch_1 = __importDefault(__webpack_require__(
|
200529
|
+
const minimatch_1 = __importDefault(__webpack_require__(47345));
|
198848
200530
|
const build_utils_1 = __webpack_require__(63445);
|
198849
200531
|
exports.version = 2;
|
198850
200532
|
const build = async ({ entrypoint, files, config }) => {
|
@@ -201175,7 +202857,7 @@ const fun_1 = __webpack_require__(32182);
|
|
201175
202857
|
const build_utils_1 = __webpack_require__(63445);
|
201176
202858
|
const fs_detectors_1 = __webpack_require__(88995);
|
201177
202859
|
const pluralize_1 = __importDefault(__webpack_require__(43669));
|
201178
|
-
const minimatch_1 = __importDefault(__webpack_require__(
|
202860
|
+
const minimatch_1 = __importDefault(__webpack_require__(47345));
|
201179
202861
|
const highlight_1 = __importDefault(__webpack_require__(34661));
|
201180
202862
|
const tree_kill_1 = __webpack_require__(49802);
|
201181
202863
|
const path_helpers_1 = __webpack_require__(5410);
|
@@ -202108,7 +203790,7 @@ const node_fetch_1 = __importDefault(__webpack_require__(91596));
|
|
202108
203790
|
const pluralize_1 = __importDefault(__webpack_require__(43669));
|
202109
203791
|
const raw_body_1 = __importDefault(__webpack_require__(49658));
|
202110
203792
|
const async_listen_1 = __importDefault(__webpack_require__(64670));
|
202111
|
-
const minimatch_1 = __importDefault(__webpack_require__(
|
203793
|
+
const minimatch_1 = __importDefault(__webpack_require__(47345));
|
202112
203794
|
const http_proxy_1 = __importDefault(__webpack_require__(17047));
|
202113
203795
|
const crypto_1 = __webpack_require__(76417);
|
202114
203796
|
const serve_handler_1 = __importDefault(__webpack_require__(60986));
|
@@ -211345,23 +213027,13 @@ exports.getCommandName = getCommandName;
|
|
211345
213027
|
/***/ }),
|
211346
213028
|
|
211347
213029
|
/***/ 42246:
|
211348
|
-
/***/ (
|
213030
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
211349
213031
|
|
211350
213032
|
"use strict";
|
211351
213033
|
|
211352
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
211353
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
211354
|
-
};
|
211355
213034
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
211356
|
-
const
|
211357
|
-
|
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;
|
213035
|
+
const get_package_json_1 = __webpack_require__(20077);
|
213036
|
+
exports.default = (0, get_package_json_1.getPackageJSON)();
|
211365
213037
|
|
211366
213038
|
|
211367
213039
|
/***/ }),
|
@@ -213278,7 +214950,7 @@ module.exports = JSON.parse("[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"vali
|
|
213278
214950
|
/***/ ((module) => {
|
213279
214951
|
|
213280
214952
|
"use strict";
|
213281
|
-
module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.18.
|
214953
|
+
module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.18.4\",\"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.22\"},\"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.9\",\"@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
214954
|
|
213283
214955
|
/***/ }),
|
213284
214956
|
|
@@ -213286,7 +214958,7 @@ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.18.2\",\"pref
|
|
213286
214958
|
/***/ ((module) => {
|
213287
214959
|
|
213288
214960
|
"use strict";
|
213289
|
-
module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.4.
|
214961
|
+
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
214962
|
|
213291
214963
|
/***/ }),
|
213292
214964
|
|