npm package diff

Package: @forge/util

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

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

Index: package/packages/ari/devops/index.js
===================================================================
--- package/packages/ari/devops/index.js
+++ package/packages/ari/devops/index.js
@@ -29,9 +29,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}.`);
 }
 
@@ -51,9 +51,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}.`);
 }
@@ -285,14 +285,15 @@
 // src/devops/container/manifest.ts
 var devopsContainerAriStaticOpts = {
   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: DevopsContainerAriResourceOwner,
   resourceType: DevopsContainerAriResourceType,
   resourceIdSlug: "{containerId}",
   resourceIdSegmentFormats: {
-    containerId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    containerId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -340,14 +341,15 @@
 // src/devops/namespace/manifest.ts
 var devopsNamespaceAriStaticOpts = {
   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: DevopsNamespaceAriResourceOwner,
   resourceType: DevopsNamespaceAriResourceType,
   resourceIdSlug: "{namespaceId}",
   resourceIdSegmentFormats: {
-    namespaceId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    namespaceId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -396,8 +398,9 @@
 var devopsProviderAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: DevopsProviderAriResourceOwner,
   resourceType: DevopsProviderAriResourceType,
   resourceIdSlug: "{providerNamespace}/{providerAppId}",
   resourceIdSegmentFormats: {
@@ -454,13 +457,14 @@
 var devopsRelationshipAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: DevopsRelationshipAriResourceOwner,
   resourceType: DevopsRelationshipAriResourceType,
   resourceIdSlug: "{relationshipId}",
   resourceIdSegmentFormats: {
-    relationshipId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+    relationshipId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -504,14 +508,15 @@
 // src/devops/tool/manifest.ts
 var devopsToolAriStaticOpts = {
   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: DevopsToolAriResourceOwner,
   resourceType: DevopsToolAriResourceType,
   resourceIdSlug: "{toolId}",
   resourceIdSegmentFormats: {
-    toolId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    toolId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };