@forge/cli 10.7.1-next.12 → 10.8.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 +140 -0
- package/npm-shrinkwrap.json +39 -39
- package/out/command-line/controller/prerequisites-controller.d.ts +2 -4
- package/out/command-line/controller/prerequisites-controller.d.ts.map +1 -1
- package/out/command-line/controller/prerequisites-controller.js +2 -10
- package/out/command-line/dependency-injection.d.ts.map +1 -1
- package/out/command-line/dependency-injection.js +2 -2
- package/out/command-line/register-app-commands.d.ts +2 -2
- package/out/command-line/register-app-commands.d.ts.map +1 -1
- package/out/command-line/register-app-commands.js +62 -44
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,145 @@
|
|
|
1
1
|
# @forge/cli
|
|
2
2
|
|
|
3
|
+
## 10.8.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 3d92b59: Integration with statsig
|
|
8
|
+
- f354267: Migrating forge logs commands to use v2 logs APIs to fetch logs. Updated the functionality of the `forge logs -n <limit>` or `forge logs --limit <limit>` CLI command. Instead of showing logs from the last <limit> invocations, it will show the last <limit> log lines.
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- 5f1d994: Fix integration tests
|
|
13
|
+
- 9c5836c: cleanup ff
|
|
14
|
+
- 6b41440: Remove test feature flags
|
|
15
|
+
- Updated dependencies [63d81cf]
|
|
16
|
+
- Updated dependencies [bdca785]
|
|
17
|
+
- Updated dependencies [9c5836c]
|
|
18
|
+
- Updated dependencies [3d92b59]
|
|
19
|
+
- Updated dependencies [238e7ab]
|
|
20
|
+
- Updated dependencies [89b9453]
|
|
21
|
+
- Updated dependencies [32601f4]
|
|
22
|
+
- Updated dependencies [47f24ba]
|
|
23
|
+
- Updated dependencies [c4391fa]
|
|
24
|
+
- Updated dependencies [d500498]
|
|
25
|
+
- Updated dependencies [5f02b70]
|
|
26
|
+
- Updated dependencies [f354267]
|
|
27
|
+
- Updated dependencies [d9e0900]
|
|
28
|
+
- Updated dependencies [f81ee89]
|
|
29
|
+
- Updated dependencies [08ff14e]
|
|
30
|
+
- Updated dependencies [6b41440]
|
|
31
|
+
- Updated dependencies [a128084]
|
|
32
|
+
- Updated dependencies [8616ebc]
|
|
33
|
+
- Updated dependencies [75698c0]
|
|
34
|
+
- Updated dependencies [f69e798]
|
|
35
|
+
- Updated dependencies [5cd256c]
|
|
36
|
+
- Updated dependencies [b961661]
|
|
37
|
+
- Updated dependencies [6cd61be]
|
|
38
|
+
- Updated dependencies [2920f46]
|
|
39
|
+
- Updated dependencies [3fe0097]
|
|
40
|
+
- Updated dependencies [8ec88e3]
|
|
41
|
+
- @forge/manifest@7.9.0
|
|
42
|
+
- @forge/cli-shared@6.0.0
|
|
43
|
+
- @forge/runtime@5.10.2
|
|
44
|
+
- @forge/tunnel@5.5.3
|
|
45
|
+
- @forge/bundler@4.19.3
|
|
46
|
+
- @forge/lint@5.4.1
|
|
47
|
+
|
|
48
|
+
## 10.8.0-next.20
|
|
49
|
+
|
|
50
|
+
### Minor Changes
|
|
51
|
+
|
|
52
|
+
- 3d92b59: Integration with statsig
|
|
53
|
+
|
|
54
|
+
### Patch Changes
|
|
55
|
+
|
|
56
|
+
- Updated dependencies [3d92b59]
|
|
57
|
+
- Updated dependencies [2920f46]
|
|
58
|
+
- @forge/cli-shared@6.0.0-next.18
|
|
59
|
+
- @forge/manifest@7.9.0-next.14
|
|
60
|
+
- @forge/bundler@4.19.3-next.19
|
|
61
|
+
- @forge/lint@5.4.1-next.18
|
|
62
|
+
- @forge/tunnel@5.5.3-next.20
|
|
63
|
+
|
|
64
|
+
## 10.8.0-next.19
|
|
65
|
+
|
|
66
|
+
### Patch Changes
|
|
67
|
+
|
|
68
|
+
- 6b41440: Remove test feature flags
|
|
69
|
+
- Updated dependencies [6b41440]
|
|
70
|
+
- @forge/cli-shared@6.0.0-next.17
|
|
71
|
+
- @forge/bundler@4.19.3-next.18
|
|
72
|
+
- @forge/lint@5.4.1-next.17
|
|
73
|
+
- @forge/tunnel@5.5.3-next.19
|
|
74
|
+
|
|
75
|
+
## 10.8.0-next.18
|
|
76
|
+
|
|
77
|
+
### Minor Changes
|
|
78
|
+
|
|
79
|
+
- f354267: Migrating forge logs commands to use v2 logs APIs to fetch logs. Updated the functionality of the `forge logs -n <limit>` or `forge logs --limit <limit>` CLI command. Instead of showing logs from the last <limit> invocations, it will show the last <limit> log lines.
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- Updated dependencies [f354267]
|
|
84
|
+
- @forge/cli-shared@6.0.0-next.16
|
|
85
|
+
- @forge/bundler@4.19.3-next.17
|
|
86
|
+
- @forge/lint@5.4.1-next.16
|
|
87
|
+
- @forge/tunnel@5.5.3-next.18
|
|
88
|
+
|
|
89
|
+
## 10.7.1-next.17
|
|
90
|
+
|
|
91
|
+
### Patch Changes
|
|
92
|
+
|
|
93
|
+
- Updated dependencies [a128084]
|
|
94
|
+
- @forge/runtime@5.10.2-next.0
|
|
95
|
+
- @forge/tunnel@5.5.3-next.17
|
|
96
|
+
|
|
97
|
+
## 10.7.1-next.16
|
|
98
|
+
|
|
99
|
+
### Patch Changes
|
|
100
|
+
|
|
101
|
+
- 9c5836c: cleanup ff
|
|
102
|
+
- Updated dependencies [9c5836c]
|
|
103
|
+
- Updated dependencies [d9e0900]
|
|
104
|
+
- @forge/cli-shared@5.6.0-next.15
|
|
105
|
+
- @forge/manifest@7.9.0-next.13
|
|
106
|
+
- @forge/bundler@4.19.3-next.16
|
|
107
|
+
- @forge/lint@5.4.1-next.15
|
|
108
|
+
- @forge/tunnel@5.5.3-next.16
|
|
109
|
+
|
|
110
|
+
## 10.7.1-next.15
|
|
111
|
+
|
|
112
|
+
### Patch Changes
|
|
113
|
+
|
|
114
|
+
- Updated dependencies [5cd256c]
|
|
115
|
+
- @forge/manifest@7.9.0-next.12
|
|
116
|
+
- @forge/bundler@4.19.3-next.15
|
|
117
|
+
- @forge/cli-shared@5.6.0-next.14
|
|
118
|
+
- @forge/lint@5.4.1-next.14
|
|
119
|
+
- @forge/tunnel@5.5.3-next.15
|
|
120
|
+
|
|
121
|
+
## 10.7.1-next.14
|
|
122
|
+
|
|
123
|
+
### Patch Changes
|
|
124
|
+
|
|
125
|
+
- Updated dependencies [08ff14e]
|
|
126
|
+
- @forge/manifest@7.9.0-next.11
|
|
127
|
+
- @forge/bundler@4.19.3-next.14
|
|
128
|
+
- @forge/cli-shared@5.6.0-next.13
|
|
129
|
+
- @forge/lint@5.4.1-next.13
|
|
130
|
+
- @forge/tunnel@5.5.3-next.14
|
|
131
|
+
|
|
132
|
+
## 10.7.1-next.13
|
|
133
|
+
|
|
134
|
+
### Patch Changes
|
|
135
|
+
|
|
136
|
+
- Updated dependencies [d500498]
|
|
137
|
+
- @forge/manifest@7.9.0-next.10
|
|
138
|
+
- @forge/bundler@4.19.3-next.13
|
|
139
|
+
- @forge/cli-shared@5.6.0-next.12
|
|
140
|
+
- @forge/lint@5.4.1-next.12
|
|
141
|
+
- @forge/tunnel@5.5.3-next.13
|
|
142
|
+
|
|
3
143
|
## 10.7.1-next.12
|
|
4
144
|
|
|
5
145
|
### Patch Changes
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.8.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@forge/cli",
|
|
9
|
-
"version": "10.
|
|
9
|
+
"version": "10.8.0",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "UNLICENSED",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@forge/bundler": "4.19.3
|
|
14
|
-
"@forge/cli-shared": "
|
|
13
|
+
"@forge/bundler": "4.19.3",
|
|
14
|
+
"@forge/cli-shared": "6.0.0",
|
|
15
15
|
"@forge/egress": "1.2.13",
|
|
16
16
|
"@forge/i18n": "0.0.1",
|
|
17
|
-
"@forge/lint": "5.4.1
|
|
18
|
-
"@forge/manifest": "7.9.0
|
|
19
|
-
"@forge/runtime": "5.10.
|
|
20
|
-
"@forge/tunnel": "5.5.3
|
|
17
|
+
"@forge/lint": "5.4.1",
|
|
18
|
+
"@forge/manifest": "7.9.0",
|
|
19
|
+
"@forge/runtime": "5.10.2",
|
|
20
|
+
"@forge/tunnel": "5.5.3",
|
|
21
21
|
"@forge/util": "1.4.4",
|
|
22
22
|
"@sentry/node": "7.100.1",
|
|
23
23
|
"ajv": "^8.12.0",
|
|
@@ -832,9 +832,9 @@
|
|
|
832
832
|
"integrity": "sha512-zG50ZRzbKyWHVb/XjI6iCIyyDNmSHdlclvehMjFZ/A3qpHExjSCjaszeY6gBDJKD2GORKKjQ3LS1UyRpiVVvkA=="
|
|
833
833
|
},
|
|
834
834
|
"node_modules/@forge/bundler": {
|
|
835
|
-
"version": "4.19.3
|
|
836
|
-
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.19.3
|
|
837
|
-
"integrity": "sha512-
|
|
835
|
+
"version": "4.19.3",
|
|
836
|
+
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.19.3.tgz",
|
|
837
|
+
"integrity": "sha512-UtiEvrEUc27+9oylCSLotu8j1nhS2NyrCliAAy9084ZG58h+hY4NeHoFPV3H7lch2srA9Slzi1McJj8T+omB+w==",
|
|
838
838
|
"dependencies": {
|
|
839
839
|
"@babel/core": "^7.24.0",
|
|
840
840
|
"@babel/plugin-transform-class-properties": "^7.23.3",
|
|
@@ -843,12 +843,12 @@
|
|
|
843
843
|
"@babel/plugin-transform-optional-chaining": "^7.23.4",
|
|
844
844
|
"@babel/plugin-transform-react-jsx": "^7.23.4",
|
|
845
845
|
"@babel/preset-typescript": "^7.23.3",
|
|
846
|
-
"@forge/api": "4.1.0
|
|
846
|
+
"@forge/api": "4.1.0",
|
|
847
847
|
"@forge/babel-plugin-transform-ui": "1.1.18",
|
|
848
|
-
"@forge/cli-shared": "
|
|
848
|
+
"@forge/cli-shared": "6.0.0",
|
|
849
849
|
"@forge/i18n": "0.0.1",
|
|
850
|
-
"@forge/lint": "5.4.1
|
|
851
|
-
"@forge/manifest": "7.9.0
|
|
850
|
+
"@forge/lint": "5.4.1",
|
|
851
|
+
"@forge/manifest": "7.9.0",
|
|
852
852
|
"@forge/util": "1.4.4",
|
|
853
853
|
"assert": "^2.1.0",
|
|
854
854
|
"babel-loader": "^8.3.0",
|
|
@@ -887,9 +887,9 @@
|
|
|
887
887
|
}
|
|
888
888
|
},
|
|
889
889
|
"node_modules/@forge/bundler/node_modules/@forge/api": {
|
|
890
|
-
"version": "4.1.0
|
|
891
|
-
"resolved": "https://registry.npmjs.org/@forge/api/-/api-4.1.0
|
|
892
|
-
"integrity": "sha512-
|
|
890
|
+
"version": "4.1.0",
|
|
891
|
+
"resolved": "https://registry.npmjs.org/@forge/api/-/api-4.1.0.tgz",
|
|
892
|
+
"integrity": "sha512-qcAAL790CiI6Kte+SHtkoiObSNE5QX/yXCogAv/BKu0BW2fDJKfvadi4CfhJewl+JpQot42/4cDHokT1RKE2OQ==",
|
|
893
893
|
"dependencies": {
|
|
894
894
|
"@forge/auth": "0.0.5",
|
|
895
895
|
"@forge/egress": "1.2.13",
|
|
@@ -905,12 +905,12 @@
|
|
|
905
905
|
"integrity": "sha512-gu7Uv6GgDOmRVRrZ2WRe9jyG6uq8Wn21ak+M3hPI1ukqZQyDRoHQes6rEU+n8FwiNtj8ryAmZDEz/CvAlWbCDw=="
|
|
906
906
|
},
|
|
907
907
|
"node_modules/@forge/cli-shared": {
|
|
908
|
-
"version": "
|
|
909
|
-
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-
|
|
910
|
-
"integrity": "sha512-
|
|
908
|
+
"version": "6.0.0",
|
|
909
|
+
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-6.0.0.tgz",
|
|
910
|
+
"integrity": "sha512-IrkK7ZozcGG/5xrp247CftZs+C9d8aTuqhnYmwjfE7YU6ZwsMeyUfpeHEZ3n+Gr6ECyKmLQJyJ/lQpGpzRfI6w==",
|
|
911
911
|
"dependencies": {
|
|
912
912
|
"@forge/i18n": "0.0.1",
|
|
913
|
-
"@forge/manifest": "7.9.0
|
|
913
|
+
"@forge/manifest": "7.9.0",
|
|
914
914
|
"@forge/util": "1.4.4",
|
|
915
915
|
"@sentry/node": "7.100.1",
|
|
916
916
|
"adm-zip": "^0.5.10",
|
|
@@ -969,13 +969,13 @@
|
|
|
969
969
|
}
|
|
970
970
|
},
|
|
971
971
|
"node_modules/@forge/lint": {
|
|
972
|
-
"version": "5.4.1
|
|
973
|
-
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.4.1
|
|
974
|
-
"integrity": "sha512-
|
|
972
|
+
"version": "5.4.1",
|
|
973
|
+
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.4.1.tgz",
|
|
974
|
+
"integrity": "sha512-nCYgbVXXsh0Hi0OJ7AcrfLjeEsCkyJEK76ORQAJ+47B3FKaCRtqu1CegAiPinSE9S3udKUErs5blMhvlGcevoQ==",
|
|
975
975
|
"dependencies": {
|
|
976
|
-
"@forge/cli-shared": "
|
|
976
|
+
"@forge/cli-shared": "6.0.0",
|
|
977
977
|
"@forge/egress": "1.2.13",
|
|
978
|
-
"@forge/manifest": "7.9.0
|
|
978
|
+
"@forge/manifest": "7.9.0",
|
|
979
979
|
"@typescript-eslint/typescript-estree": "^5.62.0",
|
|
980
980
|
"array.prototype.flatmap": "^1.3.2",
|
|
981
981
|
"atlassian-openapi": "^1.0.18",
|
|
@@ -984,9 +984,9 @@
|
|
|
984
984
|
}
|
|
985
985
|
},
|
|
986
986
|
"node_modules/@forge/manifest": {
|
|
987
|
-
"version": "7.9.0
|
|
988
|
-
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.9.0
|
|
989
|
-
"integrity": "sha512-
|
|
987
|
+
"version": "7.9.0",
|
|
988
|
+
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.9.0.tgz",
|
|
989
|
+
"integrity": "sha512-I2xnVcUh8IdgSoo9iOfi68nRzbC08tcBan5XeP5zsfKFP1Z4Iwk8gjeNC9gWpIVAP7MMgQ4hxZlS8qEqWZ5DxQ==",
|
|
990
990
|
"dependencies": {
|
|
991
991
|
"@forge/i18n": "0.0.1",
|
|
992
992
|
"@sentry/node": "7.100.1",
|
|
@@ -1000,9 +1000,9 @@
|
|
|
1000
1000
|
}
|
|
1001
1001
|
},
|
|
1002
1002
|
"node_modules/@forge/runtime": {
|
|
1003
|
-
"version": "5.10.
|
|
1004
|
-
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-5.10.
|
|
1005
|
-
"integrity": "sha512-
|
|
1003
|
+
"version": "5.10.2",
|
|
1004
|
+
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-5.10.2.tgz",
|
|
1005
|
+
"integrity": "sha512-t+tml/pMr6WoGAdk7aafev33u6Vj2fWTFRYQpDDSCni520Em5jykEEbMDDC22KD8QNclgb4xNBS9oaLk91W4vA==",
|
|
1006
1006
|
"dependencies": {
|
|
1007
1007
|
"@forge/util": "1.4.4",
|
|
1008
1008
|
"fp-ts": "^2.16.2",
|
|
@@ -1015,14 +1015,14 @@
|
|
|
1015
1015
|
}
|
|
1016
1016
|
},
|
|
1017
1017
|
"node_modules/@forge/tunnel": {
|
|
1018
|
-
"version": "5.5.3
|
|
1019
|
-
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.5.3
|
|
1020
|
-
"integrity": "sha512-
|
|
1018
|
+
"version": "5.5.3",
|
|
1019
|
+
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.5.3.tgz",
|
|
1020
|
+
"integrity": "sha512-gblZnMAQIOxQByJw1lrU5YTm22u8sINn/yjnCxw0VI9s015FSzw0s8vjmcqRjJI1EZ2SczWdNq0j4IbPC20UuA==",
|
|
1021
1021
|
"dependencies": {
|
|
1022
|
-
"@forge/bundler": "4.19.3
|
|
1023
|
-
"@forge/cli-shared": "
|
|
1022
|
+
"@forge/bundler": "4.19.3",
|
|
1023
|
+
"@forge/cli-shared": "6.0.0",
|
|
1024
1024
|
"@forge/csp": "3.3.0",
|
|
1025
|
-
"@forge/runtime": "5.10.
|
|
1025
|
+
"@forge/runtime": "5.10.2",
|
|
1026
1026
|
"chokidar": "^3.6.0",
|
|
1027
1027
|
"cloudflared": "^0.5.2",
|
|
1028
1028
|
"express": "^4.18.3",
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { CLIDetails,
|
|
1
|
+
import { CLIDetails, Logger } from '@forge/cli-shared';
|
|
2
2
|
export declare class PrerequisitesController {
|
|
3
3
|
private readonly logger;
|
|
4
|
-
private readonly featureFlags;
|
|
5
4
|
private readonly cliDetails;
|
|
6
|
-
constructor(logger: Logger,
|
|
5
|
+
constructor(logger: Logger, cliDetails: CLIDetails | undefined);
|
|
7
6
|
check(): Promise<void>;
|
|
8
7
|
private checkNodeVersion;
|
|
9
|
-
private checkCustomWarning;
|
|
10
8
|
}
|
|
11
9
|
//# sourceMappingURL=prerequisites-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerequisites-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/prerequisites-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAe,
|
|
1
|
+
{"version":3,"file":"prerequisites-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/prerequisites-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAe,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAI1E,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GAAG,SAAS;IAG/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,gBAAgB;CAc/B"}
|
|
@@ -7,15 +7,13 @@ const version_info_1 = require("../version-info");
|
|
|
7
7
|
const getNodeVersion_1 = require("./getNodeVersion");
|
|
8
8
|
class PrerequisitesController {
|
|
9
9
|
logger;
|
|
10
|
-
featureFlags;
|
|
11
10
|
cliDetails;
|
|
12
|
-
constructor(logger,
|
|
11
|
+
constructor(logger, cliDetails) {
|
|
13
12
|
this.logger = logger;
|
|
14
|
-
this.featureFlags = featureFlags;
|
|
15
13
|
this.cliDetails = cliDetails;
|
|
16
14
|
}
|
|
17
15
|
async check() {
|
|
18
|
-
await Promise.all([this.checkNodeVersion()
|
|
16
|
+
await Promise.all([this.checkNodeVersion()]);
|
|
19
17
|
}
|
|
20
18
|
async checkNodeVersion() {
|
|
21
19
|
const userNodeVersion = (0, getNodeVersion_1.getNodeVersion)();
|
|
@@ -26,11 +24,5 @@ class PrerequisitesController {
|
|
|
26
24
|
this.logger.warn(cli_shared_1.Text.warning.unsupportedNodeVersion(userNodeVersion, version_info_1.humanReadableSupportedNodeVersion));
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
|
-
async checkCustomWarning() {
|
|
30
|
-
const featureFlagValue = await this.featureFlags.readFlag('forge-cli-startup-warning');
|
|
31
|
-
if (featureFlagValue) {
|
|
32
|
-
this.logger.warn(featureFlagValue);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
27
|
}
|
|
36
28
|
exports.PrerequisitesController = PrerequisitesController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAElB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAElB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmWvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
|
|
@@ -129,7 +129,7 @@ const getDependencies = async (cliDetails) => {
|
|
|
129
129
|
const globalEdgeFetchClient = { fetch: node_fetch_1.default };
|
|
130
130
|
const globalEdgeClient = new cli_shared_1.GlobalEdgeHttpClient(globalEdgeFetchClient);
|
|
131
131
|
const logsClient = new cli_shared_1.LogsGraphQLClient(graphQLClient);
|
|
132
|
-
const viewAppLogsCommand = new cli_shared_1.ViewAppLogsCommand(assertiveAppConfigReader, appEnvironmentClient, globalEdgeClient, logsClient);
|
|
132
|
+
const viewAppLogsCommand = new cli_shared_1.ViewAppLogsCommand(assertiveAppConfigReader, appEnvironmentClient, globalEdgeClient, logsClient, featureFlagService);
|
|
133
133
|
const appOauthClientGraphql = new cli_shared_1.AppOauthClientGraphqlClient(graphQLClient);
|
|
134
134
|
const entitiesClient = new graphql_client_4.EntitiesGraphqlClient(graphQLClient);
|
|
135
135
|
const customEntitiesService = new custom_entities_service_1.CustomEntitiesService(assertiveAppConfigReader, appOauthClientGraphql, entitiesClient);
|
|
@@ -184,7 +184,7 @@ const getDependencies = async (cliDetails) => {
|
|
|
184
184
|
const dockerTunnelService = new tunnel_service_1.DockerTunnelService(configFilePortFindingService, cachedConfigService, dockerService, tunnelAnalyticsService);
|
|
185
185
|
const tunnelController = new tunnel_controller_1.TunnelController(tunnelAnalyticsService, nodeTunnelService, localTunnelService, dockerTunnelService, tunnelView, configFile, credentialStore);
|
|
186
186
|
const stubController = new stubController_1.StubController();
|
|
187
|
-
const prerequisitesController = new prerequisites_controller_1.PrerequisitesController(ui,
|
|
187
|
+
const prerequisitesController = new prerequisites_controller_1.PrerequisitesController(ui, cliDetails);
|
|
188
188
|
const defaultEnvironmentController = new default_environment_controller_1.DefaultEnvironmentController(ui, credentialStore, cachedConfigService, assertiveAppConfigReader, userRepository, createEnvironmentCommand, listEnvironmentCommand, getAppOwnerQuery);
|
|
189
189
|
cmd = command_1.Command.program(ui, analyticsClientReporter, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService);
|
|
190
190
|
return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateAppCommandResult, CommandLineUI, CreateAppCommand
|
|
1
|
+
import { CreateAppCommandResult, CommandLineUI, CreateAppCommand } from '@forge/cli-shared';
|
|
2
2
|
import { Dependencies } from './dependency-injection';
|
|
3
3
|
export declare function formatProduct(product: string): string;
|
|
4
4
|
export declare function templateMatchesProduct(productName: string, templateName: string, products: (string | null)[]): boolean;
|
|
@@ -7,6 +7,6 @@ export interface CreateCommandHandlerOptions {
|
|
|
7
7
|
template?: string;
|
|
8
8
|
directory?: string;
|
|
9
9
|
}
|
|
10
|
-
export declare function createCommandHandler(ui: CommandLineUI, createAppCommand: CreateAppCommand,
|
|
10
|
+
export declare function createCommandHandler(ui: CommandLineUI, createAppCommand: CreateAppCommand, name: string, { template, directory }: CreateCommandHandlerOptions): Promise<CreateAppCommandResult>;
|
|
11
11
|
export declare function registerCommands(deps: Dependencies): void;
|
|
12
12
|
//# sourceMappingURL=register-app-commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-app-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-app-commands.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"register-app-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-app-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAqB,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG/G,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAetD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKrD;AA6CD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAC1B,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,CAuBjC;AAuJD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAGlD"}
|
|
@@ -69,7 +69,20 @@ function directoryNameFromAppName(appName) {
|
|
|
69
69
|
return allDashes ? undefined : normalized;
|
|
70
70
|
}
|
|
71
71
|
exports.directoryNameFromAppName = directoryNameFromAppName;
|
|
72
|
-
async function createCommandHandler(ui, createAppCommand,
|
|
72
|
+
async function createCommandHandler(ui, createAppCommand, name, { template, directory }) {
|
|
73
|
+
directory = prepareDirectoryForApp(ui, name, template, directory);
|
|
74
|
+
ui.info(cli_shared_1.Text.ctrlC);
|
|
75
|
+
name = await promptAndValidateAppName(ui, name, directory, template);
|
|
76
|
+
template = await promptAndSelectTemplate(ui, createAppCommand, template, directory);
|
|
77
|
+
ui.emptyLine();
|
|
78
|
+
directory = directory;
|
|
79
|
+
const args = { name, template, directory };
|
|
80
|
+
const result = await ui.displayProgress(() => createAppCommand.execute(args), cli_shared_1.Text.create.cmd.start, cli_shared_1.Text.create.cmd.success(name));
|
|
81
|
+
ui.info(cli_shared_1.Text.create.cmd.successDetails(directory, result.environments));
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
exports.createCommandHandler = createCommandHandler;
|
|
85
|
+
function prepareDirectoryForApp(ui, name, template, directory) {
|
|
73
86
|
if (directory) {
|
|
74
87
|
ensureDirectoryDoesntExist(directory);
|
|
75
88
|
ui.info(cli_shared_1.Text.create.intro(directory));
|
|
@@ -82,7 +95,9 @@ async function createCommandHandler(ui, createAppCommand, featureFlagService, na
|
|
|
82
95
|
const currentDirectory = process.cwd();
|
|
83
96
|
ui.info(cli_shared_1.Text.create.introWithCurrentDirectory(currentDirectory));
|
|
84
97
|
}
|
|
85
|
-
|
|
98
|
+
return directory;
|
|
99
|
+
}
|
|
100
|
+
async function promptAndValidateAppName(ui, name, directory, template) {
|
|
86
101
|
if (!name) {
|
|
87
102
|
ui.info(cli_shared_1.Text.create.overviewAppName);
|
|
88
103
|
name = await ui.promptForText(cli_shared_1.Text.create.promptName);
|
|
@@ -94,63 +109,66 @@ async function createCommandHandler(ui, createAppCommand, featureFlagService, na
|
|
|
94
109
|
}
|
|
95
110
|
}
|
|
96
111
|
ensureValidNameLength(name);
|
|
112
|
+
return name;
|
|
113
|
+
}
|
|
114
|
+
async function promptAndSelectTemplate(ui, createAppCommand, template, directory) {
|
|
97
115
|
if (!template) {
|
|
98
116
|
ui.info(cli_shared_1.Text.create.overviewTemplates);
|
|
99
117
|
const templates = await ui.displayTemporaryMessage(() => createAppCommand.getAvailableTemplates(), cli_shared_1.Text.create.waitTemplates);
|
|
100
|
-
const
|
|
101
|
-
const
|
|
102
|
-
const filteredTemplates = type === TemplateCategory.SHOW_ALL
|
|
103
|
-
? templates.filter((name) => enableRovoTemplates || !name.includes('rovo'))
|
|
104
|
-
: templates
|
|
105
|
-
.filter((name) => {
|
|
106
|
-
switch (type) {
|
|
107
|
-
case TemplateCategory.BACKEND:
|
|
108
|
-
return (!name.includes('ui-kit') &&
|
|
109
|
-
!name.includes('csuik') &&
|
|
110
|
-
!name.includes('custom-ui') &&
|
|
111
|
-
!name.includes('rovo') &&
|
|
112
|
-
name !== 'blank');
|
|
113
|
-
case TemplateCategory.CUSTOM_UI:
|
|
114
|
-
return name.includes('custom-ui');
|
|
115
|
-
case TemplateCategory.UI_KIT_2:
|
|
116
|
-
return name.includes('csuik');
|
|
117
|
-
case TemplateCategory.ROVO:
|
|
118
|
-
return name.includes('rovo');
|
|
119
|
-
}
|
|
120
|
-
})
|
|
121
|
-
.map((name) => name.replace('-ui-kit', '').replace('-custom-ui', '').replace('-csuik', '').replace('-rovo', ''));
|
|
118
|
+
const type = await ui.promptForList(cli_shared_1.Text.create.promptCategory, Object.values(TemplateCategory));
|
|
119
|
+
const filteredTemplates = filterTemplatesByCategory(templates, type);
|
|
122
120
|
template = await selectedTemplate(filteredTemplates, type, ui);
|
|
123
|
-
|
|
124
|
-
case TemplateCategory.UI_KIT_2:
|
|
125
|
-
template = `${template}-csuik`;
|
|
126
|
-
break;
|
|
127
|
-
case TemplateCategory.CUSTOM_UI:
|
|
128
|
-
template = `${template}-custom-ui`;
|
|
129
|
-
break;
|
|
130
|
-
case TemplateCategory.ROVO:
|
|
131
|
-
template = `${template}-rovo`;
|
|
132
|
-
break;
|
|
133
|
-
}
|
|
121
|
+
template = modifyTemplateByCategory(template, type);
|
|
134
122
|
if (!directory) {
|
|
135
123
|
directory = template;
|
|
136
124
|
ensureDirectoryDoesntExist(directory);
|
|
137
125
|
}
|
|
138
126
|
}
|
|
139
|
-
|
|
140
|
-
directory = directory;
|
|
141
|
-
const args = { name, template, directory };
|
|
142
|
-
const result = await ui.displayProgress(() => createAppCommand.execute(args), cli_shared_1.Text.create.cmd.start, cli_shared_1.Text.create.cmd.success(name));
|
|
143
|
-
ui.info(cli_shared_1.Text.create.cmd.successDetails(directory, result.environments));
|
|
144
|
-
return result;
|
|
127
|
+
return template;
|
|
145
128
|
}
|
|
146
|
-
|
|
147
|
-
|
|
129
|
+
function filterTemplatesByCategory(templates, category) {
|
|
130
|
+
return category === TemplateCategory.SHOW_ALL
|
|
131
|
+
? templates
|
|
132
|
+
: templates
|
|
133
|
+
.filter((name) => {
|
|
134
|
+
switch (category) {
|
|
135
|
+
case TemplateCategory.BACKEND:
|
|
136
|
+
return (!name.includes('ui-kit') &&
|
|
137
|
+
!name.includes('csuik') &&
|
|
138
|
+
!name.includes('custom-ui') &&
|
|
139
|
+
!name.includes('rovo') &&
|
|
140
|
+
name !== 'blank');
|
|
141
|
+
case TemplateCategory.CUSTOM_UI:
|
|
142
|
+
return name.includes('custom-ui');
|
|
143
|
+
case TemplateCategory.UI_KIT_2:
|
|
144
|
+
return name.includes('csuik');
|
|
145
|
+
case TemplateCategory.ROVO:
|
|
146
|
+
return name.includes('rovo');
|
|
147
|
+
default:
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
})
|
|
151
|
+
.map((name) => name.replace('-ui-kit', '').replace('-custom-ui', '').replace('-csuik', '').replace('-rovo', ''));
|
|
152
|
+
}
|
|
153
|
+
function modifyTemplateByCategory(template, category) {
|
|
154
|
+
switch (category) {
|
|
155
|
+
case TemplateCategory.UI_KIT_2:
|
|
156
|
+
return `${template}-csuik`;
|
|
157
|
+
case TemplateCategory.CUSTOM_UI:
|
|
158
|
+
return `${template}-custom-ui`;
|
|
159
|
+
case TemplateCategory.ROVO:
|
|
160
|
+
return `${template}-rovo`;
|
|
161
|
+
default:
|
|
162
|
+
return template;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function registerCreateCommands({ cmd, ui, commands: { createAppCommand } }) {
|
|
148
166
|
cmd
|
|
149
167
|
.command('create [name]')
|
|
150
168
|
.description(cli_shared_1.Text.create.cmd.desc)
|
|
151
169
|
.option('-t, --template <template name>', cli_shared_1.Text.create.optionTemplate)
|
|
152
170
|
.option('-d, --directory <directory name>', cli_shared_1.Text.create.optionDirectory)
|
|
153
|
-
.action((name, options) => createCommandHandler(ui, createAppCommand,
|
|
171
|
+
.action((name, options) => createCommandHandler(ui, createAppCommand, name, options));
|
|
154
172
|
}
|
|
155
173
|
function registerRegisterCommand({ cmd, ui, commands: { registerAppCommand } }) {
|
|
156
174
|
cmd
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.8.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.19.3
|
|
22
|
-
"@forge/cli-shared": "
|
|
21
|
+
"@forge/bundler": "4.19.3",
|
|
22
|
+
"@forge/cli-shared": "6.0.0",
|
|
23
23
|
"@forge/egress": "1.2.13",
|
|
24
|
-
"@forge/lint": "5.4.1
|
|
25
|
-
"@forge/manifest": "7.9.0
|
|
26
|
-
"@forge/runtime": "5.10.
|
|
27
|
-
"@forge/tunnel": "5.5.3
|
|
24
|
+
"@forge/lint": "5.4.1",
|
|
25
|
+
"@forge/manifest": "7.9.0",
|
|
26
|
+
"@forge/runtime": "5.10.2",
|
|
27
|
+
"@forge/tunnel": "5.5.3",
|
|
28
28
|
"@forge/util": "1.4.4",
|
|
29
29
|
"@sentry/node": "7.100.1",
|
|
30
30
|
"@forge/i18n": "0.0.1",
|