@cloudsnorkel/cdk-github-runners 0.9.6 → 0.9.7

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 (31) hide show
  1. package/.jsii +93 -76
  2. package/API.md +16 -3
  3. package/assets/delete-runner.lambda/index.js +69 -63
  4. package/assets/image-builders/aws-image-builder/versioner.lambda/index.js +69 -63
  5. package/assets/status.lambda/index.js +69 -63
  6. package/assets/token-retriever.lambda/index.js +69 -63
  7. package/lib/access.js +1 -1
  8. package/lib/image-builders/api.js +1 -1
  9. package/lib/image-builders/aws-image-builder/builder.js +4 -7
  10. package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
  11. package/lib/image-builders/aws-image-builder/deprecated/container.d.ts +1 -1
  12. package/lib/image-builders/aws-image-builder/deprecated/container.js +9 -12
  13. package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
  14. package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
  15. package/lib/image-builders/codebuild-deprecated.d.ts +1 -1
  16. package/lib/image-builders/codebuild-deprecated.js +15 -19
  17. package/lib/image-builders/codebuild.js +5 -8
  18. package/lib/image-builders/components.js +1 -1
  19. package/lib/image-builders/static.d.ts +1 -1
  20. package/lib/image-builders/static.js +7 -6
  21. package/lib/providers/codebuild.js +2 -2
  22. package/lib/providers/common.d.ts +6 -0
  23. package/lib/providers/common.js +4 -4
  24. package/lib/providers/ec2.js +2 -2
  25. package/lib/providers/ecs.d.ts +6 -2
  26. package/lib/providers/ecs.js +64 -32
  27. package/lib/providers/fargate.js +2 -2
  28. package/lib/providers/lambda.js +12 -3
  29. package/lib/runner.js +1 -1
  30. package/lib/secrets.js +1 -1
  31. package/package.json +5 -5
package/API.md CHANGED
@@ -5875,7 +5875,8 @@ const ecsRunnerProviderProps: EcsRunnerProviderProps = { ... }
5875
5875
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.memoryLimitMiB">memoryLimitMiB</a></code> | <code>number</code> | The amount (in MiB) of memory used by the task. |
5876
5876
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.minInstances">minInstances</a></code> | <code>number</code> | The minimum number of instances to run in the cluster. |
5877
5877
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to the task. |
5878
- | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.spotMaxPrice">spotMaxPrice</a></code> | <code>string</code> | Use spot capacity and set a maximum price for spot instances. |
5878
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.spot">spot</a></code> | <code>boolean</code> | Use spot capacity. |
5879
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.spotMaxPrice">spotMaxPrice</a></code> | <code>string</code> | Maximum price for spot instances. |
5879
5880
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.storageSize">storageSize</a></code> | <code>aws-cdk-lib.Size</code> | Size of volume available for launched cluster instances. |
5880
5881
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets to run the runners in. |
5881
5882
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
@@ -6087,6 +6088,19 @@ Security groups to assign to the task.
6087
6088
 
6088
6089
  ---
6089
6090
 
6091
+ ##### `spot`<sup>Optional</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.spot"></a>
6092
+
6093
+ ```typescript
6094
+ public readonly spot: boolean;
6095
+ ```
6096
+
6097
+ - *Type:* boolean
6098
+ - *Default:* false (true if spotMaxPrice is specified)
6099
+
6100
+ Use spot capacity.
6101
+
6102
+ ---
6103
+
6090
6104
  ##### `spotMaxPrice`<sup>Optional</sup> <a name="spotMaxPrice" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.spotMaxPrice"></a>
6091
6105
 
6092
6106
  ```typescript
@@ -6094,9 +6108,8 @@ public readonly spotMaxPrice: string;
6094
6108
  ```
6095
6109
 
6096
6110
  - *Type:* string
6097
- - *Default:* no spot capacity
6098
6111
 
6099
- Use spot capacity and set a maximum price for spot instances.
6112
+ Maximum price for spot instances.
6100
6113
 
6101
6114
  ---
6102
6115
 
@@ -10322,7 +10322,7 @@ var require_semver = __commonJS({
10322
10322
  version = version.version;
10323
10323
  }
10324
10324
  } else if (typeof version !== "string") {
10325
- throw new TypeError(`Invalid Version: ${version}`);
10325
+ throw new TypeError(`Invalid Version: ${require("util").inspect(version)}`);
10326
10326
  }
10327
10327
  if (version.length > MAX_LENGTH) {
10328
10328
  throw new TypeError(
@@ -10495,9 +10495,13 @@ var require_semver = __commonJS({
10495
10495
  }
10496
10496
  this.prerelease = [];
10497
10497
  break;
10498
- case "pre":
10498
+ case "pre": {
10499
+ const base = Number(identifierBase) ? 1 : 0;
10500
+ if (!identifier && identifierBase === false) {
10501
+ throw new Error("invalid increment argument: identifier is empty");
10502
+ }
10499
10503
  if (this.prerelease.length === 0) {
10500
- this.prerelease = [0];
10504
+ this.prerelease = [base];
10501
10505
  } else {
10502
10506
  let i = this.prerelease.length;
10503
10507
  while (--i >= 0) {
@@ -10507,20 +10511,27 @@ var require_semver = __commonJS({
10507
10511
  }
10508
10512
  }
10509
10513
  if (i === -1) {
10510
- this.prerelease.push(0);
10514
+ if (identifier === this.prerelease.join(".") && identifierBase === false) {
10515
+ throw new Error("invalid increment argument: identifier already exists");
10516
+ }
10517
+ this.prerelease.push(base);
10511
10518
  }
10512
10519
  }
10513
10520
  if (identifier) {
10514
- const base = Number(identifierBase) ? 1 : 0;
10521
+ let prerelease = [identifier, base];
10522
+ if (identifierBase === false) {
10523
+ prerelease = [identifier];
10524
+ }
10515
10525
  if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
10516
10526
  if (isNaN(this.prerelease[1])) {
10517
- this.prerelease = [identifier, base];
10527
+ this.prerelease = prerelease;
10518
10528
  }
10519
10529
  } else {
10520
- this.prerelease = [identifier, base];
10530
+ this.prerelease = prerelease;
10521
10531
  }
10522
10532
  }
10523
10533
  break;
10534
+ }
10524
10535
  default:
10525
10536
  throw new Error(`invalid increment argument: ${release}`);
10526
10537
  }
@@ -10536,22 +10547,18 @@ var require_semver = __commonJS({
10536
10547
  // node_modules/semver/functions/parse.js
10537
10548
  var require_parse = __commonJS({
10538
10549
  "node_modules/semver/functions/parse.js"(exports2, module2) {
10539
- var { MAX_LENGTH } = require_constants();
10540
10550
  var SemVer = require_semver();
10541
- var parse = (version, options) => {
10551
+ var parse = (version, options, throwErrors = false) => {
10542
10552
  if (version instanceof SemVer) {
10543
10553
  return version;
10544
10554
  }
10545
- if (typeof version !== "string") {
10546
- return null;
10547
- }
10548
- if (version.length > MAX_LENGTH) {
10549
- return null;
10550
- }
10551
10555
  try {
10552
10556
  return new SemVer(version, options);
10553
10557
  } catch (er) {
10554
- return null;
10558
+ if (!throwErrors) {
10559
+ return null;
10560
+ }
10561
+ throw er;
10555
10562
  }
10556
10563
  };
10557
10564
  module2.exports = parse;
@@ -10605,60 +10612,41 @@ var require_inc = __commonJS({
10605
10612
  }
10606
10613
  });
10607
10614
 
10608
- // node_modules/semver/functions/compare.js
10609
- var require_compare = __commonJS({
10610
- "node_modules/semver/functions/compare.js"(exports2, module2) {
10611
- var SemVer = require_semver();
10612
- var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
10613
- module2.exports = compare;
10614
- }
10615
- });
10616
-
10617
- // node_modules/semver/functions/eq.js
10618
- var require_eq = __commonJS({
10619
- "node_modules/semver/functions/eq.js"(exports2, module2) {
10620
- var compare = require_compare();
10621
- var eq = (a, b, loose) => compare(a, b, loose) === 0;
10622
- module2.exports = eq;
10623
- }
10624
- });
10625
-
10626
10615
  // node_modules/semver/functions/diff.js
10627
10616
  var require_diff = __commonJS({
10628
10617
  "node_modules/semver/functions/diff.js"(exports2, module2) {
10629
10618
  var parse = require_parse();
10630
- var eq = require_eq();
10631
10619
  var diff = (version1, version2) => {
10632
- const v1 = parse(version1);
10633
- const v2 = parse(version2);
10634
- if (eq(v1, v2)) {
10620
+ const v1 = parse(version1, null, true);
10621
+ const v2 = parse(version2, null, true);
10622
+ const comparison = v1.compare(v2);
10623
+ if (comparison === 0) {
10635
10624
  return null;
10636
- } else {
10637
- const hasPre = v1.prerelease.length || v2.prerelease.length;
10638
- const prefix = hasPre ? "pre" : "";
10639
- const defaultResult = hasPre ? "prerelease" : "";
10640
- if (v1.major !== v2.major) {
10641
- return prefix + "major";
10642
- }
10643
- if (v1.minor !== v2.minor) {
10644
- return prefix + "minor";
10645
- }
10646
- if (v1.patch !== v2.patch) {
10647
- return prefix + "patch";
10648
- }
10649
- if (!v1.prerelease.length || !v2.prerelease.length) {
10650
- if (v1.patch) {
10651
- return "patch";
10652
- }
10653
- if (v1.minor) {
10654
- return "minor";
10655
- }
10656
- if (v1.major) {
10657
- return "major";
10658
- }
10659
- }
10660
- return defaultResult;
10661
10625
  }
10626
+ const v1Higher = comparison > 0;
10627
+ const highVersion = v1Higher ? v1 : v2;
10628
+ const lowVersion = v1Higher ? v2 : v1;
10629
+ const highHasPre = !!highVersion.prerelease.length;
10630
+ const prefix = highHasPre ? "pre" : "";
10631
+ if (v1.major !== v2.major) {
10632
+ return prefix + "major";
10633
+ }
10634
+ if (v1.minor !== v2.minor) {
10635
+ return prefix + "minor";
10636
+ }
10637
+ if (v1.patch !== v2.patch) {
10638
+ return prefix + "patch";
10639
+ }
10640
+ if (highHasPre) {
10641
+ return "prerelease";
10642
+ }
10643
+ if (lowVersion.patch) {
10644
+ return "patch";
10645
+ }
10646
+ if (lowVersion.minor) {
10647
+ return "minor";
10648
+ }
10649
+ return "major";
10662
10650
  };
10663
10651
  module2.exports = diff;
10664
10652
  }
@@ -10703,6 +10691,15 @@ var require_prerelease = __commonJS({
10703
10691
  }
10704
10692
  });
10705
10693
 
10694
+ // node_modules/semver/functions/compare.js
10695
+ var require_compare = __commonJS({
10696
+ "node_modules/semver/functions/compare.js"(exports2, module2) {
10697
+ var SemVer = require_semver();
10698
+ var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
10699
+ module2.exports = compare;
10700
+ }
10701
+ });
10702
+
10706
10703
  // node_modules/semver/functions/rcompare.js
10707
10704
  var require_rcompare = __commonJS({
10708
10705
  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
@@ -10770,6 +10767,15 @@ var require_lt = __commonJS({
10770
10767
  }
10771
10768
  });
10772
10769
 
10770
+ // node_modules/semver/functions/eq.js
10771
+ var require_eq = __commonJS({
10772
+ "node_modules/semver/functions/eq.js"(exports2, module2) {
10773
+ var compare = require_compare();
10774
+ var eq = (a, b, loose) => compare(a, b, loose) === 0;
10775
+ module2.exports = eq;
10776
+ }
10777
+ });
10778
+
10773
10779
  // node_modules/semver/functions/neq.js
10774
10780
  var require_neq = __commonJS({
10775
10781
  "node_modules/semver/functions/neq.js"(exports2, module2) {
@@ -188,7 +188,7 @@ var require_semver = __commonJS({
188
188
  version = version.version;
189
189
  }
190
190
  } else if (typeof version !== "string") {
191
- throw new TypeError(`Invalid Version: ${version}`);
191
+ throw new TypeError(`Invalid Version: ${require("util").inspect(version)}`);
192
192
  }
193
193
  if (version.length > MAX_LENGTH) {
194
194
  throw new TypeError(
@@ -361,9 +361,13 @@ var require_semver = __commonJS({
361
361
  }
362
362
  this.prerelease = [];
363
363
  break;
364
- case "pre":
364
+ case "pre": {
365
+ const base = Number(identifierBase) ? 1 : 0;
366
+ if (!identifier && identifierBase === false) {
367
+ throw new Error("invalid increment argument: identifier is empty");
368
+ }
365
369
  if (this.prerelease.length === 0) {
366
- this.prerelease = [0];
370
+ this.prerelease = [base];
367
371
  } else {
368
372
  let i = this.prerelease.length;
369
373
  while (--i >= 0) {
@@ -373,20 +377,27 @@ var require_semver = __commonJS({
373
377
  }
374
378
  }
375
379
  if (i === -1) {
376
- this.prerelease.push(0);
380
+ if (identifier === this.prerelease.join(".") && identifierBase === false) {
381
+ throw new Error("invalid increment argument: identifier already exists");
382
+ }
383
+ this.prerelease.push(base);
377
384
  }
378
385
  }
379
386
  if (identifier) {
380
- const base = Number(identifierBase) ? 1 : 0;
387
+ let prerelease = [identifier, base];
388
+ if (identifierBase === false) {
389
+ prerelease = [identifier];
390
+ }
381
391
  if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
382
392
  if (isNaN(this.prerelease[1])) {
383
- this.prerelease = [identifier, base];
393
+ this.prerelease = prerelease;
384
394
  }
385
395
  } else {
386
- this.prerelease = [identifier, base];
396
+ this.prerelease = prerelease;
387
397
  }
388
398
  }
389
399
  break;
400
+ }
390
401
  default:
391
402
  throw new Error(`invalid increment argument: ${release}`);
392
403
  }
@@ -402,22 +413,18 @@ var require_semver = __commonJS({
402
413
  // node_modules/semver/functions/parse.js
403
414
  var require_parse = __commonJS({
404
415
  "node_modules/semver/functions/parse.js"(exports, module2) {
405
- var { MAX_LENGTH } = require_constants();
406
416
  var SemVer = require_semver();
407
- var parse = (version, options) => {
417
+ var parse = (version, options, throwErrors = false) => {
408
418
  if (version instanceof SemVer) {
409
419
  return version;
410
420
  }
411
- if (typeof version !== "string") {
412
- return null;
413
- }
414
- if (version.length > MAX_LENGTH) {
415
- return null;
416
- }
417
421
  try {
418
422
  return new SemVer(version, options);
419
423
  } catch (er) {
420
- return null;
424
+ if (!throwErrors) {
425
+ return null;
426
+ }
427
+ throw er;
421
428
  }
422
429
  };
423
430
  module2.exports = parse;
@@ -471,60 +478,41 @@ var require_inc = __commonJS({
471
478
  }
472
479
  });
473
480
 
474
- // node_modules/semver/functions/compare.js
475
- var require_compare = __commonJS({
476
- "node_modules/semver/functions/compare.js"(exports, module2) {
477
- var SemVer = require_semver();
478
- var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
479
- module2.exports = compare;
480
- }
481
- });
482
-
483
- // node_modules/semver/functions/eq.js
484
- var require_eq = __commonJS({
485
- "node_modules/semver/functions/eq.js"(exports, module2) {
486
- var compare = require_compare();
487
- var eq = (a, b, loose) => compare(a, b, loose) === 0;
488
- module2.exports = eq;
489
- }
490
- });
491
-
492
481
  // node_modules/semver/functions/diff.js
493
482
  var require_diff = __commonJS({
494
483
  "node_modules/semver/functions/diff.js"(exports, module2) {
495
484
  var parse = require_parse();
496
- var eq = require_eq();
497
485
  var diff = (version1, version2) => {
498
- const v1 = parse(version1);
499
- const v2 = parse(version2);
500
- if (eq(v1, v2)) {
486
+ const v1 = parse(version1, null, true);
487
+ const v2 = parse(version2, null, true);
488
+ const comparison = v1.compare(v2);
489
+ if (comparison === 0) {
501
490
  return null;
502
- } else {
503
- const hasPre = v1.prerelease.length || v2.prerelease.length;
504
- const prefix = hasPre ? "pre" : "";
505
- const defaultResult = hasPre ? "prerelease" : "";
506
- if (v1.major !== v2.major) {
507
- return prefix + "major";
508
- }
509
- if (v1.minor !== v2.minor) {
510
- return prefix + "minor";
511
- }
512
- if (v1.patch !== v2.patch) {
513
- return prefix + "patch";
514
- }
515
- if (!v1.prerelease.length || !v2.prerelease.length) {
516
- if (v1.patch) {
517
- return "patch";
518
- }
519
- if (v1.minor) {
520
- return "minor";
521
- }
522
- if (v1.major) {
523
- return "major";
524
- }
525
- }
526
- return defaultResult;
527
491
  }
492
+ const v1Higher = comparison > 0;
493
+ const highVersion = v1Higher ? v1 : v2;
494
+ const lowVersion = v1Higher ? v2 : v1;
495
+ const highHasPre = !!highVersion.prerelease.length;
496
+ const prefix = highHasPre ? "pre" : "";
497
+ if (v1.major !== v2.major) {
498
+ return prefix + "major";
499
+ }
500
+ if (v1.minor !== v2.minor) {
501
+ return prefix + "minor";
502
+ }
503
+ if (v1.patch !== v2.patch) {
504
+ return prefix + "patch";
505
+ }
506
+ if (highHasPre) {
507
+ return "prerelease";
508
+ }
509
+ if (lowVersion.patch) {
510
+ return "patch";
511
+ }
512
+ if (lowVersion.minor) {
513
+ return "minor";
514
+ }
515
+ return "major";
528
516
  };
529
517
  module2.exports = diff;
530
518
  }
@@ -569,6 +557,15 @@ var require_prerelease = __commonJS({
569
557
  }
570
558
  });
571
559
 
560
+ // node_modules/semver/functions/compare.js
561
+ var require_compare = __commonJS({
562
+ "node_modules/semver/functions/compare.js"(exports, module2) {
563
+ var SemVer = require_semver();
564
+ var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
565
+ module2.exports = compare;
566
+ }
567
+ });
568
+
572
569
  // node_modules/semver/functions/rcompare.js
573
570
  var require_rcompare = __commonJS({
574
571
  "node_modules/semver/functions/rcompare.js"(exports, module2) {
@@ -636,6 +633,15 @@ var require_lt = __commonJS({
636
633
  }
637
634
  });
638
635
 
636
+ // node_modules/semver/functions/eq.js
637
+ var require_eq = __commonJS({
638
+ "node_modules/semver/functions/eq.js"(exports, module2) {
639
+ var compare = require_compare();
640
+ var eq = (a, b, loose) => compare(a, b, loose) === 0;
641
+ module2.exports = eq;
642
+ }
643
+ });
644
+
639
645
  // node_modules/semver/functions/neq.js
640
646
  var require_neq = __commonJS({
641
647
  "node_modules/semver/functions/neq.js"(exports, module2) {
@@ -10322,7 +10322,7 @@ var require_semver = __commonJS({
10322
10322
  version = version.version;
10323
10323
  }
10324
10324
  } else if (typeof version !== "string") {
10325
- throw new TypeError(`Invalid Version: ${version}`);
10325
+ throw new TypeError(`Invalid Version: ${require("util").inspect(version)}`);
10326
10326
  }
10327
10327
  if (version.length > MAX_LENGTH) {
10328
10328
  throw new TypeError(
@@ -10495,9 +10495,13 @@ var require_semver = __commonJS({
10495
10495
  }
10496
10496
  this.prerelease = [];
10497
10497
  break;
10498
- case "pre":
10498
+ case "pre": {
10499
+ const base = Number(identifierBase) ? 1 : 0;
10500
+ if (!identifier && identifierBase === false) {
10501
+ throw new Error("invalid increment argument: identifier is empty");
10502
+ }
10499
10503
  if (this.prerelease.length === 0) {
10500
- this.prerelease = [0];
10504
+ this.prerelease = [base];
10501
10505
  } else {
10502
10506
  let i = this.prerelease.length;
10503
10507
  while (--i >= 0) {
@@ -10507,20 +10511,27 @@ var require_semver = __commonJS({
10507
10511
  }
10508
10512
  }
10509
10513
  if (i === -1) {
10510
- this.prerelease.push(0);
10514
+ if (identifier === this.prerelease.join(".") && identifierBase === false) {
10515
+ throw new Error("invalid increment argument: identifier already exists");
10516
+ }
10517
+ this.prerelease.push(base);
10511
10518
  }
10512
10519
  }
10513
10520
  if (identifier) {
10514
- const base = Number(identifierBase) ? 1 : 0;
10521
+ let prerelease = [identifier, base];
10522
+ if (identifierBase === false) {
10523
+ prerelease = [identifier];
10524
+ }
10515
10525
  if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
10516
10526
  if (isNaN(this.prerelease[1])) {
10517
- this.prerelease = [identifier, base];
10527
+ this.prerelease = prerelease;
10518
10528
  }
10519
10529
  } else {
10520
- this.prerelease = [identifier, base];
10530
+ this.prerelease = prerelease;
10521
10531
  }
10522
10532
  }
10523
10533
  break;
10534
+ }
10524
10535
  default:
10525
10536
  throw new Error(`invalid increment argument: ${release}`);
10526
10537
  }
@@ -10536,22 +10547,18 @@ var require_semver = __commonJS({
10536
10547
  // node_modules/semver/functions/parse.js
10537
10548
  var require_parse = __commonJS({
10538
10549
  "node_modules/semver/functions/parse.js"(exports2, module2) {
10539
- var { MAX_LENGTH } = require_constants();
10540
10550
  var SemVer = require_semver();
10541
- var parse = (version, options) => {
10551
+ var parse = (version, options, throwErrors = false) => {
10542
10552
  if (version instanceof SemVer) {
10543
10553
  return version;
10544
10554
  }
10545
- if (typeof version !== "string") {
10546
- return null;
10547
- }
10548
- if (version.length > MAX_LENGTH) {
10549
- return null;
10550
- }
10551
10555
  try {
10552
10556
  return new SemVer(version, options);
10553
10557
  } catch (er) {
10554
- return null;
10558
+ if (!throwErrors) {
10559
+ return null;
10560
+ }
10561
+ throw er;
10555
10562
  }
10556
10563
  };
10557
10564
  module2.exports = parse;
@@ -10605,60 +10612,41 @@ var require_inc = __commonJS({
10605
10612
  }
10606
10613
  });
10607
10614
 
10608
- // node_modules/semver/functions/compare.js
10609
- var require_compare = __commonJS({
10610
- "node_modules/semver/functions/compare.js"(exports2, module2) {
10611
- var SemVer = require_semver();
10612
- var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
10613
- module2.exports = compare;
10614
- }
10615
- });
10616
-
10617
- // node_modules/semver/functions/eq.js
10618
- var require_eq = __commonJS({
10619
- "node_modules/semver/functions/eq.js"(exports2, module2) {
10620
- var compare = require_compare();
10621
- var eq = (a, b, loose) => compare(a, b, loose) === 0;
10622
- module2.exports = eq;
10623
- }
10624
- });
10625
-
10626
10615
  // node_modules/semver/functions/diff.js
10627
10616
  var require_diff = __commonJS({
10628
10617
  "node_modules/semver/functions/diff.js"(exports2, module2) {
10629
10618
  var parse = require_parse();
10630
- var eq = require_eq();
10631
10619
  var diff = (version1, version2) => {
10632
- const v1 = parse(version1);
10633
- const v2 = parse(version2);
10634
- if (eq(v1, v2)) {
10620
+ const v1 = parse(version1, null, true);
10621
+ const v2 = parse(version2, null, true);
10622
+ const comparison = v1.compare(v2);
10623
+ if (comparison === 0) {
10635
10624
  return null;
10636
- } else {
10637
- const hasPre = v1.prerelease.length || v2.prerelease.length;
10638
- const prefix = hasPre ? "pre" : "";
10639
- const defaultResult = hasPre ? "prerelease" : "";
10640
- if (v1.major !== v2.major) {
10641
- return prefix + "major";
10642
- }
10643
- if (v1.minor !== v2.minor) {
10644
- return prefix + "minor";
10645
- }
10646
- if (v1.patch !== v2.patch) {
10647
- return prefix + "patch";
10648
- }
10649
- if (!v1.prerelease.length || !v2.prerelease.length) {
10650
- if (v1.patch) {
10651
- return "patch";
10652
- }
10653
- if (v1.minor) {
10654
- return "minor";
10655
- }
10656
- if (v1.major) {
10657
- return "major";
10658
- }
10659
- }
10660
- return defaultResult;
10661
10625
  }
10626
+ const v1Higher = comparison > 0;
10627
+ const highVersion = v1Higher ? v1 : v2;
10628
+ const lowVersion = v1Higher ? v2 : v1;
10629
+ const highHasPre = !!highVersion.prerelease.length;
10630
+ const prefix = highHasPre ? "pre" : "";
10631
+ if (v1.major !== v2.major) {
10632
+ return prefix + "major";
10633
+ }
10634
+ if (v1.minor !== v2.minor) {
10635
+ return prefix + "minor";
10636
+ }
10637
+ if (v1.patch !== v2.patch) {
10638
+ return prefix + "patch";
10639
+ }
10640
+ if (highHasPre) {
10641
+ return "prerelease";
10642
+ }
10643
+ if (lowVersion.patch) {
10644
+ return "patch";
10645
+ }
10646
+ if (lowVersion.minor) {
10647
+ return "minor";
10648
+ }
10649
+ return "major";
10662
10650
  };
10663
10651
  module2.exports = diff;
10664
10652
  }
@@ -10703,6 +10691,15 @@ var require_prerelease = __commonJS({
10703
10691
  }
10704
10692
  });
10705
10693
 
10694
+ // node_modules/semver/functions/compare.js
10695
+ var require_compare = __commonJS({
10696
+ "node_modules/semver/functions/compare.js"(exports2, module2) {
10697
+ var SemVer = require_semver();
10698
+ var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
10699
+ module2.exports = compare;
10700
+ }
10701
+ });
10702
+
10706
10703
  // node_modules/semver/functions/rcompare.js
10707
10704
  var require_rcompare = __commonJS({
10708
10705
  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
@@ -10770,6 +10767,15 @@ var require_lt = __commonJS({
10770
10767
  }
10771
10768
  });
10772
10769
 
10770
+ // node_modules/semver/functions/eq.js
10771
+ var require_eq = __commonJS({
10772
+ "node_modules/semver/functions/eq.js"(exports2, module2) {
10773
+ var compare = require_compare();
10774
+ var eq = (a, b, loose) => compare(a, b, loose) === 0;
10775
+ module2.exports = eq;
10776
+ }
10777
+ });
10778
+
10773
10779
  // node_modules/semver/functions/neq.js
10774
10780
  var require_neq = __commonJS({
10775
10781
  "node_modules/semver/functions/neq.js"(exports2, module2) {