@forge/cli 11.3.0-next.5-experimental-c9be087 → 11.3.0

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 (52) hide show
  1. package/CHANGELOG.md +382 -7
  2. package/npm-shrinkwrap.json +49 -46
  3. package/out/autocomplete/autocomplete-config.json +3 -0
  4. package/out/bin/cli.d.ts.map +1 -1
  5. package/out/command-line/command.js +1 -1
  6. package/out/command-line/controller/install-controller.d.ts +5 -3
  7. package/out/command-line/controller/install-controller.d.ts.map +1 -1
  8. package/out/command-line/controller/install-controller.js +45 -28
  9. package/out/command-line/controller/version-controller.d.ts.map +1 -1
  10. package/out/command-line/controller/version-controller.js +4 -0
  11. package/out/command-line/dependency-injection.d.ts +2 -0
  12. package/out/command-line/dependency-injection.d.ts.map +1 -1
  13. package/out/command-line/dependency-injection.js +5 -2
  14. package/out/command-line/index.d.ts.map +1 -1
  15. package/out/command-line/index.js +2 -0
  16. package/out/command-line/register-app-commands.d.ts.map +1 -1
  17. package/out/command-line/register-app-commands.js +1 -1
  18. package/out/command-line/register-containers-commands.d.ts +3 -0
  19. package/out/command-line/register-containers-commands.d.ts.map +1 -0
  20. package/out/command-line/register-containers-commands.js +165 -0
  21. package/out/command-line/register-installation-commands.d.ts.map +1 -1
  22. package/out/command-line/register-installation-commands.js +9 -3
  23. package/out/command-line/register-tunnel-commands.d.ts.map +1 -1
  24. package/out/command-line/register-tunnel-commands.js +1 -0
  25. package/out/command-line/uninstall-command-helpers.d.ts +2 -1
  26. package/out/command-line/uninstall-command-helpers.d.ts.map +1 -1
  27. package/out/command-line/uninstall-command-helpers.js +17 -1
  28. package/out/command-line/view/version-view.d.ts.map +1 -1
  29. package/out/command-line/view/version-view.js +22 -1
  30. package/out/containers/container-command.d.ts +19 -0
  31. package/out/containers/container-command.d.ts.map +1 -0
  32. package/out/containers/container-command.js +159 -0
  33. package/out/containers/index.d.ts +2 -0
  34. package/out/containers/index.d.ts.map +1 -0
  35. package/out/containers/index.js +4 -0
  36. package/out/deploy/deployer/deployer.d.ts.map +1 -1
  37. package/out/deploy/deployer/deployer.js +1 -0
  38. package/out/deploy/packager/runtime-bundler.d.ts +3 -3
  39. package/out/deploy/packager/runtime-bundler.d.ts.map +1 -1
  40. package/out/deploy/packager/runtime-bundler.js +11 -10
  41. package/out/installations/graphql-client.d.ts +1 -0
  42. package/out/installations/graphql-client.d.ts.map +1 -1
  43. package/out/installations/graphql-client.js +24 -10
  44. package/out/installations/installation-helper.js +1 -1
  45. package/out/service/installation-service.d.ts +1 -0
  46. package/out/service/installation-service.d.ts.map +1 -1
  47. package/out/service/version-service.d.ts +10 -0
  48. package/out/service/version-service.d.ts.map +1 -1
  49. package/out/service/version-service.js +12 -0
  50. package/out/version/graphql-client.d.ts.map +1 -1
  51. package/out/version/graphql-client.js +2 -0
  52. package/package.json +7 -7
@@ -0,0 +1,19 @@
1
+ import { AppConfigProvider, GraphQLClient, AppContainer, AppContainerRegistryLogin, AppContainerImage } from '@forge/cli-shared';
2
+ export declare class UnexpectedAppContainerRegistryLoginError extends Error {
3
+ constructor();
4
+ }
5
+ export declare class ContainerCommand {
6
+ private readonly client;
7
+ private readonly getAppConfig;
8
+ constructor(client: GraphQLClient, getAppConfig: AppConfigProvider);
9
+ createContainer(key: string): Promise<AppContainer>;
10
+ fetchContainers(): Promise<AppContainer[]>;
11
+ deleteContainer(key: string): Promise<void>;
12
+ fetchLoginDetails(): Promise<AppContainerRegistryLogin>;
13
+ fetchImages(key: string, startCursor?: string): Promise<{
14
+ images: AppContainerImage[];
15
+ endCursor?: string;
16
+ hasNextPage: boolean;
17
+ }>;
18
+ }
19
+ //# sourceMappingURL=container-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-command.d.ts","sourceRoot":"","sources":["../../src/containers/container-command.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,aAAa,EAEb,YAAY,EACZ,yBAAyB,EAKzB,iBAAiB,EAElB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,wCAAyC,SAAQ,KAAK;;CAIlE;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,iBAAiB;IAG5C,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2CnD,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IA4B1C,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCpC,iBAAiB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAyBvD,WAAW,CACtB,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;CAsCtF"}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerCommand = exports.UnexpectedAppContainerRegistryLoginError = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ class UnexpectedAppContainerRegistryLoginError extends Error {
6
+ constructor() {
7
+ super('Unable to retrieve app container registry login details');
8
+ }
9
+ }
10
+ exports.UnexpectedAppContainerRegistryLoginError = UnexpectedAppContainerRegistryLoginError;
11
+ class ContainerCommand {
12
+ client;
13
+ getAppConfig;
14
+ constructor(client, getAppConfig) {
15
+ this.client = client;
16
+ this.getAppConfig = getAppConfig;
17
+ }
18
+ async createContainer(key) {
19
+ const { id: appId } = await this.getAppConfig();
20
+ const mutation = `
21
+ mutation forge_cli_createAppContainer($input: AppContainerInput!) {
22
+ createAppContainer(input: $input) {
23
+ container {
24
+ repositoryURI
25
+ }
26
+ success
27
+ errors {
28
+ message
29
+ extensions {
30
+ errorType
31
+ statusCode
32
+ }
33
+ }
34
+ }
35
+ }`;
36
+ const { response: { createAppContainer: { container, success, errors } }, requestId } = await this.client.mutate(mutation, {
37
+ input: {
38
+ appId,
39
+ containerKey: key
40
+ }
41
+ });
42
+ if (!success) {
43
+ const error = (0, cli_shared_1.getError)(errors);
44
+ throw new cli_shared_1.GraphQlMutationError(`${error.message} (requestId: ${requestId || 'unknown'})`, {
45
+ requestId,
46
+ code: error.code,
47
+ statusCode: error.statusCode
48
+ });
49
+ }
50
+ return container;
51
+ }
52
+ async fetchContainers() {
53
+ const { id: appId } = await this.getAppConfig();
54
+ const query = `
55
+ query forge_cli_appContainers($appId: ID!) {
56
+ appContainers(appId: $appId) {
57
+ key
58
+ repositoryURI
59
+ images(first: 1) {
60
+ edges {
61
+ node {
62
+ digest
63
+ sizeInBytes
64
+ pushedAt
65
+ lastPulledAt
66
+ tags
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }`;
72
+ const { appContainers } = await this.client.query(query, {
73
+ appId
74
+ });
75
+ return appContainers ?? [];
76
+ }
77
+ async deleteContainer(key) {
78
+ const { id: appId } = await this.getAppConfig();
79
+ const mutation = `
80
+ mutation forge_cli_deleteAppContainer($input: AppContainerInput!) {
81
+ deleteAppContainer(input: $input) {
82
+ success
83
+ errors {
84
+ message
85
+ extensions {
86
+ errorType
87
+ statusCode
88
+ }
89
+ }
90
+ }
91
+ }`;
92
+ const { response: { deleteAppContainer: { success, errors } }, requestId } = await this.client.mutate(mutation, {
93
+ input: {
94
+ appId,
95
+ containerKey: key
96
+ }
97
+ });
98
+ if (!success) {
99
+ const error = (0, cli_shared_1.getError)(errors);
100
+ throw new cli_shared_1.GraphQlMutationError(`${error.message} (requestId: ${requestId || 'unknown'})`, {
101
+ requestId,
102
+ code: error.code,
103
+ statusCode: error.statusCode
104
+ });
105
+ }
106
+ }
107
+ async fetchLoginDetails() {
108
+ const { id: appId } = await this.getAppConfig();
109
+ const query = `
110
+ query forge_cli_appContainerRegistryLogin($appId: ID!) {
111
+ appContainerRegistryLogin(appId: $appId) {
112
+ username
113
+ password
114
+ endpoint
115
+ }
116
+ }`;
117
+ const { appContainerRegistryLogin } = await this.client.query(query, {
118
+ appId
119
+ });
120
+ if (!appContainerRegistryLogin) {
121
+ throw new UnexpectedAppContainerRegistryLoginError();
122
+ }
123
+ return appContainerRegistryLogin;
124
+ }
125
+ async fetchImages(key, startCursor) {
126
+ const { id: appId } = await this.getAppConfig();
127
+ const query = `
128
+ query forge_cli_appContainer($appId: ID!, $containerKey: String!, $after: ID) {
129
+ appContainer(appId: $appId, containerKey: $containerKey) {
130
+ images(first: 10, after: $after) {
131
+ edges {
132
+ node {
133
+ digest
134
+ sizeInBytes
135
+ pushedAt
136
+ lastPulledAt
137
+ tags
138
+ }
139
+ }
140
+ pageInfo {
141
+ hasNextPage
142
+ endCursor
143
+ }
144
+ }
145
+ }
146
+ }`;
147
+ const { appContainer } = await this.client.query(query, {
148
+ appId,
149
+ containerKey: key,
150
+ after: startCursor
151
+ });
152
+ return {
153
+ images: appContainer?.images.edges.map(({ node }) => node) ?? [],
154
+ endCursor: appContainer?.images.pageInfo.endCursor ?? undefined,
155
+ hasNextPage: appContainer?.images.pageInfo.hasNextPage ?? false
156
+ };
157
+ }
158
+ }
159
+ exports.ContainerCommand = ContainerCommand;
@@ -0,0 +1,2 @@
1
+ export * from './container-command';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/containers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./container-command"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/deployer/deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAKjB,mBAAmB,EAGnB,KAAK,EAEL,EAAE,EACF,SAAS,EAET,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAsB,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAyB,MAAM,iCAAiC,CAAC;AAG7F,qBAAa,wBAAyB,SAAQ,SAAS;IAEnD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,sBAAuB,SAAQ,SAAS;IAEjD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,mCAAoC,SAAQ,SAAS;IAE9D,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,6BAA8B,SAAQ,SAAS;gBAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;CAG7D;AAED,qBAAa,0BAA2B,SAAQ,SAAS;IAErD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CACJ,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAyBD,qBAAa,gBAAiB,YAAW,QAAQ;IAE7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAJF,gBAAgB,EAAE,iBAAiB,EACnC,YAAY,EAAE,mBAAmB,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE;IAGZ,MAAM,CACjB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;YAYF,QAAQ;IAgBT,kBAAkB,CAC7B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM;;;;YA4BL,iBAAiB;IAa/B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,gBAAgB;CA4DzB"}
1
+ {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/deployer/deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAKjB,mBAAmB,EAGnB,KAAK,EAEL,EAAE,EACF,SAAS,EAET,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAsB,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAyB,MAAM,iCAAiC,CAAC;AAG7F,qBAAa,wBAAyB,SAAQ,SAAS;IAEnD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,sBAAuB,SAAQ,SAAS;IAEjD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,mCAAoC,SAAQ,SAAS;IAE9D,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,6BAA8B,SAAQ,SAAS;gBAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;CAG7D;AAED,qBAAa,0BAA2B,SAAQ,SAAS;IAErD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CACJ,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAyBD,qBAAa,gBAAiB,YAAW,QAAQ;IAE7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAJF,gBAAgB,EAAE,iBAAiB,EACnC,YAAY,EAAE,mBAAmB,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE;IAGZ,MAAM,CACjB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;YAYF,QAAQ;IAgBT,kBAAkB,CAC7B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM;;;;YA4BL,iBAAiB;IAa/B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,gBAAgB;CA6DzB"}
@@ -207,6 +207,7 @@ class ArtifactDeployer {
207
207
  throw new HostedResourceDeploymentFailedError(false, requestId, cli_shared_1.Text.hostedResources.error(cli_shared_1.Text.hostedResources.lambdaTimeout));
208
208
  }
209
209
  case 'ENTITY_VALIDATION_ERROR':
210
+ case 'MANIFEST_PERMISSIONS_VALIDATION_FAILED':
210
211
  case 'MANIFEST_VALIDATION_FAILED': {
211
212
  if (errorDetails.fields) {
212
213
  throw new ManifestValidationFailedError(requestId, cli_shared_1.Text.config.manifest.error(message, JSON.stringify(errorDetails.fields, null, 2)));
@@ -13,9 +13,9 @@ export declare class RuntimeBundler {
13
13
  protected readonly fileSystemReader: FileSystemReader;
14
14
  private readonly configReader;
15
15
  constructor(archiverFactory: () => Archiver, logger: Logger, bundler: Bundler, fileSystemReader: FileSystemReader, configReader: ConfigReader);
16
- protected packageCode(archiver: Archiver, entryPoints: EntryPoint[]): Promise<string[]>;
16
+ protected packageCode(archiver: Archiver, entryPoints: EntryPoint[], i18nResourceBundle: I18nResourceBundle): Promise<string[]>;
17
17
  protected packageDependencies(archiver: Archiver): Promise<void>;
18
- protected packageAll(archiver: Archiver, handlers: Handler[], packageConfig: App['package']): Promise<string[]>;
18
+ protected packageAll(archiver: Archiver, handlers: Handler[], packageConfig: App['package'], i18nResourceBundle: I18nResourceBundle): Promise<string[]>;
19
19
  protected packageI18nResources(archiver: Archiver, i18nResourceBundle: I18nResourceBundle): void;
20
20
  bundle(handlers: Handler[], i18nResourceBundle: I18nResourceBundle, packageConfig?: App['package']): Promise<RuntimeBundleResult>;
21
21
  }
@@ -23,6 +23,6 @@ export declare class SandboxRuntimeBundler extends RuntimeBundler {
23
23
  bundle(handlers: Handler[], i18nResourceBundle: I18nResourceBundle, packageConfig?: App['package']): Promise<RuntimeBundleResult>;
24
24
  }
25
25
  export declare class NodeRuntimeBundler extends RuntimeBundler {
26
- protected packageAll(archiver: Archiver, handlers: Handler[], packageConfig: App['package']): Promise<string[]>;
26
+ protected packageAll(archiver: Archiver, handlers: Handler[], packageConfig: App['package'], i18nResourceBundle: I18nResourceBundle): Promise<string[]>;
27
27
  }
28
28
  //# sourceMappingURL=runtime-bundler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/runtime-bundler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA+B,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAEL,OAAO,EACP,MAAM,EAEN,gBAAgB,EAEhB,YAAY,EAEZ,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAJZ,eAAe,EAAE,MAAM,QAAQ,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EACd,gBAAgB,EAAE,gBAAgB,EACpC,YAAY,EAAE,YAAY;cAG7B,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cA4B7E,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cActD,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAMnF,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAWhC;AAED,qBAAa,qBAAsB,SAAQ,cAAc;IAC1C,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAMhC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;cACpC,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;CASrB"}
1
+ {"version":3,"file":"runtime-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/runtime-bundler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA+B,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAEL,OAAO,EACP,MAAM,EAEN,gBAAgB,EAEhB,YAAY,EAEZ,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAJZ,eAAe,EAAE,MAAM,QAAQ,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EACd,gBAAgB,EAAE,gBAAgB,EACpC,YAAY,EAAE,YAAY;cAG7B,WAAW,CACzB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,UAAU,EAAE,EACzB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC;cA4BJ,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cActD,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,EAC7B,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAMnF,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAgBhC;AAED,qBAAa,qBAAsB,SAAQ,cAAc;IAC1C,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAMhC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;cACpC,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,EAC7B,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC;CASrB"}
@@ -6,7 +6,6 @@ const path_1 = tslib_1.__importDefault(require("path"));
6
6
  const bundler_1 = require("@forge/bundler");
7
7
  const cli_shared_1 = require("@forge/cli-shared");
8
8
  const i18n_1 = require("@forge/i18n");
9
- const path_2 = require("path");
10
9
  class RuntimeBundler {
11
10
  archiverFactory;
12
11
  logger;
@@ -20,12 +19,12 @@ class RuntimeBundler {
20
19
  this.fileSystemReader = fileSystemReader;
21
20
  this.configReader = configReader;
22
21
  }
23
- async packageCode(archiver, entryPoints) {
22
+ async packageCode(archiver, entryPoints, i18nResourceBundle) {
24
23
  const moduleList = [];
25
24
  if (entryPoints.length > 0) {
26
25
  let bundlerResponse;
27
26
  try {
28
- bundlerResponse = await this.bundler.bundle({ appDirectory: process.cwd(), entryPoints });
27
+ bundlerResponse = await this.bundler.bundle({ appDirectory: process.cwd(), entryPoints, i18nResourceBundle });
29
28
  }
30
29
  catch (e) {
31
30
  throw new bundler_1.BundlerError(e.message);
@@ -53,21 +52,23 @@ class RuntimeBundler {
53
52
  archiver.addFileFrom(fileName, fileName);
54
53
  }
55
54
  }
56
- async packageAll(archiver, handlers, packageConfig) {
55
+ async packageAll(archiver, handlers, packageConfig, i18nResourceBundle) {
57
56
  const entryPoints = (0, bundler_1.getEntryPoints)(handlers);
58
- const moduleList = await this.packageCode(archiver, entryPoints);
57
+ const moduleList = await this.packageCode(archiver, entryPoints, i18nResourceBundle);
59
58
  await this.packageDependencies(archiver);
60
59
  return moduleList;
61
60
  }
62
61
  packageI18nResources(archiver, i18nResourceBundle) {
63
62
  (0, cli_shared_1.listFilesInI18nResourceBundle)(i18nResourceBundle).forEach(([fileName, filePath]) => {
64
- archiver.addFileFrom((0, path_2.join)(i18n_1.I18N_BUNDLE_FOLDER_NAME, fileName), filePath);
63
+ archiver.addFileFrom(path_1.default.join(i18n_1.I18N_BUNDLE_FOLDER_NAME, fileName), filePath);
65
64
  });
66
65
  }
67
66
  async bundle(handlers, i18nResourceBundle, packageConfig) {
68
67
  const archiver = this.archiverFactory();
69
- const moduleList = await this.packageAll(archiver, handlers, packageConfig);
70
- this.packageI18nResources(archiver, i18nResourceBundle);
68
+ const moduleList = await this.packageAll(archiver, handlers, packageConfig, i18nResourceBundle);
69
+ if (moduleList.length === 0) {
70
+ this.packageI18nResources(archiver, i18nResourceBundle);
71
+ }
71
72
  const archivePath = await archiver.finalise();
72
73
  this.logger.debug(cli_shared_1.Text.deploy.taskPackage.archiveCreated(archivePath));
73
74
  return { runtimeArchivePath: archivePath, moduleList };
@@ -84,8 +85,8 @@ class SandboxRuntimeBundler extends RuntimeBundler {
84
85
  }
85
86
  exports.SandboxRuntimeBundler = SandboxRuntimeBundler;
86
87
  class NodeRuntimeBundler extends RuntimeBundler {
87
- async packageAll(archiver, handlers, packageConfig) {
88
- const moduleList = await super.packageAll(archiver, handlers, packageConfig);
88
+ async packageAll(archiver, handlers, packageConfig, i18nResourceBundle) {
89
+ const moduleList = await super.packageAll(archiver, handlers, packageConfig, i18nResourceBundle);
89
90
  const files = await this.fileSystemReader.getFileGlobList(packageConfig?.extraFiles ?? []);
90
91
  for (const fileName of files) {
91
92
  archiver.addFileFrom(fileName, fileName);
@@ -58,6 +58,7 @@ export declare class InstallationsGraphqlClient implements InstallAppClient, Lis
58
58
  installAppIntoSite({ environmentKey, site, product, appId, licenseOverride, overrides }: AppInstallSiteDetails): Promise<void>;
59
59
  upgradeInstallation({ site, product, environmentKey, appId }: AppInstallSiteDetails): Promise<void>;
60
60
  private monitorAppInstallOrUpgrade;
61
+ private handleFailedInstallOrUpgrade;
61
62
  uninstallApp(input: AppUninstallationInput): Promise<boolean>;
62
63
  uninstallMultipleApps(apps: AppUninstallationInput[]): Promise<Partial<UninstallAppOutput>[]>;
63
64
  listInstallations(appId: string): Promise<Installation[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/installations/graphql-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/installations/graphql-client.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAIlB,sBAAsB,EAKtB,aAAa,EACb,oBAAoB,EAOpB,KAAK,EAGL,SAAS,EACT,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,YAAY,EACZ,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AActD,eAAO,MAAM,qBAAqB,kCAAkC,CAAC;AAMrE,qBAAa,qBAAsB,SAAQ,oBAAoB;gBACjD,SAAS,oBAAY,EAAE,KAAK,oBAAY,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS;CAOrF;AAED,qBAAa,qBAAsB,SAAQ,oBAAoB;gBACjD,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS;CAG1E;AAED,qBAAa,iBAAkB,SAAQ,oBAAoB;gBAEvD,OAAO,EAAE,MAAM,EACf,EACE,SAAS,EACT,IAAI,EACJ,UAAU,EACX,EAAE;QACD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC;CAIJ;AAED,qBAAa,YAAa,SAAQ,oBAAoB;gBAElD,OAAO,EAAE,MAAM,EACf,EACE,SAAS,EACT,IAAI,EACJ,UAAU,EACX,EAAE;QACD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC;CAIJ;AAED,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,cAAc,EAAE,MAAM;CAGnC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;CAAG;AAEhD,qBAAa,8BAA+B,SAAQ,SAAS;IAEzD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,QAAQ,CAAC,IAAI,CAAC;gBADG,SAAS,EAAE,OAAO,EAC1B,IAAI,CAAC,oBAAQ,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAIzB,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAExD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AAErD,qBAAa,yBAA0B,SAAQ,SAAS;CAAG;AAE3D,qBAAa,0BACX,YACE,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,6BAA6B,EAC7B,iCAAiC;IAgBjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAjBxB,kBAAkB,SAAU;IAC5B,uBAAuB,SAAe;WAExB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;gBAWtF,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,cAAc,EACtC,mBAAmB,EAAE,cAAc,EACnC,KAAK,EAAE,KAAK;YAGjB,wBAAwB;IAKtC,OAAO,CAAC,qBAAqB;IAQhB,kBAAkB,CAAC,EAC9B,cAAc,EACd,IAAI,EACJ,OAAO,EACP,KAAK,EACL,eAAe,EACf,SAAS,EACV,EAAE,qBAAqB;IAyDX,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,qBAAqB;YAiDlF,0BAA0B;IAexC,OAAO,CAAC,4BAA4B;IAmBvB,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqC7D,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAmB7F,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKzD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAS7E,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;YAkCvF,sBAAsB;YAqCtB,2BAA2B;YAY3B,mBAAmB;IAiBjC,OAAO,CAAC,yBAAyB;YAInB,sBAAsB;YAuBtB,6BAA6B;YA0C7B,mBAAmB;IA6EpB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA0ChH"}
@@ -194,17 +194,23 @@ class InstallationsGraphqlClient {
194
194
  const result = await this.getAppInstallationTaskRetry(taskId);
195
195
  status = result.state;
196
196
  if (status === cli_shared_1.AppTaskState.Failed) {
197
- const { errors, requestId } = result;
198
- const error = errors?.[0];
199
- const statusCode = error?.extensions?.statusCode;
200
- const isUserError = statusCode && statusCode >= 400 && statusCode < 500 ? true : false;
201
- const code = error?.extensions?.errorType ?? undefined;
202
- throw new InstallationRequestFailedError(isUserError, code, (0, harmonized_app_installation_errors_1.expandHarmonizedAppInstallationError)(code, error?.message ?? undefined), requestId);
197
+ this.handleFailedInstallOrUpgrade(result);
203
198
  }
204
199
  if (status !== cli_shared_1.AppTaskState.Complete)
205
200
  await this.pause(exports.UNINSTALLATION_EVENT_POLL_INTERVAL);
206
201
  }
207
202
  }
203
+ handleFailedInstallOrUpgrade(result) {
204
+ const { errors, requestId } = result;
205
+ const error = errors?.[0];
206
+ const statusCode = error?.extensions?.statusCode;
207
+ const isUserError = statusCode && statusCode >= 400 && statusCode < 500 ? true : false;
208
+ const code = error?.extensions?.errorType ?? undefined;
209
+ if (error && requestId) {
210
+ error.message = cli_shared_1.Text.install.error.appendRequestIdToErrorMessage(error.message ?? undefined, requestId);
211
+ }
212
+ throw new InstallationRequestFailedError(isUserError, code, (0, harmonized_app_installation_errors_1.expandHarmonizedAppInstallationError)(code, error?.message ?? undefined), requestId);
213
+ }
208
214
  async uninstallApp(input) {
209
215
  const query = `
210
216
  mutation forge_cli_uninstallApplication($input: AppUninstallationInput!) {
@@ -364,6 +370,12 @@ class InstallationsGraphqlClient {
364
370
  const secondaryProducts = (installation.secondaryInstallationContexts ?? [])
365
371
  .map((context) => (0, cli_shared_1.parseInstallationContext)(context))
366
372
  .map((context) => context.resourceOwner);
373
+ const permissions = installation.appEnvironmentVersion?.permissions || [];
374
+ const appEnvironmentVersion = {
375
+ isLatest: installation.appEnvironmentVersion?.isLatest ?? false,
376
+ version: installation.appEnvironmentVersion?.version ?? '1.0.0',
377
+ scopes: permissions.flatMap((permission) => permission.scopes.map((scope) => scope.key))
378
+ };
367
379
  return {
368
380
  id: installation.id,
369
381
  ...(secondaryProducts.length > 0 ? { secondaryProducts } : {}),
@@ -375,10 +387,7 @@ class InstallationsGraphqlClient {
375
387
  ? { secondaryContexts: installation.secondaryInstallationContexts }
376
388
  : {}),
377
389
  site,
378
- version: installation.appEnvironmentVersion || {
379
- isLatest: false,
380
- version: '1.0.0'
381
- }
390
+ version: appEnvironmentVersion
382
391
  };
383
392
  });
384
393
  }
@@ -398,6 +407,11 @@ class InstallationsGraphqlClient {
398
407
  appEnvironmentVersion {
399
408
  isLatest
400
409
  version
410
+ permissions {
411
+ scopes {
412
+ key
413
+ }
414
+ }
401
415
  }
402
416
  }
403
417
  pageInfo {
@@ -16,7 +16,7 @@ function validateInstallationId(installationId) {
16
16
  exports.validateInstallationId = validateInstallationId;
17
17
  async function selectSingleInstallation(ui, installations, installationTablePrompt, installationTableOverview) {
18
18
  const hasSecondaryInstallations = installations.some(({ secondaryProducts }) => secondaryProducts?.length);
19
- const installationIndex = await ui.promptForSingleChoiceTable(installationTablePrompt, installationTableOverview, ['Environment', 'Site', hasSecondaryInstallations ? 'Product(s)' : 'Product', 'Major Version'], installations.map(({ id, environmentKey, product, secondaryProducts, site, version }) => ({
19
+ const installationIndex = await ui.promptForSingleChoiceTable(installationTablePrompt, installationTableOverview, ['Environment', 'Site', hasSecondaryInstallations ? 'Context(s)' : 'Context', 'Major Version'], installations.map(({ id, environmentKey, product, secondaryProducts, site, version }) => ({
20
20
  names: [
21
21
  (0, cli_shared_1.environmentToOption)(environmentKey),
22
22
  site,
@@ -14,6 +14,7 @@ export interface Installation {
14
14
  version: {
15
15
  isLatest: boolean;
16
16
  version: string;
17
+ scopes: string[];
17
18
  };
18
19
  }
19
20
  export interface AppInstallation {
@@ -1 +1 @@
1
- {"version":3,"file":"installation-service.d.ts","sourceRoot":"","sources":["../../src/service/installation-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installation-service.d.ts","sourceRoot":"","sources":["../../src/service/installation-service.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ export interface VersionDetails {
21
21
  type: string;
22
22
  addresses: string[];
23
23
  }[];
24
+ analytics: {
25
+ type: string;
26
+ addresses: string[];
27
+ inScopeEUD: boolean;
28
+ }[];
24
29
  scopes: string[];
25
30
  policies: {
26
31
  type: string;
@@ -44,6 +49,10 @@ export interface VersionOverview {
44
49
  type: string;
45
50
  count: number;
46
51
  }[];
52
+ analytics: {
53
+ type: string;
54
+ count: number;
55
+ }[];
47
56
  policies: {
48
57
  type: string;
49
58
  count: number;
@@ -65,6 +74,7 @@ export declare class VersionService {
65
74
  constructor(getAppConfig: AppConfigProvider, versionDetailsClient: AppVersionDetailsClient);
66
75
  private filterOutEmpty;
67
76
  private getEgresses;
77
+ private getAnalytics;
68
78
  private getPolicies;
69
79
  private getConnectedKeys;
70
80
  private getFunctions;
@@ -1 +1 @@
1
- {"version":3,"file":"version-service.d.ts","sourceRoot":"","sources":["../../src/service/version-service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAOnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,IAAI,CAAC;IACzB,eAAe,EAAE,kBAAkB,CAAC;IACpC,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,GAAG,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,CAAC;IACvE,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAClD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACjD,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;CACnE;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,IAAI,CAAC;IACzB,eAAe,EAAE,kBAAkB,CAAC;IACpC,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,eAAe,EAAE,OAAO,CAAC;CAC1B;AAOD,qBAAa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAHvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuE;gBAE7E,YAAY,EAAE,iBAAiB,EAC/B,oBAAoB,EAAE,uBAAuB;IAGhE,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,YAAY;IAmDP,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgCzG,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,kCAAkC;YAM5B,cAAc;IAKf,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuB1F,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,uCAAuC;CAmBhD"}
1
+ {"version":3,"file":"version-service.d.ts","sourceRoot":"","sources":["../../src/service/version-service.ts"],"names":[],"mappings":"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"}
@@ -28,11 +28,21 @@ class VersionService {
28
28
  });
29
29
  return egressesWithoutRemoteModules
30
30
  .filter((entry) => this.filterOutEmpty(entry.addresses).length !== 0)
31
+ .filter((entry) => entry.category !== 'ANALYTICS')
31
32
  .map((entry) => ({
32
33
  type: this.getTypeFromPermissionType(entry.type),
33
34
  addresses: entry.addresses || []
34
35
  }));
35
36
  }
37
+ getAnalytics(egresses) {
38
+ return this.filterOutEmpty(egresses)
39
+ .filter((entry) => entry.category === 'ANALYTICS')
40
+ ?.map((entry) => ({
41
+ type: this.getTypeFromPermissionType(entry.type),
42
+ addresses: entry.addresses || [],
43
+ inScopeEUD: entry.inScopeEUD || false
44
+ }));
45
+ }
36
46
  getPolicies(securityPolicies) {
37
47
  return this.filterOutEmpty(securityPolicies).map((entry) => ({
38
48
  type: this.getTypeFromPermissionType(entry.type),
@@ -87,6 +97,7 @@ class VersionService {
87
97
  const appDetails = {
88
98
  requiresLicense: data.requiresLicense,
89
99
  egresses: this.getEgresses(data.permissions?.[0].egress, remoteModules),
100
+ analytics: this.getAnalytics(data.permissions?.[0].egress),
90
101
  scopes: data.permissions?.[0].scopes.map((scope) => scope.key).sort() || [],
91
102
  policies: this.getPolicies(data.permissions?.[0].securityPolicies),
92
103
  connectKeys: this.getConnectedKeys(data.migrationKeys),
@@ -153,6 +164,7 @@ class VersionService {
153
164
  deploymentDateTime: entry.deploymentDateTime,
154
165
  environmentType: entry.environmentType,
155
166
  egresses: entry.egresses.map((egress) => ({ type: egress.type, count: egress.addresses.length })),
167
+ analytics: entry.analytics.map((analytic) => ({ type: analytic.type, count: analytic.addresses.length })),
156
168
  policies: entry.policies.map((policy) => ({ type: policy.type, count: policy.policies.length })),
157
169
  scopes: (entry.scopes.length || 0).toString(),
158
170
  connectKeys: (entry.connectKeys.length || 0).toString(),
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/version/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,KAAK,EACL,aAAa,EAEb,OAAO,EAEP,SAAS,EACV,MAAM,mBAAmB,CAAC;AAS3B,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9D,eAAe,EAAE,kBAAkB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,IAAI,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,cAAc,EAAE,MAAM;CAGnC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AAEpD,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,iBAAiB,CAC5B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC;IAqFpB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAuDtF"}
1
+ {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/version/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,KAAK,EACL,aAAa,EAEb,OAAO,EAEP,SAAS,EACV,MAAM,mBAAmB,CAAC;AAS3B,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9D,eAAe,EAAE,kBAAkB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,IAAI,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,cAAc,EAAE,MAAM;CAGnC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AAEpD,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,iBAAiB,CAC5B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC;IAuFpB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAuDtF"}
@@ -38,6 +38,8 @@ class AppVersionDetailsClient {
38
38
  egress {
39
39
  type
40
40
  addresses
41
+ category
42
+ inScopeEUD
41
43
  }
42
44
  securityPolicies {
43
45
  type
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "11.3.0-next.5-experimental-c9be087",
3
+ "version": "11.3.0",
4
4
  "description": "A command line interface for managing Atlassian-hosted apps",
5
5
  "author": "Atlassian",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -18,16 +18,16 @@
18
18
  "postinstall": "node -e \"fs.existsSync('./out/bin/postinstall.js') && require('./out/bin/postinstall.js')\""
19
19
  },
20
20
  "dependencies": {
21
- "@forge/bundler": "4.21.1-next.5-experimental-c9be087",
22
- "@forge/cli-shared": "6.8.0-next.5-experimental-c9be087",
21
+ "@forge/bundler": "4.22.0",
22
+ "@forge/cli-shared": "6.8.0",
23
23
  "@forge/egress": "1.4.0",
24
- "@forge/lint": "5.7.3-next.5-experimental-c9be087",
25
- "@forge/manifest": "8.9.0-next.1-experimental-c9be087",
24
+ "@forge/lint": "5.7.3",
25
+ "@forge/manifest": "9.0.0",
26
26
  "@forge/runtime": "5.10.7",
27
- "@forge/tunnel": "5.10.1-next.5-experimental-c9be087",
27
+ "@forge/tunnel": "5.10.1",
28
28
  "@forge/util": "1.4.8",
29
29
  "@sentry/node": "7.106.0",
30
- "@forge/i18n": "0.0.4",
30
+ "@forge/i18n": "0.0.5",
31
31
  "ajv": "^8.12.0",
32
32
  "archiver": "^6.0.2",
33
33
  "case": "^1.6.3",