npm package diff
Package: @forge/manifest
Versions: 8.9.0-next.11 - 8.9.0-next.12
Modified: package/out/validators/permissions-validator.js
Index: package/out/validators/permissions-validator.js
===================================================================
--- package/out/validators/permissions-validator.js
+++ package/out/validators/permissions-validator.js
@@ -108,41 +108,55 @@
}
const mapping = [
{
element: 'external.fetch.backend',
- perms: manifest.typedContent.permissions.external?.fetch?.backend?.filter((key) => typeof key === 'string')
+ perms: manifest.typedContent.permissions.external?.fetch?.backend
+ ?.map((key) => {
+ if (typeof key === 'object' && 'address' in key) {
+ return key.address;
+ }
+ return key;
+ })
+ .filter((key) => typeof key === 'string')
},
{
element: 'external.fetch.client',
- perms: manifest.typedContent.permissions.external?.fetch?.client?.filter((key) => typeof key === 'string')
+ perms: manifest.typedContent.permissions.external?.fetch?.client
+ ?.map((key) => {
+ if (typeof key === 'object' && 'address' in key) {
+ return key.address;
+ }
+ return key;
+ })
+ .filter((key) => typeof key === 'string')
},
{
element: 'external.navigation',
- perms: manifest.typedContent.permissions.external?.navigation
+ perms: manifest.typedContent.permissions.external?.navigation?.map((key) => typeof key === 'object' ? key.address : key)
},
{
element: 'external.styles',
- perms: manifest.typedContent.permissions.external?.styles
+ perms: manifest.typedContent.permissions.external?.styles?.map((key) => typeof key === 'object' ? key.address : key)
},
{
element: 'external.frames',
- perms: manifest.typedContent.permissions.external?.frames
+ perms: manifest.typedContent.permissions.external?.frames?.map((key) => typeof key === 'object' ? key.address : key)
},
{
element: 'external.fonts',
- perms: manifest.typedContent.permissions.external?.fonts
+ perms: manifest.typedContent.permissions.external?.fonts?.map((key) => typeof key === 'object' ? key.address : key)
},
{
element: 'external.images',
- perms: manifest.typedContent.permissions.external?.images
+ perms: manifest.typedContent.permissions.external?.images?.map((key) => typeof key === 'object' ? key.address : key)
},
{
element: 'external.media',
- perms: manifest.typedContent.permissions.external?.media
+ perms: manifest.typedContent.permissions.external?.media?.map((key) => typeof key === 'object' ? key.address : key)
},
{
element: 'external.scripts',
- perms: manifest.typedContent.permissions.external?.scripts
+ perms: manifest.typedContent.permissions.external?.scripts?.map((key) => typeof key === 'object' ? key.address : key)
}
];
mapping.forEach((item) => this.validateExternalPermissionURLs(errors, item.element, item.perms, manifest));
const remoteMap = manifest.typedContent.remotes?.reduce((prev, item) => {
@@ -150,15 +164,17 @@
return prev.set(item.key, baseUrl);
}, new Map());
const invalidBackendRemotes = manifest.typedContent.permissions.external?.fetch?.backend
?.filter((item) => typeof item === 'object' &&
+ 'remote' in item &&
(!remoteMap || !remoteMap.has(item.remote) || !this.isValidURL(remoteMap.get(item.remote))))
.map((item) => item.remote);
if (invalidBackendRemotes?.length) {
this.addValidationErrors(errors, 'external.fetch.backend', invalidBackendRemotes, manifest);
}
const invalidClientRemotes = manifest.typedContent.permissions.external?.fetch?.client
?.filter((item) => typeof item === 'object' &&
+ 'remote' in item &&
(!remoteMap || !remoteMap.has(item.remote) || !this.isValidURL(remoteMap.get(item.remote))))
.map((item) => item.remote);
if (invalidClientRemotes?.length) {
this.addValidationErrors(errors, 'external.fetch.client', invalidClientRemotes, manifest);
Modified: package/out/validators/providers-validator.js
Index: package/out/validators/providers-validator.js
===================================================================
--- package/out/validators/providers-validator.js
+++ package/out/validators/providers-validator.js
@@ -29,9 +29,17 @@
}
const missingEgressPermission = provider.remotes?.find((key) => {
const remote = remotes?.find((item) => item.key === key);
if (remote) {
- const egressPermission = permissions?.external?.fetch?.backend?.find((item) => typeof item === 'string' ? item === remote.baseUrl : item.remote === remote.key);
+ const egressPermission = permissions?.external?.fetch?.backend?.find((item) => {
+ if (typeof item === 'string') {
+ return item === remote.baseUrl;
+ }
+ if ('remote' in item) {
+ return item.remote === remote.key;
+ }
+ return item.address === remote.baseUrl;
+ });
return !egressPermission;
}
return false;
});
Modified: package/out/schema/manifest-schema.json
Large diffs are not rendered by default.
Modified: package/package.json
Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
{
"name": "@forge/manifest",
- "version": "8.9.0-next.11",
+ "version": "8.9.0-next.12",
"description": "Definitions and validations of the Forge manifest",
"main": "out/index.js",
"scripts": {
"build": "yarn run compile",
Modified: package/out/validators/permissions-validator.d.ts.map
Index: package/out/validators/permissions-validator.d.ts.map
===================================================================
--- package/out/validators/permissions-validator.d.ts.map
+++ package/out/validators/permissions-validator.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"permissions-validator.d.ts","sourceRoot":"","sources":["../../src/validators/permissions-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAmB,MAAM,UAAU,CAAC;AAGrF,OAAO,EAAE,cAAc,EAAU,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAM3D,qBAAa,oBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAEzF,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,8BAA8B;IA6ChC,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;CAoGrD"}
\ No newline at end of file
+{"version":3,"file":"permissions-validator.d.ts","sourceRoot":"","sources":["../../src/validators/permissions-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAmB,MAAM,UAAU,CAAC;AAGrF,OAAO,EAAE,cAAc,EAAU,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAM3D,qBAAa,oBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAEzF,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,8BAA8B;IA6ChC,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;CA8HrD"}
\ No newline at end of file
Modified: package/out/validators/providers-validator.d.ts.map
Index: package/out/validators/providers-validator.d.ts.map
===================================================================
--- package/out/validators/providers-validator.d.ts.map
+++ package/out/validators/providers-validator.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"providers-validator.d.ts","sourceRoot":"","sources":["../../src/validators/providers-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAmB,MAAM,UAAU,CAAC;AAGrF,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,qBAAa,kBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAEnF,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IA+EpD,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,iBAAiB;CAoC1B"}
\ No newline at end of file
+{"version":3,"file":"providers-validator.d.ts","sourceRoot":"","sources":["../../src/validators/providers-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAmB,MAAM,UAAU,CAAC;AAGrF,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,qBAAa,kBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAEnF,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAqFpD,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,iBAAiB;CAoC1B"}
\ No newline at end of file
Modified: package/CHANGELOG.md
Index: package/CHANGELOG.md
===================================================================
--- package/CHANGELOG.md
+++ package/CHANGELOG.md
@@ -1,6 +1,12 @@
# @forge/manifest
+## 8.9.0-next.12
+
+### Minor Changes
+
+- 8c34ca3: Changed manifest to allow egress objects to be a list of string, egress objects containing at least the 'address' field, or a remote reference
+
## 8.9.0-next.11
### Patch Changes
Modified: package/out/schema/manifest.d.ts
Large diffs are not rendered by default.