@forge/cli 11.3.0-next.12 → 11.3.0-next.16-experimental-8477be1

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,5 +1,97 @@
1
1
  # @forge/cli
2
2
 
3
+ ## 11.3.0-next.16-experimental-8477be1
4
+
5
+ ### Minor Changes
6
+
7
+ - 4b083be: Option to bundle applications using TypeScript
8
+ - d156658: Switch the `forge create` flow to select product context first
9
+
10
+ ### Patch Changes
11
+
12
+ - 7243788: Displaying all product options and fixing wording
13
+ - 2cdac63: forge install should list all scopes
14
+ - 9d231e9: switch the `forge create` cross-context flow to use the new `app.contexts` manifest format
15
+ - 0aad197: Change product wording to context
16
+ - 999a9d0: Update error messages for deployment
17
+ - 7a83fd9: Uninstall: Automatically select optional contexts when the required one is selected
18
+ - 336f74f: Support serving i18n resources while using `forge tunnel`
19
+ - 210360b: Refactor text functions for easier read and maintenance
20
+ - b4cee28: Fix uninstall message
21
+ - Updated dependencies [7243788]
22
+ - Updated dependencies [acf1edf]
23
+ - Updated dependencies [2cdac63]
24
+ - Updated dependencies [c57e34a]
25
+ - Updated dependencies [9d231e9]
26
+ - Updated dependencies [0aad197]
27
+ - Updated dependencies [999a9d0]
28
+ - Updated dependencies [4b083be]
29
+ - Updated dependencies [94e48b9]
30
+ - Updated dependencies [d156658]
31
+ - Updated dependencies [7a83fd9]
32
+ - Updated dependencies [de0bf46]
33
+ - Updated dependencies [b503084]
34
+ - Updated dependencies [336f74f]
35
+ - Updated dependencies [210360b]
36
+ - Updated dependencies [a7db2e6]
37
+ - Updated dependencies [64daaa5]
38
+ - Updated dependencies [3a703de]
39
+ - Updated dependencies [003b1ed]
40
+ - @forge/cli-shared@6.8.0-next.15-experimental-8477be1
41
+ - @forge/manifest@8.9.0-next.8-experimental-8477be1
42
+ - @forge/bundler@4.22.0-next.16-experimental-8477be1
43
+ - @forge/tunnel@5.10.1-next.16-experimental-8477be1
44
+ - @forge/i18n@0.0.5-next.0-experimental-8477be1
45
+ - @forge/lint@5.7.3-next.16-experimental-8477be1
46
+
47
+ ## 11.3.0-next.16
48
+
49
+ ### Minor Changes
50
+
51
+ - 4b083be: Option to bundle applications using TypeScript
52
+
53
+ ### Patch Changes
54
+
55
+ - Updated dependencies [4b083be]
56
+ - @forge/manifest@8.9.0-next.8
57
+ - @forge/bundler@4.22.0-next.16
58
+ - @forge/cli-shared@6.8.0-next.15
59
+ - @forge/lint@5.7.3-next.16
60
+ - @forge/tunnel@5.10.1-next.16
61
+
62
+ ## 11.3.0-next.15
63
+
64
+ ### Patch Changes
65
+
66
+ - 7a83fd9: Uninstall: Automatically select optional contexts when the required one is selected
67
+ - Updated dependencies [7a83fd9]
68
+ - @forge/cli-shared@6.8.0-next.14
69
+ - @forge/bundler@4.21.1-next.15
70
+ - @forge/lint@5.7.3-next.15
71
+ - @forge/tunnel@5.10.1-next.15
72
+
73
+ ## 11.3.0-next.14
74
+
75
+ ### Patch Changes
76
+
77
+ - Updated dependencies [c57e34a]
78
+ - @forge/cli-shared@6.8.0-next.13
79
+ - @forge/bundler@4.21.1-next.14
80
+ - @forge/lint@5.7.3-next.14
81
+ - @forge/tunnel@5.10.1-next.14
82
+
83
+ ## 11.3.0-next.13
84
+
85
+ ### Patch Changes
86
+
87
+ - 7243788: Displaying all product options and fixing wording
88
+ - Updated dependencies [7243788]
89
+ - @forge/cli-shared@6.8.0-next.12
90
+ - @forge/manifest@8.9.0-next.7
91
+ - @forge/bundler@4.21.1-next.13
92
+ - @forge/lint@5.7.3-next.13
93
+ - @forge/tunnel@5.10.1-next.13
94
+
3
95
  ## 11.3.0-next.12
4
96
 
5
97
  ### Patch Changes
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "11.3.0-next.12",
3
+ "version": "11.3.0-next.16-experimental-8477be1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@forge/cli",
9
- "version": "11.3.0-next.12",
9
+ "version": "11.3.0-next.16-experimental-8477be1",
10
10
  "hasInstallScript": true,
11
11
  "license": "SEE LICENSE IN LICENSE.txt",
12
12
  "dependencies": {
13
- "@forge/bundler": "4.21.1-next.12",
14
- "@forge/cli-shared": "6.8.0-next.11",
13
+ "@forge/bundler": "4.22.0-next.16-experimental-8477be1",
14
+ "@forge/cli-shared": "6.8.0-next.15-experimental-8477be1",
15
15
  "@forge/egress": "1.4.0",
16
- "@forge/i18n": "0.0.5-next.0",
17
- "@forge/lint": "5.7.3-next.12",
18
- "@forge/manifest": "8.9.0-next.6",
16
+ "@forge/i18n": "0.0.5-next.0-experimental-8477be1",
17
+ "@forge/lint": "5.7.3-next.16-experimental-8477be1",
18
+ "@forge/manifest": "8.9.0-next.8-experimental-8477be1",
19
19
  "@forge/runtime": "5.10.7",
20
- "@forge/tunnel": "5.10.1-next.12",
20
+ "@forge/tunnel": "5.10.1-next.16-experimental-8477be1",
21
21
  "@forge/util": "1.4.8",
22
22
  "@sentry/node": "7.106.0",
23
23
  "ajv": "^8.12.0",
@@ -834,9 +834,9 @@
834
834
  "license": "SEE LICENSE IN LICENSE.txt"
835
835
  },
836
836
  "node_modules/@forge/bundler": {
837
- "version": "4.21.1-next.12",
838
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.21.1-next.12.tgz",
839
- "integrity": "sha512-q4hs8iupV/E5GOv4d7QfcYxwRpISEkdJrFmPTZhquOrgCsnX+fBPT8nju4ypzJpBmYE26COoOxjsTQ+9rgm9YA==",
837
+ "version": "4.22.0-next.16-experimental-8477be1",
838
+ "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.22.0-next.16-experimental-8477be1.tgz",
839
+ "integrity": "sha512-1qX3DR5wtqcPw1KqDtrkKDyejpp+NIDpovuy22NgnxoHfqZYmGf2gFDETY6d6JQGV6LhP9z8q14BlMSM6b7mWg==",
840
840
  "license": "SEE LICENSE IN LICENSE.txt",
841
841
  "dependencies": {
842
842
  "@babel/core": "^7.24.0",
@@ -846,12 +846,12 @@
846
846
  "@babel/plugin-transform-optional-chaining": "^7.23.4",
847
847
  "@babel/plugin-transform-react-jsx": "^7.23.4",
848
848
  "@babel/preset-typescript": "^7.23.3",
849
- "@forge/api": "5.2.0-next.0",
849
+ "@forge/api": "5.2.0-next.0-experimental-8477be1",
850
850
  "@forge/babel-plugin-transform-ui": "1.1.21",
851
- "@forge/cli-shared": "6.8.0-next.11",
852
- "@forge/i18n": "0.0.5-next.0",
853
- "@forge/lint": "5.7.3-next.12",
854
- "@forge/manifest": "8.9.0-next.6",
851
+ "@forge/cli-shared": "6.8.0-next.15-experimental-8477be1",
852
+ "@forge/i18n": "0.0.5-next.0-experimental-8477be1",
853
+ "@forge/lint": "5.7.3-next.16-experimental-8477be1",
854
+ "@forge/manifest": "8.9.0-next.8-experimental-8477be1",
855
855
  "@forge/util": "1.4.8",
856
856
  "assert": "^2.1.0",
857
857
  "babel-loader": "^8.3.0",
@@ -860,8 +860,10 @@
860
860
  "chalk": "^4.1.2",
861
861
  "cheerio": "^0.22.0",
862
862
  "console-browserify": "^1.2.0",
863
+ "cross-spawn": "^7.0.5",
863
864
  "crypto-browserify": "^3.12.0",
864
865
  "events": "^3.3.0",
866
+ "fs-extra": "^11.2.0",
865
867
  "headers-utils": "^3.0.2",
866
868
  "html-webpack-plugin": "^5.6.0",
867
869
  "inherits": "^2.0.4",
@@ -891,14 +893,14 @@
891
893
  }
892
894
  },
893
895
  "node_modules/@forge/bundler/node_modules/@forge/api": {
894
- "version": "5.2.0-next.0",
895
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-5.2.0-next.0.tgz",
896
- "integrity": "sha512-emwVoxSCdOq+l4lTZK+3YOZnkMagiN/pZttpl3mA8y/DiU0tGLL49u5LipU1xdc/8c/jyGlyu8lrpMvkYmky/g==",
896
+ "version": "5.2.0-next.0-experimental-8477be1",
897
+ "resolved": "https://registry.npmjs.org/@forge/api/-/api-5.2.0-next.0-experimental-8477be1.tgz",
898
+ "integrity": "sha512-twTeTizd3vnfYbfgezWho3zImTRuxMKI0PBEX2oPwBX46F/05V/cU08uWqTolWQMJeh8SA4QifiySJ6ovS7m3Q==",
897
899
  "license": "SEE LICENSE IN LICENSE.txt",
898
900
  "dependencies": {
899
901
  "@forge/auth": "0.0.7",
900
902
  "@forge/egress": "1.4.0",
901
- "@forge/i18n": "0.0.5-next.0",
903
+ "@forge/i18n": "0.0.5-next.0-experimental-8477be1",
902
904
  "@forge/storage": "1.8.0",
903
905
  "@forge/util": "1.4.8",
904
906
  "headers-utils": "^3.0.2"
@@ -920,13 +922,13 @@
920
922
  "license": "SEE LICENSE IN LICENSE.txt"
921
923
  },
922
924
  "node_modules/@forge/cli-shared": {
923
- "version": "6.8.0-next.11",
924
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-6.8.0-next.11.tgz",
925
- "integrity": "sha512-AmCxVz9kNiFYTUx9/MgLHhukdDG+nzT+RRsQ49+6VYwY5Epzp+tb7EPKtqdpIk89xb8zPzZucANpgMD4rA2Sdg==",
925
+ "version": "6.8.0-next.15-experimental-8477be1",
926
+ "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-6.8.0-next.15-experimental-8477be1.tgz",
927
+ "integrity": "sha512-cWMX3dQ3tbd0pbXw4Vogh4tfTHu0/WvkBALTQRJwPTZuou/UKCpzuED5pMt/5OertFTU+IV9+84pepHzihnP/Q==",
926
928
  "license": "SEE LICENSE IN LICENSE.txt",
927
929
  "dependencies": {
928
- "@forge/i18n": "0.0.5-next.0",
929
- "@forge/manifest": "8.9.0-next.6",
930
+ "@forge/i18n": "0.0.5-next.0-experimental-8477be1",
931
+ "@forge/manifest": "8.9.0-next.8-experimental-8477be1",
930
932
  "@forge/util": "1.4.8",
931
933
  "@sentry/node": "7.106.0",
932
934
  "adm-zip": "^0.5.10",
@@ -959,9 +961,9 @@
959
961
  }
960
962
  },
961
963
  "node_modules/@forge/csp": {
962
- "version": "3.7.0-next.0",
963
- "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-3.7.0-next.0.tgz",
964
- "integrity": "sha512-C4P3HUsEY0V9wRbucaobikHP6OZlDf9lunyLjcsQqsUDUUOxyxo8sSRjSJ76S6TyciI//ivNjy7P/TkZG+gg9w==",
964
+ "version": "3.7.0-next.0-experimental-8477be1",
965
+ "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-3.7.0-next.0-experimental-8477be1.tgz",
966
+ "integrity": "sha512-JFt+QJWxUD5Y9I+gzqKprt6hpRxwo/I7iwUVVkFl4BKnpKCcdOSjZzMhy4U8qzMDDo1KHMveCkxIq3e7eTrMpw==",
965
967
  "license": "SEE LICENSE IN LICENSE.txt",
966
968
  "dependencies": {
967
969
  "cheerio": "^0.22.0",
@@ -978,24 +980,24 @@
978
980
  }
979
981
  },
980
982
  "node_modules/@forge/i18n": {
981
- "version": "0.0.5-next.0",
982
- "resolved": "https://registry.npmjs.org/@forge/i18n/-/i18n-0.0.5-next.0.tgz",
983
- "integrity": "sha512-mGTGQpnviwEUJsMgegDiyhli3SAo5nsy6azQf/gKCDFUC/VQvG+OzA4dVhfRn7vBMXZ+W/vb9XYT71+evBTSHw==",
983
+ "version": "0.0.5-next.0-experimental-8477be1",
984
+ "resolved": "https://registry.npmjs.org/@forge/i18n/-/i18n-0.0.5-next.0-experimental-8477be1.tgz",
985
+ "integrity": "sha512-O3Mijci57hYRnpW0xQPfIvOavuzHuXuBA2z5erCsgJouv6Vwn4TEDfo7j470Vi86AjCBlQP400qR2Sa86GPVkw==",
984
986
  "license": "SEE LICENSE IN LICENSE.txt",
985
987
  "dependencies": {
986
988
  "lodash": "^4.17.21"
987
989
  }
988
990
  },
989
991
  "node_modules/@forge/lint": {
990
- "version": "5.7.3-next.12",
991
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.7.3-next.12.tgz",
992
- "integrity": "sha512-Nw2AaBGEPVxsK3E6+hO9E+XDS85WkKVCJIhM8PvmcILJXram+yQ1JA1sC0IVoZsftbDyRWmpyRmeRvW6YpaoMg==",
992
+ "version": "5.7.3-next.16-experimental-8477be1",
993
+ "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.7.3-next.16-experimental-8477be1.tgz",
994
+ "integrity": "sha512-khC98sRTkjmynHcx1Or6F59fbaCqPGfFkiAm8zMs0f43wGI1Cm3w//pJgYWz4G5kSYCMDNbrDGafzbLpeiaCOQ==",
993
995
  "license": "SEE LICENSE IN LICENSE.txt",
994
996
  "dependencies": {
995
- "@forge/cli-shared": "6.8.0-next.11",
996
- "@forge/csp": "3.7.0-next.0",
997
+ "@forge/cli-shared": "6.8.0-next.15-experimental-8477be1",
998
+ "@forge/csp": "3.7.0-next.0-experimental-8477be1",
997
999
  "@forge/egress": "1.4.0",
998
- "@forge/manifest": "8.9.0-next.6",
1000
+ "@forge/manifest": "8.9.0-next.8-experimental-8477be1",
999
1001
  "@typescript-eslint/typescript-estree": "^5.62.0",
1000
1002
  "array.prototype.flatmap": "^1.3.2",
1001
1003
  "atlassian-openapi": "^1.0.18",
@@ -1004,12 +1006,12 @@
1004
1006
  }
1005
1007
  },
1006
1008
  "node_modules/@forge/manifest": {
1007
- "version": "8.9.0-next.6",
1008
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-8.9.0-next.6.tgz",
1009
- "integrity": "sha512-NAlieP1UKUDjWDhf3jlGdrZsl1m5BRMSt4xSaPt0m0R+L3WuqaH9h5zXVcwjU/HrszvePM9NKIX/HEC2Aqe4kA==",
1009
+ "version": "8.9.0-next.8-experimental-8477be1",
1010
+ "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-8.9.0-next.8-experimental-8477be1.tgz",
1011
+ "integrity": "sha512-VFbQYcTnNI30h09RBr/ssh5e334GWqclemGc2oAAso9isC0+dt/3nBxAx8YPcdhLO1eYnakFUWKGPg0/3CmVJQ==",
1010
1012
  "license": "SEE LICENSE IN LICENSE.txt",
1011
1013
  "dependencies": {
1012
- "@forge/i18n": "0.0.5-next.0",
1014
+ "@forge/i18n": "0.0.5-next.0-experimental-8477be1",
1013
1015
  "@sentry/node": "7.106.0",
1014
1016
  "ajv": "^8.12.0",
1015
1017
  "ajv-formats": "2.1.1",
@@ -1037,14 +1039,14 @@
1037
1039
  }
1038
1040
  },
1039
1041
  "node_modules/@forge/tunnel": {
1040
- "version": "5.10.1-next.12",
1041
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.10.1-next.12.tgz",
1042
- "integrity": "sha512-pInv9bO4Oro57Nf6+Q4Q1Cvxm/VaKgUVUA7WRFcb5TfYxDNSe5nUvhNkNft+CWS+W8Pj1r3BuEz8b9l4o+xeDw==",
1042
+ "version": "5.10.1-next.16-experimental-8477be1",
1043
+ "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.10.1-next.16-experimental-8477be1.tgz",
1044
+ "integrity": "sha512-iTb4PrUXXM9xMLwdpfTx0QMRBy1z+ikMgCdPTH1L0lsvWLi8+QFnNhlxYPv+NLEYX0WokEjpobR8Aa0LyB4grQ==",
1043
1045
  "license": "SEE LICENSE IN LICENSE.txt",
1044
1046
  "dependencies": {
1045
- "@forge/bundler": "4.21.1-next.12",
1046
- "@forge/cli-shared": "6.8.0-next.11",
1047
- "@forge/csp": "3.7.0-next.0",
1047
+ "@forge/bundler": "4.22.0-next.16-experimental-8477be1",
1048
+ "@forge/cli-shared": "6.8.0-next.15-experimental-8477be1",
1049
+ "@forge/csp": "3.7.0-next.0-experimental-8477be1",
1048
1050
  "@forge/runtime": "5.10.7",
1049
1051
  "chokidar": "^3.6.0",
1050
1052
  "cloudflared": "^0.7.0",
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AAUA,OAAO,iBAAiB,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AAWA,OAAO,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-app-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-app-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EAEtB,aAAa,EACb,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,oBAAY,gBAAgB;IAC1B,QAAQ,aAAa;IACrB,IAAI,0BAA0B;IAC9B,QAAQ,WAAW;IACnB,SAAS,cAAc;IACvB,OAAO,4BAA4B;CACpC;AAED,oBAAY,eAAe;IACzB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,IAAI,SAAS;IACb,aAAa,kBAAkB;CAChC;AAOD,aAAK,0BAA0B,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;AAoBlF,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAG5E,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,0BAUjC,CAAC;AAKF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQrD;AAmDD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,GAC5C,OAAO,CAQT;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW7E;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,aAAa,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,MAAM,EACZ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,2BAA2B,GACnD,OAAO,CAAC,sBAAsB,CAAC,CA+BjC;AAqKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAGlD"}
1
+ {"version":3,"file":"register-app-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-app-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EAEtB,aAAa,EACb,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,oBAAY,gBAAgB;IAC1B,QAAQ,aAAa;IACrB,IAAI,0BAA0B;IAC9B,QAAQ,WAAW;IACnB,SAAS,cAAc;IACvB,OAAO,4BAA4B;CACpC;AAED,oBAAY,eAAe;IACzB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,IAAI,SAAS;IACb,aAAa,kBAAkB;CAChC;AAOD,aAAK,0BAA0B,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;AAoBlF,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAG5E,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,0BAUjC,CAAC;AAKF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQrD;AAmDD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,GAC5C,OAAO,CAQT;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW7E;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,aAAa,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,MAAM,EACZ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,2BAA2B,GACnD,OAAO,CAAC,sBAAsB,CAAC,CA+BjC;AA0KD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAGlD"}
@@ -169,7 +169,7 @@ async function promptAndSelectTemplate(ui, createAppCommand, template, directory
169
169
  const productOptions = await createAppCommand.filterAvailableProducts(Object.values(TemplateContext), TemplateContext.TEAMWORK_GRAPH, TemplateContext.CROSS_CONTEXT);
170
170
  const productName = await ui.promptForList(cli_shared_1.Text.create.promptProduct, productOptions, {
171
171
  format: formatProduct
172
- });
172
+ }, productOptions.length);
173
173
  const filteredTemplates = (PRODUCT_OPTIONS[productName] ?? [productName])
174
174
  .map((p) => filterTemplatesByProduct(templatesWithoutCsuik, p, productOptions))
175
175
  .flat();
@@ -1 +1 @@
1
- {"version":3,"file":"register-installation-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-installation-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAqDtD,eAAO,MAAM,gCAAgC,oDAAqD,YAAY,SAiC7G,CAAC;AA2EF,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":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAqDtD,eAAO,MAAM,gCAAgC,oDAAqD,YAAY,SAiC7G,CAAC;AAoFF,eAAO,MAAM,gBAAgB,qBAAsB,YAAY,KAAG,IAejE,CAAC"}
@@ -91,7 +91,13 @@ const registerUninstallCommand = (deps) => {
91
91
  const filteredInstallations = installations.filter((install) => install.product !== 'identity' && install.product !== 'jira-servicedesk');
92
92
  const options = (0, uninstall_command_helpers_1.getMultiChoiceOptionsForUninstall)(filteredInstallations);
93
93
  const selectedSitesIndexes = await ui.promptForTable(cli_shared_1.Text.uninstall.interactive.desc, cli_shared_1.Text.uninstall.interactive.progressInfo, ['Environment', 'Site', 'Context'], options);
94
- const [firstUninstall, secondUninstall] = (0, uninstall_command_helpers_1.getInstallationsFromSelection)(options, selectedSitesIndexes, filteredInstallations);
94
+ const [firstUninstall, secondUninstall, hadAutoSelected] = (0, uninstall_command_helpers_1.getInstallationsFromSelection)(options, selectedSitesIndexes, filteredInstallations);
95
+ if (hadAutoSelected) {
96
+ const confirmation = await ui.confirm(cli_shared_1.Text.uninstall.interactive.confirmOptionalContexts(environment, (0, cli_shared_1.guessEnvironmentType)(environment)));
97
+ if (!confirmation) {
98
+ return;
99
+ }
100
+ }
95
101
  const selectedSites = new Set(firstUninstall.map(({ site }) => site).concat(secondUninstall.map(({ site }) => site)));
96
102
  const remainingApps = options
97
103
  .filter((_, index) => !selectedSitesIndexes.includes(index))
@@ -9,10 +9,11 @@ export interface Option {
9
9
  contextAri?: string;
10
10
  installationIdx: number;
11
11
  product: string;
12
+ autoSelectId?: string;
12
13
  };
13
14
  }
14
15
  export declare const getMultiChoiceOptionsForUninstall: (filteredInstallations: Installation[]) => Option[];
15
- export declare const getInstallationsFromSelection: (options: Option[], selectedSitesIndexes: number[], filteredInstallations: Installation[]) => [Installation[], Installation[]];
16
+ export declare const getInstallationsFromSelection: (options: Option[], selectedSitesIndexes: number[], filteredInstallations: Installation[]) => [Installation[], Installation[], boolean];
16
17
  export declare const performSingleUninstall: (installId: string, installationContext: string, { ui, commands: { uninstallAppCommand } }: Dependencies) => Promise<void>;
17
18
  export declare const performMultipleUninstalls: (appsToUninstallFirst: Installation[], appsToUninstallSecond: Installation[], { ui, commands: { uninstallAppCommand } }: Dependencies) => Promise<void>;
18
19
  //# sourceMappingURL=uninstall-command-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-command-helpers.d.ts","sourceRoot":"","sources":["../../src/command-line/uninstall-command-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAClH;AAMD,eAAO,MAAM,iCAAiC,0BAA2B,YAAY,EAAE,KAAG,MAAM,EA8B/F,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAC/B,MAAM,EAAE,wBACK,MAAM,EAAE,yBACP,YAAY,EAAE,KACpC,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,CAiBjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,cACtB,MAAM,uBACI,MAAM,6CACgB,YAAY,kBAuBxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,yBACd,YAAY,EAAE,yBACb,YAAY,EAAE,6CACM,YAAY,kBAsDxD,CAAC"}
1
+ {"version":3,"file":"uninstall-command-helpers.d.ts","sourceRoot":"","sources":["../../src/command-line/uninstall-command-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAMD,eAAO,MAAM,iCAAiC,0BAA2B,YAAY,EAAE,KAAG,MAAM,EA+B/F,CAAC;AAWF,eAAO,MAAM,6BAA6B,YAC/B,MAAM,EAAE,wBACK,MAAM,EAAE,yBACP,YAAY,EAAE,KACpC,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,EAAE,OAAO,CAmC1C,CAAC;AAEF,eAAO,MAAM,sBAAsB,cACtB,MAAM,uBACI,MAAM,6CACgB,YAAY,kBAuBxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,yBACd,YAAY,EAAE,yBACb,YAAY,EAAE,6CACM,YAAY,kBAsDxD,CAAC"}
@@ -19,6 +19,7 @@ const getMultiChoiceOptionsForUninstall = (filteredInstallations) => {
19
19
  extra: {
20
20
  installationIdx: idx,
21
21
  product: product,
22
+ autoSelectId: !!secondaryProducts?.length ? id : undefined,
22
23
  required: !!secondaryProducts?.length
23
24
  }
24
25
  });
@@ -48,7 +49,22 @@ const getInstallationsFromSelection = (options, selectedSitesIndexes, filteredIn
48
49
  .filter((_, idx) => selectedSitesIndexes.includes(idx))
49
50
  .filter(({ extra }) => extra?.required)
50
51
  .map(({ extra }) => filteredInstallations[extra.installationIdx]);
51
- return [firstUninstall, secondUninstall];
52
+ const installationIds = new Set([...firstUninstall, ...secondUninstall].map(({ id }) => id));
53
+ const groups = options.reduce((acc, option, idx) => {
54
+ if (!installationIds.has(option.value)) {
55
+ return acc;
56
+ }
57
+ const group = acc.get(option.value) || new Set();
58
+ group.add(idx);
59
+ acc.set(option.value, group);
60
+ return acc;
61
+ }, new Map());
62
+ const selectedSitesIndexSet = new Set(selectedSitesIndexes);
63
+ const wholeGroupSelected = Array.from(installationIds).some((id) => {
64
+ const group = groups.get(id);
65
+ return group && group.size > 1 && Array.from(group).every((idx) => selectedSitesIndexSet.has(idx));
66
+ });
67
+ return [firstUninstall, secondUninstall, wholeGroupSelected];
52
68
  };
53
69
  exports.getInstallationsFromSelection = getInstallationsFromSelection;
54
70
  const performSingleUninstall = async (installId, installationContext, { ui, commands: { uninstallAppCommand } }) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "11.3.0-next.12",
3
+ "version": "11.3.0-next.16-experimental-8477be1",
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.12",
22
- "@forge/cli-shared": "6.8.0-next.11",
21
+ "@forge/bundler": "4.22.0-next.16-experimental-8477be1",
22
+ "@forge/cli-shared": "6.8.0-next.15-experimental-8477be1",
23
23
  "@forge/egress": "1.4.0",
24
- "@forge/lint": "5.7.3-next.12",
25
- "@forge/manifest": "8.9.0-next.6",
24
+ "@forge/lint": "5.7.3-next.16-experimental-8477be1",
25
+ "@forge/manifest": "8.9.0-next.8-experimental-8477be1",
26
26
  "@forge/runtime": "5.10.7",
27
- "@forge/tunnel": "5.10.1-next.12",
27
+ "@forge/tunnel": "5.10.1-next.16-experimental-8477be1",
28
28
  "@forge/util": "1.4.8",
29
29
  "@sentry/node": "7.106.0",
30
- "@forge/i18n": "0.0.5-next.0",
30
+ "@forge/i18n": "0.0.5-next.0-experimental-8477be1",
31
31
  "ajv": "^8.12.0",
32
32
  "archiver": "^6.0.2",
33
33
  "case": "^1.6.3",