@forge/cli 10.2.1-next.1-experimental-567ca77 → 10.3.0-next.4
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 +34 -11
- package/npm-shrinkwrap.json +33 -33
- package/out/autocomplete/autocomplete-config.json +3 -0
- package/out/command-line/controller/install-controller.d.ts +4 -1
- package/out/command-line/controller/install-controller.d.ts.map +1 -1
- package/out/command-line/controller/install-controller.js +24 -4
- package/out/command-line/register-installation-commands.d.ts.map +1 -1
- package/out/command-line/register-installation-commands.js +11 -2
- package/out/installations/graphql-client.d.ts +1 -1
- package/out/installations/graphql-client.d.ts.map +1 -1
- package/out/installations/graphql-client.js +3 -2
- package/out/installations/install-app-site.d.ts +3 -2
- package/out/installations/install-app-site.d.ts.map +1 -1
- package/out/installations/install-app-site.js +3 -2
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,22 +1,45 @@
|
|
|
1
1
|
# @forge/cli
|
|
2
2
|
|
|
3
|
-
## 10.
|
|
3
|
+
## 10.3.0-next.4
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- 129818b: Add license argument for forge install command and update integration tests.
|
|
8
8
|
|
|
9
9
|
### Patch Changes
|
|
10
10
|
|
|
11
|
-
- Updated dependencies [
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
- @forge/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
- Updated dependencies [129818b]
|
|
12
|
+
- @forge/cli-shared@5.3.0-next.4
|
|
13
|
+
- @forge/bundler@4.17.3-next.4
|
|
14
|
+
- @forge/lint@5.2.3-next.4
|
|
15
|
+
- @forge/tunnel@5.3.2-next.4
|
|
16
|
+
|
|
17
|
+
## 10.3.0-next.3
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [d0e37e5]
|
|
22
|
+
- @forge/manifest@7.5.1-next.3
|
|
23
|
+
- @forge/cli-shared@5.3.0-next.3
|
|
24
|
+
- @forge/lint@5.2.3-next.3
|
|
25
|
+
- @forge/tunnel@5.3.2-next.3
|
|
26
|
+
- @forge/bundler@4.17.3-next.3
|
|
27
|
+
|
|
28
|
+
## 10.3.0-next.2
|
|
29
|
+
|
|
30
|
+
### Minor Changes
|
|
31
|
+
|
|
32
|
+
- 22c4801: adding templates for rovo ai modules
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- Updated dependencies [844a726]
|
|
37
|
+
- Updated dependencies [22c4801]
|
|
38
|
+
- @forge/manifest@7.5.1-next.2
|
|
39
|
+
- @forge/cli-shared@5.3.0-next.2
|
|
40
|
+
- @forge/lint@5.2.3-next.2
|
|
41
|
+
- @forge/tunnel@5.3.2-next.2
|
|
42
|
+
- @forge/bundler@4.17.3-next.2
|
|
20
43
|
|
|
21
44
|
## 10.2.1-next.1
|
|
22
45
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.3.0-next.4",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@forge/cli",
|
|
9
|
-
"version": "10.
|
|
9
|
+
"version": "10.3.0-next.4",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "UNLICENSED",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@forge/bundler": "4.17.3-next.
|
|
14
|
-
"@forge/cli-shared": "5.
|
|
13
|
+
"@forge/bundler": "4.17.3-next.4",
|
|
14
|
+
"@forge/cli-shared": "5.3.0-next.4",
|
|
15
15
|
"@forge/egress": "1.2.13",
|
|
16
|
-
"@forge/lint": "5.2.3-next.
|
|
17
|
-
"@forge/manifest": "7.5.1-next.
|
|
16
|
+
"@forge/lint": "5.2.3-next.4",
|
|
17
|
+
"@forge/manifest": "7.5.1-next.3",
|
|
18
18
|
"@forge/runtime": "5.9.0",
|
|
19
|
-
"@forge/tunnel": "5.3.2-next.
|
|
19
|
+
"@forge/tunnel": "5.3.2-next.4",
|
|
20
20
|
"@forge/util": "1.4.4",
|
|
21
21
|
"@sentry/node": "7.100.1",
|
|
22
22
|
"ajv": "^8.12.0",
|
|
@@ -831,9 +831,9 @@
|
|
|
831
831
|
"integrity": "sha512-zG50ZRzbKyWHVb/XjI6iCIyyDNmSHdlclvehMjFZ/A3qpHExjSCjaszeY6gBDJKD2GORKKjQ3LS1UyRpiVVvkA=="
|
|
832
832
|
},
|
|
833
833
|
"node_modules/@forge/bundler": {
|
|
834
|
-
"version": "4.17.3-next.
|
|
835
|
-
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.17.3-next.
|
|
836
|
-
"integrity": "sha512-
|
|
834
|
+
"version": "4.17.3-next.4",
|
|
835
|
+
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.17.3-next.4.tgz",
|
|
836
|
+
"integrity": "sha512-Lu4DGf076QbicUV0Ks5xUjeeZvqPMHbSY+ZimWkx8f+lrClTl5XjtnwPRhwZVxirJtcajRJYEgI2cmJpeQTdOQ==",
|
|
837
837
|
"dependencies": {
|
|
838
838
|
"@babel/core": "^7.24.0",
|
|
839
839
|
"@babel/plugin-transform-class-properties": "^7.23.3",
|
|
@@ -844,8 +844,8 @@
|
|
|
844
844
|
"@babel/preset-typescript": "^7.23.3",
|
|
845
845
|
"@forge/api": "3.8.1",
|
|
846
846
|
"@forge/babel-plugin-transform-ui": "1.1.18",
|
|
847
|
-
"@forge/cli-shared": "5.
|
|
848
|
-
"@forge/lint": "5.2.3-next.
|
|
847
|
+
"@forge/cli-shared": "5.3.0-next.4",
|
|
848
|
+
"@forge/lint": "5.2.3-next.4",
|
|
849
849
|
"@forge/util": "1.4.4",
|
|
850
850
|
"assert": "^2.1.0",
|
|
851
851
|
"babel-loader": "^8.3.0",
|
|
@@ -902,11 +902,11 @@
|
|
|
902
902
|
"integrity": "sha512-n4AWXkzMA4Pv4nam+dTu7PHgDQtMwaAF2MalOWF323zGvYKS/gZJY+7efJq0DLP783iTfjvYT879EHhCrfvEXA=="
|
|
903
903
|
},
|
|
904
904
|
"node_modules/@forge/cli-shared": {
|
|
905
|
-
"version": "5.
|
|
906
|
-
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-5.
|
|
907
|
-
"integrity": "sha512-
|
|
905
|
+
"version": "5.3.0-next.4",
|
|
906
|
+
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-5.3.0-next.4.tgz",
|
|
907
|
+
"integrity": "sha512-utFk+oxHKAgQx78oEW1X95xtLI9RjuZN+9aGaIH7/2szJOtl3JDh7rj+lOA8q0fm7VShjWvKKCKzllsIez5ZHw==",
|
|
908
908
|
"dependencies": {
|
|
909
|
-
"@forge/manifest": "7.5.1-next.
|
|
909
|
+
"@forge/manifest": "7.5.1-next.3",
|
|
910
910
|
"@forge/util": "1.4.4",
|
|
911
911
|
"@sentry/node": "7.100.1",
|
|
912
912
|
"adm-zip": "^0.5.10",
|
|
@@ -940,9 +940,9 @@
|
|
|
940
940
|
}
|
|
941
941
|
},
|
|
942
942
|
"node_modules/@forge/csp": {
|
|
943
|
-
"version": "3.2.2
|
|
944
|
-
"resolved": "https://registry.npmjs.org/@forge/csp/-/csp-3.2.2
|
|
945
|
-
"integrity": "sha512-
|
|
943
|
+
"version": "3.2.2",
|
|
944
|
+
"resolved": "https://registry.npmjs.org/@forge/csp/-/csp-3.2.2.tgz",
|
|
945
|
+
"integrity": "sha512-MBgLhODKi6wYK7pOvW69msT4Xv+3o1BtNNm6NS1eBYSITMxvV7dYYsiwQy+DJ/hKjVVSjmwYogPtNKaiylzbTA==",
|
|
946
946
|
"dependencies": {
|
|
947
947
|
"cheerio": "^0.22.0",
|
|
948
948
|
"content-security-policy-parser": "^0.4.1"
|
|
@@ -957,13 +957,13 @@
|
|
|
957
957
|
}
|
|
958
958
|
},
|
|
959
959
|
"node_modules/@forge/lint": {
|
|
960
|
-
"version": "5.2.3-next.
|
|
961
|
-
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.2.3-next.
|
|
962
|
-
"integrity": "sha512-
|
|
960
|
+
"version": "5.2.3-next.4",
|
|
961
|
+
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.2.3-next.4.tgz",
|
|
962
|
+
"integrity": "sha512-vRNjTEMXGbN2ahRZtxcnKVTWRqpo41VXZ47tYab19OG1rOazclxF/Ms0u8YfzAqBiIISRqlcW+v1eJmKiv/u+w==",
|
|
963
963
|
"dependencies": {
|
|
964
|
-
"@forge/cli-shared": "5.
|
|
964
|
+
"@forge/cli-shared": "5.3.0-next.4",
|
|
965
965
|
"@forge/egress": "1.2.13",
|
|
966
|
-
"@forge/manifest": "7.5.1-next.
|
|
966
|
+
"@forge/manifest": "7.5.1-next.3",
|
|
967
967
|
"@typescript-eslint/typescript-estree": "^5.62.0",
|
|
968
968
|
"array.prototype.flatmap": "^1.3.2",
|
|
969
969
|
"atlassian-openapi": "^1.0.18",
|
|
@@ -972,9 +972,9 @@
|
|
|
972
972
|
}
|
|
973
973
|
},
|
|
974
974
|
"node_modules/@forge/manifest": {
|
|
975
|
-
"version": "7.5.1-next.
|
|
976
|
-
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.5.1-next.
|
|
977
|
-
"integrity": "sha512-
|
|
975
|
+
"version": "7.5.1-next.3",
|
|
976
|
+
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.5.1-next.3.tgz",
|
|
977
|
+
"integrity": "sha512-dDWXglrIFFqKasTKJRWapA2nGrxUdUt0Hw0abNVvVEkOgT0HORU/D7l4Cyjq2IujxWKK5gm8IKxujxXk5RZGzg==",
|
|
978
978
|
"dependencies": {
|
|
979
979
|
"@forge/util": "1.4.4",
|
|
980
980
|
"@sentry/node": "7.100.1",
|
|
@@ -1003,13 +1003,13 @@
|
|
|
1003
1003
|
}
|
|
1004
1004
|
},
|
|
1005
1005
|
"node_modules/@forge/tunnel": {
|
|
1006
|
-
"version": "5.3.2-next.
|
|
1007
|
-
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.3.2-next.
|
|
1008
|
-
"integrity": "sha512-
|
|
1006
|
+
"version": "5.3.2-next.4",
|
|
1007
|
+
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.3.2-next.4.tgz",
|
|
1008
|
+
"integrity": "sha512-C+7zLdjgLxXAdMwSbd8yAyHBJcYLchShR1URJc2PZiiATSHgSYbRjyaykCj0qOEzBi//e+g5m/tbu9uW6ULrlQ==",
|
|
1009
1009
|
"dependencies": {
|
|
1010
|
-
"@forge/bundler": "4.17.3-next.
|
|
1011
|
-
"@forge/cli-shared": "5.
|
|
1012
|
-
"@forge/csp": "3.2.2
|
|
1010
|
+
"@forge/bundler": "4.17.3-next.4",
|
|
1011
|
+
"@forge/cli-shared": "5.3.0-next.4",
|
|
1012
|
+
"@forge/csp": "3.2.2",
|
|
1013
1013
|
"@forge/runtime": "5.9.0",
|
|
1014
1014
|
"chokidar": "^3.6.0",
|
|
1015
1015
|
"cloudflared": "^0.5.2",
|
|
@@ -11,6 +11,7 @@ interface InstallViewProps {
|
|
|
11
11
|
upgrade: boolean;
|
|
12
12
|
nonInteractive?: boolean;
|
|
13
13
|
confirmScopes: boolean;
|
|
14
|
+
license?: string;
|
|
14
15
|
}
|
|
15
16
|
export declare class NoDeploymentError extends Error {
|
|
16
17
|
constructor(environment: string);
|
|
@@ -30,7 +31,9 @@ export declare class InstallController {
|
|
|
30
31
|
private promptForSite;
|
|
31
32
|
private promptForUpgrade;
|
|
32
33
|
private getUniqueInstallationProductsFromScopes;
|
|
33
|
-
|
|
34
|
+
private isValidLicense;
|
|
35
|
+
private validateLicenseOption;
|
|
36
|
+
run({ environment, site, product, upgrade, confirmScopes, license, nonInteractive }: InstallViewProps): Promise<void>;
|
|
34
37
|
private extractAddedScopes;
|
|
35
38
|
}
|
|
36
39
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/install-controller.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,iBAAiB,EAEjB,UAAU,EAEV,EAAE,EAQF,iBAAiB,
|
|
1
|
+
{"version":3,"file":"install-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/install-controller.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,iBAAiB,EAEjB,UAAU,EAEV,EAAE,EAQF,iBAAiB,EAKlB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAA6B,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAYD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,WAAW,EAAE,MAAM;CAGhC;AASD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBANZ,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,EAAE,EACN,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,iBAAiB;YAGpC,cAAc;YAmBd,gBAAgB;YA2ChB,gBAAgB;YAMhB,aAAa;YAsBb,gBAAgB;IAqB9B,OAAO,CAAC,uCAAuC;IAY/C,OAAO,CAAC,cAAc;IAGtB,OAAO,CAAC,qBAAqB;IAehB,GAAG,CAAC,EACf,WAAW,EACX,IAAI,EACJ,OAAO,EACP,OAAO,EACP,aAAa,EACb,OAAO,EACP,cAAc,EACf,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAqGrB,kBAAkB;CASjC"}
|
|
@@ -42,7 +42,7 @@ class InstallController {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
async installOrUpgrade(upgrade, environment, environmentType, site, product, appId, text) {
|
|
45
|
+
async installOrUpgrade(upgrade, environment, environmentType, site, product, appId, text, license) {
|
|
46
46
|
return this.ui.displayProgress(async () => {
|
|
47
47
|
if (upgrade) {
|
|
48
48
|
const isAlreadyUpdated = await this.installationService.upgradeInstallation(site, product, environment, appId);
|
|
@@ -52,7 +52,8 @@ class InstallController {
|
|
|
52
52
|
await this.installAppSiteCommand.execute({
|
|
53
53
|
environmentKey: environment,
|
|
54
54
|
site,
|
|
55
|
-
product
|
|
55
|
+
product,
|
|
56
|
+
licenseOverride: license
|
|
56
57
|
});
|
|
57
58
|
return false;
|
|
58
59
|
}
|
|
@@ -116,9 +117,28 @@ class InstallController {
|
|
|
116
117
|
});
|
|
117
118
|
return products.size > 0 ? Array.from(products) : undefined;
|
|
118
119
|
}
|
|
119
|
-
|
|
120
|
+
isValidLicense(value) {
|
|
121
|
+
return Object.values(cli_shared_1.LicenseOverrideState).includes(value);
|
|
122
|
+
}
|
|
123
|
+
validateLicenseOption(license, environment) {
|
|
124
|
+
if (license === undefined)
|
|
125
|
+
return undefined;
|
|
126
|
+
if (typeof license !== 'string') {
|
|
127
|
+
throw new cli_shared_1.ValidationError(cli_shared_1.Text.error.licenseOverrideErrors.empty);
|
|
128
|
+
}
|
|
129
|
+
const upperCaseLicense = license.toUpperCase();
|
|
130
|
+
if (!this.isValidLicense(upperCaseLicense)) {
|
|
131
|
+
throw new cli_shared_1.ValidationError(cli_shared_1.Text.error.licenseOverrideErrors.invalid);
|
|
132
|
+
}
|
|
133
|
+
if (environment === cli_shared_1.PRODUCTION_ENVIRONMENT_KEY) {
|
|
134
|
+
throw new cli_shared_1.UserError(cli_shared_1.Text.error.licenseOverrideErrors.prodSupport);
|
|
135
|
+
}
|
|
136
|
+
return upperCaseLicense;
|
|
137
|
+
}
|
|
138
|
+
async run({ environment, site, product, upgrade, confirmScopes, license, nonInteractive }) {
|
|
120
139
|
const { id } = await this.appConfigProvider();
|
|
121
140
|
const text = upgrade ? cli_shared_1.Text.upgrade : cli_shared_1.Text.install;
|
|
141
|
+
const validLicense = this.validateLicenseOption(license, environment);
|
|
122
142
|
if (upgrade && (!site || !product)) {
|
|
123
143
|
const upgradeResult = await this.promptForUpgrade(site, product, environment);
|
|
124
144
|
environment = upgradeResult.environment;
|
|
@@ -151,7 +171,7 @@ class InstallController {
|
|
|
151
171
|
const scopesConfirmationResult = await this.installView.promptForPermissionsConfirmation(environmentPermissions, addedScopes, [...manifestScopes], manifestEgressAddresses, environment, confirmScopes, !!nonInteractive, text);
|
|
152
172
|
if (!scopesConfirmationResult)
|
|
153
173
|
return;
|
|
154
|
-
const isAlreadyUpdated = await this.installOrUpgrade(upgrade, environment, environmentType, site, product, id, text);
|
|
174
|
+
const isAlreadyUpdated = await this.installOrUpgrade(upgrade, environment, environmentType, site, product, id, text, validLicense);
|
|
155
175
|
if (isAlreadyUpdated) {
|
|
156
176
|
this.ui.info(cli_shared_1.Text.upgrade.alreadyUpdated.banner(environment, product, site.host));
|
|
157
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-installation-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-installation-commands.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAY1B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM/D,wBAAsB,eAAe,CAAC,EACpC,IAAI,EACJ,OAAO,EACR,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAW/C;
|
|
1
|
+
{"version":3,"file":"register-installation-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-installation-commands.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAY1B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM/D,wBAAsB,eAAe,CAAC,EACpC,IAAI,EACJ,OAAO,EACR,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAW/C;AA+DD,eAAO,MAAM,sBAAsB,cACtB,MAAM,6CAC0B,YAAY,kBAuBxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,oBACnB,YAAY,EAAE,6CACY,YAAY,kBA8CxD,CAAC;AAgEF,eAAO,MAAM,gBAAgB,qBAAsB,YAAY,KAAG,IAejE,CAAC"}
|
|
@@ -26,10 +26,19 @@ const registerInstallAppCommand = ({ cmd, controllers: { installController } })
|
|
|
26
26
|
.precondition(validateContext)
|
|
27
27
|
.option('--upgrade', cli_shared_1.Text.install.optionUpgrade, false)
|
|
28
28
|
.option('--confirm-scopes', cli_shared_1.Text.install.optionConfirmScopes, false)
|
|
29
|
+
.option('-l, --license [license]', cli_shared_1.Text.install.optionLicense)
|
|
29
30
|
.nonInteractiveOption('--site', '--product', '--environment')
|
|
30
31
|
.description(cli_shared_1.Text.install.cmd.description)
|
|
31
|
-
.action(async ({ environment, siteURL, product, upgrade, confirmScopes, nonInteractive }) => {
|
|
32
|
-
await installController.run({
|
|
32
|
+
.action(async ({ environment, siteURL, product, upgrade, confirmScopes, license, nonInteractive }) => {
|
|
33
|
+
await installController.run({
|
|
34
|
+
environment,
|
|
35
|
+
site: siteURL,
|
|
36
|
+
product,
|
|
37
|
+
upgrade,
|
|
38
|
+
confirmScopes,
|
|
39
|
+
license,
|
|
40
|
+
nonInteractive
|
|
41
|
+
});
|
|
33
42
|
});
|
|
34
43
|
};
|
|
35
44
|
const LIST_COMMAND_NAME = 'list';
|
|
@@ -59,7 +59,7 @@ export declare class InstallationsGraphqlClient implements InstallAppClient, Lis
|
|
|
59
59
|
constructor(graphqlClient: GraphQLClient, cloudIdTranslator: SiteTranslator, bitbucketTranslator: SiteTranslator, pause: Pause, featureFlagReader: FeatureFlagReader);
|
|
60
60
|
private buildInstallationContext;
|
|
61
61
|
private getProductTranslation;
|
|
62
|
-
installAppIntoSite({ environmentKey, site, product, appId }: AppInstallSiteDetails): Promise<void>;
|
|
62
|
+
installAppIntoSite({ environmentKey, site, product, appId, licenseOverride }: AppInstallSiteDetails): Promise<void>;
|
|
63
63
|
upgradeInstallation({ site, product, environmentKey, appId }: AppInstallSiteDetails): Promise<void>;
|
|
64
64
|
private monitorAppInstallOrUpgrade;
|
|
65
65
|
uninstallApp(input: AppUninstallationInput): Promise<boolean>;
|
|
@@ -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":"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"}
|
|
@@ -110,7 +110,7 @@ class InstallationsGraphqlClient {
|
|
|
110
110
|
}
|
|
111
111
|
return this.cloudIdTranslator;
|
|
112
112
|
}
|
|
113
|
-
async installAppIntoSite({ environmentKey, site, product, appId }) {
|
|
113
|
+
async installAppIntoSite({ environmentKey, site, product, appId, licenseOverride }) {
|
|
114
114
|
const installationContext = await this.buildInstallationContext(product, site);
|
|
115
115
|
const query = `
|
|
116
116
|
mutation forge_cli_installApplication($input: AppInstallationInput!) {
|
|
@@ -132,7 +132,8 @@ class InstallationsGraphqlClient {
|
|
|
132
132
|
installationContext,
|
|
133
133
|
appId,
|
|
134
134
|
environmentKey,
|
|
135
|
-
async: true
|
|
135
|
+
async: true,
|
|
136
|
+
licenseOverride
|
|
136
137
|
}
|
|
137
138
|
};
|
|
138
139
|
const { response: { installApp: { success, taskId, errors } }, requestId } = await this.graphqlClient.mutate(query, variables);
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { URL } from 'url';
|
|
3
|
-
import { AppConfigProvider } from '@forge/cli-shared';
|
|
3
|
+
import { AppConfigProvider, LicenseOverrideState } from '@forge/cli-shared';
|
|
4
4
|
export interface TriggerAppSiteInstallDetails {
|
|
5
5
|
site: URL;
|
|
6
6
|
product: string;
|
|
7
7
|
environmentKey: string;
|
|
8
|
+
licenseOverride?: LicenseOverrideState;
|
|
8
9
|
}
|
|
9
10
|
export interface AppInstallSiteDetails extends TriggerAppSiteInstallDetails {
|
|
10
11
|
appId: string;
|
|
@@ -16,6 +17,6 @@ export declare class InstallAppSiteCommand {
|
|
|
16
17
|
private readonly getAppConfig;
|
|
17
18
|
private readonly installAppClient;
|
|
18
19
|
constructor(getAppConfig: AppConfigProvider, installAppClient: InstallAppClient);
|
|
19
|
-
execute({ environmentKey, site, product }: TriggerAppSiteInstallDetails): Promise<void>;
|
|
20
|
+
execute({ environmentKey, site, product, licenseOverride }: TriggerAppSiteInstallDetails): Promise<void>;
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=install-app-site.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-app-site.d.ts","sourceRoot":"","sources":["../../src/installations/install-app-site.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"install-app-site.d.ts","sourceRoot":"","sources":["../../src/installations/install-app-site.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED,MAAM,WAAW,qBAAsB,SAAQ,4BAA4B;IACzE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAED,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,YAAY,EAAE,iBAAiB,EAC/B,gBAAgB,EAAE,gBAAgB;IAGxC,OAAO,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,4BAA4B;CAUtG"}
|
|
@@ -8,13 +8,14 @@ class InstallAppSiteCommand {
|
|
|
8
8
|
this.getAppConfig = getAppConfig;
|
|
9
9
|
this.installAppClient = installAppClient;
|
|
10
10
|
}
|
|
11
|
-
async execute({ environmentKey, site, product }) {
|
|
11
|
+
async execute({ environmentKey, site, product, licenseOverride }) {
|
|
12
12
|
const { id: appId } = await this.getAppConfig();
|
|
13
13
|
return await this.installAppClient.installAppIntoSite({
|
|
14
14
|
appId,
|
|
15
15
|
environmentKey,
|
|
16
16
|
site,
|
|
17
|
-
product
|
|
17
|
+
product,
|
|
18
|
+
licenseOverride
|
|
18
19
|
});
|
|
19
20
|
}
|
|
20
21
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.3.0-next.4",
|
|
4
4
|
"description": "A command line interface for managing Atlassian-hosted apps",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,13 +18,13 @@
|
|
|
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.17.3-next.
|
|
22
|
-
"@forge/cli-shared": "5.
|
|
21
|
+
"@forge/bundler": "4.17.3-next.4",
|
|
22
|
+
"@forge/cli-shared": "5.3.0-next.4",
|
|
23
23
|
"@forge/egress": "1.2.13",
|
|
24
|
-
"@forge/lint": "5.2.3-next.
|
|
25
|
-
"@forge/manifest": "7.5.1-next.
|
|
24
|
+
"@forge/lint": "5.2.3-next.4",
|
|
25
|
+
"@forge/manifest": "7.5.1-next.3",
|
|
26
26
|
"@forge/runtime": "5.9.0",
|
|
27
|
-
"@forge/tunnel": "5.3.2-next.
|
|
27
|
+
"@forge/tunnel": "5.3.2-next.4",
|
|
28
28
|
"@forge/util": "1.4.4",
|
|
29
29
|
"@sentry/node": "7.100.1",
|
|
30
30
|
"ajv": "^8.12.0",
|