@forge/cli-shared 8.24.0-next.7-experimental-04898b4 → 8.24.0-next.8
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.
- package/CHANGELOG.md +3 -17
- package/out/config/config-file.d.ts +0 -1
- package/out/config/config-file.d.ts.map +1 -1
- package/out/config/config-file.js +4 -33
- package/out/graphql/graphql-types.d.ts +526 -86
- package/out/graphql/graphql-types.d.ts.map +1 -1
- package/out/graphql/graphql-types.js +111 -44
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,25 +1,11 @@
|
|
|
1
1
|
# @forge/cli-shared
|
|
2
2
|
|
|
3
|
-
## 8.24.0-next.
|
|
4
|
-
|
|
5
|
-
### Minor Changes
|
|
6
|
-
|
|
7
|
-
- 2415638: Prerelease of forge module add command
|
|
3
|
+
## 8.24.0-next.8
|
|
8
4
|
|
|
9
5
|
### Patch Changes
|
|
10
6
|
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- 421fa50: Including remote baseUrl hostnames in fetch_backend egress permissions to ensure egress checking is consistent with backend (cs-apps)
|
|
14
|
-
- Updated dependencies [ccdcfc3]
|
|
15
|
-
- Updated dependencies [8197e66]
|
|
16
|
-
- Updated dependencies [723fab8]
|
|
17
|
-
- Updated dependencies [4493006]
|
|
18
|
-
- Updated dependencies [5beb8ad]
|
|
19
|
-
- Updated dependencies [f1f11f0]
|
|
20
|
-
- Updated dependencies [b7b1f36]
|
|
21
|
-
- Updated dependencies [9f3add6]
|
|
22
|
-
- @forge/manifest@12.9.0-next.5-experimental-04898b4
|
|
7
|
+
- Updated dependencies [ee691bf]
|
|
8
|
+
- @forge/manifest@12.9.0-next.6
|
|
23
9
|
|
|
24
10
|
## 8.24.0-next.7
|
|
25
11
|
|
|
@@ -37,7 +37,6 @@ export declare class ConfigFile implements ConfigReader, ConfigWriter, ConfigInt
|
|
|
37
37
|
private assertNoMissingResources;
|
|
38
38
|
private getRemoteFromEgressPermission;
|
|
39
39
|
private instanceOfRemote;
|
|
40
|
-
private getRemoteBaseUrlHostnames;
|
|
41
40
|
getEgressPermissions(): Promise<{
|
|
42
41
|
type: string;
|
|
43
42
|
domains: string[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/config/config-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,IAAI,CAAC;AAGlE,OAAO,EACL,OAAO,EACP,cAAc,EACd,SAAS,EAOV,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAQ,MAAM,WAAW,CAAC;AAE7D,qBAAa,oBAAqB,SAAQ,eAAe;;CAIxD;AAED,qBAAa,8BAA+B,SAAQ,SAAS;gBAC/C,SAAS,EAAE,MAAM,EAAE;CAGhC;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3C;AAED,oBAAY,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACpC,oBAAY,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AACjE,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,YAAY,EAAE,cAAc,CAAC;CAC9B;AAgBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CA6D5D;AAED,qBAAa,UAAW,YAAW,YAAY,EAAE,YAAY,EAAE,gBAAgB;IAG3E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAH7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAE7B,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB;IAKlC,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAiBzC,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAYrC,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKvD,OAAO,CAAC,kBAAkB;IAoBb,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,OAAO,CAAC,aAAa;IAIR,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1G,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,6BAA6B;IAkBrC,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/config/config-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,IAAI,CAAC;AAGlE,OAAO,EACL,OAAO,EACP,cAAc,EACd,SAAS,EAOV,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAQ,MAAM,WAAW,CAAC;AAE7D,qBAAa,oBAAqB,SAAQ,eAAe;;CAIxD;AAED,qBAAa,8BAA+B,SAAQ,SAAS;gBAC/C,SAAS,EAAE,MAAM,EAAE;CAGhC;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3C;AAED,oBAAY,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACpC,oBAAY,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AACjE,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,YAAY,EAAE,cAAc,CAAC;CAC9B;AAgBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CA6D5D;AAED,qBAAa,UAAW,YAAW,YAAY,EAAE,YAAY,EAAE,gBAAgB;IAG3E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAH7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAE7B,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB;IAKlC,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAiBzC,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAYrC,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKvD,OAAO,CAAC,kBAAkB;IAoBb,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,OAAO,CAAC,aAAa;IAIR,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1G,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,6BAA6B;IAkBrC,OAAO,CAAC,gBAAgB;IAIX,oBAAoB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;IAqClF,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAe1E,YAAY,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAsB1E,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKzD,OAAO,CAAC,eAAe;CAkCxB"}
|
|
@@ -211,31 +211,13 @@ class ConfigFile {
|
|
|
211
211
|
instanceOfRemote(remote) {
|
|
212
212
|
return typeof remote !== 'string' && 'remote' in remote;
|
|
213
213
|
}
|
|
214
|
-
getRemoteBaseUrlHostnames(remotes) {
|
|
215
|
-
if (!remotes) {
|
|
216
|
-
return [];
|
|
217
|
-
}
|
|
218
|
-
return remotes.flatMap((remote) => {
|
|
219
|
-
const baseUrlField = remote.baseUrl;
|
|
220
|
-
if (!baseUrlField) {
|
|
221
|
-
return [];
|
|
222
|
-
}
|
|
223
|
-
const urls = typeof baseUrlField === 'string' ? [baseUrlField] : Object.values(baseUrlField);
|
|
224
|
-
return urls.flatMap((url) => {
|
|
225
|
-
try {
|
|
226
|
-
return [new url_1.URL(url).hostname];
|
|
227
|
-
}
|
|
228
|
-
catch (e) {
|
|
229
|
-
return [];
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
214
|
async getEgressPermissions() {
|
|
235
215
|
const { permissions, remotes } = await this.readConfig();
|
|
236
216
|
const egressPermissions = permissions?.external;
|
|
237
|
-
|
|
238
|
-
|
|
217
|
+
if (!egressPermissions) {
|
|
218
|
+
return [];
|
|
219
|
+
}
|
|
220
|
+
const { fetch: fetchEgress, ...otherEgress } = egressPermissions;
|
|
239
221
|
const getDomainsFromPermissions = (input, typePrefix = undefined) => Object.entries(input)
|
|
240
222
|
.filter((entry) => Array.isArray(entry[1]))
|
|
241
223
|
.map((entry) => ({
|
|
@@ -255,17 +237,6 @@ class ConfigFile {
|
|
|
255
237
|
}));
|
|
256
238
|
const egressUrls = getDomainsFromPermissions(otherEgress);
|
|
257
239
|
const fetchUrls = fetchEgress ? getDomainsFromPermissions(fetchEgress, 'fetch') : [];
|
|
258
|
-
const existingHostnames = new Set([...egressUrls, ...fetchUrls].flatMap(({ domains }) => domains ?? []));
|
|
259
|
-
const additionalRemoteHostnames = remoteBaseUrlHostnames.filter((hostname) => !existingHostnames.has(hostname));
|
|
260
|
-
if (additionalRemoteHostnames.length > 0) {
|
|
261
|
-
const existingFetchBackend = fetchUrls.find(({ type }) => type === 'fetch_backend');
|
|
262
|
-
if (existingFetchBackend) {
|
|
263
|
-
existingFetchBackend.domains = [...(existingFetchBackend.domains ?? []), ...additionalRemoteHostnames];
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
fetchUrls.push({ type: 'fetch_backend', domains: additionalRemoteHostnames });
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
240
|
return [...egressUrls, ...fetchUrls];
|
|
270
241
|
}
|
|
271
242
|
async getAuthProviders() {
|