@betty-blocks/cli 25.109.0-beta.1 → 26.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/assets/app-functions/wasm-template/.wasm-functions +0 -0
  2. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.lock +449 -0
  3. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.toml +10 -0
  4. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Justfile +6 -0
  5. package/assets/app-functions/wasm-template/functions/say-hello/1.0/function.json +35 -0
  6. package/assets/app-functions/wasm-template/functions/say-hello/1.0/src/lib.rs +19 -0
  7. package/assets/app-functions/wasm-template/functions/say-hello/1.0/wit/world.wit +13 -0
  8. package/build/src/bb-blocks-new.js +5361 -2181
  9. package/build/src/bb-blocks-publish.js +11493 -18303
  10. package/build/src/bb-blocks-release.js +65 -46
  11. package/build/src/bb-blocks.js +32 -32
  12. package/build/src/bb-bundle-init.js +1542 -912
  13. package/build/src/bb-bundle.js +35 -32
  14. package/build/src/bb-components-build.js +34965 -7598
  15. package/build/src/bb-components-create.js +1542 -912
  16. package/build/src/bb-components-generate.js +1542 -912
  17. package/build/src/bb-components-publish-bundle.js +1519 -889
  18. package/build/src/bb-components-publish.js +1522 -892
  19. package/build/src/bb-components-serve.js +1524 -894
  20. package/build/src/bb-components.js +32 -32
  21. package/build/src/bb-functions-bump.js +6047 -2733
  22. package/build/src/bb-functions-init.js +100 -593
  23. package/build/src/bb-functions-login.js +65 -46
  24. package/build/src/bb-functions-logout.js +65 -46
  25. package/build/src/bb-functions-new.js +5464 -2195
  26. package/build/src/bb-functions-publish.js +15134 -76022
  27. package/build/src/bb-functions-validate.js +7262 -3950
  28. package/build/src/bb-functions.js +35 -37
  29. package/build/src/bb.js +76 -74
  30. package/package.json +41 -42
  31. package/assets/app-functions/templates/test/helpers.js +0 -3
  32. package/assets/app-functions/templates/test/say-hello.test.js +0 -4
  33. package/assets/functions/packer/package.json +0 -9
  34. package/assets/functions/packer/webpack.config.js +0 -12
  35. package/assets/functions/templates/functions.json +0 -14
  36. package/assets/functions/templates/package.json +0 -11
  37. package/assets/functions/templates/src/all-users.js +0 -14
  38. package/assets/functions/templates/src/get-json.js +0 -9
  39. package/assets/functions/templates/src/index.js +0 -5
  40. package/assets/functions/templates/src/say-hello.js +0 -13
  41. package/build/src/bb-functions-build.js +0 -4285
  42. package/src/bb.ts +0 -31
  43. /package/assets/app-functions/{templates → js-template}/.app-functions +0 -0
  44. /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/function.json +0 -0
  45. /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/index.js +0 -0
  46. /package/assets/app-functions/{templates → js-template}/package.json +0 -0
@@ -78,7 +78,7 @@ var require_argument = __commonJS((exports) => {
78
78
  this._name = name;
79
79
  break;
80
80
  }
81
- if (this._name.length > 3 && this._name.slice(-3) === "...") {
81
+ if (this._name.endsWith("...")) {
82
82
  this.variadic = true;
83
83
  this._name = this._name.slice(0, -3);
84
84
  }
@@ -86,11 +86,12 @@ var require_argument = __commonJS((exports) => {
86
86
  name() {
87
87
  return this._name;
88
88
  }
89
- _concatValue(value, previous) {
89
+ _collectValue(value, previous) {
90
90
  if (previous === this.defaultValue || !Array.isArray(previous)) {
91
91
  return [value];
92
92
  }
93
- return previous.concat(value);
93
+ previous.push(value);
94
+ return previous;
94
95
  }
95
96
  default(value, description) {
96
97
  this.defaultValue = value;
@@ -108,7 +109,7 @@ var require_argument = __commonJS((exports) => {
108
109
  throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(", ")}.`);
109
110
  }
110
111
  if (this.variadic) {
111
- return this._concatValue(arg, previous);
112
+ return this._collectValue(arg, previous);
112
113
  }
113
114
  return arg;
114
115
  };
@@ -555,11 +556,12 @@ var require_option = __commonJS((exports) => {
555
556
  this.hidden = !!hide;
556
557
  return this;
557
558
  }
558
- _concatValue(value, previous) {
559
+ _collectValue(value, previous) {
559
560
  if (previous === this.defaultValue || !Array.isArray(previous)) {
560
561
  return [value];
561
562
  }
562
- return previous.concat(value);
563
+ previous.push(value);
564
+ return previous;
563
565
  }
564
566
  choices(values) {
565
567
  this.argChoices = values.slice();
@@ -568,7 +570,7 @@ var require_option = __commonJS((exports) => {
568
570
  throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(", ")}.`);
569
571
  }
570
572
  if (this.variadic) {
571
- return this._concatValue(arg, previous);
573
+ return this._collectValue(arg, previous);
572
574
  }
573
575
  return arg;
574
576
  };
@@ -874,7 +876,10 @@ var require_command = __commonJS((exports) => {
874
876
  configureOutput(configuration) {
875
877
  if (configuration === undefined)
876
878
  return this._outputConfiguration;
877
- this._outputConfiguration = Object.assign({}, this._outputConfiguration, configuration);
879
+ this._outputConfiguration = {
880
+ ...this._outputConfiguration,
881
+ ...configuration
882
+ };
878
883
  return this;
879
884
  }
880
885
  showHelpAfterError(displayHelp = true) {
@@ -923,7 +928,7 @@ var require_command = __commonJS((exports) => {
923
928
  }
924
929
  addArgument(argument) {
925
930
  const previousArgument = this.registeredArguments.slice(-1)[0];
926
- if (previousArgument && previousArgument.variadic) {
931
+ if (previousArgument?.variadic) {
927
932
  throw new Error(`only the last argument can be variadic '${previousArgument.name()}'`);
928
933
  }
929
934
  if (argument.required && argument.defaultValue !== undefined && argument.parseArg === undefined) {
@@ -1078,7 +1083,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1078
1083
  if (val !== null && option.parseArg) {
1079
1084
  val = this._callParseArg(option, val, oldValue, invalidValueMessage);
1080
1085
  } else if (val !== null && option.variadic) {
1081
- val = option._concatValue(val, oldValue);
1086
+ val = option._collectValue(val, oldValue);
1082
1087
  }
1083
1088
  if (val == null) {
1084
1089
  if (option.negate) {
@@ -1453,7 +1458,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1453
1458
  this.processedArgs = processedArgs;
1454
1459
  }
1455
1460
  _chainOrCall(promise, fn) {
1456
- if (promise && promise.then && typeof promise.then === "function") {
1461
+ if (promise?.then && typeof promise.then === "function") {
1457
1462
  return promise.then(() => fn());
1458
1463
  }
1459
1464
  return fn();
@@ -1530,7 +1535,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1530
1535
  promiseChain = this._chainOrCallHooks(promiseChain, "postAction");
1531
1536
  return promiseChain;
1532
1537
  }
1533
- if (this.parent && this.parent.listenerCount(commandEvent)) {
1538
+ if (this.parent?.listenerCount(commandEvent)) {
1534
1539
  checkForUnknownOptions();
1535
1540
  this._processArguments();
1536
1541
  this.parent.emit(commandEvent, operands, unknown);
@@ -1592,11 +1597,10 @@ Expecting one of '${allowedValues.join("', '")}'`);
1592
1597
  cmd._checkForConflictingLocalOptions();
1593
1598
  });
1594
1599
  }
1595
- parseOptions(argv) {
1600
+ parseOptions(args) {
1596
1601
  const operands = [];
1597
1602
  const unknown = [];
1598
1603
  let dest = operands;
1599
- const args = argv.slice();
1600
1604
  function maybeOption(arg) {
1601
1605
  return arg.length > 1 && arg[0] === "-";
1602
1606
  }
@@ -1606,12 +1610,15 @@ Expecting one of '${allowedValues.join("', '")}'`);
1606
1610
  return !this._getCommandAndAncestors().some((cmd) => cmd.options.map((opt) => opt.short).some((short) => /^-\d$/.test(short)));
1607
1611
  };
1608
1612
  let activeVariadicOption = null;
1609
- while (args.length) {
1610
- const arg = args.shift();
1613
+ let activeGroup = null;
1614
+ let i = 0;
1615
+ while (i < args.length || activeGroup) {
1616
+ const arg = activeGroup ?? args[i++];
1617
+ activeGroup = null;
1611
1618
  if (arg === "--") {
1612
1619
  if (dest === unknown)
1613
1620
  dest.push(arg);
1614
- dest.push(...args);
1621
+ dest.push(...args.slice(i));
1615
1622
  break;
1616
1623
  }
1617
1624
  if (activeVariadicOption && (!maybeOption(arg) || negativeNumberArg(arg))) {
@@ -1623,14 +1630,14 @@ Expecting one of '${allowedValues.join("', '")}'`);
1623
1630
  const option = this._findOption(arg);
1624
1631
  if (option) {
1625
1632
  if (option.required) {
1626
- const value = args.shift();
1633
+ const value = args[i++];
1627
1634
  if (value === undefined)
1628
1635
  this.optionMissingArgument(option);
1629
1636
  this.emit(`option:${option.name()}`, value);
1630
1637
  } else if (option.optional) {
1631
1638
  let value = null;
1632
- if (args.length > 0 && (!maybeOption(args[0]) || negativeNumberArg(args[0]))) {
1633
- value = args.shift();
1639
+ if (i < args.length && (!maybeOption(args[i]) || negativeNumberArg(args[i]))) {
1640
+ value = args[i++];
1634
1641
  }
1635
1642
  this.emit(`option:${option.name()}`, value);
1636
1643
  } else {
@@ -1647,7 +1654,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1647
1654
  this.emit(`option:${option.name()}`, arg.slice(2));
1648
1655
  } else {
1649
1656
  this.emit(`option:${option.name()}`);
1650
- args.unshift(`-${arg.slice(2)}`);
1657
+ activeGroup = `-${arg.slice(2)}`;
1651
1658
  }
1652
1659
  continue;
1653
1660
  }
@@ -1666,25 +1673,18 @@ Expecting one of '${allowedValues.join("', '")}'`);
1666
1673
  if ((this._enablePositionalOptions || this._passThroughOptions) && operands.length === 0 && unknown.length === 0) {
1667
1674
  if (this._findCommand(arg)) {
1668
1675
  operands.push(arg);
1669
- if (args.length > 0)
1670
- unknown.push(...args);
1676
+ unknown.push(...args.slice(i));
1671
1677
  break;
1672
1678
  } else if (this._getHelpCommand() && arg === this._getHelpCommand().name()) {
1673
- operands.push(arg);
1674
- if (args.length > 0)
1675
- operands.push(...args);
1679
+ operands.push(arg, ...args.slice(i));
1676
1680
  break;
1677
1681
  } else if (this._defaultCommandName) {
1678
- unknown.push(arg);
1679
- if (args.length > 0)
1680
- unknown.push(...args);
1682
+ unknown.push(arg, ...args.slice(i));
1681
1683
  break;
1682
1684
  }
1683
1685
  }
1684
1686
  if (this._passThroughOptions) {
1685
- dest.push(arg);
1686
- if (args.length > 0)
1687
- dest.push(...args);
1687
+ dest.push(arg, ...args.slice(i));
1688
1688
  break;
1689
1689
  }
1690
1690
  dest.push(arg);
@@ -2347,7 +2347,7 @@ var require_brace_expansion = __commonJS((exports, module) => {
2347
2347
  }
2348
2348
  });
2349
2349
 
2350
- // node_modules/serve-handler/node_modules/minimatch/minimatch.js
2350
+ // node_modules/minimatch/minimatch.js
2351
2351
  var require_minimatch = __commonJS((exports, module) => {
2352
2352
  module.exports = minimatch;
2353
2353
  minimatch.Minimatch = Minimatch;
@@ -3185,7 +3185,7 @@ var require_path_to_regexp = __commonJS((exports, module) => {
3185
3185
  }
3186
3186
  });
3187
3187
 
3188
- // node_modules/serve-handler/node_modules/mime-types/node_modules/mime-db/db.json
3188
+ // node_modules/mime-db/db.json
3189
3189
  var require_db = __commonJS((exports, module) => {
3190
3190
  module.exports = {
3191
3191
  "application/1d-interleaved-parityfec": {
@@ -10277,7 +10277,7 @@ var require_db = __commonJS((exports, module) => {
10277
10277
  };
10278
10278
  });
10279
10279
 
10280
- // node_modules/serve-handler/node_modules/mime-types/node_modules/mime-db/index.js
10280
+ // node_modules/mime-db/index.js
10281
10281
  var require_mime_db = __commonJS((exports, module) => {
10282
10282
  /*!
10283
10283
  * mime-db
@@ -10287,7 +10287,7 @@ var require_mime_db = __commonJS((exports, module) => {
10287
10287
  module.exports = require_db();
10288
10288
  });
10289
10289
 
10290
- // node_modules/serve-handler/node_modules/mime-types/index.js
10290
+ // node_modules/mime-types/index.js
10291
10291
  var require_mime_types = __commonJS((exports) => {
10292
10292
  /*!
10293
10293
  * mime-types
@@ -12515,6 +12515,23 @@ var require_stat = __commonJS((exports, module) => {
12515
12515
  };
12516
12516
  });
12517
12517
 
12518
+ // node_modules/fs-extra/lib/util/async.js
12519
+ var require_async = __commonJS((exports, module) => {
12520
+ async function asyncIteratorConcurrentProcess(iterator, fn) {
12521
+ const promises = [];
12522
+ for await (const item of iterator) {
12523
+ promises.push(fn(item).then(() => null, (err) => err ?? new Error("unknown error")));
12524
+ }
12525
+ await Promise.all(promises.map((promise) => promise.then((possibleErr) => {
12526
+ if (possibleErr !== null)
12527
+ throw possibleErr;
12528
+ })));
12529
+ }
12530
+ module.exports = {
12531
+ asyncIteratorConcurrentProcess
12532
+ };
12533
+ });
12534
+
12518
12535
  // node_modules/fs-extra/lib/copy/copy.js
12519
12536
  var require_copy = __commonJS((exports, module) => {
12520
12537
  var fs = require_fs();
@@ -12523,6 +12540,7 @@ var require_copy = __commonJS((exports, module) => {
12523
12540
  var { pathExists } = require_path_exists();
12524
12541
  var { utimesMillis } = require_utimes();
12525
12542
  var stat = require_stat();
12543
+ var { asyncIteratorConcurrentProcess } = require_async();
12526
12544
  async function copy(src, dest, opts = {}) {
12527
12545
  if (typeof opts === "function") {
12528
12546
  opts = { filter: opts };
@@ -12598,19 +12616,15 @@ var require_copy = __commonJS((exports, module) => {
12598
12616
  if (!destStat) {
12599
12617
  await fs.mkdir(dest);
12600
12618
  }
12601
- const promises = [];
12602
- for await (const item of await fs.opendir(src)) {
12619
+ await asyncIteratorConcurrentProcess(await fs.opendir(src), async (item) => {
12603
12620
  const srcItem = path.join(src, item.name);
12604
12621
  const destItem = path.join(dest, item.name);
12605
- promises.push(runFilter(srcItem, destItem, opts).then((include) => {
12606
- if (include) {
12607
- return stat.checkPaths(srcItem, destItem, "copy", opts).then(({ destStat: destStat2 }) => {
12608
- return getStatsAndPerformCopy(destStat2, srcItem, destItem, opts);
12609
- });
12610
- }
12611
- }));
12612
- }
12613
- await Promise.all(promises);
12622
+ const include = await runFilter(srcItem, destItem, opts);
12623
+ if (include) {
12624
+ const { destStat: destStat2 } = await stat.checkPaths(srcItem, destItem, "copy", opts);
12625
+ await getStatsAndPerformCopy(destStat2, srcItem, destItem, opts);
12626
+ }
12627
+ });
12614
12628
  if (!destStat) {
12615
12629
  await fs.chmod(dest, srcStat.mode);
12616
12630
  }
@@ -13226,13 +13240,12 @@ var require_jsonfile = __commonJS((exports, module) => {
13226
13240
  const str = stringify(obj, options);
13227
13241
  return fs.writeFileSync(file, str, options);
13228
13242
  }
13229
- var jsonfile = {
13243
+ module.exports = {
13230
13244
  readFile,
13231
13245
  readFileSync,
13232
13246
  writeFile,
13233
13247
  writeFileSync
13234
13248
  };
13235
- module.exports = jsonfile;
13236
13249
  });
13237
13250
 
13238
13251
  // node_modules/fs-extra/lib/json/jsonfile.js
@@ -13438,518 +13451,653 @@ var require_lib = __commonJS((exports, module) => {
13438
13451
  };
13439
13452
  });
13440
13453
 
13441
- // node_modules/semver/semver.js
13442
- var require_semver = __commonJS((exports, module) => {
13443
- exports = module.exports = SemVer;
13444
- var debug;
13445
- if (typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
13446
- debug = function() {
13447
- var args = Array.prototype.slice.call(arguments, 0);
13448
- args.unshift("SEMVER");
13449
- console.log.apply(console, args);
13450
- };
13451
- } else {
13452
- debug = function() {};
13453
- }
13454
- exports.SEMVER_SPEC_VERSION = "2.0.0";
13454
+ // node_modules/semver/internal/constants.js
13455
+ var require_constants = __commonJS((exports, module) => {
13456
+ var SEMVER_SPEC_VERSION = "2.0.0";
13455
13457
  var MAX_LENGTH = 256;
13456
13458
  var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
13457
13459
  var MAX_SAFE_COMPONENT_LENGTH = 16;
13458
13460
  var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
13461
+ var RELEASE_TYPES = [
13462
+ "major",
13463
+ "premajor",
13464
+ "minor",
13465
+ "preminor",
13466
+ "patch",
13467
+ "prepatch",
13468
+ "prerelease"
13469
+ ];
13470
+ module.exports = {
13471
+ MAX_LENGTH,
13472
+ MAX_SAFE_COMPONENT_LENGTH,
13473
+ MAX_SAFE_BUILD_LENGTH,
13474
+ MAX_SAFE_INTEGER,
13475
+ RELEASE_TYPES,
13476
+ SEMVER_SPEC_VERSION,
13477
+ FLAG_INCLUDE_PRERELEASE: 1,
13478
+ FLAG_LOOSE: 2
13479
+ };
13480
+ });
13481
+
13482
+ // node_modules/semver/internal/debug.js
13483
+ var require_debug = __commonJS((exports, module) => {
13484
+ var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {};
13485
+ module.exports = debug;
13486
+ });
13487
+
13488
+ // node_modules/semver/internal/re.js
13489
+ var require_re = __commonJS((exports, module) => {
13490
+ var {
13491
+ MAX_SAFE_COMPONENT_LENGTH,
13492
+ MAX_SAFE_BUILD_LENGTH,
13493
+ MAX_LENGTH
13494
+ } = require_constants();
13495
+ var debug = require_debug();
13496
+ exports = module.exports = {};
13459
13497
  var re = exports.re = [];
13460
13498
  var safeRe = exports.safeRe = [];
13461
13499
  var src = exports.src = [];
13462
- var t = exports.tokens = {};
13500
+ var safeSrc = exports.safeSrc = [];
13501
+ var t = exports.t = {};
13463
13502
  var R = 0;
13464
- function tok(n) {
13465
- t[n] = R++;
13466
- }
13467
13503
  var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
13468
13504
  var safeRegexReplacements = [
13469
13505
  ["\\s", 1],
13470
13506
  ["\\d", MAX_LENGTH],
13471
13507
  [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
13472
13508
  ];
13473
- function makeSafeRe(value) {
13474
- for (var i2 = 0;i2 < safeRegexReplacements.length; i2++) {
13475
- var token = safeRegexReplacements[i2][0];
13476
- var max = safeRegexReplacements[i2][1];
13477
- value = value.split(token + "*").join(token + "{0," + max + "}").split(token + "+").join(token + "{1," + max + "}");
13509
+ var makeSafeRegex = (value) => {
13510
+ for (const [token, max] of safeRegexReplacements) {
13511
+ value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
13478
13512
  }
13479
13513
  return value;
13480
- }
13481
- tok("NUMERICIDENTIFIER");
13482
- src[t.NUMERICIDENTIFIER] = "0|[1-9]\\d*";
13483
- tok("NUMERICIDENTIFIERLOOSE");
13484
- src[t.NUMERICIDENTIFIERLOOSE] = "\\d+";
13485
- tok("NONNUMERICIDENTIFIER");
13486
- src[t.NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-]" + LETTERDASHNUMBER + "*";
13487
- tok("MAINVERSION");
13488
- src[t.MAINVERSION] = "(" + src[t.NUMERICIDENTIFIER] + ")\\." + "(" + src[t.NUMERICIDENTIFIER] + ")\\." + "(" + src[t.NUMERICIDENTIFIER] + ")";
13489
- tok("MAINVERSIONLOOSE");
13490
- src[t.MAINVERSIONLOOSE] = "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\." + "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\." + "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")";
13491
- tok("PRERELEASEIDENTIFIER");
13492
- src[t.PRERELEASEIDENTIFIER] = "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
13493
- tok("PRERELEASEIDENTIFIERLOOSE");
13494
- src[t.PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
13495
- tok("PRERELEASE");
13496
- src[t.PRERELEASE] = "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))";
13497
- tok("PRERELEASELOOSE");
13498
- src[t.PRERELEASELOOSE] = "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))";
13499
- tok("BUILDIDENTIFIER");
13500
- src[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + "+";
13501
- tok("BUILD");
13502
- src[t.BUILD] = "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))";
13503
- tok("FULL");
13504
- tok("FULLPLAIN");
13505
- src[t.FULLPLAIN] = "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?";
13506
- src[t.FULL] = "^" + src[t.FULLPLAIN] + "$";
13507
- tok("LOOSEPLAIN");
13508
- src[t.LOOSEPLAIN] = "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?";
13509
- tok("LOOSE");
13510
- src[t.LOOSE] = "^" + src[t.LOOSEPLAIN] + "$";
13511
- tok("GTLT");
13512
- src[t.GTLT] = "((?:<|>)?=?)";
13513
- tok("XRANGEIDENTIFIERLOOSE");
13514
- src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*";
13515
- tok("XRANGEIDENTIFIER");
13516
- src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + "|x|X|\\*";
13517
- tok("XRANGEPLAIN");
13518
- src[t.XRANGEPLAIN] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")" + "(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")" + "(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")" + "(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?" + ")?)?";
13519
- tok("XRANGEPLAINLOOSE");
13520
- src[t.XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + "(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + "(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + "(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?" + ")?)?";
13521
- tok("XRANGE");
13522
- src[t.XRANGE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$";
13523
- tok("XRANGELOOSE");
13524
- src[t.XRANGELOOSE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$";
13525
- tok("COERCE");
13526
- src[t.COERCE] = "(^|[^\\d])" + "(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "})" + "(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?" + "(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?" + "(?:$|[^\\d])";
13527
- tok("COERCERTL");
13528
- re[t.COERCERTL] = new RegExp(src[t.COERCE], "g");
13529
- safeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), "g");
13530
- tok("LONETILDE");
13531
- src[t.LONETILDE] = "(?:~>?)";
13532
- tok("TILDETRIM");
13533
- src[t.TILDETRIM] = "(\\s*)" + src[t.LONETILDE] + "\\s+";
13534
- re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], "g");
13535
- safeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), "g");
13536
- var tildeTrimReplace = "$1~";
13537
- tok("TILDE");
13538
- src[t.TILDE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$";
13539
- tok("TILDELOOSE");
13540
- src[t.TILDELOOSE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$";
13541
- tok("LONECARET");
13542
- src[t.LONECARET] = "(?:\\^)";
13543
- tok("CARETTRIM");
13544
- src[t.CARETTRIM] = "(\\s*)" + src[t.LONECARET] + "\\s+";
13545
- re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], "g");
13546
- safeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), "g");
13547
- var caretTrimReplace = "$1^";
13548
- tok("CARET");
13549
- src[t.CARET] = "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$";
13550
- tok("CARETLOOSE");
13551
- src[t.CARETLOOSE] = "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$";
13552
- tok("COMPARATORLOOSE");
13553
- src[t.COMPARATORLOOSE] = "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$";
13554
- tok("COMPARATOR");
13555
- src[t.COMPARATOR] = "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$";
13556
- tok("COMPARATORTRIM");
13557
- src[t.COMPARATORTRIM] = "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")";
13558
- re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], "g");
13559
- safeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), "g");
13560
- var comparatorTrimReplace = "$1$2$3";
13561
- tok("HYPHENRANGE");
13562
- src[t.HYPHENRANGE] = "^\\s*(" + src[t.XRANGEPLAIN] + ")" + "\\s+-\\s+" + "(" + src[t.XRANGEPLAIN] + ")" + "\\s*$";
13563
- tok("HYPHENRANGELOOSE");
13564
- src[t.HYPHENRANGELOOSE] = "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")" + "\\s+-\\s+" + "(" + src[t.XRANGEPLAINLOOSE] + ")" + "\\s*$";
13565
- tok("STAR");
13566
- src[t.STAR] = "(<|>)?=?\\s*\\*";
13567
- for (i = 0;i < R; i++) {
13568
- debug(i, src[i]);
13569
- if (!re[i]) {
13570
- re[i] = new RegExp(src[i]);
13571
- safeRe[i] = new RegExp(makeSafeRe(src[i]));
13572
- }
13573
- }
13574
- var i;
13575
- exports.parse = parse;
13576
- function parse(version, options) {
13577
- if (!options || typeof options !== "object") {
13578
- options = {
13579
- loose: !!options,
13580
- includePrerelease: false
13581
- };
13582
- }
13583
- if (version instanceof SemVer) {
13584
- return version;
13585
- }
13586
- if (typeof version !== "string") {
13587
- return null;
13588
- }
13589
- if (version.length > MAX_LENGTH) {
13590
- return null;
13591
- }
13592
- var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL];
13593
- if (!r.test(version)) {
13594
- return null;
13514
+ };
13515
+ var createToken = (name, value, isGlobal) => {
13516
+ const safe = makeSafeRegex(value);
13517
+ const index = R++;
13518
+ debug(name, index, value);
13519
+ t[name] = index;
13520
+ src[index] = value;
13521
+ safeSrc[index] = safe;
13522
+ re[index] = new RegExp(value, isGlobal ? "g" : undefined);
13523
+ safeRe[index] = new RegExp(safe, isGlobal ? "g" : undefined);
13524
+ };
13525
+ createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
13526
+ createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
13527
+ createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
13528
+ createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})`);
13529
+ createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`);
13530
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
13531
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
13532
+ createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
13533
+ createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
13534
+ createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
13535
+ createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
13536
+ createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
13537
+ createToken("FULL", `^${src[t.FULLPLAIN]}$`);
13538
+ createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
13539
+ createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
13540
+ createToken("GTLT", "((?:<|>)?=?)");
13541
+ createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
13542
+ createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
13543
+ createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?` + `)?)?`);
13544
+ createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?` + `)?)?`);
13545
+ createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
13546
+ createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
13547
+ createToken("COERCEPLAIN", `${"(^|[^\\d])" + "(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
13548
+ createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
13549
+ createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?` + `(?:${src[t.BUILD]})?` + `(?:$|[^\\d])`);
13550
+ createToken("COERCERTL", src[t.COERCE], true);
13551
+ createToken("COERCERTLFULL", src[t.COERCEFULL], true);
13552
+ createToken("LONETILDE", "(?:~>?)");
13553
+ createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
13554
+ exports.tildeTrimReplace = "$1~";
13555
+ createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
13556
+ createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
13557
+ createToken("LONECARET", "(?:\\^)");
13558
+ createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
13559
+ exports.caretTrimReplace = "$1^";
13560
+ createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
13561
+ createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
13562
+ createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
13563
+ createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
13564
+ createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
13565
+ exports.comparatorTrimReplace = "$1$2$3";
13566
+ createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAIN]})` + `\\s*$`);
13567
+ createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAINLOOSE]})` + `\\s*$`);
13568
+ createToken("STAR", "(<|>)?=?\\s*\\*");
13569
+ createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
13570
+ createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
13571
+ });
13572
+
13573
+ // node_modules/semver/internal/parse-options.js
13574
+ var require_parse_options = __commonJS((exports, module) => {
13575
+ var looseOption = Object.freeze({ loose: true });
13576
+ var emptyOpts = Object.freeze({});
13577
+ var parseOptions = (options) => {
13578
+ if (!options) {
13579
+ return emptyOpts;
13595
13580
  }
13596
- try {
13597
- return new SemVer(version, options);
13598
- } catch (er) {
13599
- return null;
13581
+ if (typeof options !== "object") {
13582
+ return looseOption;
13600
13583
  }
13601
- }
13602
- exports.valid = valid;
13603
- function valid(version, options) {
13604
- var v = parse(version, options);
13605
- return v ? v.version : null;
13606
- }
13607
- exports.clean = clean;
13608
- function clean(version, options) {
13609
- var s = parse(version.trim().replace(/^[=v]+/, ""), options);
13610
- return s ? s.version : null;
13611
- }
13612
- exports.SemVer = SemVer;
13613
- function SemVer(version, options) {
13614
- if (!options || typeof options !== "object") {
13615
- options = {
13616
- loose: !!options,
13617
- includePrerelease: false
13618
- };
13584
+ return options;
13585
+ };
13586
+ module.exports = parseOptions;
13587
+ });
13588
+
13589
+ // node_modules/semver/internal/identifiers.js
13590
+ var require_identifiers = __commonJS((exports, module) => {
13591
+ var numeric = /^[0-9]+$/;
13592
+ var compareIdentifiers = (a, b) => {
13593
+ const anum = numeric.test(a);
13594
+ const bnum = numeric.test(b);
13595
+ if (anum && bnum) {
13596
+ a = +a;
13597
+ b = +b;
13619
13598
  }
13620
- if (version instanceof SemVer) {
13621
- if (version.loose === options.loose) {
13622
- return version;
13599
+ return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
13600
+ };
13601
+ var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
13602
+ module.exports = {
13603
+ compareIdentifiers,
13604
+ rcompareIdentifiers
13605
+ };
13606
+ });
13607
+
13608
+ // node_modules/semver/classes/semver.js
13609
+ var require_semver = __commonJS((exports, module) => {
13610
+ var debug = require_debug();
13611
+ var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
13612
+ var { safeRe: re, t } = require_re();
13613
+ var parseOptions = require_parse_options();
13614
+ var { compareIdentifiers } = require_identifiers();
13615
+
13616
+ class SemVer {
13617
+ constructor(version, options) {
13618
+ options = parseOptions(options);
13619
+ if (version instanceof SemVer) {
13620
+ if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
13621
+ return version;
13622
+ } else {
13623
+ version = version.version;
13624
+ }
13625
+ } else if (typeof version !== "string") {
13626
+ throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
13627
+ }
13628
+ if (version.length > MAX_LENGTH) {
13629
+ throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);
13630
+ }
13631
+ debug("SemVer", version, options);
13632
+ this.options = options;
13633
+ this.loose = !!options.loose;
13634
+ this.includePrerelease = !!options.includePrerelease;
13635
+ const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
13636
+ if (!m) {
13637
+ throw new TypeError(`Invalid Version: ${version}`);
13638
+ }
13639
+ this.raw = version;
13640
+ this.major = +m[1];
13641
+ this.minor = +m[2];
13642
+ this.patch = +m[3];
13643
+ if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
13644
+ throw new TypeError("Invalid major version");
13645
+ }
13646
+ if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
13647
+ throw new TypeError("Invalid minor version");
13648
+ }
13649
+ if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
13650
+ throw new TypeError("Invalid patch version");
13651
+ }
13652
+ if (!m[4]) {
13653
+ this.prerelease = [];
13623
13654
  } else {
13624
- version = version.version;
13655
+ this.prerelease = m[4].split(".").map((id) => {
13656
+ if (/^[0-9]+$/.test(id)) {
13657
+ const num = +id;
13658
+ if (num >= 0 && num < MAX_SAFE_INTEGER) {
13659
+ return num;
13660
+ }
13661
+ }
13662
+ return id;
13663
+ });
13625
13664
  }
13626
- } else if (typeof version !== "string") {
13627
- throw new TypeError("Invalid Version: " + version);
13665
+ this.build = m[5] ? m[5].split(".") : [];
13666
+ this.format();
13628
13667
  }
13629
- if (version.length > MAX_LENGTH) {
13630
- throw new TypeError("version is longer than " + MAX_LENGTH + " characters");
13668
+ format() {
13669
+ this.version = `${this.major}.${this.minor}.${this.patch}`;
13670
+ if (this.prerelease.length) {
13671
+ this.version += `-${this.prerelease.join(".")}`;
13672
+ }
13673
+ return this.version;
13631
13674
  }
13632
- if (!(this instanceof SemVer)) {
13633
- return new SemVer(version, options);
13675
+ toString() {
13676
+ return this.version;
13634
13677
  }
13635
- debug("SemVer", version, options);
13636
- this.options = options;
13637
- this.loose = !!options.loose;
13638
- var m = version.trim().match(options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL]);
13639
- if (!m) {
13640
- throw new TypeError("Invalid Version: " + version);
13641
- }
13642
- this.raw = version;
13643
- this.major = +m[1];
13644
- this.minor = +m[2];
13645
- this.patch = +m[3];
13646
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
13647
- throw new TypeError("Invalid major version");
13648
- }
13649
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
13650
- throw new TypeError("Invalid minor version");
13651
- }
13652
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
13653
- throw new TypeError("Invalid patch version");
13654
- }
13655
- if (!m[4]) {
13656
- this.prerelease = [];
13657
- } else {
13658
- this.prerelease = m[4].split(".").map(function(id) {
13659
- if (/^[0-9]+$/.test(id)) {
13660
- var num = +id;
13661
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
13662
- return num;
13663
- }
13678
+ compare(other) {
13679
+ debug("SemVer.compare", this.version, this.options, other);
13680
+ if (!(other instanceof SemVer)) {
13681
+ if (typeof other === "string" && other === this.version) {
13682
+ return 0;
13664
13683
  }
13665
- return id;
13666
- });
13667
- }
13668
- this.build = m[5] ? m[5].split(".") : [];
13669
- this.format();
13670
- }
13671
- SemVer.prototype.format = function() {
13672
- this.version = this.major + "." + this.minor + "." + this.patch;
13673
- if (this.prerelease.length) {
13674
- this.version += "-" + this.prerelease.join(".");
13675
- }
13676
- return this.version;
13677
- };
13678
- SemVer.prototype.toString = function() {
13679
- return this.version;
13680
- };
13681
- SemVer.prototype.compare = function(other) {
13682
- debug("SemVer.compare", this.version, this.options, other);
13683
- if (!(other instanceof SemVer)) {
13684
- other = new SemVer(other, this.options);
13685
- }
13686
- return this.compareMain(other) || this.comparePre(other);
13687
- };
13688
- SemVer.prototype.compareMain = function(other) {
13689
- if (!(other instanceof SemVer)) {
13690
- other = new SemVer(other, this.options);
13691
- }
13692
- return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
13693
- };
13694
- SemVer.prototype.comparePre = function(other) {
13695
- if (!(other instanceof SemVer)) {
13696
- other = new SemVer(other, this.options);
13684
+ other = new SemVer(other, this.options);
13685
+ }
13686
+ if (other.version === this.version) {
13687
+ return 0;
13688
+ }
13689
+ return this.compareMain(other) || this.comparePre(other);
13697
13690
  }
13698
- if (this.prerelease.length && !other.prerelease.length) {
13699
- return -1;
13700
- } else if (!this.prerelease.length && other.prerelease.length) {
13701
- return 1;
13702
- } else if (!this.prerelease.length && !other.prerelease.length) {
13703
- return 0;
13691
+ compareMain(other) {
13692
+ if (!(other instanceof SemVer)) {
13693
+ other = new SemVer(other, this.options);
13694
+ }
13695
+ return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
13704
13696
  }
13705
- var i2 = 0;
13706
- do {
13707
- var a = this.prerelease[i2];
13708
- var b = other.prerelease[i2];
13709
- debug("prerelease compare", i2, a, b);
13710
- if (a === undefined && b === undefined) {
13711
- return 0;
13712
- } else if (b === undefined) {
13713
- return 1;
13714
- } else if (a === undefined) {
13715
- return -1;
13716
- } else if (a === b) {
13717
- continue;
13718
- } else {
13719
- return compareIdentifiers(a, b);
13697
+ comparePre(other) {
13698
+ if (!(other instanceof SemVer)) {
13699
+ other = new SemVer(other, this.options);
13720
13700
  }
13721
- } while (++i2);
13722
- };
13723
- SemVer.prototype.compareBuild = function(other) {
13724
- if (!(other instanceof SemVer)) {
13725
- other = new SemVer(other, this.options);
13726
- }
13727
- var i2 = 0;
13728
- do {
13729
- var a = this.build[i2];
13730
- var b = other.build[i2];
13731
- debug("prerelease compare", i2, a, b);
13732
- if (a === undefined && b === undefined) {
13733
- return 0;
13734
- } else if (b === undefined) {
13735
- return 1;
13736
- } else if (a === undefined) {
13701
+ if (this.prerelease.length && !other.prerelease.length) {
13737
13702
  return -1;
13738
- } else if (a === b) {
13739
- continue;
13740
- } else {
13741
- return compareIdentifiers(a, b);
13703
+ } else if (!this.prerelease.length && other.prerelease.length) {
13704
+ return 1;
13705
+ } else if (!this.prerelease.length && !other.prerelease.length) {
13706
+ return 0;
13742
13707
  }
13743
- } while (++i2);
13744
- };
13745
- SemVer.prototype.inc = function(release, identifier) {
13746
- switch (release) {
13747
- case "premajor":
13748
- this.prerelease.length = 0;
13749
- this.patch = 0;
13750
- this.minor = 0;
13751
- this.major++;
13752
- this.inc("pre", identifier);
13753
- break;
13754
- case "preminor":
13755
- this.prerelease.length = 0;
13756
- this.patch = 0;
13757
- this.minor++;
13758
- this.inc("pre", identifier);
13759
- break;
13760
- case "prepatch":
13761
- this.prerelease.length = 0;
13762
- this.inc("patch", identifier);
13763
- this.inc("pre", identifier);
13764
- break;
13765
- case "prerelease":
13766
- if (this.prerelease.length === 0) {
13767
- this.inc("patch", identifier);
13768
- }
13769
- this.inc("pre", identifier);
13770
- break;
13771
- case "major":
13772
- if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
13773
- this.major++;
13708
+ let i = 0;
13709
+ do {
13710
+ const a = this.prerelease[i];
13711
+ const b = other.prerelease[i];
13712
+ debug("prerelease compare", i, a, b);
13713
+ if (a === undefined && b === undefined) {
13714
+ return 0;
13715
+ } else if (b === undefined) {
13716
+ return 1;
13717
+ } else if (a === undefined) {
13718
+ return -1;
13719
+ } else if (a === b) {
13720
+ continue;
13721
+ } else {
13722
+ return compareIdentifiers(a, b);
13723
+ }
13724
+ } while (++i);
13725
+ }
13726
+ compareBuild(other) {
13727
+ if (!(other instanceof SemVer)) {
13728
+ other = new SemVer(other, this.options);
13729
+ }
13730
+ let i = 0;
13731
+ do {
13732
+ const a = this.build[i];
13733
+ const b = other.build[i];
13734
+ debug("build compare", i, a, b);
13735
+ if (a === undefined && b === undefined) {
13736
+ return 0;
13737
+ } else if (b === undefined) {
13738
+ return 1;
13739
+ } else if (a === undefined) {
13740
+ return -1;
13741
+ } else if (a === b) {
13742
+ continue;
13743
+ } else {
13744
+ return compareIdentifiers(a, b);
13774
13745
  }
13775
- this.minor = 0;
13776
- this.patch = 0;
13777
- this.prerelease = [];
13778
- break;
13779
- case "minor":
13780
- if (this.patch !== 0 || this.prerelease.length === 0) {
13781
- this.minor++;
13746
+ } while (++i);
13747
+ }
13748
+ inc(release, identifier, identifierBase) {
13749
+ if (release.startsWith("pre")) {
13750
+ if (!identifier && identifierBase === false) {
13751
+ throw new Error("invalid increment argument: identifier is empty");
13782
13752
  }
13783
- this.patch = 0;
13784
- this.prerelease = [];
13785
- break;
13786
- case "patch":
13787
- if (this.prerelease.length === 0) {
13788
- this.patch++;
13753
+ if (identifier) {
13754
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
13755
+ if (!match || match[1] !== identifier) {
13756
+ throw new Error(`invalid identifier: ${identifier}`);
13757
+ }
13789
13758
  }
13790
- this.prerelease = [];
13791
- break;
13792
- case "pre":
13793
- if (this.prerelease.length === 0) {
13794
- this.prerelease = [0];
13795
- } else {
13796
- var i2 = this.prerelease.length;
13797
- while (--i2 >= 0) {
13798
- if (typeof this.prerelease[i2] === "number") {
13799
- this.prerelease[i2]++;
13800
- i2 = -2;
13801
- }
13759
+ }
13760
+ switch (release) {
13761
+ case "premajor":
13762
+ this.prerelease.length = 0;
13763
+ this.patch = 0;
13764
+ this.minor = 0;
13765
+ this.major++;
13766
+ this.inc("pre", identifier, identifierBase);
13767
+ break;
13768
+ case "preminor":
13769
+ this.prerelease.length = 0;
13770
+ this.patch = 0;
13771
+ this.minor++;
13772
+ this.inc("pre", identifier, identifierBase);
13773
+ break;
13774
+ case "prepatch":
13775
+ this.prerelease.length = 0;
13776
+ this.inc("patch", identifier, identifierBase);
13777
+ this.inc("pre", identifier, identifierBase);
13778
+ break;
13779
+ case "prerelease":
13780
+ if (this.prerelease.length === 0) {
13781
+ this.inc("patch", identifier, identifierBase);
13802
13782
  }
13803
- if (i2 === -1) {
13804
- this.prerelease.push(0);
13783
+ this.inc("pre", identifier, identifierBase);
13784
+ break;
13785
+ case "release":
13786
+ if (this.prerelease.length === 0) {
13787
+ throw new Error(`version ${this.raw} is not a prerelease`);
13805
13788
  }
13806
- }
13807
- if (identifier) {
13808
- if (this.prerelease[0] === identifier) {
13809
- if (isNaN(this.prerelease[1])) {
13810
- this.prerelease = [identifier, 0];
13811
- }
13789
+ this.prerelease.length = 0;
13790
+ break;
13791
+ case "major":
13792
+ if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
13793
+ this.major++;
13794
+ }
13795
+ this.minor = 0;
13796
+ this.patch = 0;
13797
+ this.prerelease = [];
13798
+ break;
13799
+ case "minor":
13800
+ if (this.patch !== 0 || this.prerelease.length === 0) {
13801
+ this.minor++;
13802
+ }
13803
+ this.patch = 0;
13804
+ this.prerelease = [];
13805
+ break;
13806
+ case "patch":
13807
+ if (this.prerelease.length === 0) {
13808
+ this.patch++;
13809
+ }
13810
+ this.prerelease = [];
13811
+ break;
13812
+ case "pre": {
13813
+ const base = Number(identifierBase) ? 1 : 0;
13814
+ if (this.prerelease.length === 0) {
13815
+ this.prerelease = [base];
13812
13816
  } else {
13813
- this.prerelease = [identifier, 0];
13817
+ let i = this.prerelease.length;
13818
+ while (--i >= 0) {
13819
+ if (typeof this.prerelease[i] === "number") {
13820
+ this.prerelease[i]++;
13821
+ i = -2;
13822
+ }
13823
+ }
13824
+ if (i === -1) {
13825
+ if (identifier === this.prerelease.join(".") && identifierBase === false) {
13826
+ throw new Error("invalid increment argument: identifier already exists");
13827
+ }
13828
+ this.prerelease.push(base);
13829
+ }
13830
+ }
13831
+ if (identifier) {
13832
+ let prerelease = [identifier, base];
13833
+ if (identifierBase === false) {
13834
+ prerelease = [identifier];
13835
+ }
13836
+ if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
13837
+ if (isNaN(this.prerelease[1])) {
13838
+ this.prerelease = prerelease;
13839
+ }
13840
+ } else {
13841
+ this.prerelease = prerelease;
13842
+ }
13814
13843
  }
13844
+ break;
13815
13845
  }
13816
- break;
13817
- default:
13818
- throw new Error("invalid increment argument: " + release);
13846
+ default:
13847
+ throw new Error(`invalid increment argument: ${release}`);
13848
+ }
13849
+ this.raw = this.format();
13850
+ if (this.build.length) {
13851
+ this.raw += `+${this.build.join(".")}`;
13852
+ }
13853
+ return this;
13819
13854
  }
13820
- this.format();
13821
- this.raw = this.version;
13822
- return this;
13855
+ }
13856
+ module.exports = SemVer;
13857
+ });
13858
+
13859
+ // node_modules/semver/functions/parse.js
13860
+ var require_parse = __commonJS((exports, module) => {
13861
+ var SemVer = require_semver();
13862
+ var parse = (version, options, throwErrors = false) => {
13863
+ if (version instanceof SemVer) {
13864
+ return version;
13865
+ }
13866
+ try {
13867
+ return new SemVer(version, options);
13868
+ } catch (er) {
13869
+ if (!throwErrors) {
13870
+ return null;
13871
+ }
13872
+ throw er;
13873
+ }
13874
+ };
13875
+ module.exports = parse;
13876
+ });
13877
+
13878
+ // node_modules/semver/functions/valid.js
13879
+ var require_valid = __commonJS((exports, module) => {
13880
+ var parse = require_parse();
13881
+ var valid = (version, options) => {
13882
+ const v = parse(version, options);
13883
+ return v ? v.version : null;
13823
13884
  };
13824
- exports.inc = inc;
13825
- function inc(version, release, loose, identifier) {
13826
- if (typeof loose === "string") {
13827
- identifier = loose;
13828
- loose = undefined;
13885
+ module.exports = valid;
13886
+ });
13887
+
13888
+ // node_modules/semver/functions/clean.js
13889
+ var require_clean = __commonJS((exports, module) => {
13890
+ var parse = require_parse();
13891
+ var clean = (version, options) => {
13892
+ const s = parse(version.trim().replace(/^[=v]+/, ""), options);
13893
+ return s ? s.version : null;
13894
+ };
13895
+ module.exports = clean;
13896
+ });
13897
+
13898
+ // node_modules/semver/functions/inc.js
13899
+ var require_inc = __commonJS((exports, module) => {
13900
+ var SemVer = require_semver();
13901
+ var inc = (version, release, options, identifier, identifierBase) => {
13902
+ if (typeof options === "string") {
13903
+ identifierBase = identifier;
13904
+ identifier = options;
13905
+ options = undefined;
13829
13906
  }
13830
13907
  try {
13831
- return new SemVer(version, loose).inc(release, identifier).version;
13908
+ return new SemVer(version instanceof SemVer ? version.version : version, options).inc(release, identifier, identifierBase).version;
13832
13909
  } catch (er) {
13833
13910
  return null;
13834
13911
  }
13835
- }
13836
- exports.diff = diff;
13837
- function diff(version1, version2) {
13838
- if (eq(version1, version2)) {
13912
+ };
13913
+ module.exports = inc;
13914
+ });
13915
+
13916
+ // node_modules/semver/functions/diff.js
13917
+ var require_diff = __commonJS((exports, module) => {
13918
+ var parse = require_parse();
13919
+ var diff = (version1, version2) => {
13920
+ const v1 = parse(version1, null, true);
13921
+ const v2 = parse(version2, null, true);
13922
+ const comparison = v1.compare(v2);
13923
+ if (comparison === 0) {
13839
13924
  return null;
13840
- } else {
13841
- var v1 = parse(version1);
13842
- var v2 = parse(version2);
13843
- var prefix = "";
13844
- if (v1.prerelease.length || v2.prerelease.length) {
13845
- prefix = "pre";
13846
- var defaultResult = "prerelease";
13847
- }
13848
- for (var key in v1) {
13849
- if (key === "major" || key === "minor" || key === "patch") {
13850
- if (v1[key] !== v2[key]) {
13851
- return prefix + key;
13852
- }
13925
+ }
13926
+ const v1Higher = comparison > 0;
13927
+ const highVersion = v1Higher ? v1 : v2;
13928
+ const lowVersion = v1Higher ? v2 : v1;
13929
+ const highHasPre = !!highVersion.prerelease.length;
13930
+ const lowHasPre = !!lowVersion.prerelease.length;
13931
+ if (lowHasPre && !highHasPre) {
13932
+ if (!lowVersion.patch && !lowVersion.minor) {
13933
+ return "major";
13934
+ }
13935
+ if (lowVersion.compareMain(highVersion) === 0) {
13936
+ if (lowVersion.minor && !lowVersion.patch) {
13937
+ return "minor";
13853
13938
  }
13939
+ return "patch";
13854
13940
  }
13855
- return defaultResult;
13856
13941
  }
13857
- }
13858
- exports.compareIdentifiers = compareIdentifiers;
13859
- var numeric = /^[0-9]+$/;
13860
- function compareIdentifiers(a, b) {
13861
- var anum = numeric.test(a);
13862
- var bnum = numeric.test(b);
13863
- if (anum && bnum) {
13864
- a = +a;
13865
- b = +b;
13942
+ const prefix = highHasPre ? "pre" : "";
13943
+ if (v1.major !== v2.major) {
13944
+ return prefix + "major";
13866
13945
  }
13867
- return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
13868
- }
13869
- exports.rcompareIdentifiers = rcompareIdentifiers;
13870
- function rcompareIdentifiers(a, b) {
13871
- return compareIdentifiers(b, a);
13872
- }
13873
- exports.major = major;
13874
- function major(a, loose) {
13875
- return new SemVer(a, loose).major;
13876
- }
13877
- exports.minor = minor;
13878
- function minor(a, loose) {
13879
- return new SemVer(a, loose).minor;
13880
- }
13881
- exports.patch = patch;
13882
- function patch(a, loose) {
13883
- return new SemVer(a, loose).patch;
13884
- }
13885
- exports.compare = compare;
13886
- function compare(a, b, loose) {
13887
- return new SemVer(a, loose).compare(new SemVer(b, loose));
13888
- }
13889
- exports.compareLoose = compareLoose;
13890
- function compareLoose(a, b) {
13891
- return compare(a, b, true);
13892
- }
13893
- exports.compareBuild = compareBuild;
13894
- function compareBuild(a, b, loose) {
13895
- var versionA = new SemVer(a, loose);
13896
- var versionB = new SemVer(b, loose);
13946
+ if (v1.minor !== v2.minor) {
13947
+ return prefix + "minor";
13948
+ }
13949
+ if (v1.patch !== v2.patch) {
13950
+ return prefix + "patch";
13951
+ }
13952
+ return "prerelease";
13953
+ };
13954
+ module.exports = diff;
13955
+ });
13956
+
13957
+ // node_modules/semver/functions/major.js
13958
+ var require_major = __commonJS((exports, module) => {
13959
+ var SemVer = require_semver();
13960
+ var major = (a, loose) => new SemVer(a, loose).major;
13961
+ module.exports = major;
13962
+ });
13963
+
13964
+ // node_modules/semver/functions/minor.js
13965
+ var require_minor = __commonJS((exports, module) => {
13966
+ var SemVer = require_semver();
13967
+ var minor = (a, loose) => new SemVer(a, loose).minor;
13968
+ module.exports = minor;
13969
+ });
13970
+
13971
+ // node_modules/semver/functions/patch.js
13972
+ var require_patch = __commonJS((exports, module) => {
13973
+ var SemVer = require_semver();
13974
+ var patch = (a, loose) => new SemVer(a, loose).patch;
13975
+ module.exports = patch;
13976
+ });
13977
+
13978
+ // node_modules/semver/functions/prerelease.js
13979
+ var require_prerelease = __commonJS((exports, module) => {
13980
+ var parse = require_parse();
13981
+ var prerelease = (version, options) => {
13982
+ const parsed = parse(version, options);
13983
+ return parsed && parsed.prerelease.length ? parsed.prerelease : null;
13984
+ };
13985
+ module.exports = prerelease;
13986
+ });
13987
+
13988
+ // node_modules/semver/functions/compare.js
13989
+ var require_compare = __commonJS((exports, module) => {
13990
+ var SemVer = require_semver();
13991
+ var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
13992
+ module.exports = compare;
13993
+ });
13994
+
13995
+ // node_modules/semver/functions/rcompare.js
13996
+ var require_rcompare = __commonJS((exports, module) => {
13997
+ var compare = require_compare();
13998
+ var rcompare = (a, b, loose) => compare(b, a, loose);
13999
+ module.exports = rcompare;
14000
+ });
14001
+
14002
+ // node_modules/semver/functions/compare-loose.js
14003
+ var require_compare_loose = __commonJS((exports, module) => {
14004
+ var compare = require_compare();
14005
+ var compareLoose = (a, b) => compare(a, b, true);
14006
+ module.exports = compareLoose;
14007
+ });
14008
+
14009
+ // node_modules/semver/functions/compare-build.js
14010
+ var require_compare_build = __commonJS((exports, module) => {
14011
+ var SemVer = require_semver();
14012
+ var compareBuild = (a, b, loose) => {
14013
+ const versionA = new SemVer(a, loose);
14014
+ const versionB = new SemVer(b, loose);
13897
14015
  return versionA.compare(versionB) || versionA.compareBuild(versionB);
13898
- }
13899
- exports.rcompare = rcompare;
13900
- function rcompare(a, b, loose) {
13901
- return compare(b, a, loose);
13902
- }
13903
- exports.sort = sort;
13904
- function sort(list, loose) {
13905
- return list.sort(function(a, b) {
13906
- return exports.compareBuild(a, b, loose);
13907
- });
13908
- }
13909
- exports.rsort = rsort;
13910
- function rsort(list, loose) {
13911
- return list.sort(function(a, b) {
13912
- return exports.compareBuild(b, a, loose);
13913
- });
13914
- }
13915
- exports.gt = gt;
13916
- function gt(a, b, loose) {
13917
- return compare(a, b, loose) > 0;
13918
- }
13919
- exports.lt = lt;
13920
- function lt(a, b, loose) {
13921
- return compare(a, b, loose) < 0;
13922
- }
13923
- exports.eq = eq;
13924
- function eq(a, b, loose) {
13925
- return compare(a, b, loose) === 0;
13926
- }
13927
- exports.neq = neq;
13928
- function neq(a, b, loose) {
13929
- return compare(a, b, loose) !== 0;
13930
- }
13931
- exports.gte = gte;
13932
- function gte(a, b, loose) {
13933
- return compare(a, b, loose) >= 0;
13934
- }
13935
- exports.lte = lte;
13936
- function lte(a, b, loose) {
13937
- return compare(a, b, loose) <= 0;
13938
- }
13939
- exports.cmp = cmp;
13940
- function cmp(a, op, b, loose) {
13941
- switch (op) {
13942
- case "===":
13943
- if (typeof a === "object")
14016
+ };
14017
+ module.exports = compareBuild;
14018
+ });
14019
+
14020
+ // node_modules/semver/functions/sort.js
14021
+ var require_sort = __commonJS((exports, module) => {
14022
+ var compareBuild = require_compare_build();
14023
+ var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
14024
+ module.exports = sort;
14025
+ });
14026
+
14027
+ // node_modules/semver/functions/rsort.js
14028
+ var require_rsort = __commonJS((exports, module) => {
14029
+ var compareBuild = require_compare_build();
14030
+ var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
14031
+ module.exports = rsort;
14032
+ });
14033
+
14034
+ // node_modules/semver/functions/gt.js
14035
+ var require_gt = __commonJS((exports, module) => {
14036
+ var compare = require_compare();
14037
+ var gt = (a, b, loose) => compare(a, b, loose) > 0;
14038
+ module.exports = gt;
14039
+ });
14040
+
14041
+ // node_modules/semver/functions/lt.js
14042
+ var require_lt = __commonJS((exports, module) => {
14043
+ var compare = require_compare();
14044
+ var lt = (a, b, loose) => compare(a, b, loose) < 0;
14045
+ module.exports = lt;
14046
+ });
14047
+
14048
+ // node_modules/semver/functions/eq.js
14049
+ var require_eq = __commonJS((exports, module) => {
14050
+ var compare = require_compare();
14051
+ var eq = (a, b, loose) => compare(a, b, loose) === 0;
14052
+ module.exports = eq;
14053
+ });
14054
+
14055
+ // node_modules/semver/functions/neq.js
14056
+ var require_neq = __commonJS((exports, module) => {
14057
+ var compare = require_compare();
14058
+ var neq = (a, b, loose) => compare(a, b, loose) !== 0;
14059
+ module.exports = neq;
14060
+ });
14061
+
14062
+ // node_modules/semver/functions/gte.js
14063
+ var require_gte = __commonJS((exports, module) => {
14064
+ var compare = require_compare();
14065
+ var gte = (a, b, loose) => compare(a, b, loose) >= 0;
14066
+ module.exports = gte;
14067
+ });
14068
+
14069
+ // node_modules/semver/functions/lte.js
14070
+ var require_lte = __commonJS((exports, module) => {
14071
+ var compare = require_compare();
14072
+ var lte = (a, b, loose) => compare(a, b, loose) <= 0;
14073
+ module.exports = lte;
14074
+ });
14075
+
14076
+ // node_modules/semver/functions/cmp.js
14077
+ var require_cmp = __commonJS((exports, module) => {
14078
+ var eq = require_eq();
14079
+ var neq = require_neq();
14080
+ var gt = require_gt();
14081
+ var gte = require_gte();
14082
+ var lt = require_lt();
14083
+ var lte = require_lte();
14084
+ var cmp = (a, op, b, loose) => {
14085
+ switch (op) {
14086
+ case "===":
14087
+ if (typeof a === "object") {
13944
14088
  a = a.version;
13945
- if (typeof b === "object")
14089
+ }
14090
+ if (typeof b === "object") {
13946
14091
  b = b.version;
14092
+ }
13947
14093
  return a === b;
13948
14094
  case "!==":
13949
- if (typeof a === "object")
14095
+ if (typeof a === "object") {
13950
14096
  a = a.version;
13951
- if (typeof b === "object")
14097
+ }
14098
+ if (typeof b === "object") {
13952
14099
  b = b.version;
14100
+ }
13953
14101
  return a !== b;
13954
14102
  case "":
13955
14103
  case "=":
@@ -13966,208 +14114,261 @@ var require_semver = __commonJS((exports, module) => {
13966
14114
  case "<=":
13967
14115
  return lte(a, b, loose);
13968
14116
  default:
13969
- throw new TypeError("Invalid operator: " + op);
13970
- }
13971
- }
13972
- exports.Comparator = Comparator;
13973
- function Comparator(comp, options) {
13974
- if (!options || typeof options !== "object") {
13975
- options = {
13976
- loose: !!options,
13977
- includePrerelease: false
13978
- };
14117
+ throw new TypeError(`Invalid operator: ${op}`);
13979
14118
  }
13980
- if (comp instanceof Comparator) {
13981
- if (comp.loose === !!options.loose) {
13982
- return comp;
13983
- } else {
13984
- comp = comp.value;
13985
- }
13986
- }
13987
- if (!(this instanceof Comparator)) {
13988
- return new Comparator(comp, options);
13989
- }
13990
- comp = comp.trim().split(/\s+/).join(" ");
13991
- debug("comparator", comp, options);
13992
- this.options = options;
13993
- this.loose = !!options.loose;
13994
- this.parse(comp);
13995
- if (this.semver === ANY) {
13996
- this.value = "";
13997
- } else {
13998
- this.value = this.operator + this.semver.version;
14119
+ };
14120
+ module.exports = cmp;
14121
+ });
14122
+
14123
+ // node_modules/semver/functions/coerce.js
14124
+ var require_coerce = __commonJS((exports, module) => {
14125
+ var SemVer = require_semver();
14126
+ var parse = require_parse();
14127
+ var { safeRe: re, t } = require_re();
14128
+ var coerce = (version, options) => {
14129
+ if (version instanceof SemVer) {
14130
+ return version;
13999
14131
  }
14000
- debug("comp", this);
14001
- }
14002
- var ANY = {};
14003
- Comparator.prototype.parse = function(comp) {
14004
- var r = this.options.loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
14005
- var m = comp.match(r);
14006
- if (!m) {
14007
- throw new TypeError("Invalid comparator: " + comp);
14132
+ if (typeof version === "number") {
14133
+ version = String(version);
14008
14134
  }
14009
- this.operator = m[1] !== undefined ? m[1] : "";
14010
- if (this.operator === "=") {
14011
- this.operator = "";
14135
+ if (typeof version !== "string") {
14136
+ return null;
14012
14137
  }
14013
- if (!m[2]) {
14014
- this.semver = ANY;
14138
+ options = options || {};
14139
+ let match = null;
14140
+ if (!options.rtl) {
14141
+ match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
14015
14142
  } else {
14016
- this.semver = new SemVer(m[2], this.options.loose);
14017
- }
14018
- };
14019
- Comparator.prototype.toString = function() {
14020
- return this.value;
14021
- };
14022
- Comparator.prototype.test = function(version) {
14023
- debug("Comparator.test", version, this.options.loose);
14024
- if (this.semver === ANY || version === ANY) {
14025
- return true;
14026
- }
14027
- if (typeof version === "string") {
14028
- try {
14029
- version = new SemVer(version, this.options);
14030
- } catch (er) {
14031
- return false;
14143
+ const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
14144
+ let next;
14145
+ while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
14146
+ if (!match || next.index + next[0].length !== match.index + match[0].length) {
14147
+ match = next;
14148
+ }
14149
+ coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
14032
14150
  }
14151
+ coerceRtlRegex.lastIndex = -1;
14033
14152
  }
14034
- return cmp(version, this.operator, this.semver, this.options);
14035
- };
14036
- Comparator.prototype.intersects = function(comp, options) {
14037
- if (!(comp instanceof Comparator)) {
14038
- throw new TypeError("a Comparator is required");
14039
- }
14040
- if (!options || typeof options !== "object") {
14041
- options = {
14042
- loose: !!options,
14043
- includePrerelease: false
14044
- };
14045
- }
14046
- var rangeTmp;
14047
- if (this.operator === "") {
14048
- if (this.value === "") {
14049
- return true;
14050
- }
14051
- rangeTmp = new Range(comp.value, options);
14052
- return satisfies(this.value, rangeTmp, options);
14053
- } else if (comp.operator === "") {
14054
- if (comp.value === "") {
14055
- return true;
14056
- }
14057
- rangeTmp = new Range(this.value, options);
14058
- return satisfies(comp.semver, rangeTmp, options);
14153
+ if (match === null) {
14154
+ return null;
14059
14155
  }
14060
- var sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
14061
- var sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
14062
- var sameSemVer = this.semver.version === comp.semver.version;
14063
- var differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
14064
- var oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && ((this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<"));
14065
- var oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && ((this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">"));
14066
- return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
14156
+ const major = match[2];
14157
+ const minor = match[3] || "0";
14158
+ const patch = match[4] || "0";
14159
+ const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
14160
+ const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
14161
+ return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options);
14067
14162
  };
14068
- exports.Range = Range;
14069
- function Range(range, options) {
14070
- if (!options || typeof options !== "object") {
14071
- options = {
14072
- loose: !!options,
14073
- includePrerelease: false
14074
- };
14163
+ module.exports = coerce;
14164
+ });
14165
+
14166
+ // node_modules/semver/internal/lrucache.js
14167
+ var require_lrucache = __commonJS((exports, module) => {
14168
+ class LRUCache {
14169
+ constructor() {
14170
+ this.max = 1000;
14171
+ this.map = new Map;
14075
14172
  }
14076
- if (range instanceof Range) {
14077
- if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
14078
- return range;
14173
+ get(key) {
14174
+ const value = this.map.get(key);
14175
+ if (value === undefined) {
14176
+ return;
14079
14177
  } else {
14080
- return new Range(range.raw, options);
14178
+ this.map.delete(key);
14179
+ this.map.set(key, value);
14180
+ return value;
14081
14181
  }
14082
14182
  }
14083
- if (range instanceof Comparator) {
14084
- return new Range(range.value, options);
14183
+ delete(key) {
14184
+ return this.map.delete(key);
14085
14185
  }
14086
- if (!(this instanceof Range)) {
14087
- return new Range(range, options);
14088
- }
14089
- this.options = options;
14090
- this.loose = !!options.loose;
14091
- this.includePrerelease = !!options.includePrerelease;
14092
- this.raw = range.trim().split(/\s+/).join(" ");
14093
- this.set = this.raw.split("||").map(function(range2) {
14094
- return this.parseRange(range2.trim());
14095
- }, this).filter(function(c) {
14096
- return c.length;
14097
- });
14098
- if (!this.set.length) {
14099
- throw new TypeError("Invalid SemVer Range: " + this.raw);
14186
+ set(key, value) {
14187
+ const deleted = this.delete(key);
14188
+ if (!deleted && value !== undefined) {
14189
+ if (this.map.size >= this.max) {
14190
+ const firstKey = this.map.keys().next().value;
14191
+ this.delete(firstKey);
14192
+ }
14193
+ this.map.set(key, value);
14194
+ }
14195
+ return this;
14100
14196
  }
14101
- this.format();
14102
14197
  }
14103
- Range.prototype.format = function() {
14104
- this.range = this.set.map(function(comps) {
14105
- return comps.join(" ").trim();
14106
- }).join("||").trim();
14107
- return this.range;
14108
- };
14109
- Range.prototype.toString = function() {
14110
- return this.range;
14111
- };
14112
- Range.prototype.parseRange = function(range) {
14113
- var loose = this.options.loose;
14114
- var hr = loose ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.HYPHENRANGE];
14115
- range = range.replace(hr, hyphenReplace);
14116
- debug("hyphen replace", range);
14117
- range = range.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace);
14118
- debug("comparator trim", range, safeRe[t.COMPARATORTRIM]);
14119
- range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace);
14120
- range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace);
14121
- range = range.split(/\s+/).join(" ");
14122
- var compRe = loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
14123
- var set = range.split(" ").map(function(comp) {
14124
- return parseComparator(comp, this.options);
14125
- }, this).join(" ").split(/\s+/);
14126
- if (this.options.loose) {
14127
- set = set.filter(function(comp) {
14128
- return !!comp.match(compRe);
14129
- });
14198
+ module.exports = LRUCache;
14199
+ });
14200
+
14201
+ // node_modules/semver/classes/range.js
14202
+ var require_range = __commonJS((exports, module) => {
14203
+ var SPACE_CHARACTERS = /\s+/g;
14204
+
14205
+ class Range {
14206
+ constructor(range, options) {
14207
+ options = parseOptions(options);
14208
+ if (range instanceof Range) {
14209
+ if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
14210
+ return range;
14211
+ } else {
14212
+ return new Range(range.raw, options);
14213
+ }
14214
+ }
14215
+ if (range instanceof Comparator) {
14216
+ this.raw = range.value;
14217
+ this.set = [[range]];
14218
+ this.formatted = undefined;
14219
+ return this;
14220
+ }
14221
+ this.options = options;
14222
+ this.loose = !!options.loose;
14223
+ this.includePrerelease = !!options.includePrerelease;
14224
+ this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
14225
+ this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
14226
+ if (!this.set.length) {
14227
+ throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
14228
+ }
14229
+ if (this.set.length > 1) {
14230
+ const first = this.set[0];
14231
+ this.set = this.set.filter((c) => !isNullSet(c[0]));
14232
+ if (this.set.length === 0) {
14233
+ this.set = [first];
14234
+ } else if (this.set.length > 1) {
14235
+ for (const c of this.set) {
14236
+ if (c.length === 1 && isAny(c[0])) {
14237
+ this.set = [c];
14238
+ break;
14239
+ }
14240
+ }
14241
+ }
14242
+ }
14243
+ this.formatted = undefined;
14130
14244
  }
14131
- set = set.map(function(comp) {
14132
- return new Comparator(comp, this.options);
14133
- }, this);
14134
- return set;
14135
- };
14136
- Range.prototype.intersects = function(range, options) {
14137
- if (!(range instanceof Range)) {
14138
- throw new TypeError("a Range is required");
14139
- }
14140
- return this.set.some(function(thisComparators) {
14141
- return isSatisfiable(thisComparators, options) && range.set.some(function(rangeComparators) {
14142
- return isSatisfiable(rangeComparators, options) && thisComparators.every(function(thisComparator) {
14143
- return rangeComparators.every(function(rangeComparator) {
14144
- return thisComparator.intersects(rangeComparator, options);
14245
+ get range() {
14246
+ if (this.formatted === undefined) {
14247
+ this.formatted = "";
14248
+ for (let i = 0;i < this.set.length; i++) {
14249
+ if (i > 0) {
14250
+ this.formatted += "||";
14251
+ }
14252
+ const comps = this.set[i];
14253
+ for (let k = 0;k < comps.length; k++) {
14254
+ if (k > 0) {
14255
+ this.formatted += " ";
14256
+ }
14257
+ this.formatted += comps[k].toString().trim();
14258
+ }
14259
+ }
14260
+ }
14261
+ return this.formatted;
14262
+ }
14263
+ format() {
14264
+ return this.range;
14265
+ }
14266
+ toString() {
14267
+ return this.range;
14268
+ }
14269
+ parseRange(range) {
14270
+ const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
14271
+ const memoKey = memoOpts + ":" + range;
14272
+ const cached = cache.get(memoKey);
14273
+ if (cached) {
14274
+ return cached;
14275
+ }
14276
+ const loose = this.options.loose;
14277
+ const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
14278
+ range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
14279
+ debug("hyphen replace", range);
14280
+ range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
14281
+ debug("comparator trim", range);
14282
+ range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
14283
+ debug("tilde trim", range);
14284
+ range = range.replace(re[t.CARETTRIM], caretTrimReplace);
14285
+ debug("caret trim", range);
14286
+ let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
14287
+ if (loose) {
14288
+ rangeList = rangeList.filter((comp) => {
14289
+ debug("loose invalid filter", comp, this.options);
14290
+ return !!comp.match(re[t.COMPARATORLOOSE]);
14291
+ });
14292
+ }
14293
+ debug("range list", rangeList);
14294
+ const rangeMap = new Map;
14295
+ const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
14296
+ for (const comp of comparators) {
14297
+ if (isNullSet(comp)) {
14298
+ return [comp];
14299
+ }
14300
+ rangeMap.set(comp.value, comp);
14301
+ }
14302
+ if (rangeMap.size > 1 && rangeMap.has("")) {
14303
+ rangeMap.delete("");
14304
+ }
14305
+ const result = [...rangeMap.values()];
14306
+ cache.set(memoKey, result);
14307
+ return result;
14308
+ }
14309
+ intersects(range, options) {
14310
+ if (!(range instanceof Range)) {
14311
+ throw new TypeError("a Range is required");
14312
+ }
14313
+ return this.set.some((thisComparators) => {
14314
+ return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
14315
+ return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
14316
+ return rangeComparators.every((rangeComparator) => {
14317
+ return thisComparator.intersects(rangeComparator, options);
14318
+ });
14145
14319
  });
14146
14320
  });
14147
14321
  });
14148
- });
14149
- };
14150
- function isSatisfiable(comparators, options) {
14151
- var result = true;
14152
- var remainingComparators = comparators.slice();
14153
- var testComparator = remainingComparators.pop();
14322
+ }
14323
+ test(version) {
14324
+ if (!version) {
14325
+ return false;
14326
+ }
14327
+ if (typeof version === "string") {
14328
+ try {
14329
+ version = new SemVer(version, this.options);
14330
+ } catch (er) {
14331
+ return false;
14332
+ }
14333
+ }
14334
+ for (let i = 0;i < this.set.length; i++) {
14335
+ if (testSet(this.set[i], version, this.options)) {
14336
+ return true;
14337
+ }
14338
+ }
14339
+ return false;
14340
+ }
14341
+ }
14342
+ module.exports = Range;
14343
+ var LRU = require_lrucache();
14344
+ var cache = new LRU;
14345
+ var parseOptions = require_parse_options();
14346
+ var Comparator = require_comparator();
14347
+ var debug = require_debug();
14348
+ var SemVer = require_semver();
14349
+ var {
14350
+ safeRe: re,
14351
+ t,
14352
+ comparatorTrimReplace,
14353
+ tildeTrimReplace,
14354
+ caretTrimReplace
14355
+ } = require_re();
14356
+ var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
14357
+ var isNullSet = (c) => c.value === "<0.0.0-0";
14358
+ var isAny = (c) => c.value === "";
14359
+ var isSatisfiable = (comparators, options) => {
14360
+ let result = true;
14361
+ const remainingComparators = comparators.slice();
14362
+ let testComparator = remainingComparators.pop();
14154
14363
  while (result && remainingComparators.length) {
14155
- result = remainingComparators.every(function(otherComparator) {
14364
+ result = remainingComparators.every((otherComparator) => {
14156
14365
  return testComparator.intersects(otherComparator, options);
14157
14366
  });
14158
14367
  testComparator = remainingComparators.pop();
14159
14368
  }
14160
14369
  return result;
14161
- }
14162
- exports.toComparators = toComparators;
14163
- function toComparators(range, options) {
14164
- return new Range(range, options).set.map(function(comp) {
14165
- return comp.map(function(c) {
14166
- return c.value;
14167
- }).join(" ").trim().split(" ");
14168
- });
14169
- }
14170
- function parseComparator(comp, options) {
14370
+ };
14371
+ var parseComparator = (comp, options) => {
14171
14372
  debug("comp", comp, options);
14172
14373
  comp = replaceCarets(comp, options);
14173
14374
  debug("caret", comp);
@@ -14178,99 +14379,92 @@ var require_semver = __commonJS((exports, module) => {
14178
14379
  comp = replaceStars(comp, options);
14179
14380
  debug("stars", comp);
14180
14381
  return comp;
14181
- }
14182
- function isX(id) {
14183
- return !id || id.toLowerCase() === "x" || id === "*";
14184
- }
14185
- function replaceTildes(comp, options) {
14186
- return comp.trim().split(/\s+/).map(function(comp2) {
14187
- return replaceTilde(comp2, options);
14188
- }).join(" ");
14189
- }
14190
- function replaceTilde(comp, options) {
14191
- var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE];
14192
- return comp.replace(r, function(_, M, m, p, pr) {
14382
+ };
14383
+ var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
14384
+ var replaceTildes = (comp, options) => {
14385
+ return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
14386
+ };
14387
+ var replaceTilde = (comp, options) => {
14388
+ const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
14389
+ return comp.replace(r, (_, M, m, p, pr) => {
14193
14390
  debug("tilde", comp, _, M, m, p, pr);
14194
- var ret;
14391
+ let ret;
14195
14392
  if (isX(M)) {
14196
14393
  ret = "";
14197
14394
  } else if (isX(m)) {
14198
- ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
14395
+ ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
14199
14396
  } else if (isX(p)) {
14200
- ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
14397
+ ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
14201
14398
  } else if (pr) {
14202
14399
  debug("replaceTilde pr", pr);
14203
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
14400
+ ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
14204
14401
  } else {
14205
- ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
14402
+ ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
14206
14403
  }
14207
14404
  debug("tilde return", ret);
14208
14405
  return ret;
14209
14406
  });
14210
- }
14211
- function replaceCarets(comp, options) {
14212
- return comp.trim().split(/\s+/).map(function(comp2) {
14213
- return replaceCaret(comp2, options);
14214
- }).join(" ");
14215
- }
14216
- function replaceCaret(comp, options) {
14407
+ };
14408
+ var replaceCarets = (comp, options) => {
14409
+ return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
14410
+ };
14411
+ var replaceCaret = (comp, options) => {
14217
14412
  debug("caret", comp, options);
14218
- var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET];
14219
- return comp.replace(r, function(_, M, m, p, pr) {
14413
+ const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
14414
+ const z = options.includePrerelease ? "-0" : "";
14415
+ return comp.replace(r, (_, M, m, p, pr) => {
14220
14416
  debug("caret", comp, _, M, m, p, pr);
14221
- var ret;
14417
+ let ret;
14222
14418
  if (isX(M)) {
14223
14419
  ret = "";
14224
14420
  } else if (isX(m)) {
14225
- ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
14421
+ ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
14226
14422
  } else if (isX(p)) {
14227
14423
  if (M === "0") {
14228
- ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
14424
+ ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
14229
14425
  } else {
14230
- ret = ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0";
14426
+ ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
14231
14427
  }
14232
14428
  } else if (pr) {
14233
14429
  debug("replaceCaret pr", pr);
14234
14430
  if (M === "0") {
14235
14431
  if (m === "0") {
14236
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1);
14432
+ ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
14237
14433
  } else {
14238
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
14434
+ ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
14239
14435
  }
14240
14436
  } else {
14241
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0";
14437
+ ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
14242
14438
  }
14243
14439
  } else {
14244
14440
  debug("no pr");
14245
14441
  if (M === "0") {
14246
14442
  if (m === "0") {
14247
- ret = ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1);
14443
+ ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
14248
14444
  } else {
14249
- ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
14445
+ ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
14250
14446
  }
14251
14447
  } else {
14252
- ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0";
14448
+ ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
14253
14449
  }
14254
14450
  }
14255
14451
  debug("caret return", ret);
14256
14452
  return ret;
14257
14453
  });
14258
- }
14259
- function replaceXRanges(comp, options) {
14454
+ };
14455
+ var replaceXRanges = (comp, options) => {
14260
14456
  debug("replaceXRanges", comp, options);
14261
- return comp.split(/\s+/).map(function(comp2) {
14262
- return replaceXRange(comp2, options);
14263
- }).join(" ");
14264
- }
14265
- function replaceXRange(comp, options) {
14457
+ return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
14458
+ };
14459
+ var replaceXRange = (comp, options) => {
14266
14460
  comp = comp.trim();
14267
- var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE];
14268
- return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
14461
+ const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
14462
+ return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
14269
14463
  debug("xRange", comp, ret, gtlt, M, m, p, pr);
14270
- var xM = isX(M);
14271
- var xm = xM || isX(m);
14272
- var xp = xm || isX(p);
14273
- var anyX = xp;
14464
+ const xM = isX(M);
14465
+ const xm = xM || isX(m);
14466
+ const xp = xm || isX(p);
14467
+ const anyX = xp;
14274
14468
  if (gtlt === "=" && anyX) {
14275
14469
  gtlt = "";
14276
14470
  }
@@ -14304,75 +14498,68 @@ var require_semver = __commonJS((exports, module) => {
14304
14498
  m = +m + 1;
14305
14499
  }
14306
14500
  }
14307
- ret = gtlt + M + "." + m + "." + p + pr;
14501
+ if (gtlt === "<") {
14502
+ pr = "-0";
14503
+ }
14504
+ ret = `${gtlt + M}.${m}.${p}${pr}`;
14308
14505
  } else if (xm) {
14309
- ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0" + pr;
14506
+ ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
14310
14507
  } else if (xp) {
14311
- ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0" + pr;
14508
+ ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
14312
14509
  }
14313
14510
  debug("xRange return", ret);
14314
14511
  return ret;
14315
14512
  });
14316
- }
14317
- function replaceStars(comp, options) {
14513
+ };
14514
+ var replaceStars = (comp, options) => {
14318
14515
  debug("replaceStars", comp, options);
14319
- return comp.trim().replace(safeRe[t.STAR], "");
14320
- }
14321
- function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
14516
+ return comp.trim().replace(re[t.STAR], "");
14517
+ };
14518
+ var replaceGTE0 = (comp, options) => {
14519
+ debug("replaceGTE0", comp, options);
14520
+ return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
14521
+ };
14522
+ var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
14322
14523
  if (isX(fM)) {
14323
14524
  from = "";
14324
14525
  } else if (isX(fm)) {
14325
- from = ">=" + fM + ".0.0";
14526
+ from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
14326
14527
  } else if (isX(fp)) {
14327
- from = ">=" + fM + "." + fm + ".0";
14528
+ from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
14529
+ } else if (fpr) {
14530
+ from = `>=${from}`;
14328
14531
  } else {
14329
- from = ">=" + from;
14532
+ from = `>=${from}${incPr ? "-0" : ""}`;
14330
14533
  }
14331
14534
  if (isX(tM)) {
14332
14535
  to = "";
14333
14536
  } else if (isX(tm)) {
14334
- to = "<" + (+tM + 1) + ".0.0";
14537
+ to = `<${+tM + 1}.0.0-0`;
14335
14538
  } else if (isX(tp)) {
14336
- to = "<" + tM + "." + (+tm + 1) + ".0";
14539
+ to = `<${tM}.${+tm + 1}.0-0`;
14337
14540
  } else if (tpr) {
14338
- to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
14541
+ to = `<=${tM}.${tm}.${tp}-${tpr}`;
14542
+ } else if (incPr) {
14543
+ to = `<${tM}.${tm}.${+tp + 1}-0`;
14339
14544
  } else {
14340
- to = "<=" + to;
14341
- }
14342
- return (from + " " + to).trim();
14343
- }
14344
- Range.prototype.test = function(version) {
14345
- if (!version) {
14346
- return false;
14347
- }
14348
- if (typeof version === "string") {
14349
- try {
14350
- version = new SemVer(version, this.options);
14351
- } catch (er) {
14352
- return false;
14353
- }
14545
+ to = `<=${to}`;
14354
14546
  }
14355
- for (var i2 = 0;i2 < this.set.length; i2++) {
14356
- if (testSet(this.set[i2], version, this.options)) {
14357
- return true;
14358
- }
14359
- }
14360
- return false;
14547
+ return `${from} ${to}`.trim();
14361
14548
  };
14362
- function testSet(set, version, options) {
14363
- for (var i2 = 0;i2 < set.length; i2++) {
14364
- if (!set[i2].test(version)) {
14549
+ var testSet = (set, version, options) => {
14550
+ for (let i = 0;i < set.length; i++) {
14551
+ if (!set[i].test(version)) {
14365
14552
  return false;
14366
14553
  }
14367
14554
  }
14368
14555
  if (version.prerelease.length && !options.includePrerelease) {
14369
- for (i2 = 0;i2 < set.length; i2++) {
14370
- debug(set[i2].semver);
14371
- if (set[i2].semver === ANY) {
14556
+ for (let i = 0;i < set.length; i++) {
14557
+ debug(set[i].semver);
14558
+ if (set[i].semver === Comparator.ANY) {
14372
14559
  continue;
14373
14560
  }
14374
- if (set[i2].semver.prerelease.length > 0) {
14375
- var allowed = set[i2].semver;
14561
+ if (set[i].semver.prerelease.length > 0) {
14562
+ const allowed = set[i].semver;
14376
14563
  if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
14377
14564
  return true;
14378
14565
  }
@@ -14381,26 +14568,155 @@ var require_semver = __commonJS((exports, module) => {
14381
14568
  return false;
14382
14569
  }
14383
14570
  return true;
14571
+ };
14572
+ });
14573
+
14574
+ // node_modules/semver/classes/comparator.js
14575
+ var require_comparator = __commonJS((exports, module) => {
14576
+ var ANY = Symbol("SemVer ANY");
14577
+
14578
+ class Comparator {
14579
+ static get ANY() {
14580
+ return ANY;
14581
+ }
14582
+ constructor(comp, options) {
14583
+ options = parseOptions(options);
14584
+ if (comp instanceof Comparator) {
14585
+ if (comp.loose === !!options.loose) {
14586
+ return comp;
14587
+ } else {
14588
+ comp = comp.value;
14589
+ }
14590
+ }
14591
+ comp = comp.trim().split(/\s+/).join(" ");
14592
+ debug("comparator", comp, options);
14593
+ this.options = options;
14594
+ this.loose = !!options.loose;
14595
+ this.parse(comp);
14596
+ if (this.semver === ANY) {
14597
+ this.value = "";
14598
+ } else {
14599
+ this.value = this.operator + this.semver.version;
14600
+ }
14601
+ debug("comp", this);
14602
+ }
14603
+ parse(comp) {
14604
+ const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
14605
+ const m = comp.match(r);
14606
+ if (!m) {
14607
+ throw new TypeError(`Invalid comparator: ${comp}`);
14608
+ }
14609
+ this.operator = m[1] !== undefined ? m[1] : "";
14610
+ if (this.operator === "=") {
14611
+ this.operator = "";
14612
+ }
14613
+ if (!m[2]) {
14614
+ this.semver = ANY;
14615
+ } else {
14616
+ this.semver = new SemVer(m[2], this.options.loose);
14617
+ }
14618
+ }
14619
+ toString() {
14620
+ return this.value;
14621
+ }
14622
+ test(version) {
14623
+ debug("Comparator.test", version, this.options.loose);
14624
+ if (this.semver === ANY || version === ANY) {
14625
+ return true;
14626
+ }
14627
+ if (typeof version === "string") {
14628
+ try {
14629
+ version = new SemVer(version, this.options);
14630
+ } catch (er) {
14631
+ return false;
14632
+ }
14633
+ }
14634
+ return cmp(version, this.operator, this.semver, this.options);
14635
+ }
14636
+ intersects(comp, options) {
14637
+ if (!(comp instanceof Comparator)) {
14638
+ throw new TypeError("a Comparator is required");
14639
+ }
14640
+ if (this.operator === "") {
14641
+ if (this.value === "") {
14642
+ return true;
14643
+ }
14644
+ return new Range(comp.value, options).test(this.value);
14645
+ } else if (comp.operator === "") {
14646
+ if (comp.value === "") {
14647
+ return true;
14648
+ }
14649
+ return new Range(this.value, options).test(comp.semver);
14650
+ }
14651
+ options = parseOptions(options);
14652
+ if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
14653
+ return false;
14654
+ }
14655
+ if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
14656
+ return false;
14657
+ }
14658
+ if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
14659
+ return true;
14660
+ }
14661
+ if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
14662
+ return true;
14663
+ }
14664
+ if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
14665
+ return true;
14666
+ }
14667
+ if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
14668
+ return true;
14669
+ }
14670
+ if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
14671
+ return true;
14672
+ }
14673
+ return false;
14674
+ }
14384
14675
  }
14385
- exports.satisfies = satisfies;
14386
- function satisfies(version, range, options) {
14676
+ module.exports = Comparator;
14677
+ var parseOptions = require_parse_options();
14678
+ var { safeRe: re, t } = require_re();
14679
+ var cmp = require_cmp();
14680
+ var debug = require_debug();
14681
+ var SemVer = require_semver();
14682
+ var Range = require_range();
14683
+ });
14684
+
14685
+ // node_modules/semver/functions/satisfies.js
14686
+ var require_satisfies = __commonJS((exports, module) => {
14687
+ var Range = require_range();
14688
+ var satisfies = (version, range, options) => {
14387
14689
  try {
14388
14690
  range = new Range(range, options);
14389
14691
  } catch (er) {
14390
14692
  return false;
14391
14693
  }
14392
14694
  return range.test(version);
14393
- }
14394
- exports.maxSatisfying = maxSatisfying;
14395
- function maxSatisfying(versions, range, options) {
14396
- var max = null;
14397
- var maxSV = null;
14695
+ };
14696
+ module.exports = satisfies;
14697
+ });
14698
+
14699
+ // node_modules/semver/ranges/to-comparators.js
14700
+ var require_to_comparators = __commonJS((exports, module) => {
14701
+ var Range = require_range();
14702
+ var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
14703
+ module.exports = toComparators;
14704
+ });
14705
+
14706
+ // node_modules/semver/ranges/max-satisfying.js
14707
+ var require_max_satisfying = __commonJS((exports, module) => {
14708
+ var SemVer = require_semver();
14709
+ var Range = require_range();
14710
+ var maxSatisfying = (versions, range, options) => {
14711
+ let max = null;
14712
+ let maxSV = null;
14713
+ let rangeObj = null;
14398
14714
  try {
14399
- var rangeObj = new Range(range, options);
14715
+ rangeObj = new Range(range, options);
14400
14716
  } catch (er) {
14401
14717
  return null;
14402
14718
  }
14403
- versions.forEach(function(v) {
14719
+ versions.forEach((v) => {
14404
14720
  if (rangeObj.test(v)) {
14405
14721
  if (!max || maxSV.compare(v) === -1) {
14406
14722
  max = v;
@@ -14409,17 +14725,24 @@ var require_semver = __commonJS((exports, module) => {
14409
14725
  }
14410
14726
  });
14411
14727
  return max;
14412
- }
14413
- exports.minSatisfying = minSatisfying;
14414
- function minSatisfying(versions, range, options) {
14415
- var min = null;
14416
- var minSV = null;
14728
+ };
14729
+ module.exports = maxSatisfying;
14730
+ });
14731
+
14732
+ // node_modules/semver/ranges/min-satisfying.js
14733
+ var require_min_satisfying = __commonJS((exports, module) => {
14734
+ var SemVer = require_semver();
14735
+ var Range = require_range();
14736
+ var minSatisfying = (versions, range, options) => {
14737
+ let min = null;
14738
+ let minSV = null;
14739
+ let rangeObj = null;
14417
14740
  try {
14418
- var rangeObj = new Range(range, options);
14741
+ rangeObj = new Range(range, options);
14419
14742
  } catch (er) {
14420
14743
  return null;
14421
14744
  }
14422
- versions.forEach(function(v) {
14745
+ versions.forEach((v) => {
14423
14746
  if (rangeObj.test(v)) {
14424
14747
  if (!min || minSV.compare(v) === 1) {
14425
14748
  min = v;
@@ -14428,11 +14751,18 @@ var require_semver = __commonJS((exports, module) => {
14428
14751
  }
14429
14752
  });
14430
14753
  return min;
14431
- }
14432
- exports.minVersion = minVersion;
14433
- function minVersion(range, loose) {
14754
+ };
14755
+ module.exports = minSatisfying;
14756
+ });
14757
+
14758
+ // node_modules/semver/ranges/min-version.js
14759
+ var require_min_version = __commonJS((exports, module) => {
14760
+ var SemVer = require_semver();
14761
+ var Range = require_range();
14762
+ var gt = require_gt();
14763
+ var minVersion = (range, loose) => {
14434
14764
  range = new Range(range, loose);
14435
- var minver = new SemVer("0.0.0");
14765
+ let minver = new SemVer("0.0.0");
14436
14766
  if (range.test(minver)) {
14437
14767
  return minver;
14438
14768
  }
@@ -14441,10 +14771,11 @@ var require_semver = __commonJS((exports, module) => {
14441
14771
  return minver;
14442
14772
  }
14443
14773
  minver = null;
14444
- for (var i2 = 0;i2 < range.set.length; ++i2) {
14445
- var comparators = range.set[i2];
14446
- comparators.forEach(function(comparator) {
14447
- var compver = new SemVer(comparator.semver.version);
14774
+ for (let i = 0;i < range.set.length; ++i) {
14775
+ const comparators = range.set[i];
14776
+ let setMin = null;
14777
+ comparators.forEach((comparator) => {
14778
+ const compver = new SemVer(comparator.semver.version);
14448
14779
  switch (comparator.operator) {
14449
14780
  case ">":
14450
14781
  if (compver.prerelease.length === 0) {
@@ -14455,44 +14786,57 @@ var require_semver = __commonJS((exports, module) => {
14455
14786
  compver.raw = compver.format();
14456
14787
  case "":
14457
14788
  case ">=":
14458
- if (!minver || gt(minver, compver)) {
14459
- minver = compver;
14789
+ if (!setMin || gt(compver, setMin)) {
14790
+ setMin = compver;
14460
14791
  }
14461
14792
  break;
14462
14793
  case "<":
14463
14794
  case "<=":
14464
14795
  break;
14465
14796
  default:
14466
- throw new Error("Unexpected operation: " + comparator.operator);
14797
+ throw new Error(`Unexpected operation: ${comparator.operator}`);
14467
14798
  }
14468
14799
  });
14800
+ if (setMin && (!minver || gt(minver, setMin))) {
14801
+ minver = setMin;
14802
+ }
14469
14803
  }
14470
14804
  if (minver && range.test(minver)) {
14471
14805
  return minver;
14472
14806
  }
14473
14807
  return null;
14474
- }
14475
- exports.validRange = validRange;
14476
- function validRange(range, options) {
14808
+ };
14809
+ module.exports = minVersion;
14810
+ });
14811
+
14812
+ // node_modules/semver/ranges/valid.js
14813
+ var require_valid2 = __commonJS((exports, module) => {
14814
+ var Range = require_range();
14815
+ var validRange = (range, options) => {
14477
14816
  try {
14478
14817
  return new Range(range, options).range || "*";
14479
14818
  } catch (er) {
14480
14819
  return null;
14481
14820
  }
14482
- }
14483
- exports.ltr = ltr;
14484
- function ltr(version, range, options) {
14485
- return outside(version, range, "<", options);
14486
- }
14487
- exports.gtr = gtr;
14488
- function gtr(version, range, options) {
14489
- return outside(version, range, ">", options);
14490
- }
14491
- exports.outside = outside;
14492
- function outside(version, range, hilo, options) {
14821
+ };
14822
+ module.exports = validRange;
14823
+ });
14824
+
14825
+ // node_modules/semver/ranges/outside.js
14826
+ var require_outside = __commonJS((exports, module) => {
14827
+ var SemVer = require_semver();
14828
+ var Comparator = require_comparator();
14829
+ var { ANY } = Comparator;
14830
+ var Range = require_range();
14831
+ var satisfies = require_satisfies();
14832
+ var gt = require_gt();
14833
+ var lt = require_lt();
14834
+ var lte = require_lte();
14835
+ var gte = require_gte();
14836
+ var outside = (version, range, hilo, options) => {
14493
14837
  version = new SemVer(version, options);
14494
14838
  range = new Range(range, options);
14495
- var gtfn, ltefn, ltfn, comp, ecomp;
14839
+ let gtfn, ltefn, ltfn, comp, ecomp;
14496
14840
  switch (hilo) {
14497
14841
  case ">":
14498
14842
  gtfn = gt;
@@ -14514,11 +14858,11 @@ var require_semver = __commonJS((exports, module) => {
14514
14858
  if (satisfies(version, range, options)) {
14515
14859
  return false;
14516
14860
  }
14517
- for (var i2 = 0;i2 < range.set.length; ++i2) {
14518
- var comparators = range.set[i2];
14519
- var high = null;
14520
- var low = null;
14521
- comparators.forEach(function(comparator) {
14861
+ for (let i = 0;i < range.set.length; ++i) {
14862
+ const comparators = range.set[i];
14863
+ let high = null;
14864
+ let low = null;
14865
+ comparators.forEach((comparator) => {
14522
14866
  if (comparator.semver === ANY) {
14523
14867
  comparator = new Comparator(">=0.0.0");
14524
14868
  }
@@ -14540,57 +14884,341 @@ var require_semver = __commonJS((exports, module) => {
14540
14884
  }
14541
14885
  }
14542
14886
  return true;
14543
- }
14544
- exports.prerelease = prerelease;
14545
- function prerelease(version, options) {
14546
- var parsed = parse(version, options);
14547
- return parsed && parsed.prerelease.length ? parsed.prerelease : null;
14548
- }
14549
- exports.intersects = intersects;
14550
- function intersects(r1, r2, options) {
14887
+ };
14888
+ module.exports = outside;
14889
+ });
14890
+
14891
+ // node_modules/semver/ranges/gtr.js
14892
+ var require_gtr = __commonJS((exports, module) => {
14893
+ var outside = require_outside();
14894
+ var gtr = (version, range, options) => outside(version, range, ">", options);
14895
+ module.exports = gtr;
14896
+ });
14897
+
14898
+ // node_modules/semver/ranges/ltr.js
14899
+ var require_ltr = __commonJS((exports, module) => {
14900
+ var outside = require_outside();
14901
+ var ltr = (version, range, options) => outside(version, range, "<", options);
14902
+ module.exports = ltr;
14903
+ });
14904
+
14905
+ // node_modules/semver/ranges/intersects.js
14906
+ var require_intersects = __commonJS((exports, module) => {
14907
+ var Range = require_range();
14908
+ var intersects = (r1, r2, options) => {
14551
14909
  r1 = new Range(r1, options);
14552
14910
  r2 = new Range(r2, options);
14553
- return r1.intersects(r2);
14554
- }
14555
- exports.coerce = coerce;
14556
- function coerce(version, options) {
14557
- if (version instanceof SemVer) {
14558
- return version;
14911
+ return r1.intersects(r2, options);
14912
+ };
14913
+ module.exports = intersects;
14914
+ });
14915
+
14916
+ // node_modules/semver/ranges/simplify.js
14917
+ var require_simplify = __commonJS((exports, module) => {
14918
+ var satisfies = require_satisfies();
14919
+ var compare = require_compare();
14920
+ module.exports = (versions, range, options) => {
14921
+ const set = [];
14922
+ let first = null;
14923
+ let prev = null;
14924
+ const v = versions.sort((a, b) => compare(a, b, options));
14925
+ for (const version of v) {
14926
+ const included = satisfies(version, range, options);
14927
+ if (included) {
14928
+ prev = version;
14929
+ if (!first) {
14930
+ first = version;
14931
+ }
14932
+ } else {
14933
+ if (prev) {
14934
+ set.push([first, prev]);
14935
+ }
14936
+ prev = null;
14937
+ first = null;
14938
+ }
14939
+ }
14940
+ if (first) {
14941
+ set.push([first, null]);
14942
+ }
14943
+ const ranges = [];
14944
+ for (const [min, max] of set) {
14945
+ if (min === max) {
14946
+ ranges.push(min);
14947
+ } else if (!max && min === v[0]) {
14948
+ ranges.push("*");
14949
+ } else if (!max) {
14950
+ ranges.push(`>=${min}`);
14951
+ } else if (min === v[0]) {
14952
+ ranges.push(`<=${max}`);
14953
+ } else {
14954
+ ranges.push(`${min} - ${max}`);
14955
+ }
14559
14956
  }
14560
- if (typeof version === "number") {
14561
- version = String(version);
14957
+ const simplified = ranges.join(" || ");
14958
+ const original = typeof range.raw === "string" ? range.raw : String(range);
14959
+ return simplified.length < original.length ? simplified : range;
14960
+ };
14961
+ });
14962
+
14963
+ // node_modules/semver/ranges/subset.js
14964
+ var require_subset = __commonJS((exports, module) => {
14965
+ var Range = require_range();
14966
+ var Comparator = require_comparator();
14967
+ var { ANY } = Comparator;
14968
+ var satisfies = require_satisfies();
14969
+ var compare = require_compare();
14970
+ var subset = (sub, dom, options = {}) => {
14971
+ if (sub === dom) {
14972
+ return true;
14562
14973
  }
14563
- if (typeof version !== "string") {
14974
+ sub = new Range(sub, options);
14975
+ dom = new Range(dom, options);
14976
+ let sawNonNull = false;
14977
+ OUTER:
14978
+ for (const simpleSub of sub.set) {
14979
+ for (const simpleDom of dom.set) {
14980
+ const isSub = simpleSubset(simpleSub, simpleDom, options);
14981
+ sawNonNull = sawNonNull || isSub !== null;
14982
+ if (isSub) {
14983
+ continue OUTER;
14984
+ }
14985
+ }
14986
+ if (sawNonNull) {
14987
+ return false;
14988
+ }
14989
+ }
14990
+ return true;
14991
+ };
14992
+ var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
14993
+ var minimumVersion = [new Comparator(">=0.0.0")];
14994
+ var simpleSubset = (sub, dom, options) => {
14995
+ if (sub === dom) {
14996
+ return true;
14997
+ }
14998
+ if (sub.length === 1 && sub[0].semver === ANY) {
14999
+ if (dom.length === 1 && dom[0].semver === ANY) {
15000
+ return true;
15001
+ } else if (options.includePrerelease) {
15002
+ sub = minimumVersionWithPreRelease;
15003
+ } else {
15004
+ sub = minimumVersion;
15005
+ }
15006
+ }
15007
+ if (dom.length === 1 && dom[0].semver === ANY) {
15008
+ if (options.includePrerelease) {
15009
+ return true;
15010
+ } else {
15011
+ dom = minimumVersion;
15012
+ }
15013
+ }
15014
+ const eqSet = new Set;
15015
+ let gt, lt;
15016
+ for (const c of sub) {
15017
+ if (c.operator === ">" || c.operator === ">=") {
15018
+ gt = higherGT(gt, c, options);
15019
+ } else if (c.operator === "<" || c.operator === "<=") {
15020
+ lt = lowerLT(lt, c, options);
15021
+ } else {
15022
+ eqSet.add(c.semver);
15023
+ }
15024
+ }
15025
+ if (eqSet.size > 1) {
14564
15026
  return null;
14565
15027
  }
14566
- options = options || {};
14567
- var match = null;
14568
- if (!options.rtl) {
14569
- match = version.match(safeRe[t.COERCE]);
14570
- } else {
14571
- var next;
14572
- while ((next = safeRe[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
14573
- if (!match || next.index + next[0].length !== match.index + match[0].length) {
14574
- match = next;
15028
+ let gtltComp;
15029
+ if (gt && lt) {
15030
+ gtltComp = compare(gt.semver, lt.semver, options);
15031
+ if (gtltComp > 0) {
15032
+ return null;
15033
+ } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
15034
+ return null;
15035
+ }
15036
+ }
15037
+ for (const eq of eqSet) {
15038
+ if (gt && !satisfies(eq, String(gt), options)) {
15039
+ return null;
15040
+ }
15041
+ if (lt && !satisfies(eq, String(lt), options)) {
15042
+ return null;
15043
+ }
15044
+ for (const c of dom) {
15045
+ if (!satisfies(eq, String(c), options)) {
15046
+ return false;
14575
15047
  }
14576
- safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
14577
15048
  }
14578
- safeRe[t.COERCERTL].lastIndex = -1;
15049
+ return true;
14579
15050
  }
14580
- if (match === null) {
14581
- return null;
15051
+ let higher, lower;
15052
+ let hasDomLT, hasDomGT;
15053
+ let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
15054
+ let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
15055
+ if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
15056
+ needDomLTPre = false;
15057
+ }
15058
+ for (const c of dom) {
15059
+ hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
15060
+ hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
15061
+ if (gt) {
15062
+ if (needDomGTPre) {
15063
+ if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
15064
+ needDomGTPre = false;
15065
+ }
15066
+ }
15067
+ if (c.operator === ">" || c.operator === ">=") {
15068
+ higher = higherGT(gt, c, options);
15069
+ if (higher === c && higher !== gt) {
15070
+ return false;
15071
+ }
15072
+ } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) {
15073
+ return false;
15074
+ }
15075
+ }
15076
+ if (lt) {
15077
+ if (needDomLTPre) {
15078
+ if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
15079
+ needDomLTPre = false;
15080
+ }
15081
+ }
15082
+ if (c.operator === "<" || c.operator === "<=") {
15083
+ lower = lowerLT(lt, c, options);
15084
+ if (lower === c && lower !== lt) {
15085
+ return false;
15086
+ }
15087
+ } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
15088
+ return false;
15089
+ }
15090
+ }
15091
+ if (!c.operator && (lt || gt) && gtltComp !== 0) {
15092
+ return false;
15093
+ }
14582
15094
  }
14583
- return parse(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
14584
- }
15095
+ if (gt && hasDomLT && !lt && gtltComp !== 0) {
15096
+ return false;
15097
+ }
15098
+ if (lt && hasDomGT && !gt && gtltComp !== 0) {
15099
+ return false;
15100
+ }
15101
+ if (needDomGTPre || needDomLTPre) {
15102
+ return false;
15103
+ }
15104
+ return true;
15105
+ };
15106
+ var higherGT = (a, b, options) => {
15107
+ if (!a) {
15108
+ return b;
15109
+ }
15110
+ const comp = compare(a.semver, b.semver, options);
15111
+ return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
15112
+ };
15113
+ var lowerLT = (a, b, options) => {
15114
+ if (!a) {
15115
+ return b;
15116
+ }
15117
+ const comp = compare(a.semver, b.semver, options);
15118
+ return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
15119
+ };
15120
+ module.exports = subset;
15121
+ });
15122
+
15123
+ // node_modules/semver/index.js
15124
+ var require_semver2 = __commonJS((exports, module) => {
15125
+ var internalRe = require_re();
15126
+ var constants = require_constants();
15127
+ var SemVer = require_semver();
15128
+ var identifiers = require_identifiers();
15129
+ var parse = require_parse();
15130
+ var valid = require_valid();
15131
+ var clean = require_clean();
15132
+ var inc = require_inc();
15133
+ var diff = require_diff();
15134
+ var major = require_major();
15135
+ var minor = require_minor();
15136
+ var patch = require_patch();
15137
+ var prerelease = require_prerelease();
15138
+ var compare = require_compare();
15139
+ var rcompare = require_rcompare();
15140
+ var compareLoose = require_compare_loose();
15141
+ var compareBuild = require_compare_build();
15142
+ var sort = require_sort();
15143
+ var rsort = require_rsort();
15144
+ var gt = require_gt();
15145
+ var lt = require_lt();
15146
+ var eq = require_eq();
15147
+ var neq = require_neq();
15148
+ var gte = require_gte();
15149
+ var lte = require_lte();
15150
+ var cmp = require_cmp();
15151
+ var coerce = require_coerce();
15152
+ var Comparator = require_comparator();
15153
+ var Range = require_range();
15154
+ var satisfies = require_satisfies();
15155
+ var toComparators = require_to_comparators();
15156
+ var maxSatisfying = require_max_satisfying();
15157
+ var minSatisfying = require_min_satisfying();
15158
+ var minVersion = require_min_version();
15159
+ var validRange = require_valid2();
15160
+ var outside = require_outside();
15161
+ var gtr = require_gtr();
15162
+ var ltr = require_ltr();
15163
+ var intersects = require_intersects();
15164
+ var simplifyRange = require_simplify();
15165
+ var subset = require_subset();
15166
+ module.exports = {
15167
+ parse,
15168
+ valid,
15169
+ clean,
15170
+ inc,
15171
+ diff,
15172
+ major,
15173
+ minor,
15174
+ patch,
15175
+ prerelease,
15176
+ compare,
15177
+ rcompare,
15178
+ compareLoose,
15179
+ compareBuild,
15180
+ sort,
15181
+ rsort,
15182
+ gt,
15183
+ lt,
15184
+ eq,
15185
+ neq,
15186
+ gte,
15187
+ lte,
15188
+ cmp,
15189
+ coerce,
15190
+ Comparator,
15191
+ Range,
15192
+ satisfies,
15193
+ toComparators,
15194
+ maxSatisfying,
15195
+ minSatisfying,
15196
+ minVersion,
15197
+ validRange,
15198
+ outside,
15199
+ gtr,
15200
+ ltr,
15201
+ intersects,
15202
+ simplifyRange,
15203
+ subset,
15204
+ SemVer,
15205
+ re: internalRe.re,
15206
+ src: internalRe.src,
15207
+ tokens: internalRe.t,
15208
+ SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
15209
+ RELEASE_TYPES: constants.RELEASE_TYPES,
15210
+ compareIdentifiers: identifiers.compareIdentifiers,
15211
+ rcompareIdentifiers: identifiers.rcompareIdentifiers
15212
+ };
14585
15213
  });
14586
15214
 
14587
15215
  // package.json
14588
15216
  var require_package = __commonJS((exports, module) => {
14589
15217
  module.exports = {
14590
15218
  name: "@betty-blocks/cli",
14591
- version: "25.108.0",
15219
+ version: "26.0.0-beta.11",
14592
15220
  description: "A Betty Blocks CLI",
14593
- module: "./src/bb.ts",
15221
+ module: "./build/src/bb.js",
14594
15222
  type: "module",
14595
15223
  license: "UNLICENSED",
14596
15224
  repository: {
@@ -14610,70 +15238,69 @@ var require_package = __commonJS((exports, module) => {
14610
15238
  clean: "rm -rf build/ && rm -rf node_modules/"
14611
15239
  },
14612
15240
  devDependencies: {
14613
- "@commitlint/cli": "^15.0.0",
14614
- "@commitlint/config-angular": "^15.0.0",
14615
- "@commitlint/prompt-cli": "^15.0.0",
14616
- "@semantic-release/changelog": "^6.0.1",
15241
+ "@commitlint/cli": "^20.1.0",
15242
+ "@commitlint/config-angular": "^20.0.0",
15243
+ "@commitlint/prompt-cli": "^20.1.0",
15244
+ "@semantic-release/changelog": "^6.0.3",
14617
15245
  "@semantic-release/git": "^10.0.1",
14618
- "@types/adm-zip": "0.5.7",
14619
15246
  "@types/app-root-path": "^1.2.4",
14620
15247
  "@types/babel__generator": "7.27.0",
14621
15248
  "@types/babel__traverse": "7.28.0",
14622
- "@types/bun": "^1.2.19",
15249
+ "@types/bun": "^1.2.23",
14623
15250
  "@types/fs-extra": "^8.0.0",
14624
15251
  "@types/glob": "^7.2.0",
14625
- "@types/hapi__joi": "^16.0.0",
14626
- "@types/minimatch": "^6.0.0",
14627
- "@types/promise-sequential": "^1.1.0",
14628
- "@types/prompts": "^2.0.14",
14629
- "@types/react": "^16.9.9",
14630
- "@types/semver": "^7.3.9",
14631
- "@types/serve-handler": "^6.1.0",
15252
+ "@types/promise-sequential": "^1.1.2",
15253
+ "@types/semver": "^7.7.1",
14632
15254
  "app-root-path": "^2.2.1",
14633
- eslint: "^9.23.0",
14634
- "eslint-config-prettier": "^10.1.1",
14635
- "eslint-plugin-prettier": "^5.2.5",
15255
+ "eslint-config-prettier": "^10.1.8",
15256
+ "eslint-plugin-prettier": "^5.5.4",
14636
15257
  "eslint-plugin-simple-import-sort": "^12.1.1",
14637
- prettier: "3.5.3",
14638
- "semantic-release": "^24.2.7",
14639
- "typescript-eslint": "^8.18.0",
14640
- typescript: "^5.8.2"
15258
+ eslint: "^9.36.0",
15259
+ prettier: "3.6.2",
15260
+ "semantic-release": "^24.2.9",
15261
+ "typescript-eslint": "^8.45.0"
14641
15262
  },
14642
15263
  dependencies: {
14643
- "@azure/ms-rest-js": "^2.0.4",
15264
+ "@azure/ms-rest-js": "^2.7.0",
14644
15265
  "@azure/storage-blob": "^10.3.0",
14645
- "@babel/generator": "7.28.0",
14646
- "@babel/parser": "7.28.0",
14647
- "@babel/traverse": "7.28.0",
14648
- "@babel/types": "7.28.2",
14649
- "@betty-blocks/component-sdk": "^1.91.3",
15266
+ "@babel/generator": "7.28.3",
15267
+ "@babel/parser": "7.28.4",
15268
+ "@babel/traverse": "7.28.4",
15269
+ "@babel/types": "7.28.4",
15270
+ "@betty-blocks/component-sdk": "^1.91.4",
15271
+ "@types/adm-zip": "0.5.7",
15272
+ "@types/hapi__joi": "^16.0.0",
15273
+ "@types/prompts": "^2.4.9",
15274
+ "@types/react": "^16.9.9",
15275
+ "@types/serve-handler": "^6.1.4",
14650
15276
  "adm-zip": "0.5.16",
14651
15277
  case: "^1.6.3",
14652
- chalk: "^5.5.0",
14653
- commander: "^14.0.0",
14654
- "form-data": "4.0.4",
14655
- "fs-extra": "11.3.1",
14656
- glob: "^7.2.0",
14657
- joi: "18.0.0",
15278
+ chalk: "^5.6.2",
15279
+ commander: "^14.0.1",
15280
+ "fs-extra": "11.3.2",
15281
+ glob: "^11.0.3",
15282
+ joi: "18.0.1",
14658
15283
  "jsdoc-api": "^7.1.0",
14659
- jsonschema: "^1.4.0",
14660
- minimatch: "10.0.3",
15284
+ jsonschema: "^1.5.0",
14661
15285
  minimist: "1.2.8",
14662
15286
  "node-fetch": "3.3.2",
14663
- ora: "8.2.0",
15287
+ ora: "9.0.0",
14664
15288
  prismjs: "1.30.0",
14665
15289
  prompts: "^2.4.2",
14666
- semver: "^6.3.0",
14667
- serve: "^11.1.0",
15290
+ semver: "^7.7.2",
14668
15291
  "serve-handler": "6.1.6",
14669
- "tsconfig-paths": "^3.9.0",
15292
+ serve: "^11.1.0",
15293
+ "ts-node": "10.9.2",
15294
+ "tsconfig-paths": "^3.15.0",
15295
+ typescript: "^5.9.2",
14670
15296
  webhead: "^1.1.3"
14671
15297
  },
14672
15298
  bin: {
14673
- bb: "./src/bb.ts"
15299
+ bb: "./build/src/bb.js"
14674
15300
  },
14675
15301
  resolutions: {
14676
- "@types/react": "^16.9.9"
15302
+ "@types/react": "^16.9.9",
15303
+ "@types/minimatch": "5.1.2"
14677
15304
  },
14678
15305
  files: [
14679
15306
  "assets/",
@@ -14953,6 +15580,9 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
14953
15580
  if (env.TERM === "xterm-ghostty") {
14954
15581
  return 3;
14955
15582
  }
15583
+ if (env.TERM === "wezterm") {
15584
+ return 3;
15585
+ }
14956
15586
  if ("TERM_PROGRAM" in env) {
14957
15587
  const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
14958
15588
  switch (env.TERM_PROGRAM) {
@@ -15201,7 +15831,7 @@ import { createServer as createHttpsServer } from "https";
15201
15831
 
15202
15832
  // src/utils/checkUpdateAvailable.ts
15203
15833
  var import_fs_extra = __toESM(require_lib(), 1);
15204
- var import_semver = __toESM(require_semver(), 1);
15834
+ var import_semver = __toESM(require_semver2(), 1);
15205
15835
  import { exec } from "child_process";
15206
15836
  import { tmpdir } from "os";
15207
15837
  import { promisify } from "util";
@@ -15293,7 +15923,7 @@ var serveComponentSet = (options) => new Promise((resolve, reject) => {
15293
15923
  ],
15294
15924
  public: `${options.rootDir}/dist`
15295
15925
  });
15296
- createServer(serverOptions, listener).on("error", (error) => reject(error)).listen(options.port, options.host, () => resolve());
15926
+ createServer(serverOptions, listener).on("error", (error) => reject(new Error(error))).listen(options.port, options.host, () => resolve());
15297
15927
  });
15298
15928
  var serveComponentSet_default = async (options, hasOfflineFlag) => {
15299
15929
  if (!hasOfflineFlag) {