@forge/cli 13.2.0-next.6-experimental-a1600ff → 13.3.0-next.0-experimental-620648d
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 +174 -6
- package/npm-shrinkwrap.json +54 -35
- 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 +85 -1
- package/out/command-line/controller/install-controller.js.map +1 -1
- package/out/command-line/controller/module-add-controller.d.ts.map +1 -1
- package/out/command-line/controller/module-add-controller.js +2 -2
- package/out/command-line/controller/module-add-controller.js.map +1 -1
- package/out/command-line/register-app-commands.js +6 -6
- package/out/command-line/register-app-commands.js.map +1 -1
- package/out/command-line/view/module-view.d.ts +3 -0
- package/out/command-line/view/module-view.d.ts.map +1 -1
- package/out/command-line/view/module-view.js +4 -1
- package/out/command-line/view/module-view.js.map +1 -1
- package/out/deploy/package-upload-deploy.js +1 -1
- package/out/deploy/package-upload-deploy.js.map +1 -1
- package/out/deploy/packager/archiver.d.ts +10 -12
- package/out/deploy/packager/archiver.d.ts.map +1 -1
- package/out/deploy/packager/archiver.js +43 -31
- package/out/deploy/packager/archiver.js.map +1 -1
- package/out/deploy/packager/runtime-bundler.d.ts.map +1 -1
- package/out/deploy/packager/runtime-bundler.js +8 -7
- package/out/deploy/packager/runtime-bundler.js.map +1 -1
- package/out/installations/graphql-client.d.ts.map +1 -1
- package/out/installations/graphql-client.js +16 -2
- package/out/installations/graphql-client.js.map +1 -1
- package/out/installations/site-translation/sited-products.d.ts +3 -3
- package/out/installations/site-translation/sited-products.d.ts.map +1 -1
- package/out/installations/site-translation/sited-products.js.map +1 -1
- package/out/service/installation-service.d.ts +5 -1
- package/out/service/installation-service.d.ts.map +1 -1
- package/out/service/installation-service.js +9 -3
- package/out/service/installation-service.js.map +1 -1
- package/out/service/module-service.d.ts.map +1 -1
- package/out/service/module-service.js +5 -4
- package/out/service/module-service.js.map +1 -1
- package/out/service/resource-packaging-service.d.ts.map +1 -1
- package/out/service/resource-packaging-service.js +11 -8
- package/out/service/resource-packaging-service.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,31 +1,199 @@
|
|
|
1
1
|
# @forge/cli
|
|
2
2
|
|
|
3
|
-
## 13.
|
|
3
|
+
## 13.3.0-next.0-experimental-620648d
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 5c2457b: Display deeplinks to installed modules after a successful `forge install`
|
|
8
|
+
- d706cd8: Add support for manually bundling UI Kit resources and bypassing the built-in default bundler
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [d706cd8]
|
|
13
|
+
- Updated dependencies [5c2457b]
|
|
14
|
+
- Updated dependencies [ca4fa27]
|
|
15
|
+
- Updated dependencies [d706cd8]
|
|
16
|
+
- @forge/manifest@13.3.0-next.0-experimental-620648d
|
|
17
|
+
- @forge/cli-shared@9.3.0-next.0-experimental-620648d
|
|
18
|
+
- @forge/tunnel@7.1.0-next.0-experimental-620648d
|
|
19
|
+
- @forge/bundler@7.0.3-next.0-experimental-620648d
|
|
20
|
+
- @forge/lint@6.0.3-next.0-experimental-620648d
|
|
21
|
+
|
|
22
|
+
## 13.3.0-next.0
|
|
23
|
+
|
|
24
|
+
### Minor Changes
|
|
25
|
+
|
|
26
|
+
- d706cd8: Add support for manually bundling UI Kit resources and bypassing the built-in default bundler
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Updated dependencies [d706cd8]
|
|
31
|
+
- Updated dependencies [ca4fa27]
|
|
32
|
+
- Updated dependencies [d706cd8]
|
|
33
|
+
- @forge/manifest@13.3.0-next.0
|
|
34
|
+
- @forge/cli-shared@9.3.0-next.0
|
|
35
|
+
- @forge/tunnel@7.1.0-next.0
|
|
36
|
+
- @forge/bundler@7.0.3-next.0
|
|
37
|
+
- @forge/lint@6.0.3-next.0
|
|
38
|
+
|
|
39
|
+
## 13.2.0
|
|
4
40
|
|
|
5
41
|
### Minor Changes
|
|
6
42
|
|
|
7
43
|
- 238025c: Surface rate limiting on CLI, update e2e tests
|
|
44
|
+
- 756c284: Added a new UI option to allow for a filterable list and adjusted module list, add and create command to utilise this design
|
|
8
45
|
- 8826ca3: add personal apps support for Forge app creation
|
|
9
46
|
- d415c89: Surface rate limit errors in CLI, improve E2E test robustness
|
|
10
47
|
- 757223b: Added Dashboard, bitbucket, rovo, teamwork, action templates
|
|
11
48
|
|
|
12
49
|
### Patch Changes
|
|
13
50
|
|
|
51
|
+
- 77aa958: Formatting
|
|
52
|
+
- 379d225: Remove the "(EAP)" suffix from the "Customer Service Management" product label in the `forge create` wizard. The three Customer Service Management extension points (`customerServiceManagement:queuePage`, `customerServiceManagement:requestDetail`, `customerServiceManagement:crmImport`) are all GA.
|
|
53
|
+
- f408181: Reject dependencies outside application directory
|
|
14
54
|
- 903d6c1: Updated UI to show error when no installations
|
|
55
|
+
- 794aa2a: Skip warning for internal sites for personal apps
|
|
15
56
|
- 0f84939: Fixing pagination failures with `forge environments list` for apps with larger environment counts
|
|
57
|
+
- 6e5b5a4: Better interface for packaging the runtime code
|
|
58
|
+
- 5abe69e: add support for personal app installation contexts
|
|
16
59
|
- Updated dependencies [4c5ba1c]
|
|
60
|
+
- Updated dependencies [2b30ef8]
|
|
61
|
+
- Updated dependencies [756c284]
|
|
62
|
+
- Updated dependencies [f408181]
|
|
17
63
|
- Updated dependencies [903d6c1]
|
|
64
|
+
- Updated dependencies [794aa2a]
|
|
18
65
|
- Updated dependencies [8826ca3]
|
|
66
|
+
- Updated dependencies [6e5b5a4]
|
|
19
67
|
- Updated dependencies [d415c89]
|
|
20
68
|
- Updated dependencies [757223b]
|
|
69
|
+
- Updated dependencies [5abe69e]
|
|
21
70
|
- Updated dependencies [7195f29]
|
|
22
71
|
- Updated dependencies [3252a62]
|
|
72
|
+
- Updated dependencies [119be75]
|
|
73
|
+
- Updated dependencies [c67b720]
|
|
23
74
|
- Updated dependencies [3991f92]
|
|
24
|
-
- @forge/manifest@13.
|
|
25
|
-
- @forge/cli-shared@9.2.0
|
|
26
|
-
- @forge/bundler@7.0.2
|
|
27
|
-
- @forge/lint@6.0.2
|
|
28
|
-
- @forge/tunnel@7.0.2
|
|
75
|
+
- @forge/manifest@13.2.0
|
|
76
|
+
- @forge/cli-shared@9.2.0
|
|
77
|
+
- @forge/bundler@7.0.2
|
|
78
|
+
- @forge/lint@6.0.2
|
|
79
|
+
- @forge/tunnel@7.0.2
|
|
80
|
+
|
|
81
|
+
## 13.2.0-next.17
|
|
82
|
+
|
|
83
|
+
### Patch Changes
|
|
84
|
+
|
|
85
|
+
- 794aa2a: Skip warning for internal sites for personal apps
|
|
86
|
+
- Updated dependencies [794aa2a]
|
|
87
|
+
- @forge/cli-shared@9.2.0-next.13
|
|
88
|
+
- @forge/bundler@7.0.2-next.14
|
|
89
|
+
- @forge/lint@6.0.2-next.14
|
|
90
|
+
- @forge/tunnel@7.0.2-next.14
|
|
91
|
+
|
|
92
|
+
## 13.2.0-next.16
|
|
93
|
+
|
|
94
|
+
### Patch Changes
|
|
95
|
+
|
|
96
|
+
- Updated dependencies [119be75]
|
|
97
|
+
- @forge/manifest@13.2.0-next.6
|
|
98
|
+
- @forge/bundler@7.0.2-next.13
|
|
99
|
+
- @forge/cli-shared@9.2.0-next.12
|
|
100
|
+
- @forge/lint@6.0.2-next.13
|
|
101
|
+
- @forge/tunnel@7.0.2-next.13
|
|
102
|
+
|
|
103
|
+
## 13.2.0-next.15
|
|
104
|
+
|
|
105
|
+
### Minor Changes
|
|
106
|
+
|
|
107
|
+
- 756c284: Added a new UI option to allow for a filterable list and adjusted module list, add and create command to utilise this design
|
|
108
|
+
|
|
109
|
+
### Patch Changes
|
|
110
|
+
|
|
111
|
+
- Updated dependencies [756c284]
|
|
112
|
+
- @forge/cli-shared@9.2.0-next.11
|
|
113
|
+
- @forge/bundler@7.0.2-next.12
|
|
114
|
+
- @forge/lint@6.0.2-next.12
|
|
115
|
+
- @forge/tunnel@7.0.2-next.12
|
|
116
|
+
|
|
117
|
+
## 13.2.0-next.14
|
|
118
|
+
|
|
119
|
+
### Patch Changes
|
|
120
|
+
|
|
121
|
+
- f408181: Reject dependencies outside application directory
|
|
122
|
+
- Updated dependencies [f408181]
|
|
123
|
+
- @forge/bundler@7.0.2-next.11
|
|
124
|
+
- @forge/cli-shared@9.2.0-next.10
|
|
125
|
+
- @forge/tunnel@7.0.2-next.11
|
|
126
|
+
- @forge/lint@6.0.2-next.11
|
|
127
|
+
|
|
128
|
+
## 13.2.0-next.13
|
|
129
|
+
|
|
130
|
+
### Patch Changes
|
|
131
|
+
|
|
132
|
+
- Updated dependencies [2b30ef8]
|
|
133
|
+
- @forge/manifest@13.2.0-next.5
|
|
134
|
+
- @forge/bundler@7.0.2-next.10
|
|
135
|
+
- @forge/cli-shared@9.2.0-next.9
|
|
136
|
+
- @forge/lint@6.0.2-next.10
|
|
137
|
+
- @forge/tunnel@7.0.2-next.10
|
|
138
|
+
|
|
139
|
+
## 13.2.0-next.12
|
|
140
|
+
|
|
141
|
+
### Patch Changes
|
|
142
|
+
|
|
143
|
+
- 5abe69e: add support for personal app installation contexts
|
|
144
|
+
- Updated dependencies [5abe69e]
|
|
145
|
+
- @forge/cli-shared@9.2.0-next.8
|
|
146
|
+
- @forge/manifest@13.2.0-next.4
|
|
147
|
+
- @forge/bundler@7.0.2-next.9
|
|
148
|
+
- @forge/lint@6.0.2-next.9
|
|
149
|
+
- @forge/tunnel@7.0.2-next.9
|
|
150
|
+
|
|
151
|
+
## 13.2.0-next.11
|
|
152
|
+
|
|
153
|
+
### Minor Changes
|
|
154
|
+
|
|
155
|
+
- 8826ca3: add personal apps support for Forge app creation
|
|
156
|
+
|
|
157
|
+
### Patch Changes
|
|
158
|
+
|
|
159
|
+
- Updated dependencies [8826ca3]
|
|
160
|
+
- Updated dependencies [c67b720]
|
|
161
|
+
- @forge/cli-shared@9.2.0-next.7
|
|
162
|
+
- @forge/manifest@13.2.0-next.3
|
|
163
|
+
- @forge/bundler@7.0.2-next.8
|
|
164
|
+
- @forge/lint@6.0.2-next.8
|
|
165
|
+
- @forge/tunnel@7.0.2-next.8
|
|
166
|
+
|
|
167
|
+
## 13.2.0-next.10
|
|
168
|
+
|
|
169
|
+
### Patch Changes
|
|
170
|
+
|
|
171
|
+
- 77aa958: Formatting
|
|
172
|
+
|
|
173
|
+
## 13.2.0-next.9
|
|
174
|
+
|
|
175
|
+
### Patch Changes
|
|
176
|
+
|
|
177
|
+
- @forge/lint@6.0.2-next.7
|
|
178
|
+
- @forge/tunnel@7.0.2-next.7
|
|
179
|
+
- @forge/bundler@7.0.2-next.7
|
|
180
|
+
|
|
181
|
+
## 13.2.0-next.8
|
|
182
|
+
|
|
183
|
+
### Patch Changes
|
|
184
|
+
|
|
185
|
+
- 6e5b5a4: Better interface for packaging the runtime code
|
|
186
|
+
- Updated dependencies [6e5b5a4]
|
|
187
|
+
- @forge/cli-shared@9.2.0-next.6
|
|
188
|
+
- @forge/bundler@7.0.2-next.6
|
|
189
|
+
- @forge/lint@6.0.2-next.6
|
|
190
|
+
- @forge/tunnel@7.0.2-next.6
|
|
191
|
+
|
|
192
|
+
## 13.2.0-next.7
|
|
193
|
+
|
|
194
|
+
### Patch Changes
|
|
195
|
+
|
|
196
|
+
- 379d225: Remove the "(EAP)" suffix from the "Customer Service Management" product label in the `forge create` wizard. The three Customer Service Management extension points (`customerServiceManagement:queuePage`, `customerServiceManagement:requestDetail`, `customerServiceManagement:crmImport`) are all GA.
|
|
29
197
|
|
|
30
198
|
## 13.2.0-next.6
|
|
31
199
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.3.0-next.0-experimental-620648d",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@forge/cli",
|
|
9
|
-
"version": "13.
|
|
9
|
+
"version": "13.3.0-next.0-experimental-620648d",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@forge/bundler": "7.0.
|
|
14
|
-
"@forge/cli-shared": "9.
|
|
13
|
+
"@forge/bundler": "7.0.3-next.0-experimental-620648d",
|
|
14
|
+
"@forge/cli-shared": "9.3.0-next.0-experimental-620648d",
|
|
15
15
|
"@forge/egress": "3.0.0",
|
|
16
16
|
"@forge/i18n": "1.0.0",
|
|
17
|
-
"@forge/lint": "6.0.
|
|
18
|
-
"@forge/manifest": "13.
|
|
17
|
+
"@forge/lint": "6.0.3-next.0-experimental-620648d",
|
|
18
|
+
"@forge/manifest": "13.3.0-next.0-experimental-620648d",
|
|
19
19
|
"@forge/runtime": "7.0.0",
|
|
20
|
-
"@forge/tunnel": "7.0
|
|
20
|
+
"@forge/tunnel": "7.1.0-next.0-experimental-620648d",
|
|
21
21
|
"@forge/util": "3.0.0",
|
|
22
22
|
"@sentry/node": "7.106.0",
|
|
23
23
|
"ajv": "^8.18.0",
|
|
@@ -555,9 +555,9 @@
|
|
|
555
555
|
}
|
|
556
556
|
},
|
|
557
557
|
"node_modules/@forge/bundler": {
|
|
558
|
-
"version": "7.0.
|
|
559
|
-
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-7.0.
|
|
560
|
-
"integrity": "sha512-
|
|
558
|
+
"version": "7.0.3-next.0-experimental-620648d",
|
|
559
|
+
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-7.0.3-next.0-experimental-620648d.tgz",
|
|
560
|
+
"integrity": "sha512-c5NKo3B0H9cYij2mGZBiJDSGrRykdieMzyeXc86eogAg94d9MjoENUktsGrhV3NcL/kA6ax6pVeiSENLKKQRGQ==",
|
|
561
561
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
562
562
|
"dependencies": {
|
|
563
563
|
"@babel/core": "^7.24.0",
|
|
@@ -569,10 +569,10 @@
|
|
|
569
569
|
"@babel/plugin-transform-react-jsx": "^7.23.4",
|
|
570
570
|
"@babel/traverse": "^7.24.0",
|
|
571
571
|
"@babel/types": "^7.24.0",
|
|
572
|
-
"@forge/cli-shared": "9.
|
|
572
|
+
"@forge/cli-shared": "9.3.0-next.0-experimental-620648d",
|
|
573
573
|
"@forge/i18n": "1.0.0",
|
|
574
|
-
"@forge/lint": "6.0.
|
|
575
|
-
"@forge/manifest": "13.
|
|
574
|
+
"@forge/lint": "6.0.3-next.0-experimental-620648d",
|
|
575
|
+
"@forge/manifest": "13.3.0-next.0-experimental-620648d",
|
|
576
576
|
"babel-loader": "^8.3.0",
|
|
577
577
|
"cheerio": "^1.2.0",
|
|
578
578
|
"cross-spawn": "^7.0.6",
|
|
@@ -600,13 +600,13 @@
|
|
|
600
600
|
}
|
|
601
601
|
},
|
|
602
602
|
"node_modules/@forge/cli-shared": {
|
|
603
|
-
"version": "9.
|
|
604
|
-
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-9.
|
|
605
|
-
"integrity": "sha512-
|
|
603
|
+
"version": "9.3.0-next.0-experimental-620648d",
|
|
604
|
+
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-9.3.0-next.0-experimental-620648d.tgz",
|
|
605
|
+
"integrity": "sha512-ZYXeDnSU4HqF3LQH7jlIsMU32ft2x02vkY/T5zq1u9SmxOL40FnxbYLNGOGXDKxCsrqX3QzpT/SLf+Rjr049Pg==",
|
|
606
606
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
607
607
|
"dependencies": {
|
|
608
608
|
"@forge/i18n": "1.0.0",
|
|
609
|
-
"@forge/manifest": "13.
|
|
609
|
+
"@forge/manifest": "13.3.0-next.0-experimental-620648d",
|
|
610
610
|
"@forge/util": "3.0.0",
|
|
611
611
|
"@sentry/node": "7.106.0",
|
|
612
612
|
"@vercel/detect-agent": "^1.2.3",
|
|
@@ -628,6 +628,7 @@
|
|
|
628
628
|
"graphql": "^16.8.1",
|
|
629
629
|
"graphql-request": "6.1.0",
|
|
630
630
|
"inquirer": "^8.2.6",
|
|
631
|
+
"inquirer-autocomplete-prompt": "^2.0.1",
|
|
631
632
|
"io-ts": "^2.2.22",
|
|
632
633
|
"keytar": "^7.9.0",
|
|
633
634
|
"node-fetch": "2.7.0",
|
|
@@ -650,9 +651,9 @@
|
|
|
650
651
|
}
|
|
651
652
|
},
|
|
652
653
|
"node_modules/@forge/csp": {
|
|
653
|
-
"version": "6.
|
|
654
|
-
"resolved": "https://registry.npmjs.org/@forge/csp/-/csp-6.
|
|
655
|
-
"integrity": "sha512-
|
|
654
|
+
"version": "6.2.0-experimental-620648d",
|
|
655
|
+
"resolved": "https://registry.npmjs.org/@forge/csp/-/csp-6.2.0-experimental-620648d.tgz",
|
|
656
|
+
"integrity": "sha512-Tskp4L/rWHENe3RRmuLLXZ1p808OB/HS07bAPGd/vqJvY8QcMM5Bb+H4JWT/Dyho43Z85Xtp5FwqAwkPDVVruw==",
|
|
656
657
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
657
658
|
"dependencies": {
|
|
658
659
|
"content-security-policy-parser": "^0.6.0"
|
|
@@ -702,16 +703,16 @@
|
|
|
702
703
|
}
|
|
703
704
|
},
|
|
704
705
|
"node_modules/@forge/lint": {
|
|
705
|
-
"version": "6.0.
|
|
706
|
-
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-6.0.
|
|
707
|
-
"integrity": "sha512-
|
|
706
|
+
"version": "6.0.3-next.0-experimental-620648d",
|
|
707
|
+
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-6.0.3-next.0-experimental-620648d.tgz",
|
|
708
|
+
"integrity": "sha512-SNVpgdB6Y+703Wr/lgMDGGLJBsYjjp2wVtNS+fRCp3LenyUchbb/+JA86N7TNhwdQggyq+9sOB0ejAt4wEzGuQ==",
|
|
708
709
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
709
710
|
"dependencies": {
|
|
710
711
|
"@atlassian/atlassian-openapi": "^1.0.6",
|
|
711
|
-
"@forge/cli-shared": "9.
|
|
712
|
-
"@forge/csp": "6.
|
|
712
|
+
"@forge/cli-shared": "9.3.0-next.0-experimental-620648d",
|
|
713
|
+
"@forge/csp": "6.2.0-experimental-620648d",
|
|
713
714
|
"@forge/egress": "3.0.0",
|
|
714
|
-
"@forge/manifest": "13.
|
|
715
|
+
"@forge/manifest": "13.3.0-next.0-experimental-620648d",
|
|
715
716
|
"@typescript-eslint/typescript-estree": "^5.62.0",
|
|
716
717
|
"array.prototype.flatmap": "^1.3.3",
|
|
717
718
|
"cross-spawn": "^7.0.6",
|
|
@@ -728,9 +729,9 @@
|
|
|
728
729
|
}
|
|
729
730
|
},
|
|
730
731
|
"node_modules/@forge/manifest": {
|
|
731
|
-
"version": "13.
|
|
732
|
-
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-13.
|
|
733
|
-
"integrity": "sha512-
|
|
732
|
+
"version": "13.3.0-next.0-experimental-620648d",
|
|
733
|
+
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-13.3.0-next.0-experimental-620648d.tgz",
|
|
734
|
+
"integrity": "sha512-vUJRVXP9NuQTV532up1UpTxP5gcTdLQNmnCZ/t3WhaDngUSFnpQaR5/QQNr+rbmMZJUx0/QAY6cd71LGEbbylg==",
|
|
734
735
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
735
736
|
"dependencies": {
|
|
736
737
|
"@forge/i18n": "1.0.0",
|
|
@@ -767,14 +768,14 @@
|
|
|
767
768
|
}
|
|
768
769
|
},
|
|
769
770
|
"node_modules/@forge/tunnel": {
|
|
770
|
-
"version": "7.0
|
|
771
|
-
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-7.0
|
|
772
|
-
"integrity": "sha512-
|
|
771
|
+
"version": "7.1.0-next.0-experimental-620648d",
|
|
772
|
+
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-7.1.0-next.0-experimental-620648d.tgz",
|
|
773
|
+
"integrity": "sha512-q4W7LwUa5oLqLqD3LB1wslee/VAi2SWLLAlRdIyl7VNdYmhgEAovFWMNcDaQGUyTES6f7aScfQZ3cS4nV+vYTw==",
|
|
773
774
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
774
775
|
"dependencies": {
|
|
775
|
-
"@forge/bundler": "7.0.
|
|
776
|
-
"@forge/cli-shared": "9.
|
|
777
|
-
"@forge/csp": "6.
|
|
776
|
+
"@forge/bundler": "7.0.3-next.0-experimental-620648d",
|
|
777
|
+
"@forge/cli-shared": "9.3.0-next.0-experimental-620648d",
|
|
778
|
+
"@forge/csp": "6.2.0-experimental-620648d",
|
|
778
779
|
"@forge/runtime": "7.0.0",
|
|
779
780
|
"@forge/util": "^3.0.0",
|
|
780
781
|
"cheerio": "^1.2.0",
|
|
@@ -5442,6 +5443,24 @@
|
|
|
5442
5443
|
"node": ">=12.0.0"
|
|
5443
5444
|
}
|
|
5444
5445
|
},
|
|
5446
|
+
"node_modules/inquirer-autocomplete-prompt": {
|
|
5447
|
+
"version": "2.0.1",
|
|
5448
|
+
"resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-2.0.1.tgz",
|
|
5449
|
+
"integrity": "sha1-coaKraTZ02gUpgVMvR7OzGOqsMY= sha512-jUHrH0btO7j5r8DTQgANf2CBkTZChoVySD8zF/wp5fZCOLIuUbleXhf4ZY5jNBOc1owA3gdfWtfZuppfYBhcUg==",
|
|
5450
|
+
"dependencies": {
|
|
5451
|
+
"ansi-escapes": "^4.3.2",
|
|
5452
|
+
"figures": "^3.2.0",
|
|
5453
|
+
"picocolors": "^1.0.0",
|
|
5454
|
+
"run-async": "^2.4.1",
|
|
5455
|
+
"rxjs": "^7.5.4"
|
|
5456
|
+
},
|
|
5457
|
+
"engines": {
|
|
5458
|
+
"node": ">=12"
|
|
5459
|
+
},
|
|
5460
|
+
"peerDependencies": {
|
|
5461
|
+
"inquirer": "^8.0.0"
|
|
5462
|
+
}
|
|
5463
|
+
},
|
|
5445
5464
|
"node_modules/inquirer/node_modules/wrap-ansi": {
|
|
5446
5465
|
"version": "6.2.0",
|
|
5447
5466
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AppConfigProvider, AppEnvironmentType, ConfigFile, StatsigService, SupportedProduct, SupportedProductsService, UI } from '@forge/cli-shared';
|
|
2
|
-
import { DevSpaceService } from '../../devspace';
|
|
3
2
|
import { URL } from 'url';
|
|
3
|
+
import { DevSpaceService } from '../../devspace';
|
|
4
4
|
import { InstallAppSiteCommand } from '../../installations/install-app-site';
|
|
5
5
|
import { InstallationService } from '../../service/installation-service';
|
|
6
6
|
import { InstallView } from '../view/install-view';
|
|
@@ -49,6 +49,9 @@ export declare class InstallController {
|
|
|
49
49
|
isNonProductionAppInstallationAttempt(site: URL, products: SupportedProduct[], environmentType: AppEnvironmentType): Promise<boolean>;
|
|
50
50
|
private checkProductEntitlementOffering;
|
|
51
51
|
private getAllScopeKeys;
|
|
52
|
+
private toAppResourceId;
|
|
53
|
+
private getModuleInstances;
|
|
54
|
+
private getInstallSuccessDeeplinks;
|
|
52
55
|
private extractManifestData;
|
|
53
56
|
private getXPAProductsAndSite;
|
|
54
57
|
private checkForMultiProductScopes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/install-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAElB,UAAU,EAcV,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EAExB,EAAE,
|
|
1
|
+
{"version":3,"file":"install-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/install-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -214,6 +214,7 @@ class InstallController {
|
|
|
214
214
|
const overrides = await this.validateEcosystemAppInstallationOverridesInput(licenseModes, usersWithAccess, environment);
|
|
215
215
|
let environmentPermissions;
|
|
216
216
|
let requiredProducts;
|
|
217
|
+
let appFeatures;
|
|
217
218
|
if (majorVersion) {
|
|
218
219
|
const majorVersionResult = await this.getVersionPermissionsByMajorVersion(id, environment, majorVersion);
|
|
219
220
|
if (!isUpgrade && !majorVersionResult.isLatest && majorVersionResult.version) {
|
|
@@ -223,10 +224,12 @@ class InstallController {
|
|
|
223
224
|
}
|
|
224
225
|
environmentPermissions = majorVersionResult;
|
|
225
226
|
requiredProducts = majorVersionResult.requiredProducts;
|
|
227
|
+
appFeatures = majorVersionResult.appFeatures;
|
|
226
228
|
}
|
|
227
229
|
else {
|
|
228
230
|
environmentPermissions = await this.installationService.getAppEnvironmentPermissions(id, environment);
|
|
229
231
|
requiredProducts = environmentPermissions?.requiredProducts;
|
|
232
|
+
appFeatures = environmentPermissions?.appFeatures;
|
|
230
233
|
}
|
|
231
234
|
let scopesFromLastInstallation = new Set();
|
|
232
235
|
let egressFromLastInstallation = new Set();
|
|
@@ -252,7 +255,7 @@ class InstallController {
|
|
|
252
255
|
products = result.products;
|
|
253
256
|
this.ui.info(cli_shared_1.Text.install.installConfirmation(products.join(', '), site.host));
|
|
254
257
|
}
|
|
255
|
-
if ((0, cli_shared_1.isSecureSite)(site)) {
|
|
258
|
+
if ((0, cli_shared_1.isSecureSite)(site) && !(0, cli_shared_1.isPersonalApp)(appFeatures)) {
|
|
256
259
|
await this.securityPrompt(site);
|
|
257
260
|
}
|
|
258
261
|
if (!environmentPermissions?.hasDeployments) {
|
|
@@ -262,12 +265,14 @@ class InstallController {
|
|
|
262
265
|
const { scopes: environmentScopes, egressAddresses: environmentEgressAddresses, environmentType } = environmentPermissions;
|
|
263
266
|
let manifestScopes = new Set(environmentScopes);
|
|
264
267
|
let manifestEgressAddresses = [...environmentEgressAddresses];
|
|
268
|
+
let manifestModules;
|
|
265
269
|
if (!appIdOverride) {
|
|
266
270
|
const [{ permissions, modules }, manifestEgressEntries] = await Promise.all([
|
|
267
271
|
this.configFile.readConfig(),
|
|
268
272
|
this.configFile.getEgressPermissions()
|
|
269
273
|
]);
|
|
270
274
|
this.checkForUIKit1Modules(modules);
|
|
275
|
+
manifestModules = modules;
|
|
271
276
|
({ manifestEgressAddresses, manifestScopes } = this.extractManifestData(manifestEgressEntries, permissions));
|
|
272
277
|
}
|
|
273
278
|
const differenceInScopes = environmentScopes.filter((x) => !scopesFromLastInstallation.has(x));
|
|
@@ -312,6 +317,16 @@ class InstallController {
|
|
|
312
317
|
}
|
|
313
318
|
else {
|
|
314
319
|
this.ui.info(text.success.banner(environment, environmentType, (0, cli_shared_1.productDisplayName)(successfulProducts.join(', ')), site.host));
|
|
320
|
+
const deeplinks = this.getInstallSuccessDeeplinks({
|
|
321
|
+
site,
|
|
322
|
+
appId: id,
|
|
323
|
+
environmentId: environmentPermissions.environmentId,
|
|
324
|
+
modules: manifestModules,
|
|
325
|
+
successfulProducts
|
|
326
|
+
});
|
|
327
|
+
if (deeplinks.length > 0) {
|
|
328
|
+
this.ui.info(cli_shared_1.Text.install.success.deeplinks(deeplinks));
|
|
329
|
+
}
|
|
315
330
|
}
|
|
316
331
|
}
|
|
317
332
|
else if (!isUpgrade) {
|
|
@@ -355,6 +370,75 @@ class InstallController {
|
|
|
355
370
|
getAllScopeKeys = (scopes) => {
|
|
356
371
|
return Array.isArray(scopes) ? scopes : Object.keys(scopes);
|
|
357
372
|
};
|
|
373
|
+
toAppResourceId = (appId) => {
|
|
374
|
+
const appIdParts = appId.split('/');
|
|
375
|
+
return appIdParts[appIdParts.length - 1] || appId;
|
|
376
|
+
};
|
|
377
|
+
getModuleInstances = (modules, moduleName) => {
|
|
378
|
+
const entries = modules?.[moduleName];
|
|
379
|
+
if (!Array.isArray(entries)) {
|
|
380
|
+
return [];
|
|
381
|
+
}
|
|
382
|
+
return entries.filter((entry) => typeof entry === 'object' && entry !== null);
|
|
383
|
+
};
|
|
384
|
+
getInstallSuccessDeeplinks = ({ site, appId, environmentId, modules, successfulProducts }) => {
|
|
385
|
+
if (!environmentId || !modules) {
|
|
386
|
+
return [];
|
|
387
|
+
}
|
|
388
|
+
const successfulProductsLower = new Set(successfulProducts.map((value) => value.toLowerCase()));
|
|
389
|
+
const appResourceId = this.toAppResourceId(appId);
|
|
390
|
+
const siteBase = `${site.protocol}//${site.host}`;
|
|
391
|
+
const derivedLinks = [];
|
|
392
|
+
if (successfulProductsLower.has('jira')) {
|
|
393
|
+
const [jiraGlobalPage] = this.getModuleInstances(modules, 'jira:globalPage');
|
|
394
|
+
if (jiraGlobalPage) {
|
|
395
|
+
derivedLinks.push({
|
|
396
|
+
moduleType: 'jira:globalPage',
|
|
397
|
+
moduleKey: jiraGlobalPage.key,
|
|
398
|
+
url: `${siteBase}/jira/apps/${appResourceId}/${environmentId}`
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
const [jiraAdminPage] = this.getModuleInstances(modules, 'jira:adminPage');
|
|
402
|
+
if (jiraAdminPage) {
|
|
403
|
+
derivedLinks.push({
|
|
404
|
+
moduleType: 'jira:adminPage',
|
|
405
|
+
moduleKey: jiraAdminPage.key,
|
|
406
|
+
url: `${siteBase}/jira/settings/apps/${appResourceId}/${environmentId}`
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (successfulProductsLower.has('confluence')) {
|
|
411
|
+
for (const moduleInstance of this.getModuleInstances(modules, 'confluence:globalPage')) {
|
|
412
|
+
if (!moduleInstance.key) {
|
|
413
|
+
continue;
|
|
414
|
+
}
|
|
415
|
+
const confluenceRoute = moduleInstance.route;
|
|
416
|
+
if (!confluenceRoute) {
|
|
417
|
+
continue;
|
|
418
|
+
}
|
|
419
|
+
derivedLinks.push({
|
|
420
|
+
moduleType: 'confluence:globalPage',
|
|
421
|
+
moduleKey: moduleInstance.key,
|
|
422
|
+
url: `${siteBase}/wiki/apps/${appResourceId}/${environmentId}/${encodeURIComponent(confluenceRoute)}`
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
const [globalUiModule] = this.getModuleInstances(modules, 'global:ui');
|
|
427
|
+
if (globalUiModule) {
|
|
428
|
+
derivedLinks.push({
|
|
429
|
+
moduleType: 'global:ui',
|
|
430
|
+
moduleKey: globalUiModule.key,
|
|
431
|
+
url: `${siteBase}/apps/a/${appResourceId}/e/${environmentId}`
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
if (derivedLinks.length === 1) {
|
|
435
|
+
return [{ url: derivedLinks[0].url }];
|
|
436
|
+
}
|
|
437
|
+
return derivedLinks.map((link) => ({
|
|
438
|
+
label: link.moduleKey ? `${link.moduleType} (${link.moduleKey})` : link.moduleType,
|
|
439
|
+
url: link.url
|
|
440
|
+
}));
|
|
441
|
+
};
|
|
358
442
|
extractManifestData = (manifestEgressEntries, permissions) => {
|
|
359
443
|
const manifestEgressAddresses = (0, cli_shared_1.flatMap)(manifestEgressEntries, ({ domains }) => domains ?? []);
|
|
360
444
|
const manifestScopes = new Set(this.getAllScopeKeys(permissions?.scopes ?? []));
|