@parcel/utils 2.0.0-nightly.1294 → 2.0.0-nightly.1298

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/lib/index.js CHANGED
@@ -5,8 +5,8 @@ var $8C1kk$parcellogger = require("@parcel/logger");
5
5
  var $8C1kk$crypto = require("crypto");
6
6
  var $8C1kk$os = require("os");
7
7
  var $8C1kk$util = require("util");
8
- var $8C1kk$fs = require("fs");
9
8
  var $8C1kk$events = require("events");
9
+ var $8C1kk$fs = require("fs");
10
10
  var $8C1kk$parcelcodeframe = require("@parcel/codeframe");
11
11
  var $8C1kk$parcelmarkdownansi = require("@parcel/markdown-ansi");
12
12
  var $8C1kk$chalk = require("chalk");
@@ -29743,48 +29743,65 @@ $5aee5a8e09e874bf$exports = function isGlob(str, options) {
29743
29743
  };
29744
29744
 
29745
29745
 
29746
- var $b57e78be4f7a2622$exports = {};
29746
+ var $21b1b538e1d1be85$exports = {};
29747
29747
  "use strict";
29748
- var $d436392a45e5b9b4$exports = {};
29748
+ var $94ffeb6ed5329bdb$exports = {};
29749
29749
  "use strict";
29750
- Object.defineProperty($d436392a45e5b9b4$exports, "__esModule", {
29750
+ Object.defineProperty($94ffeb6ed5329bdb$exports, "__esModule", {
29751
29751
  value: true
29752
29752
  });
29753
- var $1b5b082adfcf5f99$exports = {};
29753
+ $94ffeb6ed5329bdb$exports.convertPatternGroupToTask = $94ffeb6ed5329bdb$exports.convertPatternGroupsToTasks = $94ffeb6ed5329bdb$exports.groupPatternsByBaseDirectory = $94ffeb6ed5329bdb$exports.getNegativePatternsAsPositive = $94ffeb6ed5329bdb$exports.getPositivePatterns = $94ffeb6ed5329bdb$exports.convertPatternsToTasks = $94ffeb6ed5329bdb$exports.generate = void 0;
29754
+ var $cf522a9d05043495$exports = {};
29754
29755
  "use strict";
29755
- Object.defineProperty($1b5b082adfcf5f99$exports, "__esModule", {
29756
+ Object.defineProperty($cf522a9d05043495$exports, "__esModule", {
29756
29757
  value: true
29757
29758
  });
29758
- var $23d0e316ca6ff843$exports = {};
29759
+ $cf522a9d05043495$exports.string = $cf522a9d05043495$exports.stream = $cf522a9d05043495$exports.pattern = $cf522a9d05043495$exports.path = $cf522a9d05043495$exports.fs = $cf522a9d05043495$exports.errno = $cf522a9d05043495$exports.array = void 0;
29760
+ var $49e39d93ff5caf19$exports = {};
29759
29761
  "use strict";
29760
- Object.defineProperty($23d0e316ca6ff843$exports, "__esModule", {
29762
+ Object.defineProperty($49e39d93ff5caf19$exports, "__esModule", {
29761
29763
  value: true
29762
29764
  });
29763
- function $23d0e316ca6ff843$var$flatten(items) {
29765
+ $49e39d93ff5caf19$exports.splitWhen = $49e39d93ff5caf19$exports.flatten = void 0;
29766
+ function $49e39d93ff5caf19$var$flatten(items) {
29764
29767
  return items.reduce((collection, item)=>[].concat(collection, item), []);
29765
29768
  }
29766
- $23d0e316ca6ff843$exports.flatten = $23d0e316ca6ff843$var$flatten;
29769
+ $49e39d93ff5caf19$exports.flatten = $49e39d93ff5caf19$var$flatten;
29770
+ function $49e39d93ff5caf19$var$splitWhen(items, predicate) {
29771
+ const result = [
29772
+ []
29773
+ ];
29774
+ let groupIndex = 0;
29775
+ for (const item of items)if (predicate(item)) {
29776
+ groupIndex++;
29777
+ result[groupIndex] = [];
29778
+ } else result[groupIndex].push(item);
29779
+ return result;
29780
+ }
29781
+ $49e39d93ff5caf19$exports.splitWhen = $49e39d93ff5caf19$var$splitWhen;
29767
29782
 
29768
29783
 
29769
- $1b5b082adfcf5f99$exports.array = $23d0e316ca6ff843$exports;
29770
- var $6eea3630cce07c06$exports = {};
29784
+ $cf522a9d05043495$exports.array = $49e39d93ff5caf19$exports;
29785
+ var $a239a022330d4056$exports = {};
29771
29786
  "use strict";
29772
- Object.defineProperty($6eea3630cce07c06$exports, "__esModule", {
29787
+ Object.defineProperty($a239a022330d4056$exports, "__esModule", {
29773
29788
  value: true
29774
29789
  });
29775
- function $6eea3630cce07c06$var$isEnoentCodeError(error) {
29790
+ $a239a022330d4056$exports.isEnoentCodeError = void 0;
29791
+ function $a239a022330d4056$var$isEnoentCodeError(error) {
29776
29792
  return error.code === "ENOENT";
29777
29793
  }
29778
- $6eea3630cce07c06$exports.isEnoentCodeError = $6eea3630cce07c06$var$isEnoentCodeError;
29794
+ $a239a022330d4056$exports.isEnoentCodeError = $a239a022330d4056$var$isEnoentCodeError;
29779
29795
 
29780
29796
 
29781
- $1b5b082adfcf5f99$exports.errno = $6eea3630cce07c06$exports;
29782
- var $e88efb70f4f04277$exports = {};
29797
+ $cf522a9d05043495$exports.errno = $a239a022330d4056$exports;
29798
+ var $41689d437fc25774$exports = {};
29783
29799
  "use strict";
29784
- Object.defineProperty($e88efb70f4f04277$exports, "__esModule", {
29800
+ Object.defineProperty($41689d437fc25774$exports, "__esModule", {
29785
29801
  value: true
29786
29802
  });
29787
- class $e88efb70f4f04277$var$DirentFromStats {
29803
+ $41689d437fc25774$exports.createDirentFromStats = void 0;
29804
+ class $41689d437fc25774$var$DirentFromStats {
29788
29805
  constructor(name, stats){
29789
29806
  this.name = name;
29790
29807
  this.isBlockDevice = stats.isBlockDevice.bind(stats);
@@ -29796,42 +29813,55 @@ class $e88efb70f4f04277$var$DirentFromStats {
29796
29813
  this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
29797
29814
  }
29798
29815
  }
29799
- function $e88efb70f4f04277$var$createDirentFromStats(name, stats) {
29800
- return new $e88efb70f4f04277$var$DirentFromStats(name, stats);
29816
+ function $41689d437fc25774$var$createDirentFromStats(name, stats) {
29817
+ return new $41689d437fc25774$var$DirentFromStats(name, stats);
29801
29818
  }
29802
- $e88efb70f4f04277$exports.createDirentFromStats = $e88efb70f4f04277$var$createDirentFromStats;
29819
+ $41689d437fc25774$exports.createDirentFromStats = $41689d437fc25774$var$createDirentFromStats;
29803
29820
 
29804
29821
 
29805
- $1b5b082adfcf5f99$exports.fs = $e88efb70f4f04277$exports;
29806
- var $01c89d3b8f966493$exports = {};
29822
+ $cf522a9d05043495$exports.fs = $41689d437fc25774$exports;
29823
+ var $e6c7a6804c64fc92$exports = {};
29807
29824
  "use strict";
29808
- Object.defineProperty($01c89d3b8f966493$exports, "__esModule", {
29825
+ Object.defineProperty($e6c7a6804c64fc92$exports, "__esModule", {
29809
29826
  value: true
29810
29827
  });
29828
+ $e6c7a6804c64fc92$exports.removeLeadingDotSegment = $e6c7a6804c64fc92$exports.escape = $e6c7a6804c64fc92$exports.makeAbsolute = $e6c7a6804c64fc92$exports.unixify = void 0;
29811
29829
 
29812
- const $01c89d3b8f966493$var$UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([*?|(){}[\]]|^!|[@+!](?=\())/g;
29830
+ const $e6c7a6804c64fc92$var$LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; // ./ or .\\
29831
+ const $e6c7a6804c64fc92$var$UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;
29813
29832
  /**
29814
29833
  * Designed to work only with simple paths: `dir\\file`.
29815
- */ function $01c89d3b8f966493$var$unixify(filepath) {
29834
+ */ function $e6c7a6804c64fc92$var$unixify(filepath) {
29816
29835
  return filepath.replace(/\\/g, "/");
29817
29836
  }
29818
- $01c89d3b8f966493$exports.unixify = $01c89d3b8f966493$var$unixify;
29819
- function $01c89d3b8f966493$var$makeAbsolute(cwd, filepath) {
29837
+ $e6c7a6804c64fc92$exports.unixify = $e6c7a6804c64fc92$var$unixify;
29838
+ function $e6c7a6804c64fc92$var$makeAbsolute(cwd, filepath) {
29820
29839
  return $8C1kk$path.resolve(cwd, filepath);
29821
29840
  }
29822
- $01c89d3b8f966493$exports.makeAbsolute = $01c89d3b8f966493$var$makeAbsolute;
29823
- function $01c89d3b8f966493$var$escape(pattern) {
29824
- return pattern.replace($01c89d3b8f966493$var$UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
29841
+ $e6c7a6804c64fc92$exports.makeAbsolute = $e6c7a6804c64fc92$var$makeAbsolute;
29842
+ function $e6c7a6804c64fc92$var$escape(pattern) {
29843
+ return pattern.replace($e6c7a6804c64fc92$var$UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
29825
29844
  }
29826
- $01c89d3b8f966493$exports.escape = $01c89d3b8f966493$var$escape;
29845
+ $e6c7a6804c64fc92$exports.escape = $e6c7a6804c64fc92$var$escape;
29846
+ function $e6c7a6804c64fc92$var$removeLeadingDotSegment(entry) {
29847
+ // We do not use `startsWith` because this is 10x slower than current implementation for some cases.
29848
+ // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with
29849
+ if (entry.charAt(0) === ".") {
29850
+ const secondCharactery = entry.charAt(1);
29851
+ if (secondCharactery === "/" || secondCharactery === "\\") return entry.slice($e6c7a6804c64fc92$var$LEADING_DOT_SEGMENT_CHARACTERS_COUNT);
29852
+ }
29853
+ return entry;
29854
+ }
29855
+ $e6c7a6804c64fc92$exports.removeLeadingDotSegment = $e6c7a6804c64fc92$var$removeLeadingDotSegment;
29827
29856
 
29828
29857
 
29829
- $1b5b082adfcf5f99$exports.path = $01c89d3b8f966493$exports;
29830
- var $e1fc146aea519a53$exports = {};
29858
+ $cf522a9d05043495$exports.path = $e6c7a6804c64fc92$exports;
29859
+ var $16c73921a8454263$exports = {};
29831
29860
  "use strict";
29832
- Object.defineProperty($e1fc146aea519a53$exports, "__esModule", {
29861
+ Object.defineProperty($16c73921a8454263$exports, "__esModule", {
29833
29862
  value: true
29834
29863
  });
29864
+ $16c73921a8454263$exports.matchAny = $16c73921a8454263$exports.convertPatternsToRe = $16c73921a8454263$exports.makeRe = $16c73921a8454263$exports.getPatternParts = $16c73921a8454263$exports.expandBraceExpansion = $16c73921a8454263$exports.expandPatternsWithBraceExpansion = $16c73921a8454263$exports.isAffectDepthOfReadingPattern = $16c73921a8454263$exports.endsWithSlashGlobStar = $16c73921a8454263$exports.hasGlobStar = $16c73921a8454263$exports.getBaseDirectory = $16c73921a8454263$exports.isPatternRelatedToParentDirectory = $16c73921a8454263$exports.getPatternsOutsideCurrentDirectory = $16c73921a8454263$exports.getPatternsInsideCurrentDirectory = $16c73921a8454263$exports.getPositivePatterns = $16c73921a8454263$exports.getNegativePatterns = $16c73921a8454263$exports.isPositivePattern = $16c73921a8454263$exports.isNegativePattern = $16c73921a8454263$exports.convertToNegativePattern = $16c73921a8454263$exports.convertToPositivePattern = $16c73921a8454263$exports.isDynamicPattern = $16c73921a8454263$exports.isStaticPattern = void 0;
29835
29865
 
29836
29866
  var $99a21639ca3a03fc$exports = {};
29837
29867
  "use strict";
@@ -29868,7 +29898,7 @@ var $99a21639ca3a03fc$var$escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
29868
29898
  };
29869
29899
 
29870
29900
 
29871
- var $fec3b4fc54d3756a$exports = {};
29901
+ var $971e5d0cad67a09a$exports = {};
29872
29902
  "use strict";
29873
29903
 
29874
29904
  var $fec07f13db1e462a$exports = {};
@@ -30985,7 +31015,7 @@ $2af609aa204f1181$exports = (parcelRequire("4997P"));
30985
31015
 
30986
31016
 
30987
31017
  var $5MQDC = parcelRequire("5MQDC");
30988
- const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31018
+ const $971e5d0cad67a09a$var$isEmptyString = (val)=>val === "" || val === "./";
30989
31019
  /**
30990
31020
  * Returns an array of strings that match one or more glob patterns.
30991
31021
  *
@@ -31002,7 +31032,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31002
31032
  * @return {Array} Returns an array of matches
31003
31033
  * @summary false
31004
31034
  * @api public
31005
- */ const $fec3b4fc54d3756a$var$micromatch = (list, patterns, options)=>{
31035
+ */ const $971e5d0cad67a09a$var$micromatch = (list, patterns, options)=>{
31006
31036
  patterns = [].concat(patterns);
31007
31037
  list = [].concat(list);
31008
31038
  let omit = new Set();
@@ -31045,7 +31075,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31045
31075
  };
31046
31076
  /**
31047
31077
  * Backwards compatibility
31048
- */ $fec3b4fc54d3756a$var$micromatch.match = $fec3b4fc54d3756a$var$micromatch;
31078
+ */ $971e5d0cad67a09a$var$micromatch.match = $971e5d0cad67a09a$var$micromatch;
31049
31079
  /**
31050
31080
  * Returns a matcher function from the given glob `pattern` and `options`.
31051
31081
  * The returned function takes a string to match as its only argument and returns
@@ -31063,7 +31093,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31063
31093
  * @param {Object} `options`
31064
31094
  * @return {Function} Returns a matcher function.
31065
31095
  * @api public
31066
- */ $fec3b4fc54d3756a$var$micromatch.matcher = (pattern, options)=>$2af609aa204f1181$exports(pattern, options);
31096
+ */ $971e5d0cad67a09a$var$micromatch.matcher = (pattern, options)=>$2af609aa204f1181$exports(pattern, options);
31067
31097
  /**
31068
31098
  * Returns true if **any** of the given glob `patterns` match the specified `string`.
31069
31099
  *
@@ -31079,10 +31109,10 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31079
31109
  * @param {Object} `[options]` See available [options](#options).
31080
31110
  * @return {Boolean} Returns true if any patterns match `str`
31081
31111
  * @api public
31082
- */ $fec3b4fc54d3756a$var$micromatch.isMatch = (str, patterns, options)=>$2af609aa204f1181$exports(patterns, options)(str);
31112
+ */ $971e5d0cad67a09a$var$micromatch.isMatch = (str, patterns, options)=>$2af609aa204f1181$exports(patterns, options)(str);
31083
31113
  /**
31084
31114
  * Backwards compatibility
31085
- */ $fec3b4fc54d3756a$var$micromatch.any = $fec3b4fc54d3756a$var$micromatch.isMatch;
31115
+ */ $971e5d0cad67a09a$var$micromatch.any = $971e5d0cad67a09a$var$micromatch.isMatch;
31086
31116
  /**
31087
31117
  * Returns a list of strings that _**do not match any**_ of the given `patterns`.
31088
31118
  *
@@ -31098,7 +31128,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31098
31128
  * @param {Object} `options` See available [options](#options) for changing how matches are performed
31099
31129
  * @return {Array} Returns an array of strings that **do not match** the given patterns.
31100
31130
  * @api public
31101
- */ $fec3b4fc54d3756a$var$micromatch.not = (list, patterns, options = {})=>{
31131
+ */ $971e5d0cad67a09a$var$micromatch.not = (list, patterns, options = {})=>{
31102
31132
  patterns = [].concat(patterns).map(String);
31103
31133
  let result = new Set();
31104
31134
  let items = [];
@@ -31106,7 +31136,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31106
31136
  if (options.onResult) options.onResult(state);
31107
31137
  items.push(state.output);
31108
31138
  };
31109
- let matches = $fec3b4fc54d3756a$var$micromatch(list, patterns, {
31139
+ let matches = $971e5d0cad67a09a$var$micromatch(list, patterns, {
31110
31140
  ...options,
31111
31141
  onResult: onResult
31112
31142
  });
@@ -31133,14 +31163,14 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31133
31163
  * @param {Object} `options` See available [options](#options) for changing how matches are performed
31134
31164
  * @return {Boolean} Returns true if any of the patterns matches any part of `str`.
31135
31165
  * @api public
31136
- */ $fec3b4fc54d3756a$var$micromatch.contains = (str, pattern, options)=>{
31166
+ */ $971e5d0cad67a09a$var$micromatch.contains = (str, pattern, options)=>{
31137
31167
  if (typeof str !== "string") throw new TypeError(`Expected a string: "${$8C1kk$util.inspect(str)}"`);
31138
- if (Array.isArray(pattern)) return pattern.some((p)=>$fec3b4fc54d3756a$var$micromatch.contains(str, p, options));
31168
+ if (Array.isArray(pattern)) return pattern.some((p)=>$971e5d0cad67a09a$var$micromatch.contains(str, p, options));
31139
31169
  if (typeof pattern === "string") {
31140
- if ($fec3b4fc54d3756a$var$isEmptyString(str) || $fec3b4fc54d3756a$var$isEmptyString(pattern)) return false;
31170
+ if ($971e5d0cad67a09a$var$isEmptyString(str) || $971e5d0cad67a09a$var$isEmptyString(pattern)) return false;
31141
31171
  if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) return true;
31142
31172
  }
31143
- return $fec3b4fc54d3756a$var$micromatch.isMatch(str, pattern, {
31173
+ return $971e5d0cad67a09a$var$micromatch.isMatch(str, pattern, {
31144
31174
  ...options,
31145
31175
  contains: true
31146
31176
  });
@@ -31163,9 +31193,9 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31163
31193
  * @param {Object} `options` See available [options](#options) for changing how matches are performed
31164
31194
  * @return {Object} Returns an object with only keys that match the given patterns.
31165
31195
  * @api public
31166
- */ $fec3b4fc54d3756a$var$micromatch.matchKeys = (obj, patterns, options)=>{
31196
+ */ $971e5d0cad67a09a$var$micromatch.matchKeys = (obj, patterns, options)=>{
31167
31197
  if (!$5MQDC.isObject(obj)) throw new TypeError("Expected the first argument to be an object");
31168
- let keys = $fec3b4fc54d3756a$var$micromatch(Object.keys(obj), patterns, options);
31198
+ let keys = $971e5d0cad67a09a$var$micromatch(Object.keys(obj), patterns, options);
31169
31199
  let res = {};
31170
31200
  for (let key of keys)res[key] = obj[key];
31171
31201
  return res;
@@ -31187,7 +31217,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31187
31217
  * @param {Object} `options` See available [options](#options) for changing how matches are performed
31188
31218
  * @return {Boolean} Returns true if any `patterns` matches any of the strings in `list`
31189
31219
  * @api public
31190
- */ $fec3b4fc54d3756a$var$micromatch.some = (list, patterns, options)=>{
31220
+ */ $971e5d0cad67a09a$var$micromatch.some = (list, patterns, options)=>{
31191
31221
  let items = [].concat(list);
31192
31222
  for (let pattern of [].concat(patterns)){
31193
31223
  let isMatch = $2af609aa204f1181$exports(String(pattern), options);
@@ -31217,7 +31247,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31217
31247
  * @param {Object} `options` See available [options](#options) for changing how matches are performed
31218
31248
  * @return {Boolean} Returns true if all `patterns` matches all of the strings in `list`
31219
31249
  * @api public
31220
- */ $fec3b4fc54d3756a$var$micromatch.every = (list, patterns, options)=>{
31250
+ */ $971e5d0cad67a09a$var$micromatch.every = (list, patterns, options)=>{
31221
31251
  let items = [].concat(list);
31222
31252
  for (let pattern of [].concat(patterns)){
31223
31253
  let isMatch = $2af609aa204f1181$exports(String(pattern), options);
@@ -31250,7 +31280,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31250
31280
  * @param {Object} `options` See available [options](#options) for changing how matches are performed
31251
31281
  * @return {Boolean} Returns true if any patterns match `str`
31252
31282
  * @api public
31253
- */ $fec3b4fc54d3756a$var$micromatch.all = (str, patterns, options)=>{
31283
+ */ $971e5d0cad67a09a$var$micromatch.all = (str, patterns, options)=>{
31254
31284
  if (typeof str !== "string") throw new TypeError(`Expected a string: "${$8C1kk$util.inspect(str)}"`);
31255
31285
  return [].concat(patterns).every((p)=>$2af609aa204f1181$exports(p, options)(str));
31256
31286
  };
@@ -31271,7 +31301,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31271
31301
  * @param {Object} `options` See available [options](#options) for changing how matches are performed
31272
31302
  * @return {Array|null} Returns an array of captures if the input matches the glob pattern, otherwise `null`.
31273
31303
  * @api public
31274
- */ $fec3b4fc54d3756a$var$micromatch.capture = (glob, input, options)=>{
31304
+ */ $971e5d0cad67a09a$var$micromatch.capture = (glob, input, options)=>{
31275
31305
  let posix = $5MQDC.isWindows(options);
31276
31306
  let regex = $2af609aa204f1181$exports.makeRe(String(glob), {
31277
31307
  ...options,
@@ -31294,7 +31324,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31294
31324
  * @param {Object} `options`
31295
31325
  * @return {RegExp} Returns a regex created from the given pattern.
31296
31326
  * @api public
31297
- */ $fec3b4fc54d3756a$var$micromatch.makeRe = (...args)=>$2af609aa204f1181$exports.makeRe(...args);
31327
+ */ $971e5d0cad67a09a$var$micromatch.makeRe = (...args)=>$2af609aa204f1181$exports.makeRe(...args);
31298
31328
  /**
31299
31329
  * Scan a glob pattern to separate the pattern into segments. Used
31300
31330
  * by the [split](#split) method.
@@ -31307,7 +31337,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31307
31337
  * @param {Object} `options`
31308
31338
  * @return {Object} Returns an object with
31309
31339
  * @api public
31310
- */ $fec3b4fc54d3756a$var$micromatch.scan = (...args)=>$2af609aa204f1181$exports.scan(...args);
31340
+ */ $971e5d0cad67a09a$var$micromatch.scan = (...args)=>$2af609aa204f1181$exports.scan(...args);
31311
31341
  /**
31312
31342
  * Parse a glob pattern to create the source string for a regular
31313
31343
  * expression.
@@ -31320,7 +31350,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31320
31350
  * @param {Object} `options`
31321
31351
  * @return {Object} Returns an object with useful properties and output to be used as regex source string.
31322
31352
  * @api public
31323
- */ $fec3b4fc54d3756a$var$micromatch.parse = (patterns, options)=>{
31353
+ */ $971e5d0cad67a09a$var$micromatch.parse = (patterns, options)=>{
31324
31354
  let res = [];
31325
31355
  for (let pattern of [].concat(patterns || []))for (let str of $fec07f13db1e462a$exports(String(pattern), options))res.push($2af609aa204f1181$exports.parse(str, options));
31326
31356
  return res;
@@ -31340,7 +31370,7 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31340
31370
  * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options.
31341
31371
  * @return {Array}
31342
31372
  * @api public
31343
- */ $fec3b4fc54d3756a$var$micromatch.braces = (pattern, options)=>{
31373
+ */ $971e5d0cad67a09a$var$micromatch.braces = (pattern, options)=>{
31344
31374
  if (typeof pattern !== "string") throw new TypeError("Expected a string");
31345
31375
  if (options && options.nobrace === true || !/\{.*\}/.test(pattern)) return [
31346
31376
  pattern
@@ -31349,123 +31379,174 @@ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
31349
31379
  };
31350
31380
  /**
31351
31381
  * Expand braces
31352
- */ $fec3b4fc54d3756a$var$micromatch.braceExpand = (pattern, options)=>{
31382
+ */ $971e5d0cad67a09a$var$micromatch.braceExpand = (pattern, options)=>{
31353
31383
  if (typeof pattern !== "string") throw new TypeError("Expected a string");
31354
- return $fec3b4fc54d3756a$var$micromatch.braces(pattern, {
31384
+ return $971e5d0cad67a09a$var$micromatch.braces(pattern, {
31355
31385
  ...options,
31356
31386
  expand: true
31357
31387
  });
31358
31388
  };
31359
31389
  /**
31360
31390
  * Expose micromatch
31361
- */ $fec3b4fc54d3756a$exports = $fec3b4fc54d3756a$var$micromatch;
31391
+ */ $971e5d0cad67a09a$exports = $971e5d0cad67a09a$var$micromatch;
31362
31392
 
31363
31393
 
31364
- const $e1fc146aea519a53$var$GLOBSTAR = "**";
31365
- const $e1fc146aea519a53$var$ESCAPE_SYMBOL = "\\";
31366
- const $e1fc146aea519a53$var$COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;
31367
- const $e1fc146aea519a53$var$REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[.*]/;
31368
- const $e1fc146aea519a53$var$REGEX_GROUP_SYMBOLS_RE = /(?:^|[^@!*?+])\(.*\|.*\)/;
31369
- const $e1fc146aea519a53$var$GLOB_EXTENSION_SYMBOLS_RE = /[@!*?+]\(.*\)/;
31370
- const $e1fc146aea519a53$var$BRACE_EXPANSIONS_SYMBOLS_RE = /{.*(?:,|\.\.).*}/;
31371
- function $e1fc146aea519a53$var$isStaticPattern(pattern, options = {}) {
31372
- return !$e1fc146aea519a53$var$isDynamicPattern(pattern, options);
31394
+ const $16c73921a8454263$var$GLOBSTAR = "**";
31395
+ const $16c73921a8454263$var$ESCAPE_SYMBOL = "\\";
31396
+ const $16c73921a8454263$var$COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;
31397
+ const $16c73921a8454263$var$REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/;
31398
+ const $16c73921a8454263$var$REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/;
31399
+ const $16c73921a8454263$var$GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/;
31400
+ const $16c73921a8454263$var$BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./;
31401
+ function $16c73921a8454263$var$isStaticPattern(pattern, options = {}) {
31402
+ return !$16c73921a8454263$var$isDynamicPattern(pattern, options);
31373
31403
  }
31374
- $e1fc146aea519a53$exports.isStaticPattern = $e1fc146aea519a53$var$isStaticPattern;
31375
- function $e1fc146aea519a53$var$isDynamicPattern(pattern, options = {}) {
31404
+ $16c73921a8454263$exports.isStaticPattern = $16c73921a8454263$var$isStaticPattern;
31405
+ function $16c73921a8454263$var$isDynamicPattern(pattern, options = {}) {
31406
+ /**
31407
+ * A special case with an empty string is necessary for matching patterns that start with a forward slash.
31408
+ * An empty string cannot be a dynamic pattern.
31409
+ * For example, the pattern `/lib/*` will be spread into parts: '', 'lib', '*'.
31410
+ */ if (pattern === "") return false;
31376
31411
  /**
31377
31412
  * When the `caseSensitiveMatch` option is disabled, all patterns must be marked as dynamic, because we cannot check
31378
31413
  * filepath directly (without read directory).
31379
- */ if (options.caseSensitiveMatch === false || pattern.includes($e1fc146aea519a53$var$ESCAPE_SYMBOL)) return true;
31380
- if ($e1fc146aea519a53$var$COMMON_GLOB_SYMBOLS_RE.test(pattern) || $e1fc146aea519a53$var$REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || $e1fc146aea519a53$var$REGEX_GROUP_SYMBOLS_RE.test(pattern)) return true;
31381
- if (options.extglob !== false && $e1fc146aea519a53$var$GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) return true;
31382
- if (options.braceExpansion !== false && $e1fc146aea519a53$var$BRACE_EXPANSIONS_SYMBOLS_RE.test(pattern)) return true;
31414
+ */ if (options.caseSensitiveMatch === false || pattern.includes($16c73921a8454263$var$ESCAPE_SYMBOL)) return true;
31415
+ if ($16c73921a8454263$var$COMMON_GLOB_SYMBOLS_RE.test(pattern) || $16c73921a8454263$var$REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || $16c73921a8454263$var$REGEX_GROUP_SYMBOLS_RE.test(pattern)) return true;
31416
+ if (options.extglob !== false && $16c73921a8454263$var$GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) return true;
31417
+ if (options.braceExpansion !== false && $16c73921a8454263$var$hasBraceExpansion(pattern)) return true;
31383
31418
  return false;
31384
31419
  }
31385
- $e1fc146aea519a53$exports.isDynamicPattern = $e1fc146aea519a53$var$isDynamicPattern;
31386
- function $e1fc146aea519a53$var$convertToPositivePattern(pattern) {
31387
- return $e1fc146aea519a53$var$isNegativePattern(pattern) ? pattern.slice(1) : pattern;
31420
+ $16c73921a8454263$exports.isDynamicPattern = $16c73921a8454263$var$isDynamicPattern;
31421
+ function $16c73921a8454263$var$hasBraceExpansion(pattern) {
31422
+ const openingBraceIndex = pattern.indexOf("{");
31423
+ if (openingBraceIndex === -1) return false;
31424
+ const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1);
31425
+ if (closingBraceIndex === -1) return false;
31426
+ const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex);
31427
+ return $16c73921a8454263$var$BRACE_EXPANSION_SEPARATORS_RE.test(braceContent);
31388
31428
  }
31389
- $e1fc146aea519a53$exports.convertToPositivePattern = $e1fc146aea519a53$var$convertToPositivePattern;
31390
- function $e1fc146aea519a53$var$convertToNegativePattern(pattern) {
31429
+ function $16c73921a8454263$var$convertToPositivePattern(pattern) {
31430
+ return $16c73921a8454263$var$isNegativePattern(pattern) ? pattern.slice(1) : pattern;
31431
+ }
31432
+ $16c73921a8454263$exports.convertToPositivePattern = $16c73921a8454263$var$convertToPositivePattern;
31433
+ function $16c73921a8454263$var$convertToNegativePattern(pattern) {
31391
31434
  return "!" + pattern;
31392
31435
  }
31393
- $e1fc146aea519a53$exports.convertToNegativePattern = $e1fc146aea519a53$var$convertToNegativePattern;
31394
- function $e1fc146aea519a53$var$isNegativePattern(pattern) {
31436
+ $16c73921a8454263$exports.convertToNegativePattern = $16c73921a8454263$var$convertToNegativePattern;
31437
+ function $16c73921a8454263$var$isNegativePattern(pattern) {
31395
31438
  return pattern.startsWith("!") && pattern[1] !== "(";
31396
31439
  }
31397
- $e1fc146aea519a53$exports.isNegativePattern = $e1fc146aea519a53$var$isNegativePattern;
31398
- function $e1fc146aea519a53$var$isPositivePattern(pattern) {
31399
- return !$e1fc146aea519a53$var$isNegativePattern(pattern);
31440
+ $16c73921a8454263$exports.isNegativePattern = $16c73921a8454263$var$isNegativePattern;
31441
+ function $16c73921a8454263$var$isPositivePattern(pattern) {
31442
+ return !$16c73921a8454263$var$isNegativePattern(pattern);
31400
31443
  }
31401
- $e1fc146aea519a53$exports.isPositivePattern = $e1fc146aea519a53$var$isPositivePattern;
31402
- function $e1fc146aea519a53$var$getNegativePatterns(patterns) {
31403
- return patterns.filter($e1fc146aea519a53$var$isNegativePattern);
31444
+ $16c73921a8454263$exports.isPositivePattern = $16c73921a8454263$var$isPositivePattern;
31445
+ function $16c73921a8454263$var$getNegativePatterns(patterns) {
31446
+ return patterns.filter($16c73921a8454263$var$isNegativePattern);
31404
31447
  }
31405
- $e1fc146aea519a53$exports.getNegativePatterns = $e1fc146aea519a53$var$getNegativePatterns;
31406
- function $e1fc146aea519a53$var$getPositivePatterns(patterns) {
31407
- return patterns.filter($e1fc146aea519a53$var$isPositivePattern);
31448
+ $16c73921a8454263$exports.getNegativePatterns = $16c73921a8454263$var$getNegativePatterns;
31449
+ function $16c73921a8454263$var$getPositivePatterns(patterns) {
31450
+ return patterns.filter($16c73921a8454263$var$isPositivePattern);
31408
31451
  }
31409
- $e1fc146aea519a53$exports.getPositivePatterns = $e1fc146aea519a53$var$getPositivePatterns;
31410
- function $e1fc146aea519a53$var$getBaseDirectory(pattern) {
31452
+ $16c73921a8454263$exports.getPositivePatterns = $16c73921a8454263$var$getPositivePatterns;
31453
+ /**
31454
+ * Returns patterns that can be applied inside the current directory.
31455
+ *
31456
+ * @example
31457
+ * // ['./*', '*', 'a/*']
31458
+ * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])
31459
+ */ function $16c73921a8454263$var$getPatternsInsideCurrentDirectory(patterns) {
31460
+ return patterns.filter((pattern)=>!$16c73921a8454263$var$isPatternRelatedToParentDirectory(pattern));
31461
+ }
31462
+ $16c73921a8454263$exports.getPatternsInsideCurrentDirectory = $16c73921a8454263$var$getPatternsInsideCurrentDirectory;
31463
+ /**
31464
+ * Returns patterns to be expanded relative to (outside) the current directory.
31465
+ *
31466
+ * @example
31467
+ * // ['../*', './../*']
31468
+ * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])
31469
+ */ function $16c73921a8454263$var$getPatternsOutsideCurrentDirectory(patterns) {
31470
+ return patterns.filter($16c73921a8454263$var$isPatternRelatedToParentDirectory);
31471
+ }
31472
+ $16c73921a8454263$exports.getPatternsOutsideCurrentDirectory = $16c73921a8454263$var$getPatternsOutsideCurrentDirectory;
31473
+ function $16c73921a8454263$var$isPatternRelatedToParentDirectory(pattern) {
31474
+ return pattern.startsWith("..") || pattern.startsWith("./..");
31475
+ }
31476
+ $16c73921a8454263$exports.isPatternRelatedToParentDirectory = $16c73921a8454263$var$isPatternRelatedToParentDirectory;
31477
+ function $16c73921a8454263$var$getBaseDirectory(pattern) {
31411
31478
  return $99a21639ca3a03fc$exports(pattern, {
31412
31479
  flipBackslashes: false
31413
31480
  });
31414
31481
  }
31415
- $e1fc146aea519a53$exports.getBaseDirectory = $e1fc146aea519a53$var$getBaseDirectory;
31416
- function $e1fc146aea519a53$var$hasGlobStar(pattern) {
31417
- return pattern.includes($e1fc146aea519a53$var$GLOBSTAR);
31482
+ $16c73921a8454263$exports.getBaseDirectory = $16c73921a8454263$var$getBaseDirectory;
31483
+ function $16c73921a8454263$var$hasGlobStar(pattern) {
31484
+ return pattern.includes($16c73921a8454263$var$GLOBSTAR);
31418
31485
  }
31419
- $e1fc146aea519a53$exports.hasGlobStar = $e1fc146aea519a53$var$hasGlobStar;
31420
- function $e1fc146aea519a53$var$endsWithSlashGlobStar(pattern) {
31421
- return pattern.endsWith("/" + $e1fc146aea519a53$var$GLOBSTAR);
31486
+ $16c73921a8454263$exports.hasGlobStar = $16c73921a8454263$var$hasGlobStar;
31487
+ function $16c73921a8454263$var$endsWithSlashGlobStar(pattern) {
31488
+ return pattern.endsWith("/" + $16c73921a8454263$var$GLOBSTAR);
31422
31489
  }
31423
- $e1fc146aea519a53$exports.endsWithSlashGlobStar = $e1fc146aea519a53$var$endsWithSlashGlobStar;
31424
- function $e1fc146aea519a53$var$isAffectDepthOfReadingPattern(pattern) {
31490
+ $16c73921a8454263$exports.endsWithSlashGlobStar = $16c73921a8454263$var$endsWithSlashGlobStar;
31491
+ function $16c73921a8454263$var$isAffectDepthOfReadingPattern(pattern) {
31425
31492
  const basename = $8C1kk$path.basename(pattern);
31426
- return $e1fc146aea519a53$var$endsWithSlashGlobStar(pattern) || $e1fc146aea519a53$var$isStaticPattern(basename);
31493
+ return $16c73921a8454263$var$endsWithSlashGlobStar(pattern) || $16c73921a8454263$var$isStaticPattern(basename);
31427
31494
  }
31428
- $e1fc146aea519a53$exports.isAffectDepthOfReadingPattern = $e1fc146aea519a53$var$isAffectDepthOfReadingPattern;
31429
- function $e1fc146aea519a53$var$getNaiveDepth(pattern) {
31430
- const base = $e1fc146aea519a53$var$getBaseDirectory(pattern);
31431
- const patternDepth = pattern.split("/").length;
31432
- const patternBaseDepth = base.split("/").length;
31433
- /**
31434
- * This is a hack for pattern that has no base directory.
31435
- *
31436
- * This is related to the `*\something\*` pattern.
31437
- */ if (base === ".") return patternDepth - patternBaseDepth;
31438
- return patternDepth - patternBaseDepth - 1;
31495
+ $16c73921a8454263$exports.isAffectDepthOfReadingPattern = $16c73921a8454263$var$isAffectDepthOfReadingPattern;
31496
+ function $16c73921a8454263$var$expandPatternsWithBraceExpansion(patterns) {
31497
+ return patterns.reduce((collection, pattern)=>{
31498
+ return collection.concat($16c73921a8454263$var$expandBraceExpansion(pattern));
31499
+ }, []);
31439
31500
  }
31440
- $e1fc146aea519a53$exports.getNaiveDepth = $e1fc146aea519a53$var$getNaiveDepth;
31441
- function $e1fc146aea519a53$var$getMaxNaivePatternsDepth(patterns) {
31442
- return patterns.reduce((max, pattern)=>{
31443
- const depth = $e1fc146aea519a53$var$getNaiveDepth(pattern);
31444
- return depth > max ? depth : max;
31445
- }, 0);
31501
+ $16c73921a8454263$exports.expandPatternsWithBraceExpansion = $16c73921a8454263$var$expandPatternsWithBraceExpansion;
31502
+ function $16c73921a8454263$var$expandBraceExpansion(pattern) {
31503
+ return $971e5d0cad67a09a$exports.braces(pattern, {
31504
+ expand: true,
31505
+ nodupes: true
31506
+ });
31507
+ }
31508
+ $16c73921a8454263$exports.expandBraceExpansion = $16c73921a8454263$var$expandBraceExpansion;
31509
+ function $16c73921a8454263$var$getPatternParts(pattern, options) {
31510
+ let { parts: parts } = $971e5d0cad67a09a$exports.scan(pattern, Object.assign(Object.assign({}, options), {
31511
+ parts: true
31512
+ }));
31513
+ /**
31514
+ * The scan method returns an empty array in some cases.
31515
+ * See micromatch/picomatch#58 for more details.
31516
+ */ if (parts.length === 0) parts = [
31517
+ pattern
31518
+ ];
31519
+ /**
31520
+ * The scan method does not return an empty part for the pattern with a forward slash.
31521
+ * This is another part of micromatch/picomatch#58.
31522
+ */ if (parts[0].startsWith("/")) {
31523
+ parts[0] = parts[0].slice(1);
31524
+ parts.unshift("");
31525
+ }
31526
+ return parts;
31446
31527
  }
31447
- $e1fc146aea519a53$exports.getMaxNaivePatternsDepth = $e1fc146aea519a53$var$getMaxNaivePatternsDepth;
31448
- function $e1fc146aea519a53$var$makeRe(pattern, options) {
31449
- return $fec3b4fc54d3756a$exports.makeRe(pattern, options);
31528
+ $16c73921a8454263$exports.getPatternParts = $16c73921a8454263$var$getPatternParts;
31529
+ function $16c73921a8454263$var$makeRe(pattern, options) {
31530
+ return $971e5d0cad67a09a$exports.makeRe(pattern, options);
31450
31531
  }
31451
- $e1fc146aea519a53$exports.makeRe = $e1fc146aea519a53$var$makeRe;
31452
- function $e1fc146aea519a53$var$convertPatternsToRe(patterns, options) {
31453
- return patterns.map((pattern)=>$e1fc146aea519a53$var$makeRe(pattern, options));
31532
+ $16c73921a8454263$exports.makeRe = $16c73921a8454263$var$makeRe;
31533
+ function $16c73921a8454263$var$convertPatternsToRe(patterns, options) {
31534
+ return patterns.map((pattern)=>$16c73921a8454263$var$makeRe(pattern, options));
31454
31535
  }
31455
- $e1fc146aea519a53$exports.convertPatternsToRe = $e1fc146aea519a53$var$convertPatternsToRe;
31456
- function $e1fc146aea519a53$var$matchAny(entry, patternsRe) {
31457
- const filepath = entry.replace(/^\.[\\/]/, "");
31458
- return patternsRe.some((patternRe)=>patternRe.test(filepath));
31536
+ $16c73921a8454263$exports.convertPatternsToRe = $16c73921a8454263$var$convertPatternsToRe;
31537
+ function $16c73921a8454263$var$matchAny(entry, patternsRe) {
31538
+ return patternsRe.some((patternRe)=>patternRe.test(entry));
31459
31539
  }
31460
- $e1fc146aea519a53$exports.matchAny = $e1fc146aea519a53$var$matchAny;
31540
+ $16c73921a8454263$exports.matchAny = $16c73921a8454263$var$matchAny;
31461
31541
 
31462
31542
 
31463
- $1b5b082adfcf5f99$exports.pattern = $e1fc146aea519a53$exports;
31464
- var $57725c4b56279319$exports = {};
31543
+ $cf522a9d05043495$exports.pattern = $16c73921a8454263$exports;
31544
+ var $aec04465d373ed0c$exports = {};
31465
31545
  "use strict";
31466
- Object.defineProperty($57725c4b56279319$exports, "__esModule", {
31546
+ Object.defineProperty($aec04465d373ed0c$exports, "__esModule", {
31467
31547
  value: true
31468
31548
  });
31549
+ $aec04465d373ed0c$exports.merge = void 0;
31469
31550
  var $62a8baa648172408$exports = {};
31470
31551
  "use strict";
31471
31552
 
@@ -31474,12 +31555,13 @@ const $62a8baa648172408$var$slice = Array.prototype.slice;
31474
31555
  $62a8baa648172408$exports = $62a8baa648172408$var$merge2;
31475
31556
  function $62a8baa648172408$var$merge2() {
31476
31557
  const streamsQueue = [];
31477
- let merging = false;
31478
31558
  const args = $62a8baa648172408$var$slice.call(arguments);
31559
+ let merging = false;
31479
31560
  let options = args[args.length - 1];
31480
31561
  if (options && !Array.isArray(options) && options.pipe == null) args.pop();
31481
31562
  else options = {};
31482
31563
  const doEnd = options.end !== false;
31564
+ const doPipeError = options.pipeError === true;
31483
31565
  if (options.objectMode == null) options.objectMode = true;
31484
31566
  if (options.highWaterMark == null) options.highWaterMark = 65536;
31485
31567
  const mergedStream = $62a8baa648172408$var$PassThrough(options);
@@ -31509,12 +31591,17 @@ function $62a8baa648172408$var$merge2() {
31509
31591
  function onend() {
31510
31592
  stream.removeListener("merge2UnpipeEnd", onend);
31511
31593
  stream.removeListener("end", onend);
31594
+ if (doPipeError) stream.removeListener("error", onerror);
31512
31595
  next();
31513
31596
  }
31597
+ function onerror(err) {
31598
+ mergedStream.emit("error", err);
31599
+ }
31514
31600
  // skip ended stream
31515
31601
  if (stream._readableState.endEmitted) return next();
31516
31602
  stream.on("merge2UnpipeEnd", onend);
31517
31603
  stream.on("end", onend);
31604
+ if (doPipeError) stream.on("error", onerror);
31518
31605
  stream.pipe(mergedStream, {
31519
31606
  end: false
31520
31607
  });
@@ -31528,7 +31615,7 @@ function $62a8baa648172408$var$merge2() {
31528
31615
  merging = false;
31529
31616
  // emit 'queueDrain' when all streams merged.
31530
31617
  mergedStream.emit("queueDrain");
31531
- return doEnd && mergedStream.end();
31618
+ if (doEnd) mergedStream.end();
31532
31619
  }
31533
31620
  mergedStream.setMaxListeners(0);
31534
31621
  mergedStream.add = addStream;
@@ -31550,61 +31637,85 @@ function $62a8baa648172408$var$pauseStreams(streams, options) {
31550
31637
  }
31551
31638
 
31552
31639
 
31553
- function $57725c4b56279319$var$merge(streams) {
31640
+ function $aec04465d373ed0c$var$merge(streams) {
31554
31641
  const mergedStream = $62a8baa648172408$exports(streams);
31555
31642
  streams.forEach((stream)=>{
31556
31643
  stream.once("error", (error)=>mergedStream.emit("error", error));
31557
31644
  });
31558
- mergedStream.once("close", ()=>$57725c4b56279319$var$propagateCloseEventToSources(streams));
31559
- mergedStream.once("end", ()=>$57725c4b56279319$var$propagateCloseEventToSources(streams));
31645
+ mergedStream.once("close", ()=>$aec04465d373ed0c$var$propagateCloseEventToSources(streams));
31646
+ mergedStream.once("end", ()=>$aec04465d373ed0c$var$propagateCloseEventToSources(streams));
31560
31647
  return mergedStream;
31561
31648
  }
31562
- $57725c4b56279319$exports.merge = $57725c4b56279319$var$merge;
31563
- function $57725c4b56279319$var$propagateCloseEventToSources(streams) {
31649
+ $aec04465d373ed0c$exports.merge = $aec04465d373ed0c$var$merge;
31650
+ function $aec04465d373ed0c$var$propagateCloseEventToSources(streams) {
31564
31651
  streams.forEach((stream)=>stream.emit("close"));
31565
31652
  }
31566
31653
 
31567
31654
 
31568
- $1b5b082adfcf5f99$exports.stream = $57725c4b56279319$exports;
31655
+ $cf522a9d05043495$exports.stream = $aec04465d373ed0c$exports;
31656
+ var $972ab475a37ceade$exports = {};
31657
+ "use strict";
31658
+ Object.defineProperty($972ab475a37ceade$exports, "__esModule", {
31659
+ value: true
31660
+ });
31661
+ $972ab475a37ceade$exports.isEmpty = $972ab475a37ceade$exports.isString = void 0;
31662
+ function $972ab475a37ceade$var$isString(input) {
31663
+ return typeof input === "string";
31664
+ }
31665
+ $972ab475a37ceade$exports.isString = $972ab475a37ceade$var$isString;
31666
+ function $972ab475a37ceade$var$isEmpty(input) {
31667
+ return input === "";
31668
+ }
31669
+ $972ab475a37ceade$exports.isEmpty = $972ab475a37ceade$var$isEmpty;
31670
+
31671
+
31672
+ $cf522a9d05043495$exports.string = $972ab475a37ceade$exports;
31569
31673
 
31570
31674
 
31571
- function $d436392a45e5b9b4$var$generate(patterns, settings) {
31572
- const positivePatterns = $d436392a45e5b9b4$var$getPositivePatterns(patterns);
31573
- const negativePatterns = $d436392a45e5b9b4$var$getNegativePatternsAsPositive(patterns, settings.ignore);
31574
- const staticPatterns = positivePatterns.filter((pattern)=>$1b5b082adfcf5f99$exports.pattern.isStaticPattern(pattern, settings));
31575
- const dynamicPatterns = positivePatterns.filter((pattern)=>$1b5b082adfcf5f99$exports.pattern.isDynamicPattern(pattern, settings));
31576
- const staticTasks = $d436392a45e5b9b4$var$convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false);
31577
- const dynamicTasks = $d436392a45e5b9b4$var$convertPatternsToTasks(dynamicPatterns, negativePatterns, /* dynamic */ true);
31675
+ function $94ffeb6ed5329bdb$var$generate(patterns, settings) {
31676
+ const positivePatterns = $94ffeb6ed5329bdb$var$getPositivePatterns(patterns);
31677
+ const negativePatterns = $94ffeb6ed5329bdb$var$getNegativePatternsAsPositive(patterns, settings.ignore);
31678
+ const staticPatterns = positivePatterns.filter((pattern)=>$cf522a9d05043495$exports.pattern.isStaticPattern(pattern, settings));
31679
+ const dynamicPatterns = positivePatterns.filter((pattern)=>$cf522a9d05043495$exports.pattern.isDynamicPattern(pattern, settings));
31680
+ const staticTasks = $94ffeb6ed5329bdb$var$convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false);
31681
+ const dynamicTasks = $94ffeb6ed5329bdb$var$convertPatternsToTasks(dynamicPatterns, negativePatterns, /* dynamic */ true);
31578
31682
  return staticTasks.concat(dynamicTasks);
31579
31683
  }
31580
- $d436392a45e5b9b4$exports.generate = $d436392a45e5b9b4$var$generate;
31581
- function $d436392a45e5b9b4$var$convertPatternsToTasks(positive, negative, dynamic) {
31582
- const positivePatternsGroup = $d436392a45e5b9b4$var$groupPatternsByBaseDirectory(positive);
31583
- // When we have a global group – there is no reason to divide the patterns into independent tasks.
31584
- // In this case, the global task covers the rest.
31585
- if ("." in positivePatternsGroup) {
31586
- const task = $d436392a45e5b9b4$var$convertPatternGroupToTask(".", positive, negative, dynamic);
31587
- return [
31588
- task
31589
- ];
31590
- }
31591
- return $d436392a45e5b9b4$var$convertPatternGroupsToTasks(positivePatternsGroup, negative, dynamic);
31592
- }
31593
- $d436392a45e5b9b4$exports.convertPatternsToTasks = $d436392a45e5b9b4$var$convertPatternsToTasks;
31594
- function $d436392a45e5b9b4$var$getPositivePatterns(patterns) {
31595
- return $1b5b082adfcf5f99$exports.pattern.getPositivePatterns(patterns);
31596
- }
31597
- $d436392a45e5b9b4$exports.getPositivePatterns = $d436392a45e5b9b4$var$getPositivePatterns;
31598
- function $d436392a45e5b9b4$var$getNegativePatternsAsPositive(patterns, ignore) {
31599
- const negative = $1b5b082adfcf5f99$exports.pattern.getNegativePatterns(patterns).concat(ignore);
31600
- const positive = negative.map($1b5b082adfcf5f99$exports.pattern.convertToPositivePattern);
31684
+ $94ffeb6ed5329bdb$exports.generate = $94ffeb6ed5329bdb$var$generate;
31685
+ /**
31686
+ * Returns tasks grouped by basic pattern directories.
31687
+ *
31688
+ * Patterns that can be found inside (`./`) and outside (`../`) the current directory are handled separately.
31689
+ * This is necessary because directory traversal starts at the base directory and goes deeper.
31690
+ */ function $94ffeb6ed5329bdb$var$convertPatternsToTasks(positive, negative, dynamic) {
31691
+ const tasks = [];
31692
+ const patternsOutsideCurrentDirectory = $cf522a9d05043495$exports.pattern.getPatternsOutsideCurrentDirectory(positive);
31693
+ const patternsInsideCurrentDirectory = $cf522a9d05043495$exports.pattern.getPatternsInsideCurrentDirectory(positive);
31694
+ const outsideCurrentDirectoryGroup = $94ffeb6ed5329bdb$var$groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory);
31695
+ const insideCurrentDirectoryGroup = $94ffeb6ed5329bdb$var$groupPatternsByBaseDirectory(patternsInsideCurrentDirectory);
31696
+ tasks.push(...$94ffeb6ed5329bdb$var$convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic));
31697
+ /*
31698
+ * For the sake of reducing future accesses to the file system, we merge all tasks within the current directory
31699
+ * into a global task, if at least one pattern refers to the root (`.`). In this case, the global task covers the rest.
31700
+ */ if ("." in insideCurrentDirectoryGroup) tasks.push($94ffeb6ed5329bdb$var$convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic));
31701
+ else tasks.push(...$94ffeb6ed5329bdb$var$convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic));
31702
+ return tasks;
31703
+ }
31704
+ $94ffeb6ed5329bdb$exports.convertPatternsToTasks = $94ffeb6ed5329bdb$var$convertPatternsToTasks;
31705
+ function $94ffeb6ed5329bdb$var$getPositivePatterns(patterns) {
31706
+ return $cf522a9d05043495$exports.pattern.getPositivePatterns(patterns);
31707
+ }
31708
+ $94ffeb6ed5329bdb$exports.getPositivePatterns = $94ffeb6ed5329bdb$var$getPositivePatterns;
31709
+ function $94ffeb6ed5329bdb$var$getNegativePatternsAsPositive(patterns, ignore) {
31710
+ const negative = $cf522a9d05043495$exports.pattern.getNegativePatterns(patterns).concat(ignore);
31711
+ const positive = negative.map($cf522a9d05043495$exports.pattern.convertToPositivePattern);
31601
31712
  return positive;
31602
31713
  }
31603
- $d436392a45e5b9b4$exports.getNegativePatternsAsPositive = $d436392a45e5b9b4$var$getNegativePatternsAsPositive;
31604
- function $d436392a45e5b9b4$var$groupPatternsByBaseDirectory(patterns) {
31714
+ $94ffeb6ed5329bdb$exports.getNegativePatternsAsPositive = $94ffeb6ed5329bdb$var$getNegativePatternsAsPositive;
31715
+ function $94ffeb6ed5329bdb$var$groupPatternsByBaseDirectory(patterns) {
31605
31716
  const group = {};
31606
31717
  return patterns.reduce((collection, pattern)=>{
31607
- const base = $1b5b082adfcf5f99$exports.pattern.getBaseDirectory(pattern);
31718
+ const base = $cf522a9d05043495$exports.pattern.getBaseDirectory(pattern);
31608
31719
  if (base in collection) collection[base].push(pattern);
31609
31720
  else collection[base] = [
31610
31721
  pattern
@@ -31612,36 +31723,85 @@ function $d436392a45e5b9b4$var$groupPatternsByBaseDirectory(patterns) {
31612
31723
  return collection;
31613
31724
  }, group);
31614
31725
  }
31615
- $d436392a45e5b9b4$exports.groupPatternsByBaseDirectory = $d436392a45e5b9b4$var$groupPatternsByBaseDirectory;
31616
- function $d436392a45e5b9b4$var$convertPatternGroupsToTasks(positive, negative, dynamic) {
31726
+ $94ffeb6ed5329bdb$exports.groupPatternsByBaseDirectory = $94ffeb6ed5329bdb$var$groupPatternsByBaseDirectory;
31727
+ function $94ffeb6ed5329bdb$var$convertPatternGroupsToTasks(positive, negative, dynamic) {
31617
31728
  return Object.keys(positive).map((base)=>{
31618
- return $d436392a45e5b9b4$var$convertPatternGroupToTask(base, positive[base], negative, dynamic);
31729
+ return $94ffeb6ed5329bdb$var$convertPatternGroupToTask(base, positive[base], negative, dynamic);
31619
31730
  });
31620
31731
  }
31621
- $d436392a45e5b9b4$exports.convertPatternGroupsToTasks = $d436392a45e5b9b4$var$convertPatternGroupsToTasks;
31622
- function $d436392a45e5b9b4$var$convertPatternGroupToTask(base, positive, negative, dynamic) {
31732
+ $94ffeb6ed5329bdb$exports.convertPatternGroupsToTasks = $94ffeb6ed5329bdb$var$convertPatternGroupsToTasks;
31733
+ function $94ffeb6ed5329bdb$var$convertPatternGroupToTask(base, positive, negative, dynamic) {
31623
31734
  return {
31624
31735
  dynamic: dynamic,
31625
31736
  positive: positive,
31626
31737
  negative: negative,
31627
31738
  base: base,
31628
- patterns: [].concat(positive, negative.map($1b5b082adfcf5f99$exports.pattern.convertToNegativePattern))
31739
+ patterns: [].concat(positive, negative.map($cf522a9d05043495$exports.pattern.convertToNegativePattern))
31629
31740
  };
31630
31741
  }
31631
- $d436392a45e5b9b4$exports.convertPatternGroupToTask = $d436392a45e5b9b4$var$convertPatternGroupToTask;
31742
+ $94ffeb6ed5329bdb$exports.convertPatternGroupToTask = $94ffeb6ed5329bdb$var$convertPatternGroupToTask;
31743
+
31744
+
31745
+ var $87bf1fe6ced3ad26$exports = {};
31746
+ "use strict";
31747
+ Object.defineProperty($87bf1fe6ced3ad26$exports, "__esModule", {
31748
+ value: true
31749
+ });
31750
+ $87bf1fe6ced3ad26$exports.removeDuplicateSlashes = $87bf1fe6ced3ad26$exports.transform = void 0;
31751
+ /**
31752
+ * Matches a sequence of two or more consecutive slashes, excluding the first two slashes at the beginning of the string.
31753
+ * The latter is due to the presence of the device path at the beginning of the UNC path.
31754
+ * @todo rewrite to negative lookbehind with the next major release.
31755
+ */ const $87bf1fe6ced3ad26$var$DOUBLE_SLASH_RE = /(?!^)\/{2,}/g;
31756
+ function $87bf1fe6ced3ad26$var$transform(patterns) {
31757
+ return patterns.map((pattern)=>$87bf1fe6ced3ad26$var$removeDuplicateSlashes(pattern));
31758
+ }
31759
+ $87bf1fe6ced3ad26$exports.transform = $87bf1fe6ced3ad26$var$transform;
31760
+ /**
31761
+ * This package only works with forward slashes as a path separator.
31762
+ * Because of this, we cannot use the standard `path.normalize` method, because on Windows platform it will use of backslashes.
31763
+ */ function $87bf1fe6ced3ad26$var$removeDuplicateSlashes(pattern) {
31764
+ return pattern.replace($87bf1fe6ced3ad26$var$DOUBLE_SLASH_RE, "/");
31765
+ }
31766
+ $87bf1fe6ced3ad26$exports.removeDuplicateSlashes = $87bf1fe6ced3ad26$var$removeDuplicateSlashes;
31632
31767
 
31633
31768
 
31634
- var $5e8aeb81d3971f46$exports = {};
31769
+ var $64f6f1838decdf61$exports = {};
31635
31770
  "use strict";
31636
- Object.defineProperty($5e8aeb81d3971f46$exports, "__esModule", {
31771
+ Object.defineProperty($64f6f1838decdf61$exports, "__esModule", {
31637
31772
  value: true
31638
31773
  });
31639
- var $f93330d45af3b4cf$exports = {};
31774
+ var $f4af028c6d5ad86c$exports = {};
31640
31775
  "use strict";
31641
- Object.defineProperty($f93330d45af3b4cf$exports, "__esModule", {
31776
+ Object.defineProperty($f4af028c6d5ad86c$exports, "__esModule", {
31777
+ value: true
31778
+ });
31779
+ var $798d916015b2c927$exports = {};
31780
+ "use strict";
31781
+ Object.defineProperty($798d916015b2c927$exports, "__esModule", {
31782
+ value: true
31783
+ });
31784
+ var $dbc0921597fb36f9$exports = {};
31785
+ "use strict";
31786
+ Object.defineProperty($dbc0921597fb36f9$exports, "__esModule", {
31787
+ value: true
31788
+ });
31789
+ var $2fa2a8e52edb0b77$exports = {};
31790
+ "use strict";
31791
+ Object.defineProperty($2fa2a8e52edb0b77$exports, "__esModule", {
31642
31792
  value: true
31643
31793
  });
31644
31794
 
31795
+ var $6e9dd7fa450f205e$exports = {};
31796
+ "use strict";
31797
+ Object.defineProperty($6e9dd7fa450f205e$exports, "__esModule", {
31798
+ value: true
31799
+ });
31800
+ var $214d283d2b9ddc47$exports = {};
31801
+ "use strict";
31802
+ Object.defineProperty($214d283d2b9ddc47$exports, "__esModule", {
31803
+ value: true
31804
+ });
31645
31805
  var $6c0caade5edaab5b$exports = {};
31646
31806
  "use strict";
31647
31807
  Object.defineProperty($6c0caade5edaab5b$exports, "__esModule", {
@@ -31751,33 +31911,6 @@ function $6c0caade5edaab5b$var$getSettings(settingsOrOptions = {}) {
31751
31911
  }
31752
31912
 
31753
31913
 
31754
- var $798d916015b2c927$exports = {};
31755
- "use strict";
31756
- Object.defineProperty($798d916015b2c927$exports, "__esModule", {
31757
- value: true
31758
- });
31759
- var $dbc0921597fb36f9$exports = {};
31760
- "use strict";
31761
- Object.defineProperty($dbc0921597fb36f9$exports, "__esModule", {
31762
- value: true
31763
- });
31764
- var $2fa2a8e52edb0b77$exports = {};
31765
- "use strict";
31766
- Object.defineProperty($2fa2a8e52edb0b77$exports, "__esModule", {
31767
- value: true
31768
- });
31769
-
31770
- var $6e9dd7fa450f205e$exports = {};
31771
- "use strict";
31772
- Object.defineProperty($6e9dd7fa450f205e$exports, "__esModule", {
31773
- value: true
31774
- });
31775
- var $214d283d2b9ddc47$exports = {};
31776
- "use strict";
31777
- Object.defineProperty($214d283d2b9ddc47$exports, "__esModule", {
31778
- value: true
31779
- });
31780
-
31781
31914
  var $464bce01c537cfdb$exports = {};
31782
31915
  $464bce01c537cfdb$exports = $464bce01c537cfdb$var$runParallel;
31783
31916
  function $464bce01c537cfdb$var$runParallel(tasks, cb) {
@@ -32528,15 +32661,15 @@ function $798d916015b2c927$var$getSettings(settingsOrOptions = {}) {
32528
32661
  }
32529
32662
 
32530
32663
 
32531
- var $595889d33eb55b58$exports = {};
32664
+ var $9b0d5220a1514c46$exports = {};
32532
32665
  "use strict";
32533
- Object.defineProperty($595889d33eb55b58$exports, "__esModule", {
32666
+ Object.defineProperty($9b0d5220a1514c46$exports, "__esModule", {
32534
32667
  value: true
32535
32668
  });
32536
32669
 
32537
32670
 
32538
32671
 
32539
- class $595889d33eb55b58$var$Reader {
32672
+ class $9b0d5220a1514c46$var$Reader {
32540
32673
  constructor(_settings){
32541
32674
  this._settings = _settings;
32542
32675
  this._fsStatSettings = new $6c0caade5edaab5b$exports.Settings({
@@ -32552,19 +32685,28 @@ class $595889d33eb55b58$var$Reader {
32552
32685
  const entry = {
32553
32686
  name: pattern,
32554
32687
  path: pattern,
32555
- dirent: $1b5b082adfcf5f99$exports.fs.createDirentFromStats(pattern, stats)
32688
+ dirent: $cf522a9d05043495$exports.fs.createDirentFromStats(pattern, stats)
32556
32689
  };
32557
32690
  if (this._settings.stats) entry.stats = stats;
32558
32691
  return entry;
32559
32692
  }
32560
32693
  _isFatalError(error) {
32561
- return !$1b5b082adfcf5f99$exports.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;
32694
+ return !$cf522a9d05043495$exports.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;
32562
32695
  }
32563
32696
  }
32564
- $595889d33eb55b58$exports.default = $595889d33eb55b58$var$Reader;
32697
+ $9b0d5220a1514c46$exports.default = $9b0d5220a1514c46$var$Reader;
32698
+
32699
+
32700
+ var $3e83d8893f7f02ce$exports = {};
32701
+ "use strict";
32702
+ Object.defineProperty($3e83d8893f7f02ce$exports, "__esModule", {
32703
+ value: true
32704
+ });
32705
+
32565
32706
 
32566
32707
 
32567
- class $f93330d45af3b4cf$var$ReaderStream extends $595889d33eb55b58$exports.default {
32708
+
32709
+ class $3e83d8893f7f02ce$var$ReaderStream extends $9b0d5220a1514c46$exports.default {
32568
32710
  constructor(){
32569
32711
  super(...arguments);
32570
32712
  this._walkStream = $798d916015b2c927$exports.walkStream;
@@ -32602,93 +32744,209 @@ class $f93330d45af3b4cf$var$ReaderStream extends $595889d33eb55b58$exports.defau
32602
32744
  });
32603
32745
  }
32604
32746
  }
32605
- $f93330d45af3b4cf$exports.default = $f93330d45af3b4cf$var$ReaderStream;
32747
+ $3e83d8893f7f02ce$exports.default = $3e83d8893f7f02ce$var$ReaderStream;
32748
+
32749
+
32750
+ class $f4af028c6d5ad86c$var$ReaderAsync extends $9b0d5220a1514c46$exports.default {
32751
+ constructor(){
32752
+ super(...arguments);
32753
+ this._walkAsync = $798d916015b2c927$exports.walk;
32754
+ this._readerStream = new $3e83d8893f7f02ce$exports.default(this._settings);
32755
+ }
32756
+ dynamic(root, options) {
32757
+ return new Promise((resolve, reject)=>{
32758
+ this._walkAsync(root, options, (error, entries)=>{
32759
+ if (error === null) resolve(entries);
32760
+ else reject(error);
32761
+ });
32762
+ });
32763
+ }
32764
+ async static(patterns, options) {
32765
+ const entries = [];
32766
+ const stream = this._readerStream.static(patterns, options);
32767
+ // After #235, replace it with an asynchronous iterator.
32768
+ return new Promise((resolve, reject)=>{
32769
+ stream.once("error", reject);
32770
+ stream.on("data", (entry)=>entries.push(entry));
32771
+ stream.once("end", ()=>resolve(entries));
32772
+ });
32773
+ }
32774
+ }
32775
+ $f4af028c6d5ad86c$exports.default = $f4af028c6d5ad86c$var$ReaderAsync;
32606
32776
 
32607
32777
 
32608
- var $b2104eae05a96326$exports = {};
32778
+ var $cdd9415193e576b3$exports = {};
32779
+ "use strict";
32780
+ Object.defineProperty($cdd9415193e576b3$exports, "__esModule", {
32781
+ value: true
32782
+ });
32783
+
32784
+ var $e9c252ea38ebf1b3$exports = {};
32609
32785
  "use strict";
32610
- Object.defineProperty($b2104eae05a96326$exports, "__esModule", {
32786
+ Object.defineProperty($e9c252ea38ebf1b3$exports, "__esModule", {
32611
32787
  value: true
32612
32788
  });
32613
32789
 
32614
- var $158f1e2e83bb81fa$exports = {};
32790
+ var $5f5b424167dc8a8e$exports = {};
32791
+ "use strict";
32792
+ Object.defineProperty($5f5b424167dc8a8e$exports, "__esModule", {
32793
+ value: true
32794
+ });
32795
+ var $bed2cf5848052d99$exports = {};
32615
32796
  "use strict";
32616
- Object.defineProperty($158f1e2e83bb81fa$exports, "__esModule", {
32797
+ Object.defineProperty($bed2cf5848052d99$exports, "__esModule", {
32617
32798
  value: true
32618
32799
  });
32619
32800
 
32620
- class $158f1e2e83bb81fa$var$DeepFilter {
32801
+ class $bed2cf5848052d99$var$Matcher {
32802
+ constructor(_patterns, _settings, _micromatchOptions){
32803
+ this._patterns = _patterns;
32804
+ this._settings = _settings;
32805
+ this._micromatchOptions = _micromatchOptions;
32806
+ this._storage = [];
32807
+ this._fillStorage();
32808
+ }
32809
+ _fillStorage() {
32810
+ /**
32811
+ * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level).
32812
+ * So, before expand patterns with brace expansion into separated patterns.
32813
+ */ const patterns = $cf522a9d05043495$exports.pattern.expandPatternsWithBraceExpansion(this._patterns);
32814
+ for (const pattern of patterns){
32815
+ const segments = this._getPatternSegments(pattern);
32816
+ const sections = this._splitSegmentsIntoSections(segments);
32817
+ this._storage.push({
32818
+ complete: sections.length <= 1,
32819
+ pattern: pattern,
32820
+ segments: segments,
32821
+ sections: sections
32822
+ });
32823
+ }
32824
+ }
32825
+ _getPatternSegments(pattern) {
32826
+ const parts = $cf522a9d05043495$exports.pattern.getPatternParts(pattern, this._micromatchOptions);
32827
+ return parts.map((part)=>{
32828
+ const dynamic = $cf522a9d05043495$exports.pattern.isDynamicPattern(part, this._settings);
32829
+ if (!dynamic) return {
32830
+ dynamic: false,
32831
+ pattern: part
32832
+ };
32833
+ return {
32834
+ dynamic: true,
32835
+ pattern: part,
32836
+ patternRe: $cf522a9d05043495$exports.pattern.makeRe(part, this._micromatchOptions)
32837
+ };
32838
+ });
32839
+ }
32840
+ _splitSegmentsIntoSections(segments) {
32841
+ return $cf522a9d05043495$exports.array.splitWhen(segments, (segment)=>segment.dynamic && $cf522a9d05043495$exports.pattern.hasGlobStar(segment.pattern));
32842
+ }
32843
+ }
32844
+ $bed2cf5848052d99$exports.default = $bed2cf5848052d99$var$Matcher;
32845
+
32846
+
32847
+ class $5f5b424167dc8a8e$var$PartialMatcher extends $bed2cf5848052d99$exports.default {
32848
+ match(filepath) {
32849
+ const parts = filepath.split("/");
32850
+ const levels = parts.length;
32851
+ const patterns = this._storage.filter((info)=>!info.complete || info.segments.length > levels);
32852
+ for (const pattern of patterns){
32853
+ const section = pattern.sections[0];
32854
+ /**
32855
+ * In this case, the pattern has a globstar and we must read all directories unconditionally,
32856
+ * but only if the level has reached the end of the first group.
32857
+ *
32858
+ * fixtures/{a,b}/**
32859
+ * ^ true/false ^ always true
32860
+ */ if (!pattern.complete && levels > section.length) return true;
32861
+ const match = parts.every((part, index)=>{
32862
+ const segment = pattern.segments[index];
32863
+ if (segment.dynamic && segment.patternRe.test(part)) return true;
32864
+ if (!segment.dynamic && segment.pattern === part) return true;
32865
+ return false;
32866
+ });
32867
+ if (match) return true;
32868
+ }
32869
+ return false;
32870
+ }
32871
+ }
32872
+ $5f5b424167dc8a8e$exports.default = $5f5b424167dc8a8e$var$PartialMatcher;
32873
+
32874
+
32875
+ class $e9c252ea38ebf1b3$var$DeepFilter {
32621
32876
  constructor(_settings, _micromatchOptions){
32622
32877
  this._settings = _settings;
32623
32878
  this._micromatchOptions = _micromatchOptions;
32624
32879
  }
32625
32880
  getFilter(basePath, positive, negative) {
32626
- const maxPatternDepth = this._getMaxPatternDepth(positive);
32881
+ const matcher = this._getMatcher(positive);
32627
32882
  const negativeRe = this._getNegativePatternsRe(negative);
32628
- return (entry)=>this._filter(basePath, entry, negativeRe, maxPatternDepth);
32883
+ return (entry)=>this._filter(basePath, entry, matcher, negativeRe);
32629
32884
  }
32630
- _getMaxPatternDepth(patterns) {
32631
- const globstar = patterns.some($1b5b082adfcf5f99$exports.pattern.hasGlobStar);
32632
- return globstar ? Infinity : $1b5b082adfcf5f99$exports.pattern.getMaxNaivePatternsDepth(patterns);
32885
+ _getMatcher(patterns) {
32886
+ return new $5f5b424167dc8a8e$exports.default(patterns, this._settings, this._micromatchOptions);
32633
32887
  }
32634
32888
  _getNegativePatternsRe(patterns) {
32635
- const affectDepthOfReadingPatterns = patterns.filter($1b5b082adfcf5f99$exports.pattern.isAffectDepthOfReadingPattern);
32636
- return $1b5b082adfcf5f99$exports.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);
32889
+ const affectDepthOfReadingPatterns = patterns.filter($cf522a9d05043495$exports.pattern.isAffectDepthOfReadingPattern);
32890
+ return $cf522a9d05043495$exports.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);
32637
32891
  }
32638
- _filter(basePath, entry, negativeRe, maxPatternDepth) {
32639
- const depth = this._getEntryDepth(basePath, entry.path);
32640
- if (this._isSkippedByDeep(depth)) return false;
32641
- if (this._isSkippedByMaxPatternDepth(depth, maxPatternDepth)) return false;
32892
+ _filter(basePath, entry, matcher, negativeRe) {
32893
+ if (this._isSkippedByDeep(basePath, entry.path)) return false;
32642
32894
  if (this._isSkippedSymbolicLink(entry)) return false;
32643
- return this._isSkippedByNegativePatterns(entry, negativeRe);
32895
+ const filepath = $cf522a9d05043495$exports.path.removeLeadingDotSegment(entry.path);
32896
+ if (this._isSkippedByPositivePatterns(filepath, matcher)) return false;
32897
+ return this._isSkippedByNegativePatterns(filepath, negativeRe);
32644
32898
  }
32645
- _getEntryDepth(basePath, entryPath) {
32646
- const basePathDepth = basePath.split("/").length;
32647
- const entryPathDepth = entryPath.split("/").length;
32648
- return entryPathDepth - (basePath === "" ? 0 : basePathDepth);
32649
- }
32650
- _isSkippedByDeep(entryDepth) {
32651
- return entryDepth >= this._settings.deep;
32899
+ _isSkippedByDeep(basePath, entryPath) {
32900
+ /**
32901
+ * Avoid unnecessary depth calculations when it doesn't matter.
32902
+ */ if (this._settings.deep === Infinity) return false;
32903
+ return this._getEntryLevel(basePath, entryPath) >= this._settings.deep;
32652
32904
  }
32653
- _isSkippedByMaxPatternDepth(entryDepth, maxPatternDepth) {
32654
- return !this._settings.baseNameMatch && maxPatternDepth !== Infinity && entryDepth > maxPatternDepth;
32905
+ _getEntryLevel(basePath, entryPath) {
32906
+ const entryPathDepth = entryPath.split("/").length;
32907
+ if (basePath === "") return entryPathDepth;
32908
+ const basePathDepth = basePath.split("/").length;
32909
+ return entryPathDepth - basePathDepth;
32655
32910
  }
32656
32911
  _isSkippedSymbolicLink(entry) {
32657
32912
  return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink();
32658
32913
  }
32659
- _isSkippedByNegativePatterns(entry, negativeRe) {
32660
- return !$1b5b082adfcf5f99$exports.pattern.matchAny(entry.path, negativeRe);
32914
+ _isSkippedByPositivePatterns(entryPath, matcher) {
32915
+ return !this._settings.baseNameMatch && !matcher.match(entryPath);
32916
+ }
32917
+ _isSkippedByNegativePatterns(entryPath, patternsRe) {
32918
+ return !$cf522a9d05043495$exports.pattern.matchAny(entryPath, patternsRe);
32661
32919
  }
32662
32920
  }
32663
- $158f1e2e83bb81fa$exports.default = $158f1e2e83bb81fa$var$DeepFilter;
32921
+ $e9c252ea38ebf1b3$exports.default = $e9c252ea38ebf1b3$var$DeepFilter;
32664
32922
 
32665
32923
 
32666
- var $f26cad5ed17500b0$exports = {};
32924
+ var $8cc0797818496428$exports = {};
32667
32925
  "use strict";
32668
- Object.defineProperty($f26cad5ed17500b0$exports, "__esModule", {
32926
+ Object.defineProperty($8cc0797818496428$exports, "__esModule", {
32669
32927
  value: true
32670
32928
  });
32671
32929
 
32672
- class $f26cad5ed17500b0$var$EntryFilter {
32930
+ class $8cc0797818496428$var$EntryFilter {
32673
32931
  constructor(_settings, _micromatchOptions){
32674
32932
  this._settings = _settings;
32675
32933
  this._micromatchOptions = _micromatchOptions;
32676
32934
  this.index = new Map();
32677
32935
  }
32678
32936
  getFilter(positive, negative) {
32679
- const positiveRe = $1b5b082adfcf5f99$exports.pattern.convertPatternsToRe(positive, this._micromatchOptions);
32680
- const negativeRe = $1b5b082adfcf5f99$exports.pattern.convertPatternsToRe(negative, this._micromatchOptions);
32937
+ const positiveRe = $cf522a9d05043495$exports.pattern.convertPatternsToRe(positive, this._micromatchOptions);
32938
+ const negativeRe = $cf522a9d05043495$exports.pattern.convertPatternsToRe(negative, this._micromatchOptions);
32681
32939
  return (entry)=>this._filter(entry, positiveRe, negativeRe);
32682
32940
  }
32683
32941
  _filter(entry, positiveRe, negativeRe) {
32684
- if (this._settings.unique) {
32685
- if (this._isDuplicateEntry(entry)) return false;
32686
- this._createIndexRecord(entry);
32687
- }
32942
+ if (this._settings.unique && this._isDuplicateEntry(entry)) return false;
32688
32943
  if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) return false;
32689
- if (this._isSkippedByAbsoluteNegativePatterns(entry, negativeRe)) return false;
32944
+ if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) return false;
32690
32945
  const filepath = this._settings.baseNameMatch ? entry.name : entry.path;
32691
- return this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe);
32946
+ const isDirectory = entry.dirent.isDirectory();
32947
+ const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory) && !this._isMatchToPatterns(entry.path, negativeRe, isDirectory);
32948
+ if (this._settings.unique && isMatched) this._createIndexRecord(entry);
32949
+ return isMatched;
32692
32950
  }
32693
32951
  _isDuplicateEntry(entry) {
32694
32952
  return this.index.has(entry.path);
@@ -32702,25 +32960,31 @@ class $f26cad5ed17500b0$var$EntryFilter {
32702
32960
  _onlyDirectoryFilter(entry) {
32703
32961
  return this._settings.onlyDirectories && !entry.dirent.isDirectory();
32704
32962
  }
32705
- _isSkippedByAbsoluteNegativePatterns(entry, negativeRe) {
32963
+ _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) {
32706
32964
  if (!this._settings.absolute) return false;
32707
- const fullpath = $1b5b082adfcf5f99$exports.path.makeAbsolute(this._settings.cwd, entry.path);
32708
- return this._isMatchToPatterns(fullpath, negativeRe);
32965
+ const fullpath = $cf522a9d05043495$exports.path.makeAbsolute(this._settings.cwd, entryPath);
32966
+ return $cf522a9d05043495$exports.pattern.matchAny(fullpath, patternsRe);
32709
32967
  }
32710
- _isMatchToPatterns(filepath, patternsRe) {
32711
- return $1b5b082adfcf5f99$exports.pattern.matchAny(filepath, patternsRe);
32968
+ _isMatchToPatterns(entryPath, patternsRe, isDirectory) {
32969
+ const filepath = $cf522a9d05043495$exports.path.removeLeadingDotSegment(entryPath);
32970
+ // Trying to match files and directories by patterns.
32971
+ const isMatched = $cf522a9d05043495$exports.pattern.matchAny(filepath, patternsRe);
32972
+ // A pattern with a trailling slash can be used for directory matching.
32973
+ // To apply such pattern, we need to add a tralling slash to the path.
32974
+ if (!isMatched && isDirectory) return $cf522a9d05043495$exports.pattern.matchAny(filepath + "/", patternsRe);
32975
+ return isMatched;
32712
32976
  }
32713
32977
  }
32714
- $f26cad5ed17500b0$exports.default = $f26cad5ed17500b0$var$EntryFilter;
32978
+ $8cc0797818496428$exports.default = $8cc0797818496428$var$EntryFilter;
32715
32979
 
32716
32980
 
32717
- var $4f982576078a7524$exports = {};
32981
+ var $7ed24425816f590c$exports = {};
32718
32982
  "use strict";
32719
- Object.defineProperty($4f982576078a7524$exports, "__esModule", {
32983
+ Object.defineProperty($7ed24425816f590c$exports, "__esModule", {
32720
32984
  value: true
32721
32985
  });
32722
32986
 
32723
- class $4f982576078a7524$var$ErrorFilter {
32987
+ class $7ed24425816f590c$var$ErrorFilter {
32724
32988
  constructor(_settings){
32725
32989
  this._settings = _settings;
32726
32990
  }
@@ -32728,19 +32992,19 @@ class $4f982576078a7524$var$ErrorFilter {
32728
32992
  return (error)=>this._isNonFatalError(error);
32729
32993
  }
32730
32994
  _isNonFatalError(error) {
32731
- return $1b5b082adfcf5f99$exports.errno.isEnoentCodeError(error) || this._settings.suppressErrors;
32995
+ return $cf522a9d05043495$exports.errno.isEnoentCodeError(error) || this._settings.suppressErrors;
32732
32996
  }
32733
32997
  }
32734
- $4f982576078a7524$exports.default = $4f982576078a7524$var$ErrorFilter;
32998
+ $7ed24425816f590c$exports.default = $7ed24425816f590c$var$ErrorFilter;
32735
32999
 
32736
33000
 
32737
- var $4583c239a6a31b31$exports = {};
33001
+ var $cac4f3802d700428$exports = {};
32738
33002
  "use strict";
32739
- Object.defineProperty($4583c239a6a31b31$exports, "__esModule", {
33003
+ Object.defineProperty($cac4f3802d700428$exports, "__esModule", {
32740
33004
  value: true
32741
33005
  });
32742
33006
 
32743
- class $4583c239a6a31b31$var$EntryTransformer {
33007
+ class $cac4f3802d700428$var$EntryTransformer {
32744
33008
  constructor(_settings){
32745
33009
  this._settings = _settings;
32746
33010
  }
@@ -32750,8 +33014,8 @@ class $4583c239a6a31b31$var$EntryTransformer {
32750
33014
  _transform(entry) {
32751
33015
  let filepath = entry.path;
32752
33016
  if (this._settings.absolute) {
32753
- filepath = $1b5b082adfcf5f99$exports.path.makeAbsolute(this._settings.cwd, filepath);
32754
- filepath = $1b5b082adfcf5f99$exports.path.unixify(filepath);
33017
+ filepath = $cf522a9d05043495$exports.path.makeAbsolute(this._settings.cwd, filepath);
33018
+ filepath = $cf522a9d05043495$exports.path.unixify(filepath);
32755
33019
  }
32756
33020
  if (this._settings.markDirectories && entry.dirent.isDirectory()) filepath += "/";
32757
33021
  if (!this._settings.objectMode) return filepath;
@@ -32760,16 +33024,16 @@ class $4583c239a6a31b31$var$EntryTransformer {
32760
33024
  });
32761
33025
  }
32762
33026
  }
32763
- $4583c239a6a31b31$exports.default = $4583c239a6a31b31$var$EntryTransformer;
33027
+ $cac4f3802d700428$exports.default = $cac4f3802d700428$var$EntryTransformer;
32764
33028
 
32765
33029
 
32766
- class $b2104eae05a96326$var$Provider {
33030
+ class $cdd9415193e576b3$var$Provider {
32767
33031
  constructor(_settings){
32768
33032
  this._settings = _settings;
32769
- this.errorFilter = new $4f982576078a7524$exports.default(this._settings);
32770
- this.entryFilter = new $f26cad5ed17500b0$exports.default(this._settings, this._getMicromatchOptions());
32771
- this.deepFilter = new $158f1e2e83bb81fa$exports.default(this._settings, this._getMicromatchOptions());
32772
- this.entryTransformer = new $4583c239a6a31b31$exports.default(this._settings);
33033
+ this.errorFilter = new $7ed24425816f590c$exports.default(this._settings);
33034
+ this.entryFilter = new $8cc0797818496428$exports.default(this._settings, this._getMicromatchOptions());
33035
+ this.deepFilter = new $e9c252ea38ebf1b3$exports.default(this._settings, this._getMicromatchOptions());
33036
+ this.entryTransformer = new $cac4f3802d700428$exports.default(this._settings);
32773
33037
  }
32774
33038
  _getRootDirectory(task) {
32775
33039
  return $8C1kk$path.resolve(this._settings.cwd, task.base);
@@ -32803,45 +33067,40 @@ class $b2104eae05a96326$var$Provider {
32803
33067
  };
32804
33068
  }
32805
33069
  }
32806
- $b2104eae05a96326$exports.default = $b2104eae05a96326$var$Provider;
33070
+ $cdd9415193e576b3$exports.default = $cdd9415193e576b3$var$Provider;
32807
33071
 
32808
33072
 
32809
- class $5e8aeb81d3971f46$var$ProviderAsync extends $b2104eae05a96326$exports.default {
33073
+ class $64f6f1838decdf61$var$ProviderAsync extends $cdd9415193e576b3$exports.default {
32810
33074
  constructor(){
32811
33075
  super(...arguments);
32812
- this._reader = new $f93330d45af3b4cf$exports.default(this._settings);
33076
+ this._reader = new $f4af028c6d5ad86c$exports.default(this._settings);
32813
33077
  }
32814
- read(task) {
33078
+ async read(task) {
32815
33079
  const root = this._getRootDirectory(task);
32816
33080
  const options = this._getReaderOptions(task);
32817
- const entries = [];
32818
- return new Promise((resolve, reject)=>{
32819
- const stream = this.api(root, task, options);
32820
- stream.once("error", reject);
32821
- stream.on("data", (entry)=>entries.push(options.transform(entry)));
32822
- stream.once("end", ()=>resolve(entries));
32823
- });
33081
+ const entries = await this.api(root, task, options);
33082
+ return entries.map((entry)=>options.transform(entry));
32824
33083
  }
32825
33084
  api(root, task, options) {
32826
33085
  if (task.dynamic) return this._reader.dynamic(root, options);
32827
33086
  return this._reader.static(task.patterns, options);
32828
33087
  }
32829
33088
  }
32830
- $5e8aeb81d3971f46$exports.default = $5e8aeb81d3971f46$var$ProviderAsync;
33089
+ $64f6f1838decdf61$exports.default = $64f6f1838decdf61$var$ProviderAsync;
32831
33090
 
32832
33091
 
32833
- var $434410c8b70ca432$exports = {};
33092
+ var $7af4d6755aac8d4c$exports = {};
32834
33093
  "use strict";
32835
- Object.defineProperty($434410c8b70ca432$exports, "__esModule", {
33094
+ Object.defineProperty($7af4d6755aac8d4c$exports, "__esModule", {
32836
33095
  value: true
32837
33096
  });
32838
33097
 
32839
33098
 
32840
33099
 
32841
- class $434410c8b70ca432$var$ProviderStream extends $b2104eae05a96326$exports.default {
33100
+ class $7af4d6755aac8d4c$var$ProviderStream extends $cdd9415193e576b3$exports.default {
32842
33101
  constructor(){
32843
33102
  super(...arguments);
32844
- this._reader = new $f93330d45af3b4cf$exports.default(this._settings);
33103
+ this._reader = new $3e83d8893f7f02ce$exports.default(this._settings);
32845
33104
  }
32846
33105
  read(task) {
32847
33106
  const root = this._getRootDirectory(task);
@@ -32860,23 +33119,23 @@ class $434410c8b70ca432$var$ProviderStream extends $b2104eae05a96326$exports.def
32860
33119
  return this._reader.static(task.patterns, options);
32861
33120
  }
32862
33121
  }
32863
- $434410c8b70ca432$exports.default = $434410c8b70ca432$var$ProviderStream;
33122
+ $7af4d6755aac8d4c$exports.default = $7af4d6755aac8d4c$var$ProviderStream;
32864
33123
 
32865
33124
 
32866
- var $449ae2813b11b2d5$exports = {};
33125
+ var $920a3ecaa6c6297b$exports = {};
32867
33126
  "use strict";
32868
- Object.defineProperty($449ae2813b11b2d5$exports, "__esModule", {
33127
+ Object.defineProperty($920a3ecaa6c6297b$exports, "__esModule", {
32869
33128
  value: true
32870
33129
  });
32871
- var $91612adb731b8334$exports = {};
33130
+ var $2bcb845784c4dbc2$exports = {};
32872
33131
  "use strict";
32873
- Object.defineProperty($91612adb731b8334$exports, "__esModule", {
33132
+ Object.defineProperty($2bcb845784c4dbc2$exports, "__esModule", {
32874
33133
  value: true
32875
33134
  });
32876
33135
 
32877
33136
 
32878
33137
 
32879
- class $91612adb731b8334$var$ReaderSync extends $595889d33eb55b58$exports.default {
33138
+ class $2bcb845784c4dbc2$var$ReaderSync extends $9b0d5220a1514c46$exports.default {
32880
33139
  constructor(){
32881
33140
  super(...arguments);
32882
33141
  this._walkSync = $798d916015b2c927$exports.walkSync;
@@ -32908,14 +33167,14 @@ class $91612adb731b8334$var$ReaderSync extends $595889d33eb55b58$exports.default
32908
33167
  return this._statSync(filepath, this._fsStatSettings);
32909
33168
  }
32910
33169
  }
32911
- $91612adb731b8334$exports.default = $91612adb731b8334$var$ReaderSync;
33170
+ $2bcb845784c4dbc2$exports.default = $2bcb845784c4dbc2$var$ReaderSync;
32912
33171
 
32913
33172
 
32914
33173
 
32915
- class $449ae2813b11b2d5$var$ProviderSync extends $b2104eae05a96326$exports.default {
33174
+ class $920a3ecaa6c6297b$var$ProviderSync extends $cdd9415193e576b3$exports.default {
32916
33175
  constructor(){
32917
33176
  super(...arguments);
32918
- this._reader = new $91612adb731b8334$exports.default(this._settings);
33177
+ this._reader = new $2bcb845784c4dbc2$exports.default(this._settings);
32919
33178
  }
32920
33179
  read(task) {
32921
33180
  const root = this._getRootDirectory(task);
@@ -32928,18 +33187,22 @@ class $449ae2813b11b2d5$var$ProviderSync extends $b2104eae05a96326$exports.defau
32928
33187
  return this._reader.static(task.patterns, options);
32929
33188
  }
32930
33189
  }
32931
- $449ae2813b11b2d5$exports.default = $449ae2813b11b2d5$var$ProviderSync;
33190
+ $920a3ecaa6c6297b$exports.default = $920a3ecaa6c6297b$var$ProviderSync;
32932
33191
 
32933
33192
 
32934
- var $1d7e3dfd05c8321e$exports = {};
33193
+ var $91327a74649d3ed9$exports = {};
32935
33194
  "use strict";
32936
- Object.defineProperty($1d7e3dfd05c8321e$exports, "__esModule", {
33195
+ Object.defineProperty($91327a74649d3ed9$exports, "__esModule", {
32937
33196
  value: true
32938
33197
  });
33198
+ $91327a74649d3ed9$exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
32939
33199
 
32940
33200
 
32941
- const $1d7e3dfd05c8321e$var$CPU_COUNT = $8C1kk$os.cpus().length;
32942
- $1d7e3dfd05c8321e$exports.DEFAULT_FILE_SYSTEM_ADAPTER = {
33201
+ /**
33202
+ * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero.
33203
+ * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107
33204
+ */ const $91327a74649d3ed9$var$CPU_COUNT = Math.max($8C1kk$os.cpus().length, 1);
33205
+ $91327a74649d3ed9$exports.DEFAULT_FILE_SYSTEM_ADAPTER = {
32943
33206
  lstat: $8C1kk$fs.lstat,
32944
33207
  lstatSync: $8C1kk$fs.lstatSync,
32945
33208
  stat: $8C1kk$fs.stat,
@@ -32947,14 +33210,14 @@ $1d7e3dfd05c8321e$exports.DEFAULT_FILE_SYSTEM_ADAPTER = {
32947
33210
  readdir: $8C1kk$fs.readdir,
32948
33211
  readdirSync: $8C1kk$fs.readdirSync
32949
33212
  };
32950
- class $1d7e3dfd05c8321e$var$Settings {
33213
+ class $91327a74649d3ed9$var$Settings {
32951
33214
  constructor(_options = {}){
32952
33215
  this._options = _options;
32953
33216
  this.absolute = this._getValue(this._options.absolute, false);
32954
33217
  this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);
32955
33218
  this.braceExpansion = this._getValue(this._options.braceExpansion, true);
32956
33219
  this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);
32957
- this.concurrency = this._getValue(this._options.concurrency, $1d7e3dfd05c8321e$var$CPU_COUNT);
33220
+ this.concurrency = this._getValue(this._options.concurrency, $91327a74649d3ed9$var$CPU_COUNT);
32958
33221
  this.cwd = this._getValue(this._options.cwd, process.cwd());
32959
33222
  this.deep = this._getValue(this._options.deep, Infinity);
32960
33223
  this.dot = this._getValue(this._options.dot, false);
@@ -32978,77 +33241,454 @@ class $1d7e3dfd05c8321e$var$Settings {
32978
33241
  return option === undefined ? value : option;
32979
33242
  }
32980
33243
  _getFileSystemMethods(methods = {}) {
32981
- return Object.assign(Object.assign({}, $1d7e3dfd05c8321e$exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods);
33244
+ return Object.assign(Object.assign({}, $91327a74649d3ed9$exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods);
32982
33245
  }
32983
33246
  }
32984
- $1d7e3dfd05c8321e$exports.default = $1d7e3dfd05c8321e$var$Settings;
33247
+ $91327a74649d3ed9$exports.default = $91327a74649d3ed9$var$Settings;
32985
33248
 
32986
33249
 
32987
33250
 
32988
- function $b57e78be4f7a2622$var$FastGlob(source, options) {
32989
- try {
32990
- $b57e78be4f7a2622$var$assertPatternsInput(source);
32991
- } catch (error) {
32992
- return Promise.reject(error);
32993
- }
32994
- const works = $b57e78be4f7a2622$var$getWorks(source, $5e8aeb81d3971f46$exports.default, options);
32995
- return Promise.all(works).then($1b5b082adfcf5f99$exports.array.flatten);
33251
+ async function $21b1b538e1d1be85$var$FastGlob(source, options) {
33252
+ $21b1b538e1d1be85$var$assertPatternsInput(source);
33253
+ const works = $21b1b538e1d1be85$var$getWorks(source, $64f6f1838decdf61$exports.default, options);
33254
+ const result = await Promise.all(works);
33255
+ return $cf522a9d05043495$exports.array.flatten(result);
32996
33256
  }
32997
33257
  // https://github.com/typescript-eslint/typescript-eslint/issues/60
32998
33258
  // eslint-disable-next-line no-redeclare
32999
33259
  (function(FastGlob) {
33000
33260
  function sync(source, options) {
33001
- $b57e78be4f7a2622$var$assertPatternsInput(source);
33002
- const works = $b57e78be4f7a2622$var$getWorks(source, $449ae2813b11b2d5$exports.default, options);
33003
- return $1b5b082adfcf5f99$exports.array.flatten(works);
33261
+ $21b1b538e1d1be85$var$assertPatternsInput(source);
33262
+ const works = $21b1b538e1d1be85$var$getWorks(source, $920a3ecaa6c6297b$exports.default, options);
33263
+ return $cf522a9d05043495$exports.array.flatten(works);
33004
33264
  }
33005
33265
  FastGlob.sync = sync;
33006
33266
  function stream(source, options) {
33007
- $b57e78be4f7a2622$var$assertPatternsInput(source);
33008
- const works = $b57e78be4f7a2622$var$getWorks(source, $434410c8b70ca432$exports.default, options);
33267
+ $21b1b538e1d1be85$var$assertPatternsInput(source);
33268
+ const works = $21b1b538e1d1be85$var$getWorks(source, $7af4d6755aac8d4c$exports.default, options);
33009
33269
  /**
33010
33270
  * The stream returned by the provider cannot work with an asynchronous iterator.
33011
33271
  * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams.
33012
33272
  * This affects performance (+25%). I don't see best solution right now.
33013
- */ return $1b5b082adfcf5f99$exports.stream.merge(works);
33273
+ */ return $cf522a9d05043495$exports.stream.merge(works);
33014
33274
  }
33015
33275
  FastGlob.stream = stream;
33016
33276
  function generateTasks(source, options) {
33017
- $b57e78be4f7a2622$var$assertPatternsInput(source);
33018
- const patterns = [].concat(source);
33019
- const settings = new $1d7e3dfd05c8321e$exports.default(options);
33020
- return $d436392a45e5b9b4$exports.generate(patterns, settings);
33277
+ $21b1b538e1d1be85$var$assertPatternsInput(source);
33278
+ const patterns = $87bf1fe6ced3ad26$exports.transform([].concat(source));
33279
+ const settings = new $91327a74649d3ed9$exports.default(options);
33280
+ return $94ffeb6ed5329bdb$exports.generate(patterns, settings);
33021
33281
  }
33022
33282
  FastGlob.generateTasks = generateTasks;
33023
33283
  function isDynamicPattern(source, options) {
33024
- $b57e78be4f7a2622$var$assertPatternsInput(source);
33025
- const settings = new $1d7e3dfd05c8321e$exports.default(options);
33026
- return $1b5b082adfcf5f99$exports.pattern.isDynamicPattern(source, settings);
33284
+ $21b1b538e1d1be85$var$assertPatternsInput(source);
33285
+ const settings = new $91327a74649d3ed9$exports.default(options);
33286
+ return $cf522a9d05043495$exports.pattern.isDynamicPattern(source, settings);
33027
33287
  }
33028
33288
  FastGlob.isDynamicPattern = isDynamicPattern;
33029
33289
  function escapePath(source) {
33030
- $b57e78be4f7a2622$var$assertPatternsInput(source);
33031
- return $1b5b082adfcf5f99$exports.path.escape(source);
33290
+ $21b1b538e1d1be85$var$assertPatternsInput(source);
33291
+ return $cf522a9d05043495$exports.path.escape(source);
33032
33292
  }
33033
33293
  FastGlob.escapePath = escapePath;
33034
- })($b57e78be4f7a2622$var$FastGlob || ($b57e78be4f7a2622$var$FastGlob = {}));
33035
- function $b57e78be4f7a2622$var$getWorks(source, _Provider, options) {
33036
- const patterns = [].concat(source);
33037
- const settings = new $1d7e3dfd05c8321e$exports.default(options);
33038
- const tasks = $d436392a45e5b9b4$exports.generate(patterns, settings);
33294
+ })($21b1b538e1d1be85$var$FastGlob || ($21b1b538e1d1be85$var$FastGlob = {}));
33295
+ function $21b1b538e1d1be85$var$getWorks(source, _Provider, options) {
33296
+ const patterns = $87bf1fe6ced3ad26$exports.transform([].concat(source));
33297
+ const settings = new $91327a74649d3ed9$exports.default(options);
33298
+ const tasks = $94ffeb6ed5329bdb$exports.generate(patterns, settings);
33039
33299
  const provider = new _Provider(settings);
33040
33300
  return tasks.map(provider.read, provider);
33041
33301
  }
33042
- function $b57e78be4f7a2622$var$assertPatternsInput(source) {
33043
- if ([].concat(source).every($b57e78be4f7a2622$var$isString)) return;
33044
- throw new TypeError("Patterns must be a string or an array of strings");
33045
- }
33046
- function $b57e78be4f7a2622$var$isString(source) {
33047
- return typeof source === "string";
33302
+ function $21b1b538e1d1be85$var$assertPatternsInput(input) {
33303
+ const source = [].concat(input);
33304
+ const isValidSource = source.every((item)=>$cf522a9d05043495$exports.string.isString(item) && !$cf522a9d05043495$exports.string.isEmpty(item));
33305
+ if (!isValidSource) throw new TypeError("Patterns must be a string (non empty) or an array of strings");
33048
33306
  }
33049
- $b57e78be4f7a2622$exports = $b57e78be4f7a2622$var$FastGlob;
33307
+ $21b1b538e1d1be85$exports = $21b1b538e1d1be85$var$FastGlob;
33050
33308
 
33051
33309
 
33310
+ var $fec3b4fc54d3756a$exports = {};
33311
+ "use strict";
33312
+
33313
+
33314
+
33315
+
33316
+ var $5MQDC = parcelRequire("5MQDC");
33317
+ const $fec3b4fc54d3756a$var$isEmptyString = (val)=>val === "" || val === "./";
33318
+ /**
33319
+ * Returns an array of strings that match one or more glob patterns.
33320
+ *
33321
+ * ```js
33322
+ * const mm = require('micromatch');
33323
+ * // mm(list, patterns[, options]);
33324
+ *
33325
+ * console.log(mm(['a.js', 'a.txt'], ['*.js']));
33326
+ * //=> [ 'a.js' ]
33327
+ * ```
33328
+ * @param {String|Array<string>} `list` List of strings to match.
33329
+ * @param {String|Array<string>} `patterns` One or more glob patterns to use for matching.
33330
+ * @param {Object} `options` See available [options](#options)
33331
+ * @return {Array} Returns an array of matches
33332
+ * @summary false
33333
+ * @api public
33334
+ */ const $fec3b4fc54d3756a$var$micromatch = (list, patterns, options)=>{
33335
+ patterns = [].concat(patterns);
33336
+ list = [].concat(list);
33337
+ let omit = new Set();
33338
+ let keep = new Set();
33339
+ let items = new Set();
33340
+ let negatives = 0;
33341
+ let onResult = (state)=>{
33342
+ items.add(state.output);
33343
+ if (options && options.onResult) options.onResult(state);
33344
+ };
33345
+ for(let i = 0; i < patterns.length; i++){
33346
+ let isMatch = $2af609aa204f1181$exports(String(patterns[i]), {
33347
+ ...options,
33348
+ onResult: onResult
33349
+ }, true);
33350
+ let negated = isMatch.state.negated || isMatch.state.negatedExtglob;
33351
+ if (negated) negatives++;
33352
+ for (let item of list){
33353
+ let matched = isMatch(item, true);
33354
+ let match = negated ? !matched.isMatch : matched.isMatch;
33355
+ if (!match) continue;
33356
+ if (negated) omit.add(matched.output);
33357
+ else {
33358
+ omit.delete(matched.output);
33359
+ keep.add(matched.output);
33360
+ }
33361
+ }
33362
+ }
33363
+ let result = negatives === patterns.length ? [
33364
+ ...items
33365
+ ] : [
33366
+ ...keep
33367
+ ];
33368
+ let matches = result.filter((item)=>!omit.has(item));
33369
+ if (options && matches.length === 0) {
33370
+ if (options.failglob === true) throw new Error(`No matches found for "${patterns.join(", ")}"`);
33371
+ if (options.nonull === true || options.nullglob === true) return options.unescape ? patterns.map((p)=>p.replace(/\\/g, "")) : patterns;
33372
+ }
33373
+ return matches;
33374
+ };
33375
+ /**
33376
+ * Backwards compatibility
33377
+ */ $fec3b4fc54d3756a$var$micromatch.match = $fec3b4fc54d3756a$var$micromatch;
33378
+ /**
33379
+ * Returns a matcher function from the given glob `pattern` and `options`.
33380
+ * The returned function takes a string to match as its only argument and returns
33381
+ * true if the string is a match.
33382
+ *
33383
+ * ```js
33384
+ * const mm = require('micromatch');
33385
+ * // mm.matcher(pattern[, options]);
33386
+ *
33387
+ * const isMatch = mm.matcher('*.!(*a)');
33388
+ * console.log(isMatch('a.a')); //=> false
33389
+ * console.log(isMatch('a.b')); //=> true
33390
+ * ```
33391
+ * @param {String} `pattern` Glob pattern
33392
+ * @param {Object} `options`
33393
+ * @return {Function} Returns a matcher function.
33394
+ * @api public
33395
+ */ $fec3b4fc54d3756a$var$micromatch.matcher = (pattern, options)=>$2af609aa204f1181$exports(pattern, options);
33396
+ /**
33397
+ * Returns true if **any** of the given glob `patterns` match the specified `string`.
33398
+ *
33399
+ * ```js
33400
+ * const mm = require('micromatch');
33401
+ * // mm.isMatch(string, patterns[, options]);
33402
+ *
33403
+ * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true
33404
+ * console.log(mm.isMatch('a.a', 'b.*')); //=> false
33405
+ * ```
33406
+ * @param {String} `str` The string to test.
33407
+ * @param {String|Array} `patterns` One or more glob patterns to use for matching.
33408
+ * @param {Object} `[options]` See available [options](#options).
33409
+ * @return {Boolean} Returns true if any patterns match `str`
33410
+ * @api public
33411
+ */ $fec3b4fc54d3756a$var$micromatch.isMatch = (str, patterns, options)=>$2af609aa204f1181$exports(patterns, options)(str);
33412
+ /**
33413
+ * Backwards compatibility
33414
+ */ $fec3b4fc54d3756a$var$micromatch.any = $fec3b4fc54d3756a$var$micromatch.isMatch;
33415
+ /**
33416
+ * Returns a list of strings that _**do not match any**_ of the given `patterns`.
33417
+ *
33418
+ * ```js
33419
+ * const mm = require('micromatch');
33420
+ * // mm.not(list, patterns[, options]);
33421
+ *
33422
+ * console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a'));
33423
+ * //=> ['b.b', 'c.c']
33424
+ * ```
33425
+ * @param {Array} `list` Array of strings to match.
33426
+ * @param {String|Array} `patterns` One or more glob pattern to use for matching.
33427
+ * @param {Object} `options` See available [options](#options) for changing how matches are performed
33428
+ * @return {Array} Returns an array of strings that **do not match** the given patterns.
33429
+ * @api public
33430
+ */ $fec3b4fc54d3756a$var$micromatch.not = (list, patterns, options = {})=>{
33431
+ patterns = [].concat(patterns).map(String);
33432
+ let result = new Set();
33433
+ let items = [];
33434
+ let onResult = (state)=>{
33435
+ if (options.onResult) options.onResult(state);
33436
+ items.push(state.output);
33437
+ };
33438
+ let matches = $fec3b4fc54d3756a$var$micromatch(list, patterns, {
33439
+ ...options,
33440
+ onResult: onResult
33441
+ });
33442
+ for (let item of items)if (!matches.includes(item)) result.add(item);
33443
+ return [
33444
+ ...result
33445
+ ];
33446
+ };
33447
+ /**
33448
+ * Returns true if the given `string` contains the given pattern. Similar
33449
+ * to [.isMatch](#isMatch) but the pattern can match any part of the string.
33450
+ *
33451
+ * ```js
33452
+ * var mm = require('micromatch');
33453
+ * // mm.contains(string, pattern[, options]);
33454
+ *
33455
+ * console.log(mm.contains('aa/bb/cc', '*b'));
33456
+ * //=> true
33457
+ * console.log(mm.contains('aa/bb/cc', '*d'));
33458
+ * //=> false
33459
+ * ```
33460
+ * @param {String} `str` The string to match.
33461
+ * @param {String|Array} `patterns` Glob pattern to use for matching.
33462
+ * @param {Object} `options` See available [options](#options) for changing how matches are performed
33463
+ * @return {Boolean} Returns true if any of the patterns matches any part of `str`.
33464
+ * @api public
33465
+ */ $fec3b4fc54d3756a$var$micromatch.contains = (str, pattern, options)=>{
33466
+ if (typeof str !== "string") throw new TypeError(`Expected a string: "${$8C1kk$util.inspect(str)}"`);
33467
+ if (Array.isArray(pattern)) return pattern.some((p)=>$fec3b4fc54d3756a$var$micromatch.contains(str, p, options));
33468
+ if (typeof pattern === "string") {
33469
+ if ($fec3b4fc54d3756a$var$isEmptyString(str) || $fec3b4fc54d3756a$var$isEmptyString(pattern)) return false;
33470
+ if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) return true;
33471
+ }
33472
+ return $fec3b4fc54d3756a$var$micromatch.isMatch(str, pattern, {
33473
+ ...options,
33474
+ contains: true
33475
+ });
33476
+ };
33477
+ /**
33478
+ * Filter the keys of the given object with the given `glob` pattern
33479
+ * and `options`. Does not attempt to match nested keys. If you need this feature,
33480
+ * use [glob-object][] instead.
33481
+ *
33482
+ * ```js
33483
+ * const mm = require('micromatch');
33484
+ * // mm.matchKeys(object, patterns[, options]);
33485
+ *
33486
+ * const obj = { aa: 'a', ab: 'b', ac: 'c' };
33487
+ * console.log(mm.matchKeys(obj, '*b'));
33488
+ * //=> { ab: 'b' }
33489
+ * ```
33490
+ * @param {Object} `object` The object with keys to filter.
33491
+ * @param {String|Array} `patterns` One or more glob patterns to use for matching.
33492
+ * @param {Object} `options` See available [options](#options) for changing how matches are performed
33493
+ * @return {Object} Returns an object with only keys that match the given patterns.
33494
+ * @api public
33495
+ */ $fec3b4fc54d3756a$var$micromatch.matchKeys = (obj, patterns, options)=>{
33496
+ if (!$5MQDC.isObject(obj)) throw new TypeError("Expected the first argument to be an object");
33497
+ let keys = $fec3b4fc54d3756a$var$micromatch(Object.keys(obj), patterns, options);
33498
+ let res = {};
33499
+ for (let key of keys)res[key] = obj[key];
33500
+ return res;
33501
+ };
33502
+ /**
33503
+ * Returns true if some of the strings in the given `list` match any of the given glob `patterns`.
33504
+ *
33505
+ * ```js
33506
+ * const mm = require('micromatch');
33507
+ * // mm.some(list, patterns[, options]);
33508
+ *
33509
+ * console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js']));
33510
+ * // true
33511
+ * console.log(mm.some(['foo.js'], ['*.js', '!foo.js']));
33512
+ * // false
33513
+ * ```
33514
+ * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found.
33515
+ * @param {String|Array} `patterns` One or more glob patterns to use for matching.
33516
+ * @param {Object} `options` See available [options](#options) for changing how matches are performed
33517
+ * @return {Boolean} Returns true if any `patterns` matches any of the strings in `list`
33518
+ * @api public
33519
+ */ $fec3b4fc54d3756a$var$micromatch.some = (list, patterns, options)=>{
33520
+ let items = [].concat(list);
33521
+ for (let pattern of [].concat(patterns)){
33522
+ let isMatch = $2af609aa204f1181$exports(String(pattern), options);
33523
+ if (items.some((item)=>isMatch(item))) return true;
33524
+ }
33525
+ return false;
33526
+ };
33527
+ /**
33528
+ * Returns true if every string in the given `list` matches
33529
+ * any of the given glob `patterns`.
33530
+ *
33531
+ * ```js
33532
+ * const mm = require('micromatch');
33533
+ * // mm.every(list, patterns[, options]);
33534
+ *
33535
+ * console.log(mm.every('foo.js', ['foo.js']));
33536
+ * // true
33537
+ * console.log(mm.every(['foo.js', 'bar.js'], ['*.js']));
33538
+ * // true
33539
+ * console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js']));
33540
+ * // false
33541
+ * console.log(mm.every(['foo.js'], ['*.js', '!foo.js']));
33542
+ * // false
33543
+ * ```
33544
+ * @param {String|Array} `list` The string or array of strings to test.
33545
+ * @param {String|Array} `patterns` One or more glob patterns to use for matching.
33546
+ * @param {Object} `options` See available [options](#options) for changing how matches are performed
33547
+ * @return {Boolean} Returns true if all `patterns` matches all of the strings in `list`
33548
+ * @api public
33549
+ */ $fec3b4fc54d3756a$var$micromatch.every = (list, patterns, options)=>{
33550
+ let items = [].concat(list);
33551
+ for (let pattern of [].concat(patterns)){
33552
+ let isMatch = $2af609aa204f1181$exports(String(pattern), options);
33553
+ if (!items.every((item)=>isMatch(item))) return false;
33554
+ }
33555
+ return true;
33556
+ };
33557
+ /**
33558
+ * Returns true if **all** of the given `patterns` match
33559
+ * the specified string.
33560
+ *
33561
+ * ```js
33562
+ * const mm = require('micromatch');
33563
+ * // mm.all(string, patterns[, options]);
33564
+ *
33565
+ * console.log(mm.all('foo.js', ['foo.js']));
33566
+ * // true
33567
+ *
33568
+ * console.log(mm.all('foo.js', ['*.js', '!foo.js']));
33569
+ * // false
33570
+ *
33571
+ * console.log(mm.all('foo.js', ['*.js', 'foo.js']));
33572
+ * // true
33573
+ *
33574
+ * console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js']));
33575
+ * // true
33576
+ * ```
33577
+ * @param {String|Array} `str` The string to test.
33578
+ * @param {String|Array} `patterns` One or more glob patterns to use for matching.
33579
+ * @param {Object} `options` See available [options](#options) for changing how matches are performed
33580
+ * @return {Boolean} Returns true if any patterns match `str`
33581
+ * @api public
33582
+ */ $fec3b4fc54d3756a$var$micromatch.all = (str, patterns, options)=>{
33583
+ if (typeof str !== "string") throw new TypeError(`Expected a string: "${$8C1kk$util.inspect(str)}"`);
33584
+ return [].concat(patterns).every((p)=>$2af609aa204f1181$exports(p, options)(str));
33585
+ };
33586
+ /**
33587
+ * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match.
33588
+ *
33589
+ * ```js
33590
+ * const mm = require('micromatch');
33591
+ * // mm.capture(pattern, string[, options]);
33592
+ *
33593
+ * console.log(mm.capture('test/*.js', 'test/foo.js'));
33594
+ * //=> ['foo']
33595
+ * console.log(mm.capture('test/*.js', 'foo/bar.css'));
33596
+ * //=> null
33597
+ * ```
33598
+ * @param {String} `glob` Glob pattern to use for matching.
33599
+ * @param {String} `input` String to match
33600
+ * @param {Object} `options` See available [options](#options) for changing how matches are performed
33601
+ * @return {Array|null} Returns an array of captures if the input matches the glob pattern, otherwise `null`.
33602
+ * @api public
33603
+ */ $fec3b4fc54d3756a$var$micromatch.capture = (glob, input, options)=>{
33604
+ let posix = $5MQDC.isWindows(options);
33605
+ let regex = $2af609aa204f1181$exports.makeRe(String(glob), {
33606
+ ...options,
33607
+ capture: true
33608
+ });
33609
+ let match = regex.exec(posix ? $5MQDC.toPosixSlashes(input) : input);
33610
+ if (match) return match.slice(1).map((v)=>v === void 0 ? "" : v);
33611
+ };
33612
+ /**
33613
+ * Create a regular expression from the given glob `pattern`.
33614
+ *
33615
+ * ```js
33616
+ * const mm = require('micromatch');
33617
+ * // mm.makeRe(pattern[, options]);
33618
+ *
33619
+ * console.log(mm.makeRe('*.js'));
33620
+ * //=> /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/
33621
+ * ```
33622
+ * @param {String} `pattern` A glob pattern to convert to regex.
33623
+ * @param {Object} `options`
33624
+ * @return {RegExp} Returns a regex created from the given pattern.
33625
+ * @api public
33626
+ */ $fec3b4fc54d3756a$var$micromatch.makeRe = (...args)=>$2af609aa204f1181$exports.makeRe(...args);
33627
+ /**
33628
+ * Scan a glob pattern to separate the pattern into segments. Used
33629
+ * by the [split](#split) method.
33630
+ *
33631
+ * ```js
33632
+ * const mm = require('micromatch');
33633
+ * const state = mm.scan(pattern[, options]);
33634
+ * ```
33635
+ * @param {String} `pattern`
33636
+ * @param {Object} `options`
33637
+ * @return {Object} Returns an object with
33638
+ * @api public
33639
+ */ $fec3b4fc54d3756a$var$micromatch.scan = (...args)=>$2af609aa204f1181$exports.scan(...args);
33640
+ /**
33641
+ * Parse a glob pattern to create the source string for a regular
33642
+ * expression.
33643
+ *
33644
+ * ```js
33645
+ * const mm = require('micromatch');
33646
+ * const state = mm(pattern[, options]);
33647
+ * ```
33648
+ * @param {String} `glob`
33649
+ * @param {Object} `options`
33650
+ * @return {Object} Returns an object with useful properties and output to be used as regex source string.
33651
+ * @api public
33652
+ */ $fec3b4fc54d3756a$var$micromatch.parse = (patterns, options)=>{
33653
+ let res = [];
33654
+ for (let pattern of [].concat(patterns || []))for (let str of $fec07f13db1e462a$exports(String(pattern), options))res.push($2af609aa204f1181$exports.parse(str, options));
33655
+ return res;
33656
+ };
33657
+ /**
33658
+ * Process the given brace `pattern`.
33659
+ *
33660
+ * ```js
33661
+ * const { braces } = require('micromatch');
33662
+ * console.log(braces('foo/{a,b,c}/bar'));
33663
+ * //=> [ 'foo/(a|b|c)/bar' ]
33664
+ *
33665
+ * console.log(braces('foo/{a,b,c}/bar', { expand: true }));
33666
+ * //=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ]
33667
+ * ```
33668
+ * @param {String} `pattern` String with brace pattern to process.
33669
+ * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options.
33670
+ * @return {Array}
33671
+ * @api public
33672
+ */ $fec3b4fc54d3756a$var$micromatch.braces = (pattern, options)=>{
33673
+ if (typeof pattern !== "string") throw new TypeError("Expected a string");
33674
+ if (options && options.nobrace === true || !/\{.*\}/.test(pattern)) return [
33675
+ pattern
33676
+ ];
33677
+ return $fec07f13db1e462a$exports(pattern, options);
33678
+ };
33679
+ /**
33680
+ * Expand braces
33681
+ */ $fec3b4fc54d3756a$var$micromatch.braceExpand = (pattern, options)=>{
33682
+ if (typeof pattern !== "string") throw new TypeError("Expected a string");
33683
+ return $fec3b4fc54d3756a$var$micromatch.braces(pattern, {
33684
+ ...options,
33685
+ expand: true
33686
+ });
33687
+ };
33688
+ /**
33689
+ * Expose micromatch
33690
+ */ $fec3b4fc54d3756a$exports = $fec3b4fc54d3756a$var$micromatch;
33691
+
33052
33692
 
33053
33693
 
33054
33694
  function $e8d0e504a4244d84$export$f3a2344a73dbdd42(p) {
@@ -33079,7 +33719,7 @@ function $e8d0e504a4244d84$export$42275ba87174c828(p, fs, options) {
33079
33719
  }
33080
33720
  }
33081
33721
  }; // $FlowFixMe
33082
- return (0, (/*@__PURE__*/$parcel$interopDefault($b57e78be4f7a2622$exports))).sync((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(p), options);
33722
+ return (0, (/*@__PURE__*/$parcel$interopDefault($21b1b538e1d1be85$exports))).sync((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(p), options);
33083
33723
  }
33084
33724
  function $e8d0e504a4244d84$export$442f1a04865e4790(p, fs, options) {
33085
33725
  // $FlowFixMe
@@ -33115,7 +33755,7 @@ function $e8d0e504a4244d84$export$442f1a04865e4790(p, fs, options) {
33115
33755
  }
33116
33756
  }
33117
33757
  }; // $FlowFixMe Added in Flow 0.121.0 upgrade in #4381
33118
- return (0, (/*@__PURE__*/$parcel$interopDefault($b57e78be4f7a2622$exports)))((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(p), options);
33758
+ return (0, (/*@__PURE__*/$parcel$interopDefault($21b1b538e1d1be85$exports)))((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(p), options);
33119
33759
  }
33120
33760
 
33121
33761
 
@@ -33496,7 +34136,10 @@ async function $f02d6a9d30f55938$export$2e2bcd8739ae039(diagnostic, options, ter
33496
34136
  language: codeFrame.language || (filePath != null ? (0, ($parcel$interopDefault($8C1kk$path))).extname(filePath).substr(1) : undefined),
33497
34137
  terminalWidth: terminalWidth
33498
34138
  });
33499
- let location = typeof filePath !== "string" ? "" : `${filePath}:${highlights[0].start.line}:${highlights[0].start.column}`;
34139
+ let location;
34140
+ if (typeof filePath !== "string") location = "";
34141
+ else if (highlights.length === 0) location = filePath;
34142
+ else location = `${filePath}:${highlights[0].start.line}:${highlights[0].start.column}`;
33500
34143
  result.codeframe += location ? (0, ($parcel$interopDefault($8C1kk$chalk))).gray.underline(location) + "\n" : "";
33501
34144
  result.codeframe += formattedCodeFrame;
33502
34145
  if (codeFrame !== codeFrames[codeFrames.length - 1]) result.codeframe += "\n\n";
@@ -36338,7 +36981,7 @@ function $4b14026b40817fca$export$42462553d605d8cd(fs, filePath) {
36338
36981
  }
36339
36982
 
36340
36983
 
36341
- /* global MessageChannel:readonly */ let $1c93db5abaa33eaa$export$8b1c306fed4227bf; // $FlowFixMe[prop-missing]
36984
+ let $1c93db5abaa33eaa$export$8b1c306fed4227bf; // $FlowFixMe[prop-missing]
36342
36985
  if (process.browser) {
36343
36986
  $1c93db5abaa33eaa$export$8b1c306fed4227bf = ArrayBuffer; // Safari has removed the constructor
36344
36987
  if (typeof SharedArrayBuffer !== "undefined") {