@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 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
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "10.7.1-next.12",
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.7.1-next.12",
9
+ "version": "10.8.0",
10
10
  "hasInstallScript": true,
11
11
  "license": "UNLICENSED",
12
12
  "dependencies": {
13
- "@forge/bundler": "4.19.3-next.12",
14
- "@forge/cli-shared": "5.6.0-next.11",
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-next.11",
18
- "@forge/manifest": "7.9.0-next.9",
19
- "@forge/runtime": "5.10.1",
20
- "@forge/tunnel": "5.5.3-next.12",
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-next.12",
836
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.19.3-next.12.tgz",
837
- "integrity": "sha512-APeXiWefx/5kTH4uo3LwpoLY+oRsw8XD1iYHcrxFTCCoHGGJ4SmPry9weny4bZhAu77EwPKBAxXv8uhonhRHyw==",
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-next.0",
846
+ "@forge/api": "4.1.0",
847
847
  "@forge/babel-plugin-transform-ui": "1.1.18",
848
- "@forge/cli-shared": "5.6.0-next.11",
848
+ "@forge/cli-shared": "6.0.0",
849
849
  "@forge/i18n": "0.0.1",
850
- "@forge/lint": "5.4.1-next.11",
851
- "@forge/manifest": "7.9.0-next.9",
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-next.0",
891
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-4.1.0-next.0.tgz",
892
- "integrity": "sha512-XYtese5d+j5mD4v4Om+5KkjFKODBvvJH6LqSE0ndoGQarUINbVUuXpeM1V+FJUk1UMFwCwhliOsZN5FLRtuSVg==",
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": "5.6.0-next.11",
909
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-5.6.0-next.11.tgz",
910
- "integrity": "sha512-4xKf2UZwn447QMbkhv6jePDOo9JLtTILOlBBTc7+/30mFBqq6qMmJPXhHQU/++Dc8HTcwIP0cWzWYw6HeGQ+VA==",
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-next.9",
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-next.11",
973
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.4.1-next.11.tgz",
974
- "integrity": "sha512-gDYNdXA1sHyxl1RNa0QAkJdWuZAepp12wg3v7AmozKDUqqSYan9GZcNd1xVHqbFG7juMhYt4UUUIfLvaORZ+Ow==",
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": "5.6.0-next.11",
976
+ "@forge/cli-shared": "6.0.0",
977
977
  "@forge/egress": "1.2.13",
978
- "@forge/manifest": "7.9.0-next.9",
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-next.9",
988
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.9.0-next.9.tgz",
989
- "integrity": "sha512-199fJWQRG7SbHs+ydWcBx7rGxE+oEAcN9ho7XgKgvZ++VMiBSWmY0DHm0ykol7zge2vTVq4qOLMNrPSe/FxYBg==",
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.1",
1004
- "resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-5.10.1.tgz",
1005
- "integrity": "sha512-YZQV2mOOhV9zxcsiQp1U+sDlYAUJVqexDMz1Mo4fHrZzb5LzliUtiNfuhNPKGkdJpfxCKsHeFIZoHNMEDxtpVA==",
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-next.12",
1019
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.5.3-next.12.tgz",
1020
- "integrity": "sha512-D68z0cTsU+MZ2kNsgYtC3PO0z8N3vjRUZb7/QCXMUzhziVU5zfZZgT78qyr1mS4JyESTV+VMHANY/vhgODRSKw==",
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-next.12",
1023
- "@forge/cli-shared": "5.6.0-next.11",
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.1",
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, FeatureFlagReader, Logger } from '@forge/cli-shared';
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, featureFlags: FeatureFlagReader, cliDetails: CLIDetails | undefined);
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,iBAAiB,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAI7F,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,iBAAiB,EAC/B,UAAU,EAAE,UAAU,GAAG,SAAS;IAG/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,gBAAgB;YAehB,kBAAkB;CAMjC"}
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, featureFlags, cliDetails) {
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(), this.checkCustomWarning()]);
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkWvE,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"}
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, featureFlagService, cliDetails);
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, FeatureFlagService } from '@forge/cli-shared';
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, featureFlagService: FeatureFlagService, name: string, { template, directory }: CreateCommandHandlerOptions): Promise<CreateAppCommandResult>;
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,EACL,sBAAsB,EAEtB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAetD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKrD;AAyCD,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,kBAAkB,EAAE,kBAAkB,EACtC,IAAI,EAAE,MAAM,EACZ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,2BAA2B,GACnD,OAAO,CAAC,sBAAsB,CAAC,CA0GjC;AA6CD,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,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, featureFlagService, name, { template, directory }) {
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
- ui.info(cli_shared_1.Text.ctrlC);
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 enableRovoTemplates = await featureFlagService.shouldAllowAIModules();
101
- const type = await ui.promptForList(cli_shared_1.Text.create.promptCategory, Object.values(TemplateCategory).filter((category) => enableRovoTemplates || category !== TemplateCategory.ROVO));
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
- switch (type) {
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
- ui.emptyLine();
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
- exports.createCommandHandler = createCommandHandler;
147
- function registerCreateCommands({ cmd, ui, commands: { createAppCommand }, services: { featureFlagService } }) {
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, featureFlagService, name, options));
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.7.1-next.12",
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-next.12",
22
- "@forge/cli-shared": "5.6.0-next.11",
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-next.11",
25
- "@forge/manifest": "7.9.0-next.9",
26
- "@forge/runtime": "5.10.1",
27
- "@forge/tunnel": "5.5.3-next.12",
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",