@forge/cli 10.13.6 → 11.0.0-next.18
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 +203 -0
- package/LICENSE.txt +7 -0
- package/npm-shrinkwrap.json +142 -130
- package/out/autocomplete/autocomplete-config.json +26 -0
- package/out/command-line/command.d.ts +15 -2
- package/out/command-line/command.d.ts.map +1 -1
- package/out/command-line/command.js +29 -6
- package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
- package/out/command-line/controller/deploy-controller.js +4 -7
- package/out/command-line/controller/install-controller.d.ts +3 -3
- package/out/command-line/controller/install-controller.d.ts.map +1 -1
- package/out/command-line/controller/install-controller.js +16 -13
- package/out/command-line/controller/version-controller.d.ts +36 -0
- package/out/command-line/controller/version-controller.d.ts.map +1 -0
- package/out/command-line/controller/version-controller.js +114 -0
- package/out/command-line/dependency-injection.d.ts +4 -1
- package/out/command-line/dependency-injection.d.ts.map +1 -1
- package/out/command-line/dependency-injection.js +14 -6
- package/out/command-line/index.d.ts +1 -1
- package/out/command-line/index.d.ts.map +1 -1
- package/out/command-line/index.js +6 -4
- package/out/command-line/register-app-commands.d.ts.map +1 -1
- package/out/command-line/register-app-commands.js +9 -1
- package/out/command-line/register-installation-commands.d.ts +2 -10
- package/out/command-line/register-installation-commands.d.ts.map +1 -1
- package/out/command-line/register-installation-commands.js +29 -32
- package/out/command-line/register-version-commands.d.ts +4 -0
- package/out/command-line/register-version-commands.d.ts.map +1 -0
- package/out/command-line/register-version-commands.js +76 -0
- package/out/command-line/register-webtrigger-commands.d.ts +1 -1
- package/out/command-line/register-webtrigger-commands.d.ts.map +1 -1
- package/out/command-line/register-webtrigger-commands.js +13 -5
- package/out/command-line/view/deploy-view.d.ts +1 -1
- package/out/command-line/view/deploy-view.d.ts.map +1 -1
- package/out/command-line/view/deploy-view.js +2 -2
- package/out/command-line/view/version-view.d.ts +26 -0
- package/out/command-line/view/version-view.d.ts.map +1 -0
- package/out/command-line/view/version-view.js +198 -0
- package/out/environment/graphql-client.d.ts +1 -0
- package/out/environment/graphql-client.d.ts.map +1 -1
- package/out/environment/graphql-client.js +3 -1
- package/out/environment/list-environment.d.ts +1 -0
- package/out/environment/list-environment.d.ts.map +1 -1
- package/out/installations/graphql-client.d.ts +6 -5
- package/out/installations/graphql-client.d.ts.map +1 -1
- package/out/installations/graphql-client.js +44 -7
- package/out/installations/installation-helper.d.ts.map +1 -1
- package/out/installations/installation-helper.js +1 -1
- package/out/installations/site-translation/bitbucket.d.ts +3 -4
- package/out/installations/site-translation/bitbucket.d.ts.map +1 -1
- package/out/installations/site-translation/bitbucket.js +1 -1
- package/out/installations/site-translation/index.d.ts +1 -1
- package/out/installations/site-translation/index.d.ts.map +1 -1
- package/out/installations/site-translation/index.js +1 -1
- package/out/installations/site-translation/site-translation.d.ts +3 -4
- package/out/installations/site-translation/site-translation.d.ts.map +1 -1
- package/out/installations/site-translation/sited-products.d.ts +29 -0
- package/out/installations/site-translation/sited-products.d.ts.map +1 -0
- package/out/installations/site-translation/sited-products.js +133 -0
- package/out/service/installation-service.d.ts +18 -4
- package/out/service/installation-service.d.ts.map +1 -1
- package/out/service/installation-service.js +44 -10
- package/out/service/tunnel-service.d.ts.map +1 -1
- package/out/service/tunnel-service.js +1 -1
- package/out/service/version-service.d.ts +77 -0
- package/out/service/version-service.d.ts.map +1 -0
- package/out/service/version-service.js +163 -0
- package/out/version/graphql-client.d.ts +25 -0
- package/out/version/graphql-client.d.ts.map +1 -0
- package/out/version/graphql-client.js +144 -0
- package/package.json +13 -11
- package/out/installations/site-translation/cloudid-products.d.ts +0 -25
- package/out/installations/site-translation/cloudid-products.d.ts.map +0 -1
- package/out/installations/site-translation/cloudid-products.js +0 -103
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersionView = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const cli_shared_1 = require("@forge/cli-shared");
|
|
6
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
+
class VersionView {
|
|
8
|
+
ui;
|
|
9
|
+
constructor(ui) {
|
|
10
|
+
this.ui = ui;
|
|
11
|
+
}
|
|
12
|
+
async displayDetailsProgress(progress) {
|
|
13
|
+
return this.ui.displayProgress(progress, cli_shared_1.Text.version.check.start, cli_shared_1.Text.version.check.end);
|
|
14
|
+
}
|
|
15
|
+
async displayDiffProgress(progress) {
|
|
16
|
+
return this.ui.displayProgress(progress, cli_shared_1.Text.version.diff.start, cli_shared_1.Text.version.diff.end);
|
|
17
|
+
}
|
|
18
|
+
async displayListProgress(progress) {
|
|
19
|
+
return this.ui.displayProgress(progress, cli_shared_1.Text.version.list.start, cli_shared_1.Text.version.list.end);
|
|
20
|
+
}
|
|
21
|
+
async promptVersionDetailsProperties() {
|
|
22
|
+
const { options, properties: { descriptions, banner, info, headers } } = cli_shared_1.Text.version.check.details.prompt;
|
|
23
|
+
const propsOptions = [
|
|
24
|
+
{
|
|
25
|
+
names: ['License', descriptions.license],
|
|
26
|
+
property: 'requiresLicense'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
names: ['Scopes', descriptions.scopes],
|
|
30
|
+
property: 'scopes'
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
names: ['Egress', descriptions.egress],
|
|
34
|
+
property: 'egresses'
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
names: ['Policies', descriptions.policies],
|
|
38
|
+
property: 'policies'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
names: ['Connect Key', descriptions.connectKeys],
|
|
42
|
+
property: 'connectKeys'
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
names: ['Functions', descriptions.functions],
|
|
46
|
+
property: 'functions'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
names: ['Modules', descriptions.modules],
|
|
50
|
+
property: 'modules'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
names: ['Remotes', descriptions.remotes],
|
|
54
|
+
property: 'remotes'
|
|
55
|
+
}
|
|
56
|
+
];
|
|
57
|
+
const allOrNot = await this.ui.promptForList(options.banner, [options.choices.all, options.choices.manual]);
|
|
58
|
+
if (allOrNot === options.choices.manual) {
|
|
59
|
+
const choices = await this.ui.promptForTable(banner, info, headers, propsOptions);
|
|
60
|
+
return choices.map((index) => propsOptions[index].property);
|
|
61
|
+
}
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
displayVersionDetailsBanner(appVersion, envKey, envType) {
|
|
65
|
+
this.ui.emptyLine();
|
|
66
|
+
this.ui.info(cli_shared_1.Text.version.check.details.banner(envKey, envType, appVersion));
|
|
67
|
+
this.ui.emptyLine();
|
|
68
|
+
}
|
|
69
|
+
displayDetailsAsTable(details) {
|
|
70
|
+
const tableData = [
|
|
71
|
+
{
|
|
72
|
+
entry: 'deployment date',
|
|
73
|
+
detailsFn: cli_shared_1.Text.version.check.details.deploymentDate,
|
|
74
|
+
property: 'deploymentDateTime'
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
entry: 'functions',
|
|
78
|
+
detailsFn: cli_shared_1.Text.version.check.details.functions,
|
|
79
|
+
property: 'functions'
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
entry: 'modules',
|
|
83
|
+
detailsFn: cli_shared_1.Text.version.check.details.modules,
|
|
84
|
+
property: 'modules'
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
entry: 'license',
|
|
88
|
+
detailsFn: cli_shared_1.Text.version.check.details.license,
|
|
89
|
+
property: 'requiresLicense'
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
entry: 'scopes',
|
|
93
|
+
detailsFn: cli_shared_1.Text.version.check.details.scopes,
|
|
94
|
+
property: 'scopes'
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
entry: 'egress',
|
|
98
|
+
detailsFn: cli_shared_1.Text.version.check.details.egress,
|
|
99
|
+
property: 'egresses'
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
entry: 'policies',
|
|
103
|
+
detailsFn: cli_shared_1.Text.version.check.details.securityPolicies,
|
|
104
|
+
property: 'policies'
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
entry: 'connect keys',
|
|
108
|
+
detailsFn: cli_shared_1.Text.version.check.details.connectKeys,
|
|
109
|
+
property: 'connectKeys'
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
entry: 'remotes',
|
|
113
|
+
detailsFn: cli_shared_1.Text.version.check.details.remotes,
|
|
114
|
+
property: 'remotes'
|
|
115
|
+
}
|
|
116
|
+
];
|
|
117
|
+
const filteredData = [...tableData]
|
|
118
|
+
.sort((a, b) => a.entry.localeCompare(b.entry))
|
|
119
|
+
.filter(({ property }) => details[property] !== undefined)
|
|
120
|
+
.map(({ entry, detailsFn, property }) => ({
|
|
121
|
+
entry,
|
|
122
|
+
details: detailsFn(details[property]),
|
|
123
|
+
property
|
|
124
|
+
}));
|
|
125
|
+
this.ui.table([
|
|
126
|
+
['entry', 'Property'],
|
|
127
|
+
['details', 'Details']
|
|
128
|
+
], filteredData);
|
|
129
|
+
}
|
|
130
|
+
displayDataInJson(data) {
|
|
131
|
+
this.ui.info(JSON.stringify(data, null, 2));
|
|
132
|
+
}
|
|
133
|
+
displayDiffBanner(version1, version2, envKey, envType) {
|
|
134
|
+
this.ui.emptyLine();
|
|
135
|
+
this.ui.info(cli_shared_1.Text.version.diff.details.banner(envKey, envType, version1, version2));
|
|
136
|
+
this.ui.emptyLine();
|
|
137
|
+
}
|
|
138
|
+
displayDiffAsTable(versions, input) {
|
|
139
|
+
this.ui.table([
|
|
140
|
+
['entry', 'Property'],
|
|
141
|
+
['v1', `Version 1 [${versions.v1}]`],
|
|
142
|
+
['v2', `Version 2 [${versions.v2}]`]
|
|
143
|
+
], input
|
|
144
|
+
.filter(({ diff }) => diff.filter((change) => change.added || change.removed).length > 0)
|
|
145
|
+
.map(({ key, diff }) => ({
|
|
146
|
+
entry: key,
|
|
147
|
+
v1: diff
|
|
148
|
+
.filter((change) => !change.added)
|
|
149
|
+
.map((change) => {
|
|
150
|
+
if (!change.removed) {
|
|
151
|
+
return chalk_1.default.gray(change.value);
|
|
152
|
+
}
|
|
153
|
+
return change.value;
|
|
154
|
+
})
|
|
155
|
+
.join(''),
|
|
156
|
+
v2: diff
|
|
157
|
+
.filter((change) => !change.removed)
|
|
158
|
+
.map((change) => {
|
|
159
|
+
if (!change.added) {
|
|
160
|
+
return chalk_1.default.gray(change.value);
|
|
161
|
+
}
|
|
162
|
+
return change.value;
|
|
163
|
+
})
|
|
164
|
+
.join('')
|
|
165
|
+
}))
|
|
166
|
+
.sort((a, b) => a.entry.localeCompare(b.entry)));
|
|
167
|
+
}
|
|
168
|
+
displayListBanner(versions, envKey, envType) {
|
|
169
|
+
this.ui.emptyLine();
|
|
170
|
+
this.ui.info(cli_shared_1.Text.version.list.details.banner(envKey, envType, versions));
|
|
171
|
+
this.ui.emptyLine();
|
|
172
|
+
}
|
|
173
|
+
displayWriteToFile(outFile) {
|
|
174
|
+
this.ui.info(cli_shared_1.Text.version.check.details.writeToFile(outFile));
|
|
175
|
+
}
|
|
176
|
+
displayVersionList(data) {
|
|
177
|
+
this.ui.table([
|
|
178
|
+
['version', 'Major Versions'],
|
|
179
|
+
['deploymentDate', 'Deployment Date'],
|
|
180
|
+
['egresses', 'Egress'],
|
|
181
|
+
['policies', 'Policies'],
|
|
182
|
+
['scopes', 'Scopes'],
|
|
183
|
+
['connectKeys', 'Connect keys'],
|
|
184
|
+
['functions', 'Functions'],
|
|
185
|
+
['remotes', 'Remotes'],
|
|
186
|
+
['modules', 'Modules'],
|
|
187
|
+
['requiresLicense', 'License']
|
|
188
|
+
], data.map(({ version, egresses, modules, policies, deploymentDateTime, ...rest }) => ({
|
|
189
|
+
...rest,
|
|
190
|
+
version: version.toString(),
|
|
191
|
+
deploymentDate: cli_shared_1.Text.version.list.details.deploymentDate(deploymentDateTime),
|
|
192
|
+
egresses: cli_shared_1.Text.version.list.details.egresses(egresses),
|
|
193
|
+
policies: cli_shared_1.Text.version.list.details.policies(policies),
|
|
194
|
+
modules: cli_shared_1.Text.version.list.details.modules(modules)
|
|
195
|
+
})));
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
exports.VersionView = VersionView;
|
|
@@ -13,6 +13,7 @@ export declare class GraphqlClient implements CreateEnvironmentClient, ListEnvir
|
|
|
13
13
|
type: AppEnvironmentType;
|
|
14
14
|
key: string;
|
|
15
15
|
lastDeployedAt: string;
|
|
16
|
+
primaryProduct: import("@forge/cli-shared").EcosystemPrimaryProduct | undefined;
|
|
16
17
|
}[]>;
|
|
17
18
|
deleteEnvironments(details: BatchDeleteEnvironmentDetails): Promise<DeleteEnvironmentOutput[]>;
|
|
18
19
|
deleteEnvironment(details: DeleteEnvironmentDetails): Promise<true>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/environment/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAIlB,aAAa,EAIb,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,aAAc,YAAW,uBAAuB,EAAE,qBAAqB,EAAE,uBAAuB;IAC/F,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,iBAAiB,CAAC,OAAO,EAAE,qBAAqB;IAgDhD,eAAe,CAAC,OAAO,EAAE,sBAAsB
|
|
1
|
+
{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/environment/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAIlB,aAAa,EAIb,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,aAAc,YAAW,uBAAuB,EAAE,qBAAqB,EAAE,uBAAuB;IAC/F,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,iBAAiB,CAAC,OAAO,EAAE,qBAAqB;IAgDhD,eAAe,CAAC,OAAO,EAAE,sBAAsB;;;;;;IAqC/C,kBAAkB,CAAC,OAAO,EAAE,6BAA6B;IAkBzD,iBAAiB,CAAC,OAAO,EAAE,wBAAwB;CAuDjE"}
|
|
@@ -59,6 +59,7 @@ class GraphqlClient {
|
|
|
59
59
|
versions(first: 1) {
|
|
60
60
|
nodes {
|
|
61
61
|
updatedAt
|
|
62
|
+
primaryProduct
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
}
|
|
@@ -75,7 +76,8 @@ class GraphqlClient {
|
|
|
75
76
|
return {
|
|
76
77
|
type: environment.type,
|
|
77
78
|
key: environment.key,
|
|
78
|
-
lastDeployedAt: environment.versions?.nodes?.[0]?.updatedAt || environment.createdAt
|
|
79
|
+
lastDeployedAt: environment.versions?.nodes?.[0]?.updatedAt || environment.createdAt,
|
|
80
|
+
primaryProduct: environment.versions?.nodes?.[0]?.primaryProduct || undefined
|
|
79
81
|
};
|
|
80
82
|
});
|
|
81
83
|
}
|
|
@@ -4,6 +4,7 @@ export interface ListEnvironmentDetails {
|
|
|
4
4
|
}
|
|
5
5
|
export interface ListEnvironmentOutput extends Pick<AppEnvironment, 'key' | 'type'> {
|
|
6
6
|
lastDeployedAt: string;
|
|
7
|
+
primaryProduct?: string;
|
|
7
8
|
}
|
|
8
9
|
export interface ListEnvironmentClient {
|
|
9
10
|
listEnvironment(details: ListEnvironmentDetails): Promise<ListEnvironmentOutput[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-environment.d.ts","sourceRoot":"","sources":["../../src/environment/list-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,MAAM,CAAC;IACjF,cAAc,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"list-environment.d.ts","sourceRoot":"","sources":["../../src/environment/list-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,MAAM,CAAC;IACjF,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CACpF;AAED,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,MAAM,EAAE,qBAAqB,EAC7B,YAAY,EAAE,iBAAiB;IAGrC,OAAO;CAMrB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppUninstallationInput, GraphQLClient, GraphQlMutationError, Pause, BaseError, UserError } from '@forge/cli-shared';
|
|
1
|
+
import { AppEnvironmentType, AppUninstallationInput, GraphQLClient, GraphQlMutationError, Pause, BaseError, UserError } from '@forge/cli-shared';
|
|
2
2
|
import { AppInstallSiteDetails, InstallAppClient } from './install-app-site';
|
|
3
|
-
import { AppEnvironmentVersionData, Installation, ListAppInstallationsClient, UpgradeAppInstallationsClient } from '../service/installation-service';
|
|
3
|
+
import { AppEnvironmentVersionData, HasNoAppInstallationsForEnvClient, Installation, ListAppInstallationsClient, UpgradeAppInstallationsClient } from '../service/installation-service';
|
|
4
4
|
import { UninstallAppClient, UninstallAppOutput } from './uninstall-app';
|
|
5
5
|
import { SiteTranslator } from './site-translation';
|
|
6
6
|
export declare const UNINSTALLATION_EVENT_POLL_INTERVAL = 500;
|
|
@@ -44,15 +44,15 @@ export declare class MissingAppUninstallTask extends Error {
|
|
|
44
44
|
}
|
|
45
45
|
export declare class InstallationNotFoundError extends UserError {
|
|
46
46
|
}
|
|
47
|
-
export declare class InstallationsGraphqlClient implements InstallAppClient, ListAppInstallationsClient, UninstallAppClient, UpgradeAppInstallationsClient {
|
|
47
|
+
export declare class InstallationsGraphqlClient implements InstallAppClient, ListAppInstallationsClient, UninstallAppClient, UpgradeAppInstallationsClient, HasNoAppInstallationsForEnvClient {
|
|
48
48
|
private readonly graphqlClient;
|
|
49
|
-
private readonly
|
|
49
|
+
private readonly sitedProductTranslator;
|
|
50
50
|
private readonly bitbucketTranslator;
|
|
51
51
|
private readonly pause;
|
|
52
52
|
SITE_RESOURCE_TYPE: string;
|
|
53
53
|
WORKSPACE_RESOURCE_TYPE: string;
|
|
54
54
|
static buildInstallationContext(product: string, resourceId: string, resourceType: string): string;
|
|
55
|
-
constructor(graphqlClient: GraphQLClient,
|
|
55
|
+
constructor(graphqlClient: GraphQLClient, sitedProductTranslator: SiteTranslator, bitbucketTranslator: SiteTranslator, pause: Pause);
|
|
56
56
|
private buildInstallationContext;
|
|
57
57
|
private getProductTranslation;
|
|
58
58
|
installAppIntoSite({ environmentKey, site, product, appId, licenseOverride, overrides }: AppInstallSiteDetails): Promise<void>;
|
|
@@ -62,6 +62,7 @@ export declare class InstallationsGraphqlClient implements InstallAppClient, Lis
|
|
|
62
62
|
uninstallMultipleApps(apps: AppUninstallationInput[]): Promise<Partial<UninstallAppOutput>[]>;
|
|
63
63
|
listInstallations(appId: string): Promise<Installation[]>;
|
|
64
64
|
getInstallation(appId: string, installationId: string): Promise<Installation>;
|
|
65
|
+
hasNoAppInstallationsForEnv(appId: string, appEnv: AppEnvironmentType): Promise<boolean>;
|
|
65
66
|
private getAppInstallationTask;
|
|
66
67
|
private getAppInstallationTaskRetry;
|
|
67
68
|
private monitorUninstallApp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/installations/graphql-client.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/installations/graphql-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,7 +73,7 @@ class InstallationNotFoundError extends cli_shared_1.UserError {
|
|
|
73
73
|
exports.InstallationNotFoundError = InstallationNotFoundError;
|
|
74
74
|
class InstallationsGraphqlClient {
|
|
75
75
|
graphqlClient;
|
|
76
|
-
|
|
76
|
+
sitedProductTranslator;
|
|
77
77
|
bitbucketTranslator;
|
|
78
78
|
pause;
|
|
79
79
|
SITE_RESOURCE_TYPE = 'site';
|
|
@@ -86,9 +86,9 @@ class InstallationsGraphqlClient {
|
|
|
86
86
|
});
|
|
87
87
|
return ari.toString();
|
|
88
88
|
}
|
|
89
|
-
constructor(graphqlClient,
|
|
89
|
+
constructor(graphqlClient, sitedProductTranslator, bitbucketTranslator, pause) {
|
|
90
90
|
this.graphqlClient = graphqlClient;
|
|
91
|
-
this.
|
|
91
|
+
this.sitedProductTranslator = sitedProductTranslator;
|
|
92
92
|
this.bitbucketTranslator = bitbucketTranslator;
|
|
93
93
|
this.pause = pause;
|
|
94
94
|
}
|
|
@@ -100,7 +100,7 @@ class InstallationsGraphqlClient {
|
|
|
100
100
|
if (product && (0, cli_shared_1.isBitbucketProduct)(product)) {
|
|
101
101
|
return this.bitbucketTranslator;
|
|
102
102
|
}
|
|
103
|
-
return this.
|
|
103
|
+
return this.sitedProductTranslator;
|
|
104
104
|
}
|
|
105
105
|
async installAppIntoSite({ environmentKey, site, product, appId, licenseOverride, overrides }) {
|
|
106
106
|
const workspaceAri = await this.buildInstallationContext(product, site);
|
|
@@ -260,6 +260,32 @@ class InstallationsGraphqlClient {
|
|
|
260
260
|
}
|
|
261
261
|
throw new InstallationNotFoundError(cli_shared_1.Text.installationId.errors.notFound(installationId));
|
|
262
262
|
}
|
|
263
|
+
async hasNoAppInstallationsForEnv(appId, appEnv) {
|
|
264
|
+
const query = `
|
|
265
|
+
query forge_cli_hasNoAppInstallationsForEnv($filter: AppInstallationsByAppFilter!) {
|
|
266
|
+
ecosystem {
|
|
267
|
+
appInstallationsByApp(filter: $filter, first: 1) {
|
|
268
|
+
totalCount
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
`;
|
|
273
|
+
const result = (await this.graphqlClient.query(query, {
|
|
274
|
+
filter: {
|
|
275
|
+
apps: {
|
|
276
|
+
ids: [appId]
|
|
277
|
+
},
|
|
278
|
+
appEnvironments: {
|
|
279
|
+
types: [appEnv]
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}));
|
|
283
|
+
const totalCount = result?.ecosystem?.appInstallationsByApp?.totalCount ?? -1;
|
|
284
|
+
if (totalCount < 0) {
|
|
285
|
+
throw new MissingAppError();
|
|
286
|
+
}
|
|
287
|
+
return totalCount === 0;
|
|
288
|
+
}
|
|
263
289
|
async getAppInstallationTask(taskId) {
|
|
264
290
|
const query = `
|
|
265
291
|
query forge_cli_getInstallationTask($id: ID!) {
|
|
@@ -315,9 +341,11 @@ class InstallationsGraphqlClient {
|
|
|
315
341
|
}
|
|
316
342
|
async getCombinedHostnameMap(installationContexts) {
|
|
317
343
|
const bitbucketAris = this.getResourceArisForProduct(installationContexts, this.bitbucketTranslator.ariBelongsToProduct);
|
|
318
|
-
const
|
|
319
|
-
const
|
|
320
|
-
|
|
344
|
+
const cloudIdAris = this.getResourceArisForProduct(installationContexts, this.sitedProductTranslator.ariBelongsToProduct);
|
|
345
|
+
const [siteAriToHostname, bbWorkspaceAriToHostname] = await Promise.all([
|
|
346
|
+
this.sitedProductTranslator.getSitesForResourceAris(cloudIdAris),
|
|
347
|
+
this.bitbucketTranslator.getSitesForResourceAris(bitbucketAris)
|
|
348
|
+
]);
|
|
321
349
|
const combinedAriToHostname = {
|
|
322
350
|
...siteAriToHostname,
|
|
323
351
|
...bbWorkspaceAriToHostname
|
|
@@ -333,12 +361,19 @@ class InstallationsGraphqlClient {
|
|
|
333
361
|
return installationContexts.map((context, i) => {
|
|
334
362
|
const { environment, environmentType, installation } = installations[i];
|
|
335
363
|
const site = combinedAriToHostname[context.toString()];
|
|
364
|
+
const secondaryProducts = (installation.secondaryInstallationContexts ?? [])
|
|
365
|
+
.map((context) => (0, cli_shared_1.parseInstallationContext)(context))
|
|
366
|
+
.map((context) => context.resourceOwner);
|
|
336
367
|
return {
|
|
337
368
|
id: installation.id,
|
|
369
|
+
...(secondaryProducts.length > 0 ? { secondaryProducts } : {}),
|
|
338
370
|
product: context.resourceOwner,
|
|
339
371
|
environmentKey: environment,
|
|
340
372
|
environmentType,
|
|
341
373
|
context: installation.installationContext,
|
|
374
|
+
...(installation.secondaryInstallationContexts?.length
|
|
375
|
+
? { secondaryContexts: installation.secondaryInstallationContexts }
|
|
376
|
+
: {}),
|
|
342
377
|
site,
|
|
343
378
|
version: installation.appEnvironmentVersion || {
|
|
344
379
|
isLatest: false,
|
|
@@ -355,6 +390,7 @@ class InstallationsGraphqlClient {
|
|
|
355
390
|
nodes {
|
|
356
391
|
id
|
|
357
392
|
installationContext
|
|
393
|
+
secondaryInstallationContexts
|
|
358
394
|
appEnvironment {
|
|
359
395
|
key
|
|
360
396
|
type
|
|
@@ -414,6 +450,7 @@ class InstallationsGraphqlClient {
|
|
|
414
450
|
type
|
|
415
451
|
versions(first: $firstN) {
|
|
416
452
|
nodes {
|
|
453
|
+
primaryProduct
|
|
417
454
|
permissions {
|
|
418
455
|
egress {
|
|
419
456
|
addresses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation-helper.d.ts","sourceRoot":"","sources":["../../src/installations/installation-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,
|
|
1
|
+
{"version":3,"file":"installation-helper.d.ts","sourceRoot":"","sources":["../../src/installations/installation-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAiD,EAAE,EAAmB,MAAM,mBAAmB,CAAC;AAEvG,wBAAgB,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAWtE;AAED,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,EAAE,EACN,aAAa,EAAE,YAAY,EAAE,EAC7B,uBAAuB,EAAE,MAAM,EAC/B,yBAAyB,EAAE,MAAM,GAChC,OAAO,CAAC,YAAY,CAAC,CAmBvB"}
|
|
@@ -19,7 +19,7 @@ async function selectSingleInstallation(ui, installations, installationTableProm
|
|
|
19
19
|
names: [
|
|
20
20
|
(0, cli_shared_1.environmentToOption)(environmentKey),
|
|
21
21
|
site,
|
|
22
|
-
(0, cli_shared_1.
|
|
22
|
+
(0, cli_shared_1.productDisplayName)(product),
|
|
23
23
|
cli_shared_1.Text.install.booleanToScope(version.isLatest),
|
|
24
24
|
(0, semver_1.major)(version.version).toString()
|
|
25
25
|
],
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { SiteTranslator } from './site-translation';
|
|
3
3
|
import { URL } from 'url';
|
|
4
|
-
import { Ari } from '@forge/util/packages/ari';
|
|
5
|
-
import { EnrichedAri } from '@forge/cli-shared';
|
|
4
|
+
import { Ari, AnyAri } from '@forge/util/packages/ari';
|
|
6
5
|
export declare class InvalidWorkspaceError extends Error {
|
|
7
6
|
constructor(url: URL);
|
|
8
7
|
}
|
|
9
8
|
export declare const getBitbucketEndpoint: () => string;
|
|
10
9
|
export declare class BitbucketTranslator implements SiteTranslator {
|
|
11
|
-
ariBelongsToProduct(ari:
|
|
10
|
+
ariBelongsToProduct(ari: AnyAri): boolean;
|
|
12
11
|
buildInstallationContext(product: string, site: URL): Promise<Ari>;
|
|
13
|
-
getSitesForResourceAris(aris:
|
|
12
|
+
getSitesForResourceAris(aris: AnyAri[]): Promise<Record<string, string>>;
|
|
14
13
|
private getWorkspaceId;
|
|
15
14
|
getWorkspaceUrl(workspaceId: string): Promise<URL | null>;
|
|
16
15
|
private decorateWorkspaceId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitbucket.d.ts","sourceRoot":"","sources":["../../../src/installations/site-translation/bitbucket.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"bitbucket.d.ts","sourceRoot":"","sources":["../../../src/installations/site-translation/bitbucket.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,GAAG,EAAE,GAAG;CAGrB;AAOD,eAAO,MAAM,oBAAoB,QAAO,MAEvC,CAAC;AAEF,qBAAa,mBAAoB,YAAW,cAAc;IACjD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAUlE,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAcvE,cAAc;IAwBf,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAsBtE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -94,7 +94,7 @@ class BitbucketTranslator {
|
|
|
94
94
|
if (workspaceURL.hostname !== BITBUCKET_URL.hostname) {
|
|
95
95
|
throw new InvalidWorkspaceError(workspaceURL);
|
|
96
96
|
}
|
|
97
|
-
const pathnames = workspaceURL.pathname.
|
|
97
|
+
const pathnames = workspaceURL.pathname.substring(1).split('/');
|
|
98
98
|
if (!pathnames.length) {
|
|
99
99
|
throw new InvalidWorkspaceError(workspaceURL);
|
|
100
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/installations/site-translation/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/installations/site-translation/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./bitbucket"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./
|
|
5
|
+
tslib_1.__exportStar(require("./sited-products"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./site-translation"), exports);
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { URL } from 'url';
|
|
3
|
-
import { Ari } from '@forge/util/packages/ari';
|
|
4
|
-
import { EnrichedAri } from '@forge/cli-shared';
|
|
3
|
+
import { AnyAri, Ari } from '@forge/util/packages/ari';
|
|
5
4
|
export interface SiteTranslator {
|
|
6
5
|
buildInstallationContext: (product: string, site: URL) => Promise<Ari>;
|
|
7
|
-
getSitesForResourceAris: (ari:
|
|
8
|
-
ariBelongsToProduct: (ari:
|
|
6
|
+
getSitesForResourceAris: (ari: AnyAri[]) => Promise<Record<string, string>>;
|
|
7
|
+
ariBelongsToProduct: (ari: AnyAri) => boolean;
|
|
9
8
|
}
|
|
10
9
|
//# sourceMappingURL=site-translation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-translation.d.ts","sourceRoot":"","sources":["../../../src/installations/site-translation/site-translation.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"site-translation.d.ts","sourceRoot":"","sources":["../../../src/installations/site-translation/site-translation.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,wBAAwB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAEvE,uBAAuB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/C"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { SiteTranslator } from './site-translation';
|
|
3
|
+
import { URL } from 'url';
|
|
4
|
+
import { AnyAri, Ari } from '@forge/util/packages/ari';
|
|
5
|
+
import { GraphQLClient, UserError } from '@forge/cli-shared';
|
|
6
|
+
export declare const GRAPH_PRODUCT_ID_IN_TCS = "devops";
|
|
7
|
+
export declare class InvalidAtlassianSiteError extends UserError {
|
|
8
|
+
constructor(url: URL);
|
|
9
|
+
}
|
|
10
|
+
declare type CloudIdAndActivationId = {
|
|
11
|
+
cloudId: string;
|
|
12
|
+
activationId: string;
|
|
13
|
+
};
|
|
14
|
+
export declare class ActivationIdMissingError extends Error {
|
|
15
|
+
constructor(url: string, product: string);
|
|
16
|
+
}
|
|
17
|
+
export declare class SitedProductTranslator implements SiteTranslator {
|
|
18
|
+
private graphqlClient;
|
|
19
|
+
constructor(graphqlClient: GraphQLClient);
|
|
20
|
+
ariBelongsToProduct(ari: AnyAri): boolean;
|
|
21
|
+
buildInstallationContext(product: string, site: URL): Promise<Ari>;
|
|
22
|
+
getSitesForResourceAris(aris: AnyAri[]): Promise<Record<string, string>>;
|
|
23
|
+
private queryHostnamesByCloudIds;
|
|
24
|
+
private queryHostnamesByActivationIds;
|
|
25
|
+
private bulkQuerySiteHostnames;
|
|
26
|
+
getCloudIdAndActivationId(site: URL, productResourceOwner: string): Promise<CloudIdAndActivationId>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=sited-products.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sited-products.d.ts","sourceRoot":"","sources":["../../../src/installations/site-translation/sited-products.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAIL,aAAa,EAOb,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAShD,qBAAa,yBAA0B,SAAQ,SAAS;gBAC1C,GAAG,EAAE,GAAG;CAGrB;AAED,aAAK,sBAAsB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AACxE,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGzC;AAmCD,qBAAa,sBAAuB,YAAW,cAAc;IAC/C,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEzC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQnC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAQlE,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAkCrF,OAAO,CAAC,wBAAwB,CAqB9B;IAEF,OAAO,CAAC,6BAA6B,CAiBnC;YAEY,sBAAsB;IAmBvB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAqBjH"}
|