@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);
@@ -3271,6 +3271,23 @@ var require_stat = __commonJS((exports, module) => {
3271
3271
  };
3272
3272
  });
3273
3273
 
3274
+ // node_modules/fs-extra/lib/util/async.js
3275
+ var require_async = __commonJS((exports, module) => {
3276
+ async function asyncIteratorConcurrentProcess(iterator, fn) {
3277
+ const promises = [];
3278
+ for await (const item of iterator) {
3279
+ promises.push(fn(item).then(() => null, (err) => err ?? new Error("unknown error")));
3280
+ }
3281
+ await Promise.all(promises.map((promise) => promise.then((possibleErr) => {
3282
+ if (possibleErr !== null)
3283
+ throw possibleErr;
3284
+ })));
3285
+ }
3286
+ module.exports = {
3287
+ asyncIteratorConcurrentProcess
3288
+ };
3289
+ });
3290
+
3274
3291
  // node_modules/fs-extra/lib/copy/copy.js
3275
3292
  var require_copy = __commonJS((exports, module) => {
3276
3293
  var fs = require_fs();
@@ -3279,6 +3296,7 @@ var require_copy = __commonJS((exports, module) => {
3279
3296
  var { pathExists } = require_path_exists();
3280
3297
  var { utimesMillis } = require_utimes();
3281
3298
  var stat = require_stat();
3299
+ var { asyncIteratorConcurrentProcess } = require_async();
3282
3300
  async function copy(src, dest, opts = {}) {
3283
3301
  if (typeof opts === "function") {
3284
3302
  opts = { filter: opts };
@@ -3354,19 +3372,15 @@ var require_copy = __commonJS((exports, module) => {
3354
3372
  if (!destStat) {
3355
3373
  await fs.mkdir(dest);
3356
3374
  }
3357
- const promises = [];
3358
- for await (const item of await fs.opendir(src)) {
3375
+ await asyncIteratorConcurrentProcess(await fs.opendir(src), async (item) => {
3359
3376
  const srcItem = path.join(src, item.name);
3360
3377
  const destItem = path.join(dest, item.name);
3361
- promises.push(runFilter(srcItem, destItem, opts).then((include) => {
3362
- if (include) {
3363
- return stat.checkPaths(srcItem, destItem, "copy", opts).then(({ destStat: destStat2 }) => {
3364
- return getStatsAndPerformCopy(destStat2, srcItem, destItem, opts);
3365
- });
3366
- }
3367
- }));
3368
- }
3369
- await Promise.all(promises);
3378
+ const include = await runFilter(srcItem, destItem, opts);
3379
+ if (include) {
3380
+ const { destStat: destStat2 } = await stat.checkPaths(srcItem, destItem, "copy", opts);
3381
+ await getStatsAndPerformCopy(destStat2, srcItem, destItem, opts);
3382
+ }
3383
+ });
3370
3384
  if (!destStat) {
3371
3385
  await fs.chmod(dest, srcStat.mode);
3372
3386
  }
@@ -3982,13 +3996,12 @@ var require_jsonfile = __commonJS((exports, module) => {
3982
3996
  const str = stringify(obj, options);
3983
3997
  return fs.writeFileSync(file, str, options);
3984
3998
  }
3985
- var jsonfile = {
3999
+ module.exports = {
3986
4000
  readFile,
3987
4001
  readFileSync,
3988
4002
  writeFile,
3989
4003
  writeFileSync
3990
4004
  };
3991
- module.exports = jsonfile;
3992
4005
  });
3993
4006
 
3994
4007
  // node_modules/fs-extra/lib/json/jsonfile.js
@@ -4194,736 +4207,924 @@ var require_lib = __commonJS((exports, module) => {
4194
4207
  };
4195
4208
  });
4196
4209
 
4197
- // node_modules/semver/semver.js
4198
- var require_semver = __commonJS((exports, module) => {
4199
- exports = module.exports = SemVer;
4200
- var debug;
4201
- if (typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
4202
- debug = function() {
4203
- var args = Array.prototype.slice.call(arguments, 0);
4204
- args.unshift("SEMVER");
4205
- console.log.apply(console, args);
4206
- };
4207
- } else {
4208
- debug = function() {};
4209
- }
4210
- exports.SEMVER_SPEC_VERSION = "2.0.0";
4210
+ // node_modules/semver/internal/constants.js
4211
+ var require_constants = __commonJS((exports, module) => {
4212
+ var SEMVER_SPEC_VERSION = "2.0.0";
4211
4213
  var MAX_LENGTH = 256;
4212
4214
  var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
4213
4215
  var MAX_SAFE_COMPONENT_LENGTH = 16;
4214
4216
  var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
4217
+ var RELEASE_TYPES = [
4218
+ "major",
4219
+ "premajor",
4220
+ "minor",
4221
+ "preminor",
4222
+ "patch",
4223
+ "prepatch",
4224
+ "prerelease"
4225
+ ];
4226
+ module.exports = {
4227
+ MAX_LENGTH,
4228
+ MAX_SAFE_COMPONENT_LENGTH,
4229
+ MAX_SAFE_BUILD_LENGTH,
4230
+ MAX_SAFE_INTEGER,
4231
+ RELEASE_TYPES,
4232
+ SEMVER_SPEC_VERSION,
4233
+ FLAG_INCLUDE_PRERELEASE: 1,
4234
+ FLAG_LOOSE: 2
4235
+ };
4236
+ });
4237
+
4238
+ // node_modules/semver/internal/debug.js
4239
+ var require_debug = __commonJS((exports, module) => {
4240
+ var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {};
4241
+ module.exports = debug;
4242
+ });
4243
+
4244
+ // node_modules/semver/internal/re.js
4245
+ var require_re = __commonJS((exports, module) => {
4246
+ var {
4247
+ MAX_SAFE_COMPONENT_LENGTH,
4248
+ MAX_SAFE_BUILD_LENGTH,
4249
+ MAX_LENGTH
4250
+ } = require_constants();
4251
+ var debug = require_debug();
4252
+ exports = module.exports = {};
4215
4253
  var re = exports.re = [];
4216
4254
  var safeRe = exports.safeRe = [];
4217
4255
  var src = exports.src = [];
4218
- var t = exports.tokens = {};
4256
+ var safeSrc = exports.safeSrc = [];
4257
+ var t = exports.t = {};
4219
4258
  var R = 0;
4220
- function tok(n) {
4221
- t[n] = R++;
4222
- }
4223
4259
  var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
4224
4260
  var safeRegexReplacements = [
4225
4261
  ["\\s", 1],
4226
4262
  ["\\d", MAX_LENGTH],
4227
4263
  [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
4228
4264
  ];
4229
- function makeSafeRe(value) {
4230
- for (var i2 = 0;i2 < safeRegexReplacements.length; i2++) {
4231
- var token = safeRegexReplacements[i2][0];
4232
- var max = safeRegexReplacements[i2][1];
4233
- value = value.split(token + "*").join(token + "{0," + max + "}").split(token + "+").join(token + "{1," + max + "}");
4265
+ var makeSafeRegex = (value) => {
4266
+ for (const [token, max] of safeRegexReplacements) {
4267
+ value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
4234
4268
  }
4235
4269
  return value;
4236
- }
4237
- tok("NUMERICIDENTIFIER");
4238
- src[t.NUMERICIDENTIFIER] = "0|[1-9]\\d*";
4239
- tok("NUMERICIDENTIFIERLOOSE");
4240
- src[t.NUMERICIDENTIFIERLOOSE] = "\\d+";
4241
- tok("NONNUMERICIDENTIFIER");
4242
- src[t.NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-]" + LETTERDASHNUMBER + "*";
4243
- tok("MAINVERSION");
4244
- src[t.MAINVERSION] = "(" + src[t.NUMERICIDENTIFIER] + ")\\." + "(" + src[t.NUMERICIDENTIFIER] + ")\\." + "(" + src[t.NUMERICIDENTIFIER] + ")";
4245
- tok("MAINVERSIONLOOSE");
4246
- src[t.MAINVERSIONLOOSE] = "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\." + "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\." + "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")";
4247
- tok("PRERELEASEIDENTIFIER");
4248
- src[t.PRERELEASEIDENTIFIER] = "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
4249
- tok("PRERELEASEIDENTIFIERLOOSE");
4250
- src[t.PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
4251
- tok("PRERELEASE");
4252
- src[t.PRERELEASE] = "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))";
4253
- tok("PRERELEASELOOSE");
4254
- src[t.PRERELEASELOOSE] = "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))";
4255
- tok("BUILDIDENTIFIER");
4256
- src[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + "+";
4257
- tok("BUILD");
4258
- src[t.BUILD] = "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))";
4259
- tok("FULL");
4260
- tok("FULLPLAIN");
4261
- src[t.FULLPLAIN] = "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?";
4262
- src[t.FULL] = "^" + src[t.FULLPLAIN] + "$";
4263
- tok("LOOSEPLAIN");
4264
- src[t.LOOSEPLAIN] = "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?";
4265
- tok("LOOSE");
4266
- src[t.LOOSE] = "^" + src[t.LOOSEPLAIN] + "$";
4267
- tok("GTLT");
4268
- src[t.GTLT] = "((?:<|>)?=?)";
4269
- tok("XRANGEIDENTIFIERLOOSE");
4270
- src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*";
4271
- tok("XRANGEIDENTIFIER");
4272
- src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + "|x|X|\\*";
4273
- tok("XRANGEPLAIN");
4274
- src[t.XRANGEPLAIN] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")" + "(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")" + "(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")" + "(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?" + ")?)?";
4275
- tok("XRANGEPLAINLOOSE");
4276
- src[t.XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + "(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + "(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + "(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?" + ")?)?";
4277
- tok("XRANGE");
4278
- src[t.XRANGE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$";
4279
- tok("XRANGELOOSE");
4280
- src[t.XRANGELOOSE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$";
4281
- tok("COERCE");
4282
- src[t.COERCE] = "(^|[^\\d])" + "(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "})" + "(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?" + "(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?" + "(?:$|[^\\d])";
4283
- tok("COERCERTL");
4284
- re[t.COERCERTL] = new RegExp(src[t.COERCE], "g");
4285
- safeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), "g");
4286
- tok("LONETILDE");
4287
- src[t.LONETILDE] = "(?:~>?)";
4288
- tok("TILDETRIM");
4289
- src[t.TILDETRIM] = "(\\s*)" + src[t.LONETILDE] + "\\s+";
4290
- re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], "g");
4291
- safeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), "g");
4292
- var tildeTrimReplace = "$1~";
4293
- tok("TILDE");
4294
- src[t.TILDE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$";
4295
- tok("TILDELOOSE");
4296
- src[t.TILDELOOSE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$";
4297
- tok("LONECARET");
4298
- src[t.LONECARET] = "(?:\\^)";
4299
- tok("CARETTRIM");
4300
- src[t.CARETTRIM] = "(\\s*)" + src[t.LONECARET] + "\\s+";
4301
- re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], "g");
4302
- safeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), "g");
4303
- var caretTrimReplace = "$1^";
4304
- tok("CARET");
4305
- src[t.CARET] = "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$";
4306
- tok("CARETLOOSE");
4307
- src[t.CARETLOOSE] = "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$";
4308
- tok("COMPARATORLOOSE");
4309
- src[t.COMPARATORLOOSE] = "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$";
4310
- tok("COMPARATOR");
4311
- src[t.COMPARATOR] = "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$";
4312
- tok("COMPARATORTRIM");
4313
- src[t.COMPARATORTRIM] = "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")";
4314
- re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], "g");
4315
- safeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), "g");
4316
- var comparatorTrimReplace = "$1$2$3";
4317
- tok("HYPHENRANGE");
4318
- src[t.HYPHENRANGE] = "^\\s*(" + src[t.XRANGEPLAIN] + ")" + "\\s+-\\s+" + "(" + src[t.XRANGEPLAIN] + ")" + "\\s*$";
4319
- tok("HYPHENRANGELOOSE");
4320
- src[t.HYPHENRANGELOOSE] = "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")" + "\\s+-\\s+" + "(" + src[t.XRANGEPLAINLOOSE] + ")" + "\\s*$";
4321
- tok("STAR");
4322
- src[t.STAR] = "(<|>)?=?\\s*\\*";
4323
- for (i = 0;i < R; i++) {
4324
- debug(i, src[i]);
4325
- if (!re[i]) {
4326
- re[i] = new RegExp(src[i]);
4327
- safeRe[i] = new RegExp(makeSafeRe(src[i]));
4328
- }
4329
- }
4330
- var i;
4331
- exports.parse = parse;
4332
- function parse(version, options) {
4333
- if (!options || typeof options !== "object") {
4334
- options = {
4335
- loose: !!options,
4336
- includePrerelease: false
4337
- };
4338
- }
4339
- if (version instanceof SemVer) {
4340
- return version;
4341
- }
4342
- if (typeof version !== "string") {
4343
- return null;
4344
- }
4345
- if (version.length > MAX_LENGTH) {
4346
- return null;
4347
- }
4348
- var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL];
4349
- if (!r.test(version)) {
4350
- return null;
4351
- }
4352
- try {
4353
- return new SemVer(version, options);
4354
- } catch (er) {
4355
- return null;
4356
- }
4357
- }
4358
- exports.valid = valid;
4359
- function valid(version, options) {
4360
- var v = parse(version, options);
4361
- return v ? v.version : null;
4362
- }
4363
- exports.clean = clean;
4364
- function clean(version, options) {
4365
- var s = parse(version.trim().replace(/^[=v]+/, ""), options);
4366
- return s ? s.version : null;
4367
- }
4368
- exports.SemVer = SemVer;
4369
- function SemVer(version, options) {
4370
- if (!options || typeof options !== "object") {
4371
- options = {
4372
- loose: !!options,
4373
- includePrerelease: false
4374
- };
4270
+ };
4271
+ var createToken = (name, value, isGlobal) => {
4272
+ const safe = makeSafeRegex(value);
4273
+ const index = R++;
4274
+ debug(name, index, value);
4275
+ t[name] = index;
4276
+ src[index] = value;
4277
+ safeSrc[index] = safe;
4278
+ re[index] = new RegExp(value, isGlobal ? "g" : undefined);
4279
+ safeRe[index] = new RegExp(safe, isGlobal ? "g" : undefined);
4280
+ };
4281
+ createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
4282
+ createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
4283
+ createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
4284
+ createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})`);
4285
+ createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`);
4286
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
4287
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
4288
+ createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
4289
+ createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
4290
+ createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
4291
+ createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
4292
+ createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
4293
+ createToken("FULL", `^${src[t.FULLPLAIN]}$`);
4294
+ createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
4295
+ createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
4296
+ createToken("GTLT", "((?:<|>)?=?)");
4297
+ createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
4298
+ createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
4299
+ createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?` + `)?)?`);
4300
+ createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?` + `)?)?`);
4301
+ createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
4302
+ createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
4303
+ createToken("COERCEPLAIN", `${"(^|[^\\d])" + "(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
4304
+ createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
4305
+ createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?` + `(?:${src[t.BUILD]})?` + `(?:$|[^\\d])`);
4306
+ createToken("COERCERTL", src[t.COERCE], true);
4307
+ createToken("COERCERTLFULL", src[t.COERCEFULL], true);
4308
+ createToken("LONETILDE", "(?:~>?)");
4309
+ createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
4310
+ exports.tildeTrimReplace = "$1~";
4311
+ createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
4312
+ createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
4313
+ createToken("LONECARET", "(?:\\^)");
4314
+ createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
4315
+ exports.caretTrimReplace = "$1^";
4316
+ createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
4317
+ createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
4318
+ createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
4319
+ createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
4320
+ createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
4321
+ exports.comparatorTrimReplace = "$1$2$3";
4322
+ createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAIN]})` + `\\s*$`);
4323
+ createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAINLOOSE]})` + `\\s*$`);
4324
+ createToken("STAR", "(<|>)?=?\\s*\\*");
4325
+ createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
4326
+ createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
4327
+ });
4328
+
4329
+ // node_modules/semver/internal/parse-options.js
4330
+ var require_parse_options = __commonJS((exports, module) => {
4331
+ var looseOption = Object.freeze({ loose: true });
4332
+ var emptyOpts = Object.freeze({});
4333
+ var parseOptions = (options) => {
4334
+ if (!options) {
4335
+ return emptyOpts;
4336
+ }
4337
+ if (typeof options !== "object") {
4338
+ return looseOption;
4339
+ }
4340
+ return options;
4341
+ };
4342
+ module.exports = parseOptions;
4343
+ });
4344
+
4345
+ // node_modules/semver/internal/identifiers.js
4346
+ var require_identifiers = __commonJS((exports, module) => {
4347
+ var numeric = /^[0-9]+$/;
4348
+ var compareIdentifiers = (a, b) => {
4349
+ const anum = numeric.test(a);
4350
+ const bnum = numeric.test(b);
4351
+ if (anum && bnum) {
4352
+ a = +a;
4353
+ b = +b;
4375
4354
  }
4376
- if (version instanceof SemVer) {
4377
- if (version.loose === options.loose) {
4378
- return version;
4355
+ return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
4356
+ };
4357
+ var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
4358
+ module.exports = {
4359
+ compareIdentifiers,
4360
+ rcompareIdentifiers
4361
+ };
4362
+ });
4363
+
4364
+ // node_modules/semver/classes/semver.js
4365
+ var require_semver = __commonJS((exports, module) => {
4366
+ var debug = require_debug();
4367
+ var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
4368
+ var { safeRe: re, t } = require_re();
4369
+ var parseOptions = require_parse_options();
4370
+ var { compareIdentifiers } = require_identifiers();
4371
+
4372
+ class SemVer {
4373
+ constructor(version, options) {
4374
+ options = parseOptions(options);
4375
+ if (version instanceof SemVer) {
4376
+ if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
4377
+ return version;
4378
+ } else {
4379
+ version = version.version;
4380
+ }
4381
+ } else if (typeof version !== "string") {
4382
+ throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
4383
+ }
4384
+ if (version.length > MAX_LENGTH) {
4385
+ throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);
4386
+ }
4387
+ debug("SemVer", version, options);
4388
+ this.options = options;
4389
+ this.loose = !!options.loose;
4390
+ this.includePrerelease = !!options.includePrerelease;
4391
+ const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
4392
+ if (!m) {
4393
+ throw new TypeError(`Invalid Version: ${version}`);
4394
+ }
4395
+ this.raw = version;
4396
+ this.major = +m[1];
4397
+ this.minor = +m[2];
4398
+ this.patch = +m[3];
4399
+ if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
4400
+ throw new TypeError("Invalid major version");
4401
+ }
4402
+ if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
4403
+ throw new TypeError("Invalid minor version");
4404
+ }
4405
+ if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
4406
+ throw new TypeError("Invalid patch version");
4407
+ }
4408
+ if (!m[4]) {
4409
+ this.prerelease = [];
4379
4410
  } else {
4380
- version = version.version;
4411
+ this.prerelease = m[4].split(".").map((id) => {
4412
+ if (/^[0-9]+$/.test(id)) {
4413
+ const num = +id;
4414
+ if (num >= 0 && num < MAX_SAFE_INTEGER) {
4415
+ return num;
4416
+ }
4417
+ }
4418
+ return id;
4419
+ });
4381
4420
  }
4382
- } else if (typeof version !== "string") {
4383
- throw new TypeError("Invalid Version: " + version);
4421
+ this.build = m[5] ? m[5].split(".") : [];
4422
+ this.format();
4384
4423
  }
4385
- if (version.length > MAX_LENGTH) {
4386
- throw new TypeError("version is longer than " + MAX_LENGTH + " characters");
4387
- }
4388
- if (!(this instanceof SemVer)) {
4389
- return new SemVer(version, options);
4390
- }
4391
- debug("SemVer", version, options);
4392
- this.options = options;
4393
- this.loose = !!options.loose;
4394
- var m = version.trim().match(options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL]);
4395
- if (!m) {
4396
- throw new TypeError("Invalid Version: " + version);
4397
- }
4398
- this.raw = version;
4399
- this.major = +m[1];
4400
- this.minor = +m[2];
4401
- this.patch = +m[3];
4402
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
4403
- throw new TypeError("Invalid major version");
4404
- }
4405
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
4406
- throw new TypeError("Invalid minor version");
4424
+ format() {
4425
+ this.version = `${this.major}.${this.minor}.${this.patch}`;
4426
+ if (this.prerelease.length) {
4427
+ this.version += `-${this.prerelease.join(".")}`;
4428
+ }
4429
+ return this.version;
4407
4430
  }
4408
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
4409
- throw new TypeError("Invalid patch version");
4431
+ toString() {
4432
+ return this.version;
4410
4433
  }
4411
- if (!m[4]) {
4412
- this.prerelease = [];
4413
- } else {
4414
- this.prerelease = m[4].split(".").map(function(id) {
4415
- if (/^[0-9]+$/.test(id)) {
4416
- var num = +id;
4417
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
4418
- return num;
4419
- }
4434
+ compare(other) {
4435
+ debug("SemVer.compare", this.version, this.options, other);
4436
+ if (!(other instanceof SemVer)) {
4437
+ if (typeof other === "string" && other === this.version) {
4438
+ return 0;
4420
4439
  }
4421
- return id;
4422
- });
4423
- }
4424
- this.build = m[5] ? m[5].split(".") : [];
4425
- this.format();
4426
- }
4427
- SemVer.prototype.format = function() {
4428
- this.version = this.major + "." + this.minor + "." + this.patch;
4429
- if (this.prerelease.length) {
4430
- this.version += "-" + this.prerelease.join(".");
4431
- }
4432
- return this.version;
4433
- };
4434
- SemVer.prototype.toString = function() {
4435
- return this.version;
4436
- };
4437
- SemVer.prototype.compare = function(other) {
4438
- debug("SemVer.compare", this.version, this.options, other);
4439
- if (!(other instanceof SemVer)) {
4440
- other = new SemVer(other, this.options);
4441
- }
4442
- return this.compareMain(other) || this.comparePre(other);
4443
- };
4444
- SemVer.prototype.compareMain = function(other) {
4445
- if (!(other instanceof SemVer)) {
4446
- other = new SemVer(other, this.options);
4447
- }
4448
- return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
4449
- };
4450
- SemVer.prototype.comparePre = function(other) {
4451
- if (!(other instanceof SemVer)) {
4452
- other = new SemVer(other, this.options);
4440
+ other = new SemVer(other, this.options);
4441
+ }
4442
+ if (other.version === this.version) {
4443
+ return 0;
4444
+ }
4445
+ return this.compareMain(other) || this.comparePre(other);
4453
4446
  }
4454
- if (this.prerelease.length && !other.prerelease.length) {
4455
- return -1;
4456
- } else if (!this.prerelease.length && other.prerelease.length) {
4457
- return 1;
4458
- } else if (!this.prerelease.length && !other.prerelease.length) {
4459
- return 0;
4447
+ compareMain(other) {
4448
+ if (!(other instanceof SemVer)) {
4449
+ other = new SemVer(other, this.options);
4450
+ }
4451
+ return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
4460
4452
  }
4461
- var i2 = 0;
4462
- do {
4463
- var a = this.prerelease[i2];
4464
- var b = other.prerelease[i2];
4465
- debug("prerelease compare", i2, a, b);
4466
- if (a === undefined && b === undefined) {
4467
- return 0;
4468
- } else if (b === undefined) {
4469
- return 1;
4470
- } else if (a === undefined) {
4471
- return -1;
4472
- } else if (a === b) {
4473
- continue;
4474
- } else {
4475
- return compareIdentifiers(a, b);
4453
+ comparePre(other) {
4454
+ if (!(other instanceof SemVer)) {
4455
+ other = new SemVer(other, this.options);
4476
4456
  }
4477
- } while (++i2);
4478
- };
4479
- SemVer.prototype.compareBuild = function(other) {
4480
- if (!(other instanceof SemVer)) {
4481
- other = new SemVer(other, this.options);
4482
- }
4483
- var i2 = 0;
4484
- do {
4485
- var a = this.build[i2];
4486
- var b = other.build[i2];
4487
- debug("prerelease compare", i2, a, b);
4488
- if (a === undefined && b === undefined) {
4489
- return 0;
4490
- } else if (b === undefined) {
4491
- return 1;
4492
- } else if (a === undefined) {
4457
+ if (this.prerelease.length && !other.prerelease.length) {
4493
4458
  return -1;
4494
- } else if (a === b) {
4495
- continue;
4496
- } else {
4497
- return compareIdentifiers(a, b);
4459
+ } else if (!this.prerelease.length && other.prerelease.length) {
4460
+ return 1;
4461
+ } else if (!this.prerelease.length && !other.prerelease.length) {
4462
+ return 0;
4498
4463
  }
4499
- } while (++i2);
4500
- };
4501
- SemVer.prototype.inc = function(release, identifier) {
4502
- switch (release) {
4503
- case "premajor":
4504
- this.prerelease.length = 0;
4505
- this.patch = 0;
4506
- this.minor = 0;
4507
- this.major++;
4508
- this.inc("pre", identifier);
4509
- break;
4510
- case "preminor":
4511
- this.prerelease.length = 0;
4512
- this.patch = 0;
4513
- this.minor++;
4514
- this.inc("pre", identifier);
4515
- break;
4516
- case "prepatch":
4517
- this.prerelease.length = 0;
4518
- this.inc("patch", identifier);
4519
- this.inc("pre", identifier);
4520
- break;
4521
- case "prerelease":
4522
- if (this.prerelease.length === 0) {
4523
- this.inc("patch", identifier);
4464
+ let i = 0;
4465
+ do {
4466
+ const a = this.prerelease[i];
4467
+ const b = other.prerelease[i];
4468
+ debug("prerelease compare", i, a, b);
4469
+ if (a === undefined && b === undefined) {
4470
+ return 0;
4471
+ } else if (b === undefined) {
4472
+ return 1;
4473
+ } else if (a === undefined) {
4474
+ return -1;
4475
+ } else if (a === b) {
4476
+ continue;
4477
+ } else {
4478
+ return compareIdentifiers(a, b);
4524
4479
  }
4525
- this.inc("pre", identifier);
4526
- break;
4527
- case "major":
4528
- if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
4529
- this.major++;
4480
+ } while (++i);
4481
+ }
4482
+ compareBuild(other) {
4483
+ if (!(other instanceof SemVer)) {
4484
+ other = new SemVer(other, this.options);
4485
+ }
4486
+ let i = 0;
4487
+ do {
4488
+ const a = this.build[i];
4489
+ const b = other.build[i];
4490
+ debug("build compare", i, a, b);
4491
+ if (a === undefined && b === undefined) {
4492
+ return 0;
4493
+ } else if (b === undefined) {
4494
+ return 1;
4495
+ } else if (a === undefined) {
4496
+ return -1;
4497
+ } else if (a === b) {
4498
+ continue;
4499
+ } else {
4500
+ return compareIdentifiers(a, b);
4530
4501
  }
4531
- this.minor = 0;
4532
- this.patch = 0;
4533
- this.prerelease = [];
4534
- break;
4535
- case "minor":
4536
- if (this.patch !== 0 || this.prerelease.length === 0) {
4537
- this.minor++;
4502
+ } while (++i);
4503
+ }
4504
+ inc(release, identifier, identifierBase) {
4505
+ if (release.startsWith("pre")) {
4506
+ if (!identifier && identifierBase === false) {
4507
+ throw new Error("invalid increment argument: identifier is empty");
4538
4508
  }
4539
- this.patch = 0;
4540
- this.prerelease = [];
4541
- break;
4542
- case "patch":
4543
- if (this.prerelease.length === 0) {
4544
- this.patch++;
4509
+ if (identifier) {
4510
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
4511
+ if (!match || match[1] !== identifier) {
4512
+ throw new Error(`invalid identifier: ${identifier}`);
4513
+ }
4545
4514
  }
4546
- this.prerelease = [];
4547
- break;
4548
- case "pre":
4549
- if (this.prerelease.length === 0) {
4550
- this.prerelease = [0];
4551
- } else {
4552
- var i2 = this.prerelease.length;
4553
- while (--i2 >= 0) {
4554
- if (typeof this.prerelease[i2] === "number") {
4555
- this.prerelease[i2]++;
4556
- i2 = -2;
4557
- }
4515
+ }
4516
+ switch (release) {
4517
+ case "premajor":
4518
+ this.prerelease.length = 0;
4519
+ this.patch = 0;
4520
+ this.minor = 0;
4521
+ this.major++;
4522
+ this.inc("pre", identifier, identifierBase);
4523
+ break;
4524
+ case "preminor":
4525
+ this.prerelease.length = 0;
4526
+ this.patch = 0;
4527
+ this.minor++;
4528
+ this.inc("pre", identifier, identifierBase);
4529
+ break;
4530
+ case "prepatch":
4531
+ this.prerelease.length = 0;
4532
+ this.inc("patch", identifier, identifierBase);
4533
+ this.inc("pre", identifier, identifierBase);
4534
+ break;
4535
+ case "prerelease":
4536
+ if (this.prerelease.length === 0) {
4537
+ this.inc("patch", identifier, identifierBase);
4558
4538
  }
4559
- if (i2 === -1) {
4560
- this.prerelease.push(0);
4539
+ this.inc("pre", identifier, identifierBase);
4540
+ break;
4541
+ case "release":
4542
+ if (this.prerelease.length === 0) {
4543
+ throw new Error(`version ${this.raw} is not a prerelease`);
4561
4544
  }
4562
- }
4563
- if (identifier) {
4564
- if (this.prerelease[0] === identifier) {
4565
- if (isNaN(this.prerelease[1])) {
4566
- this.prerelease = [identifier, 0];
4567
- }
4545
+ this.prerelease.length = 0;
4546
+ break;
4547
+ case "major":
4548
+ if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
4549
+ this.major++;
4550
+ }
4551
+ this.minor = 0;
4552
+ this.patch = 0;
4553
+ this.prerelease = [];
4554
+ break;
4555
+ case "minor":
4556
+ if (this.patch !== 0 || this.prerelease.length === 0) {
4557
+ this.minor++;
4558
+ }
4559
+ this.patch = 0;
4560
+ this.prerelease = [];
4561
+ break;
4562
+ case "patch":
4563
+ if (this.prerelease.length === 0) {
4564
+ this.patch++;
4565
+ }
4566
+ this.prerelease = [];
4567
+ break;
4568
+ case "pre": {
4569
+ const base = Number(identifierBase) ? 1 : 0;
4570
+ if (this.prerelease.length === 0) {
4571
+ this.prerelease = [base];
4568
4572
  } else {
4569
- this.prerelease = [identifier, 0];
4573
+ let i = this.prerelease.length;
4574
+ while (--i >= 0) {
4575
+ if (typeof this.prerelease[i] === "number") {
4576
+ this.prerelease[i]++;
4577
+ i = -2;
4578
+ }
4579
+ }
4580
+ if (i === -1) {
4581
+ if (identifier === this.prerelease.join(".") && identifierBase === false) {
4582
+ throw new Error("invalid increment argument: identifier already exists");
4583
+ }
4584
+ this.prerelease.push(base);
4585
+ }
4586
+ }
4587
+ if (identifier) {
4588
+ let prerelease = [identifier, base];
4589
+ if (identifierBase === false) {
4590
+ prerelease = [identifier];
4591
+ }
4592
+ if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
4593
+ if (isNaN(this.prerelease[1])) {
4594
+ this.prerelease = prerelease;
4595
+ }
4596
+ } else {
4597
+ this.prerelease = prerelease;
4598
+ }
4570
4599
  }
4600
+ break;
4571
4601
  }
4572
- break;
4573
- default:
4574
- throw new Error("invalid increment argument: " + release);
4602
+ default:
4603
+ throw new Error(`invalid increment argument: ${release}`);
4604
+ }
4605
+ this.raw = this.format();
4606
+ if (this.build.length) {
4607
+ this.raw += `+${this.build.join(".")}`;
4608
+ }
4609
+ return this;
4610
+ }
4611
+ }
4612
+ module.exports = SemVer;
4613
+ });
4614
+
4615
+ // node_modules/semver/functions/parse.js
4616
+ var require_parse = __commonJS((exports, module) => {
4617
+ var SemVer = require_semver();
4618
+ var parse = (version, options, throwErrors = false) => {
4619
+ if (version instanceof SemVer) {
4620
+ return version;
4621
+ }
4622
+ try {
4623
+ return new SemVer(version, options);
4624
+ } catch (er) {
4625
+ if (!throwErrors) {
4626
+ return null;
4627
+ }
4628
+ throw er;
4575
4629
  }
4576
- this.format();
4577
- this.raw = this.version;
4578
- return this;
4579
4630
  };
4580
- exports.inc = inc;
4581
- function inc(version, release, loose, identifier) {
4582
- if (typeof loose === "string") {
4583
- identifier = loose;
4584
- loose = undefined;
4631
+ module.exports = parse;
4632
+ });
4633
+
4634
+ // node_modules/semver/functions/valid.js
4635
+ var require_valid = __commonJS((exports, module) => {
4636
+ var parse = require_parse();
4637
+ var valid = (version, options) => {
4638
+ const v = parse(version, options);
4639
+ return v ? v.version : null;
4640
+ };
4641
+ module.exports = valid;
4642
+ });
4643
+
4644
+ // node_modules/semver/functions/clean.js
4645
+ var require_clean = __commonJS((exports, module) => {
4646
+ var parse = require_parse();
4647
+ var clean = (version, options) => {
4648
+ const s = parse(version.trim().replace(/^[=v]+/, ""), options);
4649
+ return s ? s.version : null;
4650
+ };
4651
+ module.exports = clean;
4652
+ });
4653
+
4654
+ // node_modules/semver/functions/inc.js
4655
+ var require_inc = __commonJS((exports, module) => {
4656
+ var SemVer = require_semver();
4657
+ var inc = (version, release, options, identifier, identifierBase) => {
4658
+ if (typeof options === "string") {
4659
+ identifierBase = identifier;
4660
+ identifier = options;
4661
+ options = undefined;
4585
4662
  }
4586
4663
  try {
4587
- return new SemVer(version, loose).inc(release, identifier).version;
4664
+ return new SemVer(version instanceof SemVer ? version.version : version, options).inc(release, identifier, identifierBase).version;
4588
4665
  } catch (er) {
4589
4666
  return null;
4590
4667
  }
4591
- }
4592
- exports.diff = diff;
4593
- function diff(version1, version2) {
4594
- if (eq(version1, version2)) {
4668
+ };
4669
+ module.exports = inc;
4670
+ });
4671
+
4672
+ // node_modules/semver/functions/diff.js
4673
+ var require_diff = __commonJS((exports, module) => {
4674
+ var parse = require_parse();
4675
+ var diff = (version1, version2) => {
4676
+ const v1 = parse(version1, null, true);
4677
+ const v2 = parse(version2, null, true);
4678
+ const comparison = v1.compare(v2);
4679
+ if (comparison === 0) {
4595
4680
  return null;
4596
- } else {
4597
- var v1 = parse(version1);
4598
- var v2 = parse(version2);
4599
- var prefix = "";
4600
- if (v1.prerelease.length || v2.prerelease.length) {
4601
- prefix = "pre";
4602
- var defaultResult = "prerelease";
4603
- }
4604
- for (var key in v1) {
4605
- if (key === "major" || key === "minor" || key === "patch") {
4606
- if (v1[key] !== v2[key]) {
4607
- return prefix + key;
4608
- }
4681
+ }
4682
+ const v1Higher = comparison > 0;
4683
+ const highVersion = v1Higher ? v1 : v2;
4684
+ const lowVersion = v1Higher ? v2 : v1;
4685
+ const highHasPre = !!highVersion.prerelease.length;
4686
+ const lowHasPre = !!lowVersion.prerelease.length;
4687
+ if (lowHasPre && !highHasPre) {
4688
+ if (!lowVersion.patch && !lowVersion.minor) {
4689
+ return "major";
4690
+ }
4691
+ if (lowVersion.compareMain(highVersion) === 0) {
4692
+ if (lowVersion.minor && !lowVersion.patch) {
4693
+ return "minor";
4609
4694
  }
4695
+ return "patch";
4610
4696
  }
4611
- return defaultResult;
4612
- }
4613
- }
4614
- exports.compareIdentifiers = compareIdentifiers;
4615
- var numeric = /^[0-9]+$/;
4616
- function compareIdentifiers(a, b) {
4617
- var anum = numeric.test(a);
4618
- var bnum = numeric.test(b);
4619
- if (anum && bnum) {
4620
- a = +a;
4621
- b = +b;
4622
- }
4623
- return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
4624
- }
4625
- exports.rcompareIdentifiers = rcompareIdentifiers;
4626
- function rcompareIdentifiers(a, b) {
4627
- return compareIdentifiers(b, a);
4628
- }
4629
- exports.major = major;
4630
- function major(a, loose) {
4631
- return new SemVer(a, loose).major;
4632
- }
4633
- exports.minor = minor;
4634
- function minor(a, loose) {
4635
- return new SemVer(a, loose).minor;
4636
- }
4637
- exports.patch = patch;
4638
- function patch(a, loose) {
4639
- return new SemVer(a, loose).patch;
4640
- }
4641
- exports.compare = compare;
4642
- function compare(a, b, loose) {
4643
- return new SemVer(a, loose).compare(new SemVer(b, loose));
4644
- }
4645
- exports.compareLoose = compareLoose;
4646
- function compareLoose(a, b) {
4647
- return compare(a, b, true);
4648
- }
4649
- exports.compareBuild = compareBuild;
4650
- function compareBuild(a, b, loose) {
4651
- var versionA = new SemVer(a, loose);
4652
- var versionB = new SemVer(b, loose);
4653
- return versionA.compare(versionB) || versionA.compareBuild(versionB);
4654
- }
4655
- exports.rcompare = rcompare;
4656
- function rcompare(a, b, loose) {
4657
- return compare(b, a, loose);
4658
- }
4659
- exports.sort = sort;
4660
- function sort(list, loose) {
4661
- return list.sort(function(a, b) {
4662
- return exports.compareBuild(a, b, loose);
4663
- });
4664
- }
4665
- exports.rsort = rsort;
4666
- function rsort(list, loose) {
4667
- return list.sort(function(a, b) {
4668
- return exports.compareBuild(b, a, loose);
4669
- });
4670
- }
4671
- exports.gt = gt;
4672
- function gt(a, b, loose) {
4673
- return compare(a, b, loose) > 0;
4674
- }
4675
- exports.lt = lt;
4676
- function lt(a, b, loose) {
4677
- return compare(a, b, loose) < 0;
4678
- }
4679
- exports.eq = eq;
4680
- function eq(a, b, loose) {
4681
- return compare(a, b, loose) === 0;
4682
- }
4683
- exports.neq = neq;
4684
- function neq(a, b, loose) {
4685
- return compare(a, b, loose) !== 0;
4686
- }
4687
- exports.gte = gte;
4688
- function gte(a, b, loose) {
4689
- return compare(a, b, loose) >= 0;
4690
- }
4691
- exports.lte = lte;
4692
- function lte(a, b, loose) {
4693
- return compare(a, b, loose) <= 0;
4694
- }
4695
- exports.cmp = cmp;
4696
- function cmp(a, op, b, loose) {
4697
- switch (op) {
4698
- case "===":
4699
- if (typeof a === "object")
4700
- a = a.version;
4701
- if (typeof b === "object")
4702
- b = b.version;
4703
- return a === b;
4704
- case "!==":
4705
- if (typeof a === "object")
4706
- a = a.version;
4707
- if (typeof b === "object")
4708
- b = b.version;
4709
- return a !== b;
4710
- case "":
4711
- case "=":
4712
- case "==":
4713
- return eq(a, b, loose);
4714
- case "!=":
4715
- return neq(a, b, loose);
4716
- case ">":
4717
- return gt(a, b, loose);
4718
- case ">=":
4719
- return gte(a, b, loose);
4720
- case "<":
4721
- return lt(a, b, loose);
4722
- case "<=":
4723
- return lte(a, b, loose);
4724
- default:
4725
- throw new TypeError("Invalid operator: " + op);
4726
4697
  }
4727
- }
4728
- exports.Comparator = Comparator;
4729
- function Comparator(comp, options) {
4730
- if (!options || typeof options !== "object") {
4731
- options = {
4732
- loose: !!options,
4733
- includePrerelease: false
4734
- };
4698
+ const prefix = highHasPre ? "pre" : "";
4699
+ if (v1.major !== v2.major) {
4700
+ return prefix + "major";
4735
4701
  }
4736
- if (comp instanceof Comparator) {
4737
- if (comp.loose === !!options.loose) {
4738
- return comp;
4739
- } else {
4740
- comp = comp.value;
4741
- }
4702
+ if (v1.minor !== v2.minor) {
4703
+ return prefix + "minor";
4742
4704
  }
4743
- if (!(this instanceof Comparator)) {
4744
- return new Comparator(comp, options);
4745
- }
4746
- comp = comp.trim().split(/\s+/).join(" ");
4747
- debug("comparator", comp, options);
4748
- this.options = options;
4749
- this.loose = !!options.loose;
4750
- this.parse(comp);
4751
- if (this.semver === ANY) {
4752
- this.value = "";
4753
- } else {
4754
- this.value = this.operator + this.semver.version;
4755
- }
4756
- debug("comp", this);
4757
- }
4758
- var ANY = {};
4759
- Comparator.prototype.parse = function(comp) {
4760
- var r = this.options.loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
4761
- var m = comp.match(r);
4762
- if (!m) {
4763
- throw new TypeError("Invalid comparator: " + comp);
4764
- }
4765
- this.operator = m[1] !== undefined ? m[1] : "";
4766
- if (this.operator === "=") {
4767
- this.operator = "";
4768
- }
4769
- if (!m[2]) {
4770
- this.semver = ANY;
4771
- } else {
4772
- this.semver = new SemVer(m[2], this.options.loose);
4705
+ if (v1.patch !== v2.patch) {
4706
+ return prefix + "patch";
4773
4707
  }
4708
+ return "prerelease";
4774
4709
  };
4775
- Comparator.prototype.toString = function() {
4776
- return this.value;
4710
+ module.exports = diff;
4711
+ });
4712
+
4713
+ // node_modules/semver/functions/major.js
4714
+ var require_major = __commonJS((exports, module) => {
4715
+ var SemVer = require_semver();
4716
+ var major = (a, loose) => new SemVer(a, loose).major;
4717
+ module.exports = major;
4718
+ });
4719
+
4720
+ // node_modules/semver/functions/minor.js
4721
+ var require_minor = __commonJS((exports, module) => {
4722
+ var SemVer = require_semver();
4723
+ var minor = (a, loose) => new SemVer(a, loose).minor;
4724
+ module.exports = minor;
4725
+ });
4726
+
4727
+ // node_modules/semver/functions/patch.js
4728
+ var require_patch = __commonJS((exports, module) => {
4729
+ var SemVer = require_semver();
4730
+ var patch = (a, loose) => new SemVer(a, loose).patch;
4731
+ module.exports = patch;
4732
+ });
4733
+
4734
+ // node_modules/semver/functions/prerelease.js
4735
+ var require_prerelease = __commonJS((exports, module) => {
4736
+ var parse = require_parse();
4737
+ var prerelease = (version, options) => {
4738
+ const parsed = parse(version, options);
4739
+ return parsed && parsed.prerelease.length ? parsed.prerelease : null;
4777
4740
  };
4778
- Comparator.prototype.test = function(version) {
4779
- debug("Comparator.test", version, this.options.loose);
4780
- if (this.semver === ANY || version === ANY) {
4781
- return true;
4782
- }
4783
- if (typeof version === "string") {
4784
- try {
4785
- version = new SemVer(version, this.options);
4786
- } catch (er) {
4787
- return false;
4788
- }
4741
+ module.exports = prerelease;
4742
+ });
4743
+
4744
+ // node_modules/semver/functions/compare.js
4745
+ var require_compare = __commonJS((exports, module) => {
4746
+ var SemVer = require_semver();
4747
+ var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
4748
+ module.exports = compare;
4749
+ });
4750
+
4751
+ // node_modules/semver/functions/rcompare.js
4752
+ var require_rcompare = __commonJS((exports, module) => {
4753
+ var compare = require_compare();
4754
+ var rcompare = (a, b, loose) => compare(b, a, loose);
4755
+ module.exports = rcompare;
4756
+ });
4757
+
4758
+ // node_modules/semver/functions/compare-loose.js
4759
+ var require_compare_loose = __commonJS((exports, module) => {
4760
+ var compare = require_compare();
4761
+ var compareLoose = (a, b) => compare(a, b, true);
4762
+ module.exports = compareLoose;
4763
+ });
4764
+
4765
+ // node_modules/semver/functions/compare-build.js
4766
+ var require_compare_build = __commonJS((exports, module) => {
4767
+ var SemVer = require_semver();
4768
+ var compareBuild = (a, b, loose) => {
4769
+ const versionA = new SemVer(a, loose);
4770
+ const versionB = new SemVer(b, loose);
4771
+ return versionA.compare(versionB) || versionA.compareBuild(versionB);
4772
+ };
4773
+ module.exports = compareBuild;
4774
+ });
4775
+
4776
+ // node_modules/semver/functions/sort.js
4777
+ var require_sort = __commonJS((exports, module) => {
4778
+ var compareBuild = require_compare_build();
4779
+ var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
4780
+ module.exports = sort;
4781
+ });
4782
+
4783
+ // node_modules/semver/functions/rsort.js
4784
+ var require_rsort = __commonJS((exports, module) => {
4785
+ var compareBuild = require_compare_build();
4786
+ var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
4787
+ module.exports = rsort;
4788
+ });
4789
+
4790
+ // node_modules/semver/functions/gt.js
4791
+ var require_gt = __commonJS((exports, module) => {
4792
+ var compare = require_compare();
4793
+ var gt = (a, b, loose) => compare(a, b, loose) > 0;
4794
+ module.exports = gt;
4795
+ });
4796
+
4797
+ // node_modules/semver/functions/lt.js
4798
+ var require_lt = __commonJS((exports, module) => {
4799
+ var compare = require_compare();
4800
+ var lt = (a, b, loose) => compare(a, b, loose) < 0;
4801
+ module.exports = lt;
4802
+ });
4803
+
4804
+ // node_modules/semver/functions/eq.js
4805
+ var require_eq = __commonJS((exports, module) => {
4806
+ var compare = require_compare();
4807
+ var eq = (a, b, loose) => compare(a, b, loose) === 0;
4808
+ module.exports = eq;
4809
+ });
4810
+
4811
+ // node_modules/semver/functions/neq.js
4812
+ var require_neq = __commonJS((exports, module) => {
4813
+ var compare = require_compare();
4814
+ var neq = (a, b, loose) => compare(a, b, loose) !== 0;
4815
+ module.exports = neq;
4816
+ });
4817
+
4818
+ // node_modules/semver/functions/gte.js
4819
+ var require_gte = __commonJS((exports, module) => {
4820
+ var compare = require_compare();
4821
+ var gte = (a, b, loose) => compare(a, b, loose) >= 0;
4822
+ module.exports = gte;
4823
+ });
4824
+
4825
+ // node_modules/semver/functions/lte.js
4826
+ var require_lte = __commonJS((exports, module) => {
4827
+ var compare = require_compare();
4828
+ var lte = (a, b, loose) => compare(a, b, loose) <= 0;
4829
+ module.exports = lte;
4830
+ });
4831
+
4832
+ // node_modules/semver/functions/cmp.js
4833
+ var require_cmp = __commonJS((exports, module) => {
4834
+ var eq = require_eq();
4835
+ var neq = require_neq();
4836
+ var gt = require_gt();
4837
+ var gte = require_gte();
4838
+ var lt = require_lt();
4839
+ var lte = require_lte();
4840
+ var cmp = (a, op, b, loose) => {
4841
+ switch (op) {
4842
+ case "===":
4843
+ if (typeof a === "object") {
4844
+ a = a.version;
4845
+ }
4846
+ if (typeof b === "object") {
4847
+ b = b.version;
4848
+ }
4849
+ return a === b;
4850
+ case "!==":
4851
+ if (typeof a === "object") {
4852
+ a = a.version;
4853
+ }
4854
+ if (typeof b === "object") {
4855
+ b = b.version;
4856
+ }
4857
+ return a !== b;
4858
+ case "":
4859
+ case "=":
4860
+ case "==":
4861
+ return eq(a, b, loose);
4862
+ case "!=":
4863
+ return neq(a, b, loose);
4864
+ case ">":
4865
+ return gt(a, b, loose);
4866
+ case ">=":
4867
+ return gte(a, b, loose);
4868
+ case "<":
4869
+ return lt(a, b, loose);
4870
+ case "<=":
4871
+ return lte(a, b, loose);
4872
+ default:
4873
+ throw new TypeError(`Invalid operator: ${op}`);
4789
4874
  }
4790
- return cmp(version, this.operator, this.semver, this.options);
4791
4875
  };
4792
- Comparator.prototype.intersects = function(comp, options) {
4793
- if (!(comp instanceof Comparator)) {
4794
- throw new TypeError("a Comparator is required");
4795
- }
4796
- if (!options || typeof options !== "object") {
4797
- options = {
4798
- loose: !!options,
4799
- includePrerelease: false
4800
- };
4876
+ module.exports = cmp;
4877
+ });
4878
+
4879
+ // node_modules/semver/functions/coerce.js
4880
+ var require_coerce = __commonJS((exports, module) => {
4881
+ var SemVer = require_semver();
4882
+ var parse = require_parse();
4883
+ var { safeRe: re, t } = require_re();
4884
+ var coerce = (version, options) => {
4885
+ if (version instanceof SemVer) {
4886
+ return version;
4801
4887
  }
4802
- var rangeTmp;
4803
- if (this.operator === "") {
4804
- if (this.value === "") {
4805
- return true;
4806
- }
4807
- rangeTmp = new Range(comp.value, options);
4808
- return satisfies(this.value, rangeTmp, options);
4809
- } else if (comp.operator === "") {
4810
- if (comp.value === "") {
4811
- return true;
4888
+ if (typeof version === "number") {
4889
+ version = String(version);
4890
+ }
4891
+ if (typeof version !== "string") {
4892
+ return null;
4893
+ }
4894
+ options = options || {};
4895
+ let match = null;
4896
+ if (!options.rtl) {
4897
+ match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
4898
+ } else {
4899
+ const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
4900
+ let next;
4901
+ while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
4902
+ if (!match || next.index + next[0].length !== match.index + match[0].length) {
4903
+ match = next;
4904
+ }
4905
+ coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
4812
4906
  }
4813
- rangeTmp = new Range(this.value, options);
4814
- return satisfies(comp.semver, rangeTmp, options);
4907
+ coerceRtlRegex.lastIndex = -1;
4908
+ }
4909
+ if (match === null) {
4910
+ return null;
4815
4911
  }
4816
- var sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
4817
- var sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
4818
- var sameSemVer = this.semver.version === comp.semver.version;
4819
- var differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
4820
- var oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && ((this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<"));
4821
- var oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && ((this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">"));
4822
- return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
4912
+ const major = match[2];
4913
+ const minor = match[3] || "0";
4914
+ const patch = match[4] || "0";
4915
+ const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
4916
+ const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
4917
+ return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options);
4823
4918
  };
4824
- exports.Range = Range;
4825
- function Range(range, options) {
4826
- if (!options || typeof options !== "object") {
4827
- options = {
4828
- loose: !!options,
4829
- includePrerelease: false
4830
- };
4919
+ module.exports = coerce;
4920
+ });
4921
+
4922
+ // node_modules/semver/internal/lrucache.js
4923
+ var require_lrucache = __commonJS((exports, module) => {
4924
+ class LRUCache {
4925
+ constructor() {
4926
+ this.max = 1000;
4927
+ this.map = new Map;
4831
4928
  }
4832
- if (range instanceof Range) {
4833
- if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
4834
- return range;
4929
+ get(key) {
4930
+ const value = this.map.get(key);
4931
+ if (value === undefined) {
4932
+ return;
4835
4933
  } else {
4836
- return new Range(range.raw, options);
4934
+ this.map.delete(key);
4935
+ this.map.set(key, value);
4936
+ return value;
4837
4937
  }
4838
4938
  }
4839
- if (range instanceof Comparator) {
4840
- return new Range(range.value, options);
4939
+ delete(key) {
4940
+ return this.map.delete(key);
4841
4941
  }
4842
- if (!(this instanceof Range)) {
4843
- return new Range(range, options);
4844
- }
4845
- this.options = options;
4846
- this.loose = !!options.loose;
4847
- this.includePrerelease = !!options.includePrerelease;
4848
- this.raw = range.trim().split(/\s+/).join(" ");
4849
- this.set = this.raw.split("||").map(function(range2) {
4850
- return this.parseRange(range2.trim());
4851
- }, this).filter(function(c) {
4852
- return c.length;
4853
- });
4854
- if (!this.set.length) {
4855
- throw new TypeError("Invalid SemVer Range: " + this.raw);
4942
+ set(key, value) {
4943
+ const deleted = this.delete(key);
4944
+ if (!deleted && value !== undefined) {
4945
+ if (this.map.size >= this.max) {
4946
+ const firstKey = this.map.keys().next().value;
4947
+ this.delete(firstKey);
4948
+ }
4949
+ this.map.set(key, value);
4950
+ }
4951
+ return this;
4856
4952
  }
4857
- this.format();
4858
4953
  }
4859
- Range.prototype.format = function() {
4860
- this.range = this.set.map(function(comps) {
4861
- return comps.join(" ").trim();
4862
- }).join("||").trim();
4863
- return this.range;
4864
- };
4865
- Range.prototype.toString = function() {
4866
- return this.range;
4867
- };
4868
- Range.prototype.parseRange = function(range) {
4869
- var loose = this.options.loose;
4870
- var hr = loose ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.HYPHENRANGE];
4871
- range = range.replace(hr, hyphenReplace);
4872
- debug("hyphen replace", range);
4873
- range = range.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace);
4874
- debug("comparator trim", range, safeRe[t.COMPARATORTRIM]);
4875
- range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace);
4876
- range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace);
4877
- range = range.split(/\s+/).join(" ");
4878
- var compRe = loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
4879
- var set = range.split(" ").map(function(comp) {
4880
- return parseComparator(comp, this.options);
4881
- }, this).join(" ").split(/\s+/);
4882
- if (this.options.loose) {
4883
- set = set.filter(function(comp) {
4884
- return !!comp.match(compRe);
4885
- });
4954
+ module.exports = LRUCache;
4955
+ });
4956
+
4957
+ // node_modules/semver/classes/range.js
4958
+ var require_range = __commonJS((exports, module) => {
4959
+ var SPACE_CHARACTERS = /\s+/g;
4960
+
4961
+ class Range {
4962
+ constructor(range, options) {
4963
+ options = parseOptions(options);
4964
+ if (range instanceof Range) {
4965
+ if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
4966
+ return range;
4967
+ } else {
4968
+ return new Range(range.raw, options);
4969
+ }
4970
+ }
4971
+ if (range instanceof Comparator) {
4972
+ this.raw = range.value;
4973
+ this.set = [[range]];
4974
+ this.formatted = undefined;
4975
+ return this;
4976
+ }
4977
+ this.options = options;
4978
+ this.loose = !!options.loose;
4979
+ this.includePrerelease = !!options.includePrerelease;
4980
+ this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
4981
+ this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
4982
+ if (!this.set.length) {
4983
+ throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
4984
+ }
4985
+ if (this.set.length > 1) {
4986
+ const first = this.set[0];
4987
+ this.set = this.set.filter((c) => !isNullSet(c[0]));
4988
+ if (this.set.length === 0) {
4989
+ this.set = [first];
4990
+ } else if (this.set.length > 1) {
4991
+ for (const c of this.set) {
4992
+ if (c.length === 1 && isAny(c[0])) {
4993
+ this.set = [c];
4994
+ break;
4995
+ }
4996
+ }
4997
+ }
4998
+ }
4999
+ this.formatted = undefined;
4886
5000
  }
4887
- set = set.map(function(comp) {
4888
- return new Comparator(comp, this.options);
4889
- }, this);
4890
- return set;
4891
- };
4892
- Range.prototype.intersects = function(range, options) {
4893
- if (!(range instanceof Range)) {
4894
- throw new TypeError("a Range is required");
4895
- }
4896
- return this.set.some(function(thisComparators) {
4897
- return isSatisfiable(thisComparators, options) && range.set.some(function(rangeComparators) {
4898
- return isSatisfiable(rangeComparators, options) && thisComparators.every(function(thisComparator) {
4899
- return rangeComparators.every(function(rangeComparator) {
4900
- return thisComparator.intersects(rangeComparator, options);
5001
+ get range() {
5002
+ if (this.formatted === undefined) {
5003
+ this.formatted = "";
5004
+ for (let i = 0;i < this.set.length; i++) {
5005
+ if (i > 0) {
5006
+ this.formatted += "||";
5007
+ }
5008
+ const comps = this.set[i];
5009
+ for (let k = 0;k < comps.length; k++) {
5010
+ if (k > 0) {
5011
+ this.formatted += " ";
5012
+ }
5013
+ this.formatted += comps[k].toString().trim();
5014
+ }
5015
+ }
5016
+ }
5017
+ return this.formatted;
5018
+ }
5019
+ format() {
5020
+ return this.range;
5021
+ }
5022
+ toString() {
5023
+ return this.range;
5024
+ }
5025
+ parseRange(range) {
5026
+ const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
5027
+ const memoKey = memoOpts + ":" + range;
5028
+ const cached = cache.get(memoKey);
5029
+ if (cached) {
5030
+ return cached;
5031
+ }
5032
+ const loose = this.options.loose;
5033
+ const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
5034
+ range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
5035
+ debug("hyphen replace", range);
5036
+ range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
5037
+ debug("comparator trim", range);
5038
+ range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
5039
+ debug("tilde trim", range);
5040
+ range = range.replace(re[t.CARETTRIM], caretTrimReplace);
5041
+ debug("caret trim", range);
5042
+ let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
5043
+ if (loose) {
5044
+ rangeList = rangeList.filter((comp) => {
5045
+ debug("loose invalid filter", comp, this.options);
5046
+ return !!comp.match(re[t.COMPARATORLOOSE]);
5047
+ });
5048
+ }
5049
+ debug("range list", rangeList);
5050
+ const rangeMap = new Map;
5051
+ const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
5052
+ for (const comp of comparators) {
5053
+ if (isNullSet(comp)) {
5054
+ return [comp];
5055
+ }
5056
+ rangeMap.set(comp.value, comp);
5057
+ }
5058
+ if (rangeMap.size > 1 && rangeMap.has("")) {
5059
+ rangeMap.delete("");
5060
+ }
5061
+ const result = [...rangeMap.values()];
5062
+ cache.set(memoKey, result);
5063
+ return result;
5064
+ }
5065
+ intersects(range, options) {
5066
+ if (!(range instanceof Range)) {
5067
+ throw new TypeError("a Range is required");
5068
+ }
5069
+ return this.set.some((thisComparators) => {
5070
+ return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
5071
+ return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
5072
+ return rangeComparators.every((rangeComparator) => {
5073
+ return thisComparator.intersects(rangeComparator, options);
5074
+ });
4901
5075
  });
4902
5076
  });
4903
5077
  });
4904
- });
4905
- };
4906
- function isSatisfiable(comparators, options) {
4907
- var result = true;
4908
- var remainingComparators = comparators.slice();
4909
- var testComparator = remainingComparators.pop();
5078
+ }
5079
+ test(version) {
5080
+ if (!version) {
5081
+ return false;
5082
+ }
5083
+ if (typeof version === "string") {
5084
+ try {
5085
+ version = new SemVer(version, this.options);
5086
+ } catch (er) {
5087
+ return false;
5088
+ }
5089
+ }
5090
+ for (let i = 0;i < this.set.length; i++) {
5091
+ if (testSet(this.set[i], version, this.options)) {
5092
+ return true;
5093
+ }
5094
+ }
5095
+ return false;
5096
+ }
5097
+ }
5098
+ module.exports = Range;
5099
+ var LRU = require_lrucache();
5100
+ var cache = new LRU;
5101
+ var parseOptions = require_parse_options();
5102
+ var Comparator = require_comparator();
5103
+ var debug = require_debug();
5104
+ var SemVer = require_semver();
5105
+ var {
5106
+ safeRe: re,
5107
+ t,
5108
+ comparatorTrimReplace,
5109
+ tildeTrimReplace,
5110
+ caretTrimReplace
5111
+ } = require_re();
5112
+ var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
5113
+ var isNullSet = (c) => c.value === "<0.0.0-0";
5114
+ var isAny = (c) => c.value === "";
5115
+ var isSatisfiable = (comparators, options) => {
5116
+ let result = true;
5117
+ const remainingComparators = comparators.slice();
5118
+ let testComparator = remainingComparators.pop();
4910
5119
  while (result && remainingComparators.length) {
4911
- result = remainingComparators.every(function(otherComparator) {
5120
+ result = remainingComparators.every((otherComparator) => {
4912
5121
  return testComparator.intersects(otherComparator, options);
4913
5122
  });
4914
5123
  testComparator = remainingComparators.pop();
4915
5124
  }
4916
5125
  return result;
4917
- }
4918
- exports.toComparators = toComparators;
4919
- function toComparators(range, options) {
4920
- return new Range(range, options).set.map(function(comp) {
4921
- return comp.map(function(c) {
4922
- return c.value;
4923
- }).join(" ").trim().split(" ");
4924
- });
4925
- }
4926
- function parseComparator(comp, options) {
5126
+ };
5127
+ var parseComparator = (comp, options) => {
4927
5128
  debug("comp", comp, options);
4928
5129
  comp = replaceCarets(comp, options);
4929
5130
  debug("caret", comp);
@@ -4934,99 +5135,92 @@ var require_semver = __commonJS((exports, module) => {
4934
5135
  comp = replaceStars(comp, options);
4935
5136
  debug("stars", comp);
4936
5137
  return comp;
4937
- }
4938
- function isX(id) {
4939
- return !id || id.toLowerCase() === "x" || id === "*";
4940
- }
4941
- function replaceTildes(comp, options) {
4942
- return comp.trim().split(/\s+/).map(function(comp2) {
4943
- return replaceTilde(comp2, options);
4944
- }).join(" ");
4945
- }
4946
- function replaceTilde(comp, options) {
4947
- var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE];
4948
- return comp.replace(r, function(_, M, m, p, pr) {
5138
+ };
5139
+ var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
5140
+ var replaceTildes = (comp, options) => {
5141
+ return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
5142
+ };
5143
+ var replaceTilde = (comp, options) => {
5144
+ const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
5145
+ return comp.replace(r, (_, M, m, p, pr) => {
4949
5146
  debug("tilde", comp, _, M, m, p, pr);
4950
- var ret;
5147
+ let ret;
4951
5148
  if (isX(M)) {
4952
5149
  ret = "";
4953
5150
  } else if (isX(m)) {
4954
- ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
5151
+ ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
4955
5152
  } else if (isX(p)) {
4956
- ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
5153
+ ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
4957
5154
  } else if (pr) {
4958
5155
  debug("replaceTilde pr", pr);
4959
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
5156
+ ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
4960
5157
  } else {
4961
- ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
5158
+ ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
4962
5159
  }
4963
5160
  debug("tilde return", ret);
4964
5161
  return ret;
4965
5162
  });
4966
- }
4967
- function replaceCarets(comp, options) {
4968
- return comp.trim().split(/\s+/).map(function(comp2) {
4969
- return replaceCaret(comp2, options);
4970
- }).join(" ");
4971
- }
4972
- function replaceCaret(comp, options) {
5163
+ };
5164
+ var replaceCarets = (comp, options) => {
5165
+ return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
5166
+ };
5167
+ var replaceCaret = (comp, options) => {
4973
5168
  debug("caret", comp, options);
4974
- var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET];
4975
- return comp.replace(r, function(_, M, m, p, pr) {
5169
+ const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
5170
+ const z = options.includePrerelease ? "-0" : "";
5171
+ return comp.replace(r, (_, M, m, p, pr) => {
4976
5172
  debug("caret", comp, _, M, m, p, pr);
4977
- var ret;
5173
+ let ret;
4978
5174
  if (isX(M)) {
4979
5175
  ret = "";
4980
5176
  } else if (isX(m)) {
4981
- ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
5177
+ ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
4982
5178
  } else if (isX(p)) {
4983
5179
  if (M === "0") {
4984
- ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
5180
+ ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
4985
5181
  } else {
4986
- ret = ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0";
5182
+ ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
4987
5183
  }
4988
5184
  } else if (pr) {
4989
5185
  debug("replaceCaret pr", pr);
4990
5186
  if (M === "0") {
4991
5187
  if (m === "0") {
4992
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1);
5188
+ ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
4993
5189
  } else {
4994
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
5190
+ ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
4995
5191
  }
4996
5192
  } else {
4997
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0";
5193
+ ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
4998
5194
  }
4999
5195
  } else {
5000
5196
  debug("no pr");
5001
5197
  if (M === "0") {
5002
5198
  if (m === "0") {
5003
- ret = ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1);
5199
+ ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
5004
5200
  } else {
5005
- ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
5201
+ ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
5006
5202
  }
5007
5203
  } else {
5008
- ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0";
5204
+ ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
5009
5205
  }
5010
5206
  }
5011
5207
  debug("caret return", ret);
5012
5208
  return ret;
5013
5209
  });
5014
- }
5015
- function replaceXRanges(comp, options) {
5210
+ };
5211
+ var replaceXRanges = (comp, options) => {
5016
5212
  debug("replaceXRanges", comp, options);
5017
- return comp.split(/\s+/).map(function(comp2) {
5018
- return replaceXRange(comp2, options);
5019
- }).join(" ");
5020
- }
5021
- function replaceXRange(comp, options) {
5213
+ return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
5214
+ };
5215
+ var replaceXRange = (comp, options) => {
5022
5216
  comp = comp.trim();
5023
- var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE];
5024
- return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
5217
+ const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
5218
+ return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
5025
5219
  debug("xRange", comp, ret, gtlt, M, m, p, pr);
5026
- var xM = isX(M);
5027
- var xm = xM || isX(m);
5028
- var xp = xm || isX(p);
5029
- var anyX = xp;
5220
+ const xM = isX(M);
5221
+ const xm = xM || isX(m);
5222
+ const xp = xm || isX(p);
5223
+ const anyX = xp;
5030
5224
  if (gtlt === "=" && anyX) {
5031
5225
  gtlt = "";
5032
5226
  }
@@ -5060,75 +5254,68 @@ var require_semver = __commonJS((exports, module) => {
5060
5254
  m = +m + 1;
5061
5255
  }
5062
5256
  }
5063
- ret = gtlt + M + "." + m + "." + p + pr;
5257
+ if (gtlt === "<") {
5258
+ pr = "-0";
5259
+ }
5260
+ ret = `${gtlt + M}.${m}.${p}${pr}`;
5064
5261
  } else if (xm) {
5065
- ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0" + pr;
5262
+ ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
5066
5263
  } else if (xp) {
5067
- ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0" + pr;
5264
+ ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
5068
5265
  }
5069
5266
  debug("xRange return", ret);
5070
5267
  return ret;
5071
5268
  });
5072
- }
5073
- function replaceStars(comp, options) {
5269
+ };
5270
+ var replaceStars = (comp, options) => {
5074
5271
  debug("replaceStars", comp, options);
5075
- return comp.trim().replace(safeRe[t.STAR], "");
5076
- }
5077
- function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
5272
+ return comp.trim().replace(re[t.STAR], "");
5273
+ };
5274
+ var replaceGTE0 = (comp, options) => {
5275
+ debug("replaceGTE0", comp, options);
5276
+ return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
5277
+ };
5278
+ var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
5078
5279
  if (isX(fM)) {
5079
5280
  from = "";
5080
5281
  } else if (isX(fm)) {
5081
- from = ">=" + fM + ".0.0";
5282
+ from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
5082
5283
  } else if (isX(fp)) {
5083
- from = ">=" + fM + "." + fm + ".0";
5284
+ from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
5285
+ } else if (fpr) {
5286
+ from = `>=${from}`;
5084
5287
  } else {
5085
- from = ">=" + from;
5288
+ from = `>=${from}${incPr ? "-0" : ""}`;
5086
5289
  }
5087
5290
  if (isX(tM)) {
5088
5291
  to = "";
5089
5292
  } else if (isX(tm)) {
5090
- to = "<" + (+tM + 1) + ".0.0";
5293
+ to = `<${+tM + 1}.0.0-0`;
5091
5294
  } else if (isX(tp)) {
5092
- to = "<" + tM + "." + (+tm + 1) + ".0";
5295
+ to = `<${tM}.${+tm + 1}.0-0`;
5093
5296
  } else if (tpr) {
5094
- to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
5297
+ to = `<=${tM}.${tm}.${tp}-${tpr}`;
5298
+ } else if (incPr) {
5299
+ to = `<${tM}.${tm}.${+tp + 1}-0`;
5095
5300
  } else {
5096
- to = "<=" + to;
5097
- }
5098
- return (from + " " + to).trim();
5099
- }
5100
- Range.prototype.test = function(version) {
5101
- if (!version) {
5102
- return false;
5103
- }
5104
- if (typeof version === "string") {
5105
- try {
5106
- version = new SemVer(version, this.options);
5107
- } catch (er) {
5108
- return false;
5109
- }
5110
- }
5111
- for (var i2 = 0;i2 < this.set.length; i2++) {
5112
- if (testSet(this.set[i2], version, this.options)) {
5113
- return true;
5114
- }
5301
+ to = `<=${to}`;
5115
5302
  }
5116
- return false;
5303
+ return `${from} ${to}`.trim();
5117
5304
  };
5118
- function testSet(set, version, options) {
5119
- for (var i2 = 0;i2 < set.length; i2++) {
5120
- if (!set[i2].test(version)) {
5305
+ var testSet = (set, version, options) => {
5306
+ for (let i = 0;i < set.length; i++) {
5307
+ if (!set[i].test(version)) {
5121
5308
  return false;
5122
5309
  }
5123
5310
  }
5124
5311
  if (version.prerelease.length && !options.includePrerelease) {
5125
- for (i2 = 0;i2 < set.length; i2++) {
5126
- debug(set[i2].semver);
5127
- if (set[i2].semver === ANY) {
5312
+ for (let i = 0;i < set.length; i++) {
5313
+ debug(set[i].semver);
5314
+ if (set[i].semver === Comparator.ANY) {
5128
5315
  continue;
5129
5316
  }
5130
- if (set[i2].semver.prerelease.length > 0) {
5131
- var allowed = set[i2].semver;
5317
+ if (set[i].semver.prerelease.length > 0) {
5318
+ const allowed = set[i].semver;
5132
5319
  if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
5133
5320
  return true;
5134
5321
  }
@@ -5137,26 +5324,155 @@ var require_semver = __commonJS((exports, module) => {
5137
5324
  return false;
5138
5325
  }
5139
5326
  return true;
5327
+ };
5328
+ });
5329
+
5330
+ // node_modules/semver/classes/comparator.js
5331
+ var require_comparator = __commonJS((exports, module) => {
5332
+ var ANY = Symbol("SemVer ANY");
5333
+
5334
+ class Comparator {
5335
+ static get ANY() {
5336
+ return ANY;
5337
+ }
5338
+ constructor(comp, options) {
5339
+ options = parseOptions(options);
5340
+ if (comp instanceof Comparator) {
5341
+ if (comp.loose === !!options.loose) {
5342
+ return comp;
5343
+ } else {
5344
+ comp = comp.value;
5345
+ }
5346
+ }
5347
+ comp = comp.trim().split(/\s+/).join(" ");
5348
+ debug("comparator", comp, options);
5349
+ this.options = options;
5350
+ this.loose = !!options.loose;
5351
+ this.parse(comp);
5352
+ if (this.semver === ANY) {
5353
+ this.value = "";
5354
+ } else {
5355
+ this.value = this.operator + this.semver.version;
5356
+ }
5357
+ debug("comp", this);
5358
+ }
5359
+ parse(comp) {
5360
+ const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
5361
+ const m = comp.match(r);
5362
+ if (!m) {
5363
+ throw new TypeError(`Invalid comparator: ${comp}`);
5364
+ }
5365
+ this.operator = m[1] !== undefined ? m[1] : "";
5366
+ if (this.operator === "=") {
5367
+ this.operator = "";
5368
+ }
5369
+ if (!m[2]) {
5370
+ this.semver = ANY;
5371
+ } else {
5372
+ this.semver = new SemVer(m[2], this.options.loose);
5373
+ }
5374
+ }
5375
+ toString() {
5376
+ return this.value;
5377
+ }
5378
+ test(version) {
5379
+ debug("Comparator.test", version, this.options.loose);
5380
+ if (this.semver === ANY || version === ANY) {
5381
+ return true;
5382
+ }
5383
+ if (typeof version === "string") {
5384
+ try {
5385
+ version = new SemVer(version, this.options);
5386
+ } catch (er) {
5387
+ return false;
5388
+ }
5389
+ }
5390
+ return cmp(version, this.operator, this.semver, this.options);
5391
+ }
5392
+ intersects(comp, options) {
5393
+ if (!(comp instanceof Comparator)) {
5394
+ throw new TypeError("a Comparator is required");
5395
+ }
5396
+ if (this.operator === "") {
5397
+ if (this.value === "") {
5398
+ return true;
5399
+ }
5400
+ return new Range(comp.value, options).test(this.value);
5401
+ } else if (comp.operator === "") {
5402
+ if (comp.value === "") {
5403
+ return true;
5404
+ }
5405
+ return new Range(this.value, options).test(comp.semver);
5406
+ }
5407
+ options = parseOptions(options);
5408
+ if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
5409
+ return false;
5410
+ }
5411
+ if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
5412
+ return false;
5413
+ }
5414
+ if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
5415
+ return true;
5416
+ }
5417
+ if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
5418
+ return true;
5419
+ }
5420
+ if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
5421
+ return true;
5422
+ }
5423
+ if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
5424
+ return true;
5425
+ }
5426
+ if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
5427
+ return true;
5428
+ }
5429
+ return false;
5430
+ }
5140
5431
  }
5141
- exports.satisfies = satisfies;
5142
- function satisfies(version, range, options) {
5432
+ module.exports = Comparator;
5433
+ var parseOptions = require_parse_options();
5434
+ var { safeRe: re, t } = require_re();
5435
+ var cmp = require_cmp();
5436
+ var debug = require_debug();
5437
+ var SemVer = require_semver();
5438
+ var Range = require_range();
5439
+ });
5440
+
5441
+ // node_modules/semver/functions/satisfies.js
5442
+ var require_satisfies = __commonJS((exports, module) => {
5443
+ var Range = require_range();
5444
+ var satisfies = (version, range, options) => {
5143
5445
  try {
5144
5446
  range = new Range(range, options);
5145
5447
  } catch (er) {
5146
5448
  return false;
5147
5449
  }
5148
5450
  return range.test(version);
5149
- }
5150
- exports.maxSatisfying = maxSatisfying;
5151
- function maxSatisfying(versions, range, options) {
5152
- var max = null;
5153
- var maxSV = null;
5451
+ };
5452
+ module.exports = satisfies;
5453
+ });
5454
+
5455
+ // node_modules/semver/ranges/to-comparators.js
5456
+ var require_to_comparators = __commonJS((exports, module) => {
5457
+ var Range = require_range();
5458
+ var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
5459
+ module.exports = toComparators;
5460
+ });
5461
+
5462
+ // node_modules/semver/ranges/max-satisfying.js
5463
+ var require_max_satisfying = __commonJS((exports, module) => {
5464
+ var SemVer = require_semver();
5465
+ var Range = require_range();
5466
+ var maxSatisfying = (versions, range, options) => {
5467
+ let max = null;
5468
+ let maxSV = null;
5469
+ let rangeObj = null;
5154
5470
  try {
5155
- var rangeObj = new Range(range, options);
5471
+ rangeObj = new Range(range, options);
5156
5472
  } catch (er) {
5157
5473
  return null;
5158
5474
  }
5159
- versions.forEach(function(v) {
5475
+ versions.forEach((v) => {
5160
5476
  if (rangeObj.test(v)) {
5161
5477
  if (!max || maxSV.compare(v) === -1) {
5162
5478
  max = v;
@@ -5165,17 +5481,24 @@ var require_semver = __commonJS((exports, module) => {
5165
5481
  }
5166
5482
  });
5167
5483
  return max;
5168
- }
5169
- exports.minSatisfying = minSatisfying;
5170
- function minSatisfying(versions, range, options) {
5171
- var min = null;
5172
- var minSV = null;
5484
+ };
5485
+ module.exports = maxSatisfying;
5486
+ });
5487
+
5488
+ // node_modules/semver/ranges/min-satisfying.js
5489
+ var require_min_satisfying = __commonJS((exports, module) => {
5490
+ var SemVer = require_semver();
5491
+ var Range = require_range();
5492
+ var minSatisfying = (versions, range, options) => {
5493
+ let min = null;
5494
+ let minSV = null;
5495
+ let rangeObj = null;
5173
5496
  try {
5174
- var rangeObj = new Range(range, options);
5497
+ rangeObj = new Range(range, options);
5175
5498
  } catch (er) {
5176
5499
  return null;
5177
5500
  }
5178
- versions.forEach(function(v) {
5501
+ versions.forEach((v) => {
5179
5502
  if (rangeObj.test(v)) {
5180
5503
  if (!min || minSV.compare(v) === 1) {
5181
5504
  min = v;
@@ -5184,11 +5507,18 @@ var require_semver = __commonJS((exports, module) => {
5184
5507
  }
5185
5508
  });
5186
5509
  return min;
5187
- }
5188
- exports.minVersion = minVersion;
5189
- function minVersion(range, loose) {
5510
+ };
5511
+ module.exports = minSatisfying;
5512
+ });
5513
+
5514
+ // node_modules/semver/ranges/min-version.js
5515
+ var require_min_version = __commonJS((exports, module) => {
5516
+ var SemVer = require_semver();
5517
+ var Range = require_range();
5518
+ var gt = require_gt();
5519
+ var minVersion = (range, loose) => {
5190
5520
  range = new Range(range, loose);
5191
- var minver = new SemVer("0.0.0");
5521
+ let minver = new SemVer("0.0.0");
5192
5522
  if (range.test(minver)) {
5193
5523
  return minver;
5194
5524
  }
@@ -5197,10 +5527,11 @@ var require_semver = __commonJS((exports, module) => {
5197
5527
  return minver;
5198
5528
  }
5199
5529
  minver = null;
5200
- for (var i2 = 0;i2 < range.set.length; ++i2) {
5201
- var comparators = range.set[i2];
5202
- comparators.forEach(function(comparator) {
5203
- var compver = new SemVer(comparator.semver.version);
5530
+ for (let i = 0;i < range.set.length; ++i) {
5531
+ const comparators = range.set[i];
5532
+ let setMin = null;
5533
+ comparators.forEach((comparator) => {
5534
+ const compver = new SemVer(comparator.semver.version);
5204
5535
  switch (comparator.operator) {
5205
5536
  case ">":
5206
5537
  if (compver.prerelease.length === 0) {
@@ -5211,44 +5542,57 @@ var require_semver = __commonJS((exports, module) => {
5211
5542
  compver.raw = compver.format();
5212
5543
  case "":
5213
5544
  case ">=":
5214
- if (!minver || gt(minver, compver)) {
5215
- minver = compver;
5545
+ if (!setMin || gt(compver, setMin)) {
5546
+ setMin = compver;
5216
5547
  }
5217
5548
  break;
5218
5549
  case "<":
5219
5550
  case "<=":
5220
5551
  break;
5221
5552
  default:
5222
- throw new Error("Unexpected operation: " + comparator.operator);
5553
+ throw new Error(`Unexpected operation: ${comparator.operator}`);
5223
5554
  }
5224
5555
  });
5556
+ if (setMin && (!minver || gt(minver, setMin))) {
5557
+ minver = setMin;
5558
+ }
5225
5559
  }
5226
5560
  if (minver && range.test(minver)) {
5227
5561
  return minver;
5228
5562
  }
5229
5563
  return null;
5230
- }
5231
- exports.validRange = validRange;
5232
- function validRange(range, options) {
5564
+ };
5565
+ module.exports = minVersion;
5566
+ });
5567
+
5568
+ // node_modules/semver/ranges/valid.js
5569
+ var require_valid2 = __commonJS((exports, module) => {
5570
+ var Range = require_range();
5571
+ var validRange = (range, options) => {
5233
5572
  try {
5234
5573
  return new Range(range, options).range || "*";
5235
5574
  } catch (er) {
5236
5575
  return null;
5237
5576
  }
5238
- }
5239
- exports.ltr = ltr;
5240
- function ltr(version, range, options) {
5241
- return outside(version, range, "<", options);
5242
- }
5243
- exports.gtr = gtr;
5244
- function gtr(version, range, options) {
5245
- return outside(version, range, ">", options);
5246
- }
5247
- exports.outside = outside;
5248
- function outside(version, range, hilo, options) {
5577
+ };
5578
+ module.exports = validRange;
5579
+ });
5580
+
5581
+ // node_modules/semver/ranges/outside.js
5582
+ var require_outside = __commonJS((exports, module) => {
5583
+ var SemVer = require_semver();
5584
+ var Comparator = require_comparator();
5585
+ var { ANY } = Comparator;
5586
+ var Range = require_range();
5587
+ var satisfies = require_satisfies();
5588
+ var gt = require_gt();
5589
+ var lt = require_lt();
5590
+ var lte = require_lte();
5591
+ var gte = require_gte();
5592
+ var outside = (version, range, hilo, options) => {
5249
5593
  version = new SemVer(version, options);
5250
5594
  range = new Range(range, options);
5251
- var gtfn, ltefn, ltfn, comp, ecomp;
5595
+ let gtfn, ltefn, ltfn, comp, ecomp;
5252
5596
  switch (hilo) {
5253
5597
  case ">":
5254
5598
  gtfn = gt;
@@ -5270,11 +5614,11 @@ var require_semver = __commonJS((exports, module) => {
5270
5614
  if (satisfies(version, range, options)) {
5271
5615
  return false;
5272
5616
  }
5273
- for (var i2 = 0;i2 < range.set.length; ++i2) {
5274
- var comparators = range.set[i2];
5275
- var high = null;
5276
- var low = null;
5277
- comparators.forEach(function(comparator) {
5617
+ for (let i = 0;i < range.set.length; ++i) {
5618
+ const comparators = range.set[i];
5619
+ let high = null;
5620
+ let low = null;
5621
+ comparators.forEach((comparator) => {
5278
5622
  if (comparator.semver === ANY) {
5279
5623
  comparator = new Comparator(">=0.0.0");
5280
5624
  }
@@ -5296,57 +5640,341 @@ var require_semver = __commonJS((exports, module) => {
5296
5640
  }
5297
5641
  }
5298
5642
  return true;
5299
- }
5300
- exports.prerelease = prerelease;
5301
- function prerelease(version, options) {
5302
- var parsed = parse(version, options);
5303
- return parsed && parsed.prerelease.length ? parsed.prerelease : null;
5304
- }
5305
- exports.intersects = intersects;
5306
- function intersects(r1, r2, options) {
5643
+ };
5644
+ module.exports = outside;
5645
+ });
5646
+
5647
+ // node_modules/semver/ranges/gtr.js
5648
+ var require_gtr = __commonJS((exports, module) => {
5649
+ var outside = require_outside();
5650
+ var gtr = (version, range, options) => outside(version, range, ">", options);
5651
+ module.exports = gtr;
5652
+ });
5653
+
5654
+ // node_modules/semver/ranges/ltr.js
5655
+ var require_ltr = __commonJS((exports, module) => {
5656
+ var outside = require_outside();
5657
+ var ltr = (version, range, options) => outside(version, range, "<", options);
5658
+ module.exports = ltr;
5659
+ });
5660
+
5661
+ // node_modules/semver/ranges/intersects.js
5662
+ var require_intersects = __commonJS((exports, module) => {
5663
+ var Range = require_range();
5664
+ var intersects = (r1, r2, options) => {
5307
5665
  r1 = new Range(r1, options);
5308
5666
  r2 = new Range(r2, options);
5309
- return r1.intersects(r2);
5310
- }
5311
- exports.coerce = coerce;
5312
- function coerce(version, options) {
5313
- if (version instanceof SemVer) {
5314
- return version;
5667
+ return r1.intersects(r2, options);
5668
+ };
5669
+ module.exports = intersects;
5670
+ });
5671
+
5672
+ // node_modules/semver/ranges/simplify.js
5673
+ var require_simplify = __commonJS((exports, module) => {
5674
+ var satisfies = require_satisfies();
5675
+ var compare = require_compare();
5676
+ module.exports = (versions, range, options) => {
5677
+ const set = [];
5678
+ let first = null;
5679
+ let prev = null;
5680
+ const v = versions.sort((a, b) => compare(a, b, options));
5681
+ for (const version of v) {
5682
+ const included = satisfies(version, range, options);
5683
+ if (included) {
5684
+ prev = version;
5685
+ if (!first) {
5686
+ first = version;
5687
+ }
5688
+ } else {
5689
+ if (prev) {
5690
+ set.push([first, prev]);
5691
+ }
5692
+ prev = null;
5693
+ first = null;
5694
+ }
5695
+ }
5696
+ if (first) {
5697
+ set.push([first, null]);
5698
+ }
5699
+ const ranges = [];
5700
+ for (const [min, max] of set) {
5701
+ if (min === max) {
5702
+ ranges.push(min);
5703
+ } else if (!max && min === v[0]) {
5704
+ ranges.push("*");
5705
+ } else if (!max) {
5706
+ ranges.push(`>=${min}`);
5707
+ } else if (min === v[0]) {
5708
+ ranges.push(`<=${max}`);
5709
+ } else {
5710
+ ranges.push(`${min} - ${max}`);
5711
+ }
5315
5712
  }
5316
- if (typeof version === "number") {
5317
- version = String(version);
5713
+ const simplified = ranges.join(" || ");
5714
+ const original = typeof range.raw === "string" ? range.raw : String(range);
5715
+ return simplified.length < original.length ? simplified : range;
5716
+ };
5717
+ });
5718
+
5719
+ // node_modules/semver/ranges/subset.js
5720
+ var require_subset = __commonJS((exports, module) => {
5721
+ var Range = require_range();
5722
+ var Comparator = require_comparator();
5723
+ var { ANY } = Comparator;
5724
+ var satisfies = require_satisfies();
5725
+ var compare = require_compare();
5726
+ var subset = (sub, dom, options = {}) => {
5727
+ if (sub === dom) {
5728
+ return true;
5318
5729
  }
5319
- if (typeof version !== "string") {
5730
+ sub = new Range(sub, options);
5731
+ dom = new Range(dom, options);
5732
+ let sawNonNull = false;
5733
+ OUTER:
5734
+ for (const simpleSub of sub.set) {
5735
+ for (const simpleDom of dom.set) {
5736
+ const isSub = simpleSubset(simpleSub, simpleDom, options);
5737
+ sawNonNull = sawNonNull || isSub !== null;
5738
+ if (isSub) {
5739
+ continue OUTER;
5740
+ }
5741
+ }
5742
+ if (sawNonNull) {
5743
+ return false;
5744
+ }
5745
+ }
5746
+ return true;
5747
+ };
5748
+ var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
5749
+ var minimumVersion = [new Comparator(">=0.0.0")];
5750
+ var simpleSubset = (sub, dom, options) => {
5751
+ if (sub === dom) {
5752
+ return true;
5753
+ }
5754
+ if (sub.length === 1 && sub[0].semver === ANY) {
5755
+ if (dom.length === 1 && dom[0].semver === ANY) {
5756
+ return true;
5757
+ } else if (options.includePrerelease) {
5758
+ sub = minimumVersionWithPreRelease;
5759
+ } else {
5760
+ sub = minimumVersion;
5761
+ }
5762
+ }
5763
+ if (dom.length === 1 && dom[0].semver === ANY) {
5764
+ if (options.includePrerelease) {
5765
+ return true;
5766
+ } else {
5767
+ dom = minimumVersion;
5768
+ }
5769
+ }
5770
+ const eqSet = new Set;
5771
+ let gt, lt;
5772
+ for (const c of sub) {
5773
+ if (c.operator === ">" || c.operator === ">=") {
5774
+ gt = higherGT(gt, c, options);
5775
+ } else if (c.operator === "<" || c.operator === "<=") {
5776
+ lt = lowerLT(lt, c, options);
5777
+ } else {
5778
+ eqSet.add(c.semver);
5779
+ }
5780
+ }
5781
+ if (eqSet.size > 1) {
5320
5782
  return null;
5321
5783
  }
5322
- options = options || {};
5323
- var match = null;
5324
- if (!options.rtl) {
5325
- match = version.match(safeRe[t.COERCE]);
5326
- } else {
5327
- var next;
5328
- while ((next = safeRe[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
5329
- if (!match || next.index + next[0].length !== match.index + match[0].length) {
5330
- match = next;
5784
+ let gtltComp;
5785
+ if (gt && lt) {
5786
+ gtltComp = compare(gt.semver, lt.semver, options);
5787
+ if (gtltComp > 0) {
5788
+ return null;
5789
+ } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
5790
+ return null;
5791
+ }
5792
+ }
5793
+ for (const eq of eqSet) {
5794
+ if (gt && !satisfies(eq, String(gt), options)) {
5795
+ return null;
5796
+ }
5797
+ if (lt && !satisfies(eq, String(lt), options)) {
5798
+ return null;
5799
+ }
5800
+ for (const c of dom) {
5801
+ if (!satisfies(eq, String(c), options)) {
5802
+ return false;
5331
5803
  }
5332
- safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
5333
5804
  }
5334
- safeRe[t.COERCERTL].lastIndex = -1;
5805
+ return true;
5335
5806
  }
5336
- if (match === null) {
5337
- return null;
5807
+ let higher, lower;
5808
+ let hasDomLT, hasDomGT;
5809
+ let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
5810
+ let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
5811
+ if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
5812
+ needDomLTPre = false;
5813
+ }
5814
+ for (const c of dom) {
5815
+ hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
5816
+ hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
5817
+ if (gt) {
5818
+ if (needDomGTPre) {
5819
+ if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
5820
+ needDomGTPre = false;
5821
+ }
5822
+ }
5823
+ if (c.operator === ">" || c.operator === ">=") {
5824
+ higher = higherGT(gt, c, options);
5825
+ if (higher === c && higher !== gt) {
5826
+ return false;
5827
+ }
5828
+ } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) {
5829
+ return false;
5830
+ }
5831
+ }
5832
+ if (lt) {
5833
+ if (needDomLTPre) {
5834
+ if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
5835
+ needDomLTPre = false;
5836
+ }
5837
+ }
5838
+ if (c.operator === "<" || c.operator === "<=") {
5839
+ lower = lowerLT(lt, c, options);
5840
+ if (lower === c && lower !== lt) {
5841
+ return false;
5842
+ }
5843
+ } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
5844
+ return false;
5845
+ }
5846
+ }
5847
+ if (!c.operator && (lt || gt) && gtltComp !== 0) {
5848
+ return false;
5849
+ }
5338
5850
  }
5339
- return parse(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
5340
- }
5851
+ if (gt && hasDomLT && !lt && gtltComp !== 0) {
5852
+ return false;
5853
+ }
5854
+ if (lt && hasDomGT && !gt && gtltComp !== 0) {
5855
+ return false;
5856
+ }
5857
+ if (needDomGTPre || needDomLTPre) {
5858
+ return false;
5859
+ }
5860
+ return true;
5861
+ };
5862
+ var higherGT = (a, b, options) => {
5863
+ if (!a) {
5864
+ return b;
5865
+ }
5866
+ const comp = compare(a.semver, b.semver, options);
5867
+ return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
5868
+ };
5869
+ var lowerLT = (a, b, options) => {
5870
+ if (!a) {
5871
+ return b;
5872
+ }
5873
+ const comp = compare(a.semver, b.semver, options);
5874
+ return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
5875
+ };
5876
+ module.exports = subset;
5877
+ });
5878
+
5879
+ // node_modules/semver/index.js
5880
+ var require_semver2 = __commonJS((exports, module) => {
5881
+ var internalRe = require_re();
5882
+ var constants = require_constants();
5883
+ var SemVer = require_semver();
5884
+ var identifiers = require_identifiers();
5885
+ var parse = require_parse();
5886
+ var valid = require_valid();
5887
+ var clean = require_clean();
5888
+ var inc = require_inc();
5889
+ var diff = require_diff();
5890
+ var major = require_major();
5891
+ var minor = require_minor();
5892
+ var patch = require_patch();
5893
+ var prerelease = require_prerelease();
5894
+ var compare = require_compare();
5895
+ var rcompare = require_rcompare();
5896
+ var compareLoose = require_compare_loose();
5897
+ var compareBuild = require_compare_build();
5898
+ var sort = require_sort();
5899
+ var rsort = require_rsort();
5900
+ var gt = require_gt();
5901
+ var lt = require_lt();
5902
+ var eq = require_eq();
5903
+ var neq = require_neq();
5904
+ var gte = require_gte();
5905
+ var lte = require_lte();
5906
+ var cmp = require_cmp();
5907
+ var coerce = require_coerce();
5908
+ var Comparator = require_comparator();
5909
+ var Range = require_range();
5910
+ var satisfies = require_satisfies();
5911
+ var toComparators = require_to_comparators();
5912
+ var maxSatisfying = require_max_satisfying();
5913
+ var minSatisfying = require_min_satisfying();
5914
+ var minVersion = require_min_version();
5915
+ var validRange = require_valid2();
5916
+ var outside = require_outside();
5917
+ var gtr = require_gtr();
5918
+ var ltr = require_ltr();
5919
+ var intersects = require_intersects();
5920
+ var simplifyRange = require_simplify();
5921
+ var subset = require_subset();
5922
+ module.exports = {
5923
+ parse,
5924
+ valid,
5925
+ clean,
5926
+ inc,
5927
+ diff,
5928
+ major,
5929
+ minor,
5930
+ patch,
5931
+ prerelease,
5932
+ compare,
5933
+ rcompare,
5934
+ compareLoose,
5935
+ compareBuild,
5936
+ sort,
5937
+ rsort,
5938
+ gt,
5939
+ lt,
5940
+ eq,
5941
+ neq,
5942
+ gte,
5943
+ lte,
5944
+ cmp,
5945
+ coerce,
5946
+ Comparator,
5947
+ Range,
5948
+ satisfies,
5949
+ toComparators,
5950
+ maxSatisfying,
5951
+ minSatisfying,
5952
+ minVersion,
5953
+ validRange,
5954
+ outside,
5955
+ gtr,
5956
+ ltr,
5957
+ intersects,
5958
+ simplifyRange,
5959
+ subset,
5960
+ SemVer,
5961
+ re: internalRe.re,
5962
+ src: internalRe.src,
5963
+ tokens: internalRe.t,
5964
+ SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
5965
+ RELEASE_TYPES: constants.RELEASE_TYPES,
5966
+ compareIdentifiers: identifiers.compareIdentifiers,
5967
+ rcompareIdentifiers: identifiers.rcompareIdentifiers
5968
+ };
5341
5969
  });
5342
5970
 
5343
5971
  // package.json
5344
5972
  var require_package = __commonJS((exports, module) => {
5345
5973
  module.exports = {
5346
5974
  name: "@betty-blocks/cli",
5347
- version: "25.108.0",
5975
+ version: "26.0.0-beta.11",
5348
5976
  description: "A Betty Blocks CLI",
5349
- module: "./src/bb.ts",
5977
+ module: "./build/src/bb.js",
5350
5978
  type: "module",
5351
5979
  license: "UNLICENSED",
5352
5980
  repository: {
@@ -5366,70 +5994,69 @@ var require_package = __commonJS((exports, module) => {
5366
5994
  clean: "rm -rf build/ && rm -rf node_modules/"
5367
5995
  },
5368
5996
  devDependencies: {
5369
- "@commitlint/cli": "^15.0.0",
5370
- "@commitlint/config-angular": "^15.0.0",
5371
- "@commitlint/prompt-cli": "^15.0.0",
5372
- "@semantic-release/changelog": "^6.0.1",
5997
+ "@commitlint/cli": "^20.1.0",
5998
+ "@commitlint/config-angular": "^20.0.0",
5999
+ "@commitlint/prompt-cli": "^20.1.0",
6000
+ "@semantic-release/changelog": "^6.0.3",
5373
6001
  "@semantic-release/git": "^10.0.1",
5374
- "@types/adm-zip": "0.5.7",
5375
6002
  "@types/app-root-path": "^1.2.4",
5376
6003
  "@types/babel__generator": "7.27.0",
5377
6004
  "@types/babel__traverse": "7.28.0",
5378
- "@types/bun": "^1.2.19",
6005
+ "@types/bun": "^1.2.23",
5379
6006
  "@types/fs-extra": "^8.0.0",
5380
6007
  "@types/glob": "^7.2.0",
5381
- "@types/hapi__joi": "^16.0.0",
5382
- "@types/minimatch": "^6.0.0",
5383
- "@types/promise-sequential": "^1.1.0",
5384
- "@types/prompts": "^2.0.14",
5385
- "@types/react": "^16.9.9",
5386
- "@types/semver": "^7.3.9",
5387
- "@types/serve-handler": "^6.1.0",
6008
+ "@types/promise-sequential": "^1.1.2",
6009
+ "@types/semver": "^7.7.1",
5388
6010
  "app-root-path": "^2.2.1",
5389
- eslint: "^9.23.0",
5390
- "eslint-config-prettier": "^10.1.1",
5391
- "eslint-plugin-prettier": "^5.2.5",
6011
+ "eslint-config-prettier": "^10.1.8",
6012
+ "eslint-plugin-prettier": "^5.5.4",
5392
6013
  "eslint-plugin-simple-import-sort": "^12.1.1",
5393
- prettier: "3.5.3",
5394
- "semantic-release": "^24.2.7",
5395
- "typescript-eslint": "^8.18.0",
5396
- typescript: "^5.8.2"
6014
+ eslint: "^9.36.0",
6015
+ prettier: "3.6.2",
6016
+ "semantic-release": "^24.2.9",
6017
+ "typescript-eslint": "^8.45.0"
5397
6018
  },
5398
6019
  dependencies: {
5399
- "@azure/ms-rest-js": "^2.0.4",
6020
+ "@azure/ms-rest-js": "^2.7.0",
5400
6021
  "@azure/storage-blob": "^10.3.0",
5401
- "@babel/generator": "7.28.0",
5402
- "@babel/parser": "7.28.0",
5403
- "@babel/traverse": "7.28.0",
5404
- "@babel/types": "7.28.2",
5405
- "@betty-blocks/component-sdk": "^1.91.3",
6022
+ "@babel/generator": "7.28.3",
6023
+ "@babel/parser": "7.28.4",
6024
+ "@babel/traverse": "7.28.4",
6025
+ "@babel/types": "7.28.4",
6026
+ "@betty-blocks/component-sdk": "^1.91.4",
6027
+ "@types/adm-zip": "0.5.7",
6028
+ "@types/hapi__joi": "^16.0.0",
6029
+ "@types/prompts": "^2.4.9",
6030
+ "@types/react": "^16.9.9",
6031
+ "@types/serve-handler": "^6.1.4",
5406
6032
  "adm-zip": "0.5.16",
5407
6033
  case: "^1.6.3",
5408
- chalk: "^5.5.0",
5409
- commander: "^14.0.0",
5410
- "form-data": "4.0.4",
5411
- "fs-extra": "11.3.1",
5412
- glob: "^7.2.0",
5413
- joi: "18.0.0",
6034
+ chalk: "^5.6.2",
6035
+ commander: "^14.0.1",
6036
+ "fs-extra": "11.3.2",
6037
+ glob: "^11.0.3",
6038
+ joi: "18.0.1",
5414
6039
  "jsdoc-api": "^7.1.0",
5415
- jsonschema: "^1.4.0",
5416
- minimatch: "10.0.3",
6040
+ jsonschema: "^1.5.0",
5417
6041
  minimist: "1.2.8",
5418
6042
  "node-fetch": "3.3.2",
5419
- ora: "8.2.0",
6043
+ ora: "9.0.0",
5420
6044
  prismjs: "1.30.0",
5421
6045
  prompts: "^2.4.2",
5422
- semver: "^6.3.0",
5423
- serve: "^11.1.0",
6046
+ semver: "^7.7.2",
5424
6047
  "serve-handler": "6.1.6",
5425
- "tsconfig-paths": "^3.9.0",
6048
+ serve: "^11.1.0",
6049
+ "ts-node": "10.9.2",
6050
+ "tsconfig-paths": "^3.15.0",
6051
+ typescript: "^5.9.2",
5426
6052
  webhead: "^1.1.3"
5427
6053
  },
5428
6054
  bin: {
5429
- bb: "./src/bb.ts"
6055
+ bb: "./build/src/bb.js"
5430
6056
  },
5431
6057
  resolutions: {
5432
- "@types/react": "^16.9.9"
6058
+ "@types/react": "^16.9.9",
6059
+ "@types/minimatch": "5.1.2"
5433
6060
  },
5434
6061
  files: [
5435
6062
  "assets/",
@@ -5709,6 +6336,9 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
5709
6336
  if (env.TERM === "xterm-ghostty") {
5710
6337
  return 3;
5711
6338
  }
6339
+ if (env.TERM === "wezterm") {
6340
+ return 3;
6341
+ }
5712
6342
  if ("TERM_PROGRAM" in env) {
5713
6343
  const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
5714
6344
  switch (env.TERM_PROGRAM) {
@@ -5946,7 +6576,7 @@ import path from "path";
5946
6576
 
5947
6577
  // src/utils/checkUpdateAvailable.ts
5948
6578
  var import_fs_extra = __toESM(require_lib(), 1);
5949
- var import_semver = __toESM(require_semver(), 1);
6579
+ var import_semver = __toESM(require_semver2(), 1);
5950
6580
  import { exec } from "child_process";
5951
6581
  import { tmpdir } from "os";
5952
6582
  import { promisify } from "util";