@forge/cli 10.2.1-next.1-experimental-567ca77 → 10.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.
package/CHANGELOG.md CHANGED
@@ -1,22 +1,67 @@
1
1
  # @forge/cli
2
2
 
3
- ## 10.2.1-next.1-experimental-567ca77
3
+ ## 10.3.0
4
4
 
5
5
  ### Minor Changes
6
6
 
7
- - 8ee83a7: adding templates for rovo ai modules
7
+ - 22c4801: adding templates for rovo ai modules
8
+ - 129818b: Add license argument for forge install command and update integration tests.
8
9
 
9
10
  ### Patch Changes
10
11
 
11
- - Updated dependencies [8ee83a7]
12
+ - Updated dependencies [844a726]
13
+ - Updated dependencies [22c4801]
14
+ - Updated dependencies [129818b]
15
+ - Updated dependencies [d0e37e5]
12
16
  - Updated dependencies [b55fa5a]
13
17
  - Updated dependencies [d335c40]
14
18
  - Updated dependencies [116a97f]
15
- - @forge/cli-shared@5.2.1-next.1-experimental-567ca77
16
- - @forge/manifest@7.5.1-next.1-experimental-567ca77
17
- - @forge/bundler@4.17.3-next.1-experimental-567ca77
18
- - @forge/lint@5.2.3-next.1-experimental-567ca77
19
- - @forge/tunnel@5.3.2-next.1-experimental-567ca77
19
+ - @forge/manifest@7.5.1
20
+ - @forge/cli-shared@5.3.0
21
+ - @forge/lint@5.2.3
22
+ - @forge/tunnel@5.3.2
23
+ - @forge/bundler@4.17.3
24
+
25
+ ## 10.3.0-next.4
26
+
27
+ ### Minor Changes
28
+
29
+ - 129818b: Add license argument for forge install command and update integration tests.
30
+
31
+ ### Patch Changes
32
+
33
+ - Updated dependencies [129818b]
34
+ - @forge/cli-shared@5.3.0-next.4
35
+ - @forge/bundler@4.17.3-next.4
36
+ - @forge/lint@5.2.3-next.4
37
+ - @forge/tunnel@5.3.2-next.4
38
+
39
+ ## 10.3.0-next.3
40
+
41
+ ### Patch Changes
42
+
43
+ - Updated dependencies [d0e37e5]
44
+ - @forge/manifest@7.5.1-next.3
45
+ - @forge/cli-shared@5.3.0-next.3
46
+ - @forge/lint@5.2.3-next.3
47
+ - @forge/tunnel@5.3.2-next.3
48
+ - @forge/bundler@4.17.3-next.3
49
+
50
+ ## 10.3.0-next.2
51
+
52
+ ### Minor Changes
53
+
54
+ - 22c4801: adding templates for rovo ai modules
55
+
56
+ ### Patch Changes
57
+
58
+ - Updated dependencies [844a726]
59
+ - Updated dependencies [22c4801]
60
+ - @forge/manifest@7.5.1-next.2
61
+ - @forge/cli-shared@5.3.0-next.2
62
+ - @forge/lint@5.2.3-next.2
63
+ - @forge/tunnel@5.3.2-next.2
64
+ - @forge/bundler@4.17.3-next.2
20
65
 
21
66
  ## 10.2.1-next.1
22
67
 
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "10.2.1-next.1-experimental-567ca77",
3
+ "version": "10.3.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@forge/cli",
9
- "version": "10.2.1-next.1-experimental-567ca77",
9
+ "version": "10.3.0",
10
10
  "hasInstallScript": true,
11
11
  "license": "UNLICENSED",
12
12
  "dependencies": {
13
- "@forge/bundler": "4.17.3-next.1-experimental-567ca77",
14
- "@forge/cli-shared": "5.2.1-next.1-experimental-567ca77",
13
+ "@forge/bundler": "4.17.3",
14
+ "@forge/cli-shared": "5.3.0",
15
15
  "@forge/egress": "1.2.13",
16
- "@forge/lint": "5.2.3-next.1-experimental-567ca77",
17
- "@forge/manifest": "7.5.1-next.1-experimental-567ca77",
16
+ "@forge/lint": "5.2.3",
17
+ "@forge/manifest": "7.5.1",
18
18
  "@forge/runtime": "5.9.0",
19
- "@forge/tunnel": "5.3.2-next.1-experimental-567ca77",
19
+ "@forge/tunnel": "5.3.2",
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.1-experimental-567ca77",
835
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.17.3-next.1-experimental-567ca77.tgz",
836
- "integrity": "sha512-Arjo1d0ctlDCuUYqOVCOFVJ/uneJ3PIKS985cOR8OeOs6Cme23yiVVc1gt5CdDiSXjQBX/GIV3Vt2QXHCVNSig==",
834
+ "version": "4.17.3",
835
+ "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.17.3.tgz",
836
+ "integrity": "sha512-7HDwztU8m0vLrUAsSmjcp1YfXIq5cj6NX7FoknYRFtO6YJL/KtV7SYos2vuk/RDrBgB2Fb4Ip5YRHFNV+Ix0jQ==",
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.2.1-next.1-experimental-567ca77",
848
- "@forge/lint": "5.2.3-next.1-experimental-567ca77",
847
+ "@forge/cli-shared": "5.3.0",
848
+ "@forge/lint": "5.2.3",
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.2.1-next.1-experimental-567ca77",
906
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-5.2.1-next.1-experimental-567ca77.tgz",
907
- "integrity": "sha512-JiC3ob53ZYgCQ3j2HHFiXm/L8yradVRXb+bSStkDNs5RBTke5z5r+70BYvtqcCrdS6KCeh3J0zwOgexdWJmH1w==",
905
+ "version": "5.3.0",
906
+ "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-5.3.0.tgz",
907
+ "integrity": "sha512-9gMiuKS1518eVhrRnxdTDcBDwHVqXKAsQe4aGywme3bwExnA8KnDf9zR5fiFNbzdTaO7eVmp4LMK4cAXTe7PRg==",
908
908
  "dependencies": {
909
- "@forge/manifest": "7.5.1-next.1-experimental-567ca77",
909
+ "@forge/manifest": "7.5.1",
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-experimental-567ca77",
944
- "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-3.2.2-experimental-567ca77.tgz",
945
- "integrity": "sha512-Lgz1R9p8R5CxbTumVlwKdXXcPPhSi9qm2M6IGwpxxp00CKNXBI1ZbvVlYaGhwWvJlUdp//fDldroT/iD+f7aIw==",
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.1-experimental-567ca77",
961
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.2.3-next.1-experimental-567ca77.tgz",
962
- "integrity": "sha512-QW27Av/U5se8Nc1OdLdzqpDcDYUoYZ8hzUbrtelzjR8Y9+0eiLRQGj9DxLteCQbn4kYHx38grCPbb54rXkxfjQ==",
960
+ "version": "5.2.3",
961
+ "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.2.3.tgz",
962
+ "integrity": "sha512-mryVf8e0ZKPK7Dxa0FVY0wxEY7JKVLQLTmye6c0tXCimQ0qXXq9Wh2iEx5BQ5UjJRmV5Muk+d3Ny9igDTdCUBQ==",
963
963
  "dependencies": {
964
- "@forge/cli-shared": "5.2.1-next.1-experimental-567ca77",
964
+ "@forge/cli-shared": "5.3.0",
965
965
  "@forge/egress": "1.2.13",
966
- "@forge/manifest": "7.5.1-next.1-experimental-567ca77",
966
+ "@forge/manifest": "7.5.1",
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.1-experimental-567ca77",
976
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.5.1-next.1-experimental-567ca77.tgz",
977
- "integrity": "sha512-6KKHyeY5uqA48p6zGClTYFBILlfWzIB4cEOqttBZzByTbxROiEsNDArxMRaQ3F3TajEWQ2whAXZnnU+esRqLEA==",
975
+ "version": "7.5.1",
976
+ "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.5.1.tgz",
977
+ "integrity": "sha512-eegtajapVCogfxb06znBu18fjVyDqqMyNuADwPHGmK8ugxFIrPCgqqE06b6gqaH5aXp/jVjD4Ymo2P4PISgPjQ==",
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.1-experimental-567ca77",
1007
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.3.2-next.1-experimental-567ca77.tgz",
1008
- "integrity": "sha512-q2rR1Ey7MaKy7xXzKfJW7ts1056TWMOqfwrpwpjAvOzxa8GljhG3SmgItL2Om9kh4QoeEk7uxCMpvnG1JYeSxg==",
1006
+ "version": "5.3.2",
1007
+ "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.3.2.tgz",
1008
+ "integrity": "sha512-+C05H+Ft0vs7GXSlfbjmWr2M5YK5xvT5mcKPI6OGqQL6XzalCt9PpFlbkJ/2JAPL48hGOeuj0gEOn3vz6m/TQQ==",
1009
1009
  "dependencies": {
1010
- "@forge/bundler": "4.17.3-next.1-experimental-567ca77",
1011
- "@forge/cli-shared": "5.2.1-next.1-experimental-567ca77",
1012
- "@forge/csp": "3.2.2-experimental-567ca77",
1010
+ "@forge/bundler": "4.17.3",
1011
+ "@forge/cli-shared": "5.3.0",
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",
@@ -102,6 +102,9 @@
102
102
  "--confirm-scopes": {
103
103
  "requireUserArg": false
104
104
  },
105
+ "--license": {
106
+ "requireUserArg": true
107
+ },
105
108
  "--non-interactive": {
106
109
  "requireUserArg": false
107
110
  },
@@ -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
- run({ environment, site, product, upgrade, confirmScopes, nonInteractive }: InstallViewProps): Promise<void>;
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,EAElB,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;CACxB;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;YAyChB,gBAAgB;YAMhB,aAAa;YAsBb,gBAAgB;IAqB9B,OAAO,CAAC,uCAAuC;IAalC,GAAG,CAAC,EACf,WAAW,EACX,IAAI,EACJ,OAAO,EACP,OAAO,EACP,aAAa,EACb,cAAc,EACf,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAmGrB,kBAAkB;CASjC"}
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
- async run({ environment, site, product, upgrade, confirmScopes, nonInteractive }) {
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;AAsDD,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"}
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({ environment, site: siteURL, product, upgrade, confirmScopes, nonInteractive });
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":"AAKA,OAAO,EAKL,sBAAsB,EAKtB,aAAa,EACb,oBAAoB,EAOpB,KAAK,EAGL,SAAS,EACT,SAAS,EACT,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,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;AAkBtD,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,iCAAkC,SAAQ,KAAK;;CAI3D;AAED,qBAAa,0BACX,YAAW,gBAAgB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,6BAA6B;IAgBxG,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAlBpC,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,iBAAiB,EAAE,cAAc,EACjC,mBAAmB,EAAE,cAAc,EACnC,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,iBAAiB;YAGzC,wBAAwB;IAKtC,OAAO,CAAC,qBAAqB;IAQhB,kBAAkB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,qBAAqB;IAwDlF,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,qBAAqB;YAkDlF,0BAA0B;IA6B3B,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;YAS5E,sBAAsB;YAqCtB,2BAA2B;YAY3B,mBAAmB;IAiBjC,OAAO,CAAC,yBAAyB;YAOnB,sBAAsB;YAoBtB,6BAA6B;YAoC7B,mBAAmB;IAuEpB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAyChH"}
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;AAEtD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;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,4BAA4B;CASrF"}
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.2.1-next.1-experimental-567ca77",
3
+ "version": "10.3.0",
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.1-experimental-567ca77",
22
- "@forge/cli-shared": "5.2.1-next.1-experimental-567ca77",
21
+ "@forge/bundler": "4.17.3",
22
+ "@forge/cli-shared": "5.3.0",
23
23
  "@forge/egress": "1.2.13",
24
- "@forge/lint": "5.2.3-next.1-experimental-567ca77",
25
- "@forge/manifest": "7.5.1-next.1-experimental-567ca77",
24
+ "@forge/lint": "5.2.3",
25
+ "@forge/manifest": "7.5.1",
26
26
  "@forge/runtime": "5.9.0",
27
- "@forge/tunnel": "5.3.2-next.1-experimental-567ca77",
27
+ "@forge/tunnel": "5.3.2",
28
28
  "@forge/util": "1.4.4",
29
29
  "@sentry/node": "7.100.1",
30
30
  "ajv": "^8.12.0",