@cloudsnorkel/cdk-github-runners 0.14.8 → 0.14.9

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 (36) hide show
  1. package/.jsii +106 -72
  2. package/API.md +29 -3
  3. package/assets/delete-failed-runner.lambda/index.js +51 -41
  4. package/assets/idle-runner-repear.lambda/index.js +51 -41
  5. package/assets/image-builders/aws-image-builder/versioner.lambda/index.js +4 -5
  6. package/assets/setup.lambda/index.html +7 -7
  7. package/assets/status.lambda/index.js +51 -41
  8. package/assets/token-retriever.lambda/index.js +51 -41
  9. package/assets/webhook-handler.lambda/index.js +59 -44
  10. package/lib/access.js +1 -1
  11. package/lib/image-builders/api.js +1 -1
  12. package/lib/image-builders/aws-image-builder/ami.js +10 -2
  13. package/lib/image-builders/aws-image-builder/builder.js +1 -1
  14. package/lib/image-builders/aws-image-builder/container.d.ts +1 -1
  15. package/lib/image-builders/aws-image-builder/container.js +5 -2
  16. package/lib/image-builders/aws-image-builder/deprecated/ami.js +4 -4
  17. package/lib/image-builders/aws-image-builder/deprecated/container.js +1 -1
  18. package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
  19. package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
  20. package/lib/image-builders/codebuild-deprecated.js +1 -1
  21. package/lib/image-builders/common.d.ts +2 -2
  22. package/lib/image-builders/common.js +1 -1
  23. package/lib/image-builders/components.js +16 -16
  24. package/lib/image-builders/static.js +1 -1
  25. package/lib/providers/codebuild.js +2 -2
  26. package/lib/providers/common.d.ts +17 -1
  27. package/lib/providers/common.js +22 -6
  28. package/lib/providers/ec2.js +2 -2
  29. package/lib/providers/ecs.js +1 -1
  30. package/lib/providers/fargate.js +2 -2
  31. package/lib/providers/lambda.js +2 -2
  32. package/lib/runner.js +2 -2
  33. package/lib/secrets.js +1 -1
  34. package/lib/webhook-handler.lambda.d.ts +8 -0
  35. package/lib/webhook-handler.lambda.js +15 -5
  36. package/package.json +18 -18
package/API.md CHANGED
@@ -7984,7 +7984,7 @@ public readonly baseAmi: string;
7984
7984
  ```
7985
7985
 
7986
7986
  - *Type:* string
7987
- - *Default:* latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
7987
+ - *Default:* latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
7988
7988
 
7989
7989
  Base AMI from which runner AMIs will be built.
7990
7990
 
@@ -7999,7 +7999,7 @@ public readonly baseDockerImage: string;
7999
7999
  ```
8000
8000
 
8001
8001
  - *Type:* string
8002
- - *Default:* public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
8002
+ - *Default:* public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
8003
8003
 
8004
8004
  Base image from which Docker runner images will be built.
8005
8005
 
@@ -9071,13 +9071,15 @@ public readonly name: string;
9071
9071
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.LINUX_AMAZON_2">LINUX_AMAZON_2</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Amazon Linux 2. |
9072
9072
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.LINUX_AMAZON_2023">LINUX_AMAZON_2023</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Amazon Linux 2023. |
9073
9073
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.LINUX_UBUNTU">LINUX_UBUNTU</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Ubuntu Linux. |
9074
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.LINUX_UBUNTU_2204">LINUX_UBUNTU_2204</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Ubuntu Linux 22.04. |
9075
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.LINUX_UBUNTU_2404">LINUX_UBUNTU_2404</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Ubuntu Linux 24.04. |
9074
9076
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.WINDOWS">WINDOWS</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Windows. |
9075
9077
 
9076
9078
  ---
9077
9079
 
9078
9080
  ##### ~~`LINUX`~~<sup>Required</sup> <a name="LINUX" id="@cloudsnorkel/cdk-github-runners.Os.property.LINUX"></a>
9079
9081
 
9080
- - *Deprecated:* use {@link LINUX_UBUNTU } or {@link LINUX_AMAZON_2 } or {@link LINUX_AMAZON_2023 }
9082
+ - *Deprecated:* use {@link LINUX_UBUNTU }, {@link LINUX_UBUNTU_2404 }, {@link LINUX_AMAZON_2 } or {@link LINUX_AMAZON_2023 }
9081
9083
 
9082
9084
  ```typescript
9083
9085
  public readonly LINUX: Os;
@@ -9125,6 +9127,30 @@ Ubuntu Linux.
9125
9127
 
9126
9128
  ---
9127
9129
 
9130
+ ##### `LINUX_UBUNTU_2204`<sup>Required</sup> <a name="LINUX_UBUNTU_2204" id="@cloudsnorkel/cdk-github-runners.Os.property.LINUX_UBUNTU_2204"></a>
9131
+
9132
+ ```typescript
9133
+ public readonly LINUX_UBUNTU_2204: Os;
9134
+ ```
9135
+
9136
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
9137
+
9138
+ Ubuntu Linux 22.04.
9139
+
9140
+ ---
9141
+
9142
+ ##### `LINUX_UBUNTU_2404`<sup>Required</sup> <a name="LINUX_UBUNTU_2404" id="@cloudsnorkel/cdk-github-runners.Os.property.LINUX_UBUNTU_2404"></a>
9143
+
9144
+ ```typescript
9145
+ public readonly LINUX_UBUNTU_2404: Os;
9146
+ ```
9147
+
9148
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
9149
+
9150
+ Ubuntu Linux 24.04.
9151
+
9152
+ ---
9153
+
9128
9154
  ##### `WINDOWS`<sup>Required</sup> <a name="WINDOWS" id="@cloudsnorkel/cdk-github-runners.Os.property.WINDOWS"></a>
9129
9155
 
9130
9156
  ```typescript
@@ -4766,40 +4766,6 @@ var require_data_stream = __commonJS({
4766
4766
  }
4767
4767
  });
4768
4768
 
4769
- // node_modules/buffer-equal-constant-time/index.js
4770
- var require_buffer_equal_constant_time = __commonJS({
4771
- "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4772
- "use strict";
4773
- var Buffer2 = require("buffer").Buffer;
4774
- var SlowBuffer = require("buffer").SlowBuffer;
4775
- module2.exports = bufferEq;
4776
- function bufferEq(a, b) {
4777
- if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4778
- return false;
4779
- }
4780
- if (a.length !== b.length) {
4781
- return false;
4782
- }
4783
- var c = 0;
4784
- for (var i = 0; i < a.length; i++) {
4785
- c |= a[i] ^ b[i];
4786
- }
4787
- return c === 0;
4788
- }
4789
- bufferEq.install = function() {
4790
- Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4791
- return bufferEq(this, that);
4792
- };
4793
- };
4794
- var origBufEqual = Buffer2.prototype.equal;
4795
- var origSlowBufEqual = SlowBuffer.prototype.equal;
4796
- bufferEq.restore = function() {
4797
- Buffer2.prototype.equal = origBufEqual;
4798
- SlowBuffer.prototype.equal = origSlowBufEqual;
4799
- };
4800
- }
4801
- });
4802
-
4803
4769
  // node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
4804
4770
  var require_param_bytes_for_alg = __commonJS({
4805
4771
  "node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js"(exports2, module2) {
@@ -4964,11 +4930,44 @@ var require_ecdsa_sig_formatter = __commonJS({
4964
4930
  }
4965
4931
  });
4966
4932
 
4933
+ // node_modules/buffer-equal-constant-time/index.js
4934
+ var require_buffer_equal_constant_time = __commonJS({
4935
+ "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4936
+ "use strict";
4937
+ var Buffer2 = require("buffer").Buffer;
4938
+ var SlowBuffer = require("buffer").SlowBuffer;
4939
+ module2.exports = bufferEq;
4940
+ function bufferEq(a, b) {
4941
+ if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4942
+ return false;
4943
+ }
4944
+ if (a.length !== b.length) {
4945
+ return false;
4946
+ }
4947
+ var c = 0;
4948
+ for (var i = 0; i < a.length; i++) {
4949
+ c |= a[i] ^ b[i];
4950
+ }
4951
+ return c === 0;
4952
+ }
4953
+ bufferEq.install = function() {
4954
+ Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4955
+ return bufferEq(this, that);
4956
+ };
4957
+ };
4958
+ var origBufEqual = Buffer2.prototype.equal;
4959
+ var origSlowBufEqual = SlowBuffer.prototype.equal;
4960
+ bufferEq.restore = function() {
4961
+ Buffer2.prototype.equal = origBufEqual;
4962
+ SlowBuffer.prototype.equal = origSlowBufEqual;
4963
+ };
4964
+ }
4965
+ });
4966
+
4967
4967
  // node_modules/jwa/index.js
4968
4968
  var require_jwa = __commonJS({
4969
4969
  "node_modules/jwa/index.js"(exports2, module2) {
4970
4970
  "use strict";
4971
- var bufferEqual = require_buffer_equal_constant_time();
4972
4971
  var Buffer2 = require_safe_buffer().Buffer;
4973
4972
  var crypto = require("crypto");
4974
4973
  var formatEcdsa = require_ecdsa_sig_formatter();
@@ -5072,10 +5071,22 @@ var require_jwa = __commonJS({
5072
5071
  return fromBase64(sig);
5073
5072
  };
5074
5073
  }
5074
+ var bufferEqual;
5075
+ var timingSafeEqual = "timingSafeEqual" in crypto ? function timingSafeEqual2(a, b) {
5076
+ if (a.byteLength !== b.byteLength) {
5077
+ return false;
5078
+ }
5079
+ return crypto.timingSafeEqual(a, b);
5080
+ } : function timingSafeEqual2(a, b) {
5081
+ if (!bufferEqual) {
5082
+ bufferEqual = require_buffer_equal_constant_time();
5083
+ }
5084
+ return bufferEqual(a, b);
5085
+ };
5075
5086
  function createHmacVerifier(bits) {
5076
5087
  return function verify(thing, signature, secret) {
5077
5088
  var computedSig = createHmacSigner(bits)(thing, secret);
5078
- return bufferEqual(Buffer2.from(signature), Buffer2.from(computedSig));
5089
+ return timingSafeEqual(Buffer2.from(signature), Buffer2.from(computedSig));
5079
5090
  };
5080
5091
  }
5081
5092
  function createKeySigner(bits) {
@@ -5718,8 +5729,8 @@ var require_re = __commonJS({
5718
5729
  createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
5719
5730
  createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
5720
5731
  createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
5721
- createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
5722
- createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
5732
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
5733
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
5723
5734
  createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
5724
5735
  createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
5725
5736
  createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
@@ -5809,7 +5820,7 @@ var require_semver = __commonJS({
5809
5820
  "use strict";
5810
5821
  var debug = require_debug();
5811
5822
  var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
5812
- var { safeRe: re, safeSrc: src, t } = require_re();
5823
+ var { safeRe: re, t } = require_re();
5813
5824
  var parseOptions = require_parse_options();
5814
5825
  var { compareIdentifiers } = require_identifiers();
5815
5826
  var SemVer = class _SemVer {
@@ -5954,8 +5965,7 @@ var require_semver = __commonJS({
5954
5965
  throw new Error("invalid increment argument: identifier is empty");
5955
5966
  }
5956
5967
  if (identifier) {
5957
- const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`);
5958
- const match = `-${identifier}`.match(r);
5968
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
5959
5969
  if (!match || match[1] !== identifier) {
5960
5970
  throw new Error(`invalid identifier: ${identifier}`);
5961
5971
  }
@@ -4766,40 +4766,6 @@ var require_data_stream = __commonJS({
4766
4766
  }
4767
4767
  });
4768
4768
 
4769
- // node_modules/buffer-equal-constant-time/index.js
4770
- var require_buffer_equal_constant_time = __commonJS({
4771
- "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4772
- "use strict";
4773
- var Buffer2 = require("buffer").Buffer;
4774
- var SlowBuffer = require("buffer").SlowBuffer;
4775
- module2.exports = bufferEq;
4776
- function bufferEq(a, b) {
4777
- if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4778
- return false;
4779
- }
4780
- if (a.length !== b.length) {
4781
- return false;
4782
- }
4783
- var c = 0;
4784
- for (var i = 0; i < a.length; i++) {
4785
- c |= a[i] ^ b[i];
4786
- }
4787
- return c === 0;
4788
- }
4789
- bufferEq.install = function() {
4790
- Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4791
- return bufferEq(this, that);
4792
- };
4793
- };
4794
- var origBufEqual = Buffer2.prototype.equal;
4795
- var origSlowBufEqual = SlowBuffer.prototype.equal;
4796
- bufferEq.restore = function() {
4797
- Buffer2.prototype.equal = origBufEqual;
4798
- SlowBuffer.prototype.equal = origSlowBufEqual;
4799
- };
4800
- }
4801
- });
4802
-
4803
4769
  // node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
4804
4770
  var require_param_bytes_for_alg = __commonJS({
4805
4771
  "node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js"(exports2, module2) {
@@ -4964,11 +4930,44 @@ var require_ecdsa_sig_formatter = __commonJS({
4964
4930
  }
4965
4931
  });
4966
4932
 
4933
+ // node_modules/buffer-equal-constant-time/index.js
4934
+ var require_buffer_equal_constant_time = __commonJS({
4935
+ "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4936
+ "use strict";
4937
+ var Buffer2 = require("buffer").Buffer;
4938
+ var SlowBuffer = require("buffer").SlowBuffer;
4939
+ module2.exports = bufferEq;
4940
+ function bufferEq(a, b) {
4941
+ if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4942
+ return false;
4943
+ }
4944
+ if (a.length !== b.length) {
4945
+ return false;
4946
+ }
4947
+ var c = 0;
4948
+ for (var i = 0; i < a.length; i++) {
4949
+ c |= a[i] ^ b[i];
4950
+ }
4951
+ return c === 0;
4952
+ }
4953
+ bufferEq.install = function() {
4954
+ Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4955
+ return bufferEq(this, that);
4956
+ };
4957
+ };
4958
+ var origBufEqual = Buffer2.prototype.equal;
4959
+ var origSlowBufEqual = SlowBuffer.prototype.equal;
4960
+ bufferEq.restore = function() {
4961
+ Buffer2.prototype.equal = origBufEqual;
4962
+ SlowBuffer.prototype.equal = origSlowBufEqual;
4963
+ };
4964
+ }
4965
+ });
4966
+
4967
4967
  // node_modules/jwa/index.js
4968
4968
  var require_jwa = __commonJS({
4969
4969
  "node_modules/jwa/index.js"(exports2, module2) {
4970
4970
  "use strict";
4971
- var bufferEqual = require_buffer_equal_constant_time();
4972
4971
  var Buffer2 = require_safe_buffer().Buffer;
4973
4972
  var crypto = require("crypto");
4974
4973
  var formatEcdsa = require_ecdsa_sig_formatter();
@@ -5072,10 +5071,22 @@ var require_jwa = __commonJS({
5072
5071
  return fromBase64(sig);
5073
5072
  };
5074
5073
  }
5074
+ var bufferEqual;
5075
+ var timingSafeEqual = "timingSafeEqual" in crypto ? function timingSafeEqual2(a, b) {
5076
+ if (a.byteLength !== b.byteLength) {
5077
+ return false;
5078
+ }
5079
+ return crypto.timingSafeEqual(a, b);
5080
+ } : function timingSafeEqual2(a, b) {
5081
+ if (!bufferEqual) {
5082
+ bufferEqual = require_buffer_equal_constant_time();
5083
+ }
5084
+ return bufferEqual(a, b);
5085
+ };
5075
5086
  function createHmacVerifier(bits) {
5076
5087
  return function verify(thing, signature, secret) {
5077
5088
  var computedSig = createHmacSigner(bits)(thing, secret);
5078
- return bufferEqual(Buffer2.from(signature), Buffer2.from(computedSig));
5089
+ return timingSafeEqual(Buffer2.from(signature), Buffer2.from(computedSig));
5079
5090
  };
5080
5091
  }
5081
5092
  function createKeySigner(bits) {
@@ -5718,8 +5729,8 @@ var require_re = __commonJS({
5718
5729
  createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
5719
5730
  createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
5720
5731
  createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
5721
- createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
5722
- createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
5732
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
5733
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
5723
5734
  createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
5724
5735
  createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
5725
5736
  createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
@@ -5809,7 +5820,7 @@ var require_semver = __commonJS({
5809
5820
  "use strict";
5810
5821
  var debug = require_debug();
5811
5822
  var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
5812
- var { safeRe: re, safeSrc: src, t } = require_re();
5823
+ var { safeRe: re, t } = require_re();
5813
5824
  var parseOptions = require_parse_options();
5814
5825
  var { compareIdentifiers } = require_identifiers();
5815
5826
  var SemVer = class _SemVer {
@@ -5954,8 +5965,7 @@ var require_semver = __commonJS({
5954
5965
  throw new Error("invalid increment argument: identifier is empty");
5955
5966
  }
5956
5967
  if (identifier) {
5957
- const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`);
5958
- const match = `-${identifier}`.match(r);
5968
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
5959
5969
  if (!match || match[1] !== identifier) {
5960
5970
  throw new Error(`invalid identifier: ${identifier}`);
5961
5971
  }
@@ -116,8 +116,8 @@ var require_re = __commonJS({
116
116
  createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
117
117
  createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
118
118
  createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
119
- createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
120
- createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
119
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
120
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
121
121
  createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
122
122
  createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
123
123
  createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
@@ -207,7 +207,7 @@ var require_semver = __commonJS({
207
207
  "use strict";
208
208
  var debug = require_debug();
209
209
  var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
210
- var { safeRe: re, safeSrc: src, t } = require_re();
210
+ var { safeRe: re, t } = require_re();
211
211
  var parseOptions = require_parse_options();
212
212
  var { compareIdentifiers } = require_identifiers();
213
213
  var SemVer = class _SemVer {
@@ -352,8 +352,7 @@ var require_semver = __commonJS({
352
352
  throw new Error("invalid increment argument: identifier is empty");
353
353
  }
354
354
  if (identifier) {
355
- const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`);
356
- const match = `-${identifier}`.match(r);
355
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
357
356
  if (!match || match[1] !== identifier) {
358
357
  throw new Error(`invalid identifier: ${identifier}`);
359
358
  }