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.
- package/dist/index.js +2684 -30
- 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
|
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:
|
@@ -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__(
|
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__(
|
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__(
|
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__(
|
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
|
-
|
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: '
|
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
|
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__(
|
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__(
|
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__(
|
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__(
|
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
|
-
/***/ (
|
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
|
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;
|
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.
|
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.
|
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
|
|