npm package diff

Package: @forge/util

Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31

File: package/packages/ari/beacon/index.js

Index: package/packages/ari/beacon/index.js
===================================================================
--- package/packages/ari/beacon/index.js
+++ package/packages/ari/beacon/index.js
@@ -32,9 +32,9 @@
 var ValidationError = class extends Error {
 };
 
 // src/core/rules/cloud-id.ts
-function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9\\-]*$")) {
+function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9_\\-.]{0,255}$")) {
   if (!cloudId.match(format))
     throw new ValidationError(`Invalid cloud ID, expected ID of format ${format}.`);
 }
 
@@ -54,9 +54,9 @@
     throw new ValidationError(`ARI must have a qualifier of 'ari'. Received: ${qualifier}`);
 }
 
 // src/core/rules/resource-id.ts
-function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:{}=]+(/[!a-zA-Z0-9\\-_.~@:{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
+function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:;{}=]+(/[!a-zA-Z0-9\\-_.~@:;{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
   let formatWithCarets = new RegExp(`^${format.source}$`);
   if (!id.match(formatWithCarets))
     throw new ValidationError(`Invalid ${key} - ${id}, expected ID of format ${formatWithCarets}.`);
 }
@@ -288,16 +288,17 @@
 // src/beacon/alert/manifest.ts
 var beaconAlertAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: BeaconAlertAriResourceOwner,
   resourceType: BeaconAlertAriResourceType,
   resourceIdSlug: "{workspaceId}/{alertId}",
   resourceIdSegmentFormats: {
     workspaceId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    alertId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    alertId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -350,9 +351,10 @@
 // src/beacon/custom-detection/manifest.ts
 var beaconCustomDetectionAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: BeaconCustomDetectionAriResourceOwner,
   resourceType: BeaconCustomDetectionAriResourceType,
   resourceIdSlug: "{workspaceId}/{customDetectionId}",
   resourceIdSegmentFormats: {
@@ -413,15 +415,16 @@
 var beaconDetectionAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: BeaconDetectionAriResourceOwner,
   resourceType: BeaconDetectionAriResourceType,
   resourceIdSlug: "{workspaceId}/{detectionId}",
   resourceIdSegmentFormats: {
     workspaceId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    detectionId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    detectionId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -470,20 +473,21 @@
 // src/beacon/detection-setting/manifest.ts
 var beaconDetectionSettingAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: BeaconDetectionSettingAriResourceOwner,
   resourceType: BeaconDetectionSettingAriResourceType,
   resourceIdSlug: "{workspaceId}/{detectionType}/{detectionId}/{settingId}",
   resourceIdSegmentFormats: {
     workspaceId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    detectionType: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+    detectionType: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
     // eslint-disable-line no-useless-escape
-    detectionId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+    detectionId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
     // eslint-disable-line no-useless-escape
-    settingId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    settingId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -547,8 +551,9 @@
 var beaconRoleAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: BeaconRoleAriResourceOwner,
   resourceType: BeaconRoleAriResourceType,
   resourceIdSlug: "product/{roleType}",
   resourceIdSegmentFormats: {
@@ -598,13 +603,14 @@
 var beaconSiteAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: BeaconSiteAriResourceOwner,
   resourceType: BeaconSiteAriResourceType,
   resourceIdSlug: "{siteId}",
   resourceIdSegmentFormats: {
-    siteId: /[a-zA-Z0-9\-]+/
+    siteId: /[a-zA-Z0-9_\-.]{1,255}/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -648,16 +654,17 @@
 // src/beacon/subscription/manifest.ts
 var beaconSubscriptionAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: BeaconSubscriptionAriResourceOwner,
   resourceType: BeaconSubscriptionAriResourceType,
   resourceIdSlug: "{workspaceId}/{subscriptionId}",
   resourceIdSegmentFormats: {
     workspaceId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    subscriptionId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    subscriptionId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -710,9 +717,10 @@
 // src/beacon/workspace/manifest.ts
 var beaconWorkspaceAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: BeaconWorkspaceAriResourceOwner,
   resourceType: BeaconWorkspaceAriResourceType,
   resourceIdSlug: "{workspaceId}",
   resourceIdSegmentFormats: {