@forge/cli 6.10.1-next.3 → 6.11.0-next.16

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.
Files changed (35) hide show
  1. package/CHANGELOG.md +130 -0
  2. package/npm-shrinkwrap.json +72 -72
  3. package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
  4. package/out/command-line/controller/deploy-controller.js +1 -0
  5. package/out/command-line/controller/prerequisites-controller.d.ts +2 -2
  6. package/out/command-line/controller/prerequisites-controller.d.ts.map +1 -1
  7. package/out/command-line/controller/prerequisites-controller.js +12 -7
  8. package/out/command-line/controller/settings-controller.d.ts +12 -11
  9. package/out/command-line/controller/settings-controller.d.ts.map +1 -1
  10. package/out/command-line/controller/settings-controller.js +80 -24
  11. package/out/command-line/dependency-injection.d.ts.map +1 -1
  12. package/out/command-line/dependency-injection.js +3 -3
  13. package/out/command-line/environment.d.ts +1 -0
  14. package/out/command-line/environment.d.ts.map +1 -1
  15. package/out/command-line/environment.js +8 -1
  16. package/out/command-line/index.d.ts +1 -1
  17. package/out/command-line/index.d.ts.map +1 -1
  18. package/out/command-line/index.js +8 -6
  19. package/out/command-line/register-app-commands.d.ts +2 -2
  20. package/out/command-line/register-app-commands.d.ts.map +1 -1
  21. package/out/command-line/register-app-commands.js +16 -6
  22. package/out/command-line/register-settings-commands.d.ts +1 -1
  23. package/out/command-line/register-settings-commands.d.ts.map +1 -1
  24. package/out/command-line/register-settings-commands.js +8 -8
  25. package/out/command-line/view/deploy-view.d.ts +1 -0
  26. package/out/command-line/view/deploy-view.d.ts.map +1 -1
  27. package/out/command-line/view/deploy-view.js +3 -0
  28. package/out/command-line/view/settings-view.d.ts +1 -1
  29. package/out/command-line/view/settings-view.d.ts.map +1 -1
  30. package/out/service/cached-config-service.d.ts +3 -0
  31. package/out/service/cached-config-service.d.ts.map +1 -1
  32. package/out/service/cached-config-service.js +13 -0
  33. package/out/service/tunnel-service.d.ts.map +1 -1
  34. package/out/service/tunnel-service.js +3 -1
  35. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,135 @@
1
1
  # @forge/cli
2
2
 
3
+ ## 6.11.0-next.16
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [f7f52209]
8
+ - @forge/bundler@4.8.0-next.14
9
+ - @forge/runtime@4.4.0-next.3
10
+ - @forge/tunnel@3.5.0-next.15
11
+
12
+ ## 6.11.0-next.15
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies [232c5873]
17
+ - @forge/bundler@4.8.0-next.13
18
+ - @forge/tunnel@3.5.0-next.14
19
+
20
+ ## 6.11.0-next.14
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [1101cf26]
25
+ - @forge/runtime@4.4.0-next.2
26
+ - @forge/bundler@4.8.0-next.12
27
+ - @forge/tunnel@3.5.0-next.13
28
+
29
+ ## 6.11.0-next.13
30
+
31
+ ### Patch Changes
32
+
33
+ - Updated dependencies [f877763a]
34
+ - @forge/runtime@4.4.0-next.1
35
+ - @forge/bundler@4.8.0-next.11
36
+ - @forge/tunnel@3.5.0-next.12
37
+
38
+ ## 6.11.0-next.12
39
+
40
+ ### Patch Changes
41
+
42
+ - Updated dependencies [aa9b9754]
43
+ - @forge/lint@3.5.0-next.8
44
+ - @forge/manifest@4.13.0-next.4
45
+ - @forge/bundler@4.8.0-next.10
46
+ - @forge/cli-shared@3.12.0-next.7
47
+ - @forge/tunnel@3.5.0-next.11
48
+
49
+ ## 6.11.0-next.11
50
+
51
+ ### Minor Changes
52
+
53
+ - d94f614e: Added UI Kit 2 option to create app CLI command behind feature flag
54
+
55
+ ### Patch Changes
56
+
57
+ - Updated dependencies [d94f614e]
58
+ - @forge/cli-shared@3.12.0-next.6
59
+ - @forge/tunnel@3.5.0-next.10
60
+ - @forge/bundler@4.8.0-next.9
61
+ - @forge/lint@3.5.0-next.7
62
+
63
+ ## 6.11.0-next.10
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [cf0ab7be]
68
+ - @forge/lint@3.5.0-next.6
69
+ - @forge/bundler@4.8.0-next.8
70
+ - @forge/tunnel@3.5.0-next.9
71
+
72
+ ## 6.11.0-next.9
73
+
74
+ ### Minor Changes
75
+
76
+ - 0449769b: Add default-environment to forge settings
77
+
78
+ ### Patch Changes
79
+
80
+ - Updated dependencies [0449769b]
81
+ - @forge/cli-shared@3.12.0-next.5
82
+ - @forge/bundler@4.8.0-next.7
83
+ - @forge/lint@3.4.1-next.5
84
+ - @forge/tunnel@3.5.0-next.8
85
+
86
+ ## 6.10.1-next.8
87
+
88
+ ### Patch Changes
89
+
90
+ - Updated dependencies [83eb996c]
91
+ - @forge/manifest@4.13.0-next.3
92
+ - @forge/cli-shared@3.11.3-next.4
93
+ - @forge/lint@3.4.1-next.4
94
+ - @forge/tunnel@3.5.0-next.7
95
+ - @forge/bundler@4.8.0-next.6
96
+
97
+ ## 6.10.1-next.7
98
+
99
+ ### Patch Changes
100
+
101
+ - Updated dependencies [5de9fcc2]
102
+ - @forge/bundler@4.8.0-next.5
103
+ - @forge/tunnel@3.5.0-next.6
104
+
105
+ ## 6.10.1-next.6
106
+
107
+ ### Patch Changes
108
+
109
+ - 5eff9d5f: Adding additional error message (in the case of app installations failure) during forge deploy command
110
+ - Updated dependencies [5eff9d5f]
111
+ - @forge/cli-shared@3.11.3-next.3
112
+ - @forge/bundler@4.8.0-next.4
113
+ - @forge/lint@3.4.1-next.3
114
+ - @forge/tunnel@3.5.0-next.5
115
+
116
+ ## 6.10.1-next.5
117
+
118
+ ### Patch Changes
119
+
120
+ - Updated dependencies [05d6c05e]
121
+ - @forge/manifest@4.13.0-next.2
122
+ - @forge/cli-shared@3.11.3-next.2
123
+ - @forge/lint@3.4.1-next.2
124
+ - @forge/tunnel@3.5.0-next.4
125
+ - @forge/bundler@4.8.0-next.3
126
+
127
+ ## 6.10.1-next.4
128
+
129
+ ### Patch Changes
130
+
131
+ - 85b28fb: Mount a directory specifically for the ngrok binary installed in docker"
132
+
3
133
  ## 6.10.1-next.3
4
134
 
5
135
  ### Patch Changes
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "6.10.1-next.3",
3
+ "version": "6.11.0-next.16",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@forge/cli",
9
- "version": "6.10.1-next.3",
9
+ "version": "6.11.0-next.16",
10
10
  "hasInstallScript": true,
11
11
  "license": "UNLICENSED",
12
12
  "dependencies": {
13
- "@forge/bundler": "4.8.0-next.2",
14
- "@forge/cli-shared": "3.11.3-next.1",
13
+ "@forge/bundler": "4.8.0-next.14",
14
+ "@forge/cli-shared": "3.12.0-next.7",
15
15
  "@forge/egress": "1.2.1",
16
- "@forge/lint": "3.4.1-next.1",
17
- "@forge/manifest": "4.13.0-next.1",
18
- "@forge/runtime": "4.4.0-next.0",
19
- "@forge/tunnel": "3.5.0-next.3",
16
+ "@forge/lint": "3.5.0-next.8",
17
+ "@forge/manifest": "4.13.0-next.4",
18
+ "@forge/runtime": "4.4.0-next.3",
19
+ "@forge/tunnel": "3.5.0-next.15",
20
20
  "@forge/util": "1.2.3",
21
21
  "@sentry/node": "^7.29.0",
22
22
  "ajv": "^6.12.6",
@@ -668,9 +668,9 @@
668
668
  "integrity": "sha512-n2eXc/shPwx0ahD3NNfsmeiFoBCukeglt2htePaNnJBDt0VpC6R4Njsjc/wnL5OMgrGl5/GXzN+mymngXrw9qQ=="
669
669
  },
670
670
  "node_modules/@forge/bundler": {
671
- "version": "4.8.0-next.2",
672
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.8.0-next.2.tgz",
673
- "integrity": "sha512-rc49oqlVNtX1XOfOgZFuhftqe0GiqkkamuCqUge7lUwQLzBmQL9Anbt76rhkZUwp9HCOzsqZoNUrWItpbryZXQ==",
671
+ "version": "4.8.0-next.14",
672
+ "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.8.0-next.14.tgz",
673
+ "integrity": "sha512-y2t+5Tj1gsCJkemvey+sXRLFkheJwyHInawz2NB0r5WEIIk4Sab5Uw1VHyU4lAgwSkGtkvL1GijLXxOHdFL4Ig==",
674
674
  "dependencies": {
675
675
  "@babel/core": "^7.16.7",
676
676
  "@babel/plugin-proposal-class-properties": "^7.16.7",
@@ -678,11 +678,11 @@
678
678
  "@babel/plugin-proposal-optional-chaining": "^7.16.7",
679
679
  "@babel/plugin-transform-react-jsx": "^7.16.7",
680
680
  "@babel/preset-typescript": "^7.16.7",
681
- "@forge/api": "2.16.0-next.0",
681
+ "@forge/api": "2.16.0-next.2",
682
682
  "@forge/babel-plugin-transform-ui": "1.1.2",
683
- "@forge/cli-shared": "3.11.3-next.1",
684
- "@forge/lint": "3.4.1-next.1",
685
- "@forge/runtime": "4.4.0-next.0",
683
+ "@forge/cli-shared": "3.12.0-next.7",
684
+ "@forge/lint": "3.5.0-next.8",
685
+ "@forge/runtime": "4.4.0-next.3",
686
686
  "@forge/util": "1.2.3",
687
687
  "assert": "^1.1.1",
688
688
  "babel-loader": "^8.2.3",
@@ -703,7 +703,7 @@
703
703
  "readable-stream": "^3.4.0",
704
704
  "string_decoder": "^1.0.0",
705
705
  "text-encoder-lite": "^2.0.0",
706
- "timers-browserify": "^2.0.4",
706
+ "timers-browserify": "^2.0.12",
707
707
  "tmp": "^0.1.0",
708
708
  "ts-loader": "^9.4.1",
709
709
  "typescript": "^4.8.4",
@@ -718,9 +718,9 @@
718
718
  }
719
719
  },
720
720
  "node_modules/@forge/bundler/node_modules/@forge/api": {
721
- "version": "2.16.0-next.0",
722
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.16.0-next.0.tgz",
723
- "integrity": "sha512-MTj2NnNtucFl0s2BGS1gu+0goLfhtM7AZvbIsROv0T5WRwr5DHBYjIWsMY/w9tiIQpNT26h6WNW3IOn6c3nJ2w==",
721
+ "version": "2.16.0-next.2",
722
+ "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.16.0-next.2.tgz",
723
+ "integrity": "sha512-VHXghnSSyr9BnNKsbr2+voTW0Swvw0p0os9kbNR3eVCBbRRoYpato+niUqKc2i1Qgnun2VbQs5fBsSdToYnmLw==",
724
724
  "dependencies": {
725
725
  "@forge/auth": "0.0.1",
726
726
  "@forge/egress": "1.2.1",
@@ -730,11 +730,11 @@
730
730
  }
731
731
  },
732
732
  "node_modules/@forge/cli-shared": {
733
- "version": "3.11.3-next.1",
734
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.11.3-next.1.tgz",
735
- "integrity": "sha512-0NUMPKxh+gVcQbmJ561sudH+aZxDhfWJ07HNjw5PwhTt0YnZ41hHzg4GeaUeYRrX8Mw+CZyZRIc2vnXXeNFzrg==",
733
+ "version": "3.12.0-next.7",
734
+ "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.12.0-next.7.tgz",
735
+ "integrity": "sha512-YfrDA+KxrcUJazUtXiMYf7x5HEi4OdegzyaOBKkG/yeJktSN50KII+uYd5GnRuXYZCgtpdTL3dgXzrhAqWO0+A==",
736
736
  "dependencies": {
737
- "@forge/manifest": "4.13.0-next.1",
737
+ "@forge/manifest": "4.13.0-next.4",
738
738
  "@forge/util": "1.2.3",
739
739
  "@sentry/node": "^7.29.0",
740
740
  "array.prototype.flatmap": "^1.2.3",
@@ -785,13 +785,13 @@
785
785
  }
786
786
  },
787
787
  "node_modules/@forge/lint": {
788
- "version": "3.4.1-next.1",
789
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.4.1-next.1.tgz",
790
- "integrity": "sha512-XbaRYpPKfdN8OZHR/lsH0Tc+X5cV6XVDs0DiF143Rfg5Q5nrCstmhN6oL9/ubB8HY0ZHg6LGCtzyn3gyPWZtHg==",
788
+ "version": "3.5.0-next.8",
789
+ "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.5.0-next.8.tgz",
790
+ "integrity": "sha512-Dup4WP98ymIOp689mfb4Sc8u4mnG3gkzy0AbAIPjwNRiReD7B1DPUy6GM+bu7pero4YCd30BhkXDAqe/pvUORQ==",
791
791
  "dependencies": {
792
- "@forge/cli-shared": "3.11.3-next.1",
792
+ "@forge/cli-shared": "3.12.0-next.7",
793
793
  "@forge/egress": "1.2.1",
794
- "@forge/manifest": "4.13.0-next.1",
794
+ "@forge/manifest": "4.13.0-next.4",
795
795
  "@typescript-eslint/typescript-estree": "^5.40.0",
796
796
  "array.prototype.flatmap": "^1.2.3",
797
797
  "atlassian-openapi": "^1.0.17",
@@ -800,9 +800,9 @@
800
800
  }
801
801
  },
802
802
  "node_modules/@forge/manifest": {
803
- "version": "4.13.0-next.1",
804
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.13.0-next.1.tgz",
805
- "integrity": "sha512-dHyqW/ZP7G3UO7QBFC94lzQpzB3EuOQOjvoBEfwSjSGSGHcjNurWng7mwOVGBf15MsjX4enl98LvwEvSUVl1Ng==",
803
+ "version": "4.13.0-next.4",
804
+ "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.13.0-next.4.tgz",
805
+ "integrity": "sha512-exEEnDghBObYeSt/Pus/fCMfPRAO5K8nujM4xVADhuLX5tuPVVBwW8btVeZlvLRD3Szv3FMyujtTLuf5V0FPsA==",
806
806
  "dependencies": {
807
807
  "@forge/util": "1.2.3",
808
808
  "ajv": "^6.12.6",
@@ -815,9 +815,9 @@
815
815
  }
816
816
  },
817
817
  "node_modules/@forge/runtime": {
818
- "version": "4.4.0-next.0",
819
- "resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.4.0-next.0.tgz",
820
- "integrity": "sha512-0r5pcU7gw9D2h/FxYejxLGgqUAAfbyRWc8DkZVVY3TratmXwXeoj7M/zxmuYdXcthe7CZKBdhkdOMQFiASXS/Q==",
818
+ "version": "4.4.0-next.3",
819
+ "resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.4.0-next.3.tgz",
820
+ "integrity": "sha512-UT3zwTEifJLg6+1TkTz0Qyprt7PS/T0eHIXS0w019rBryET5W1A4UY4EpIPqHIt2Sk/olkUNXxUzxMohoAmfuw==",
821
821
  "dependencies": {
822
822
  "@forge/util": "1.2.3",
823
823
  "fp-ts": "^2.0.1",
@@ -839,14 +839,14 @@
839
839
  "integrity": "sha512-/w9UaTMmvK7DSnGpg+bbLPUF8GDPfrShNPZi7ArgwexihK1j/J7EVvH2j1VEjXGdSH+FuRcqjThfCZoGytFJHw=="
840
840
  },
841
841
  "node_modules/@forge/tunnel": {
842
- "version": "3.5.0-next.3",
843
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.5.0-next.3.tgz",
844
- "integrity": "sha512-tWGAv1IP6j02g8aoK3SHqmOjDP7jZm/bhUbRV/AOrTINPEEFJu+x3Gnubqf6TFw5S63nucnAckXZJxzUqvLn2Q==",
842
+ "version": "3.5.0-next.15",
843
+ "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.5.0-next.15.tgz",
844
+ "integrity": "sha512-nX0mGExkI4kBW9ImO0sA3PQNt1+CGszzhNNSWXP8HBXkjipynRHFkwJ3qDMN720/leEG5BcZt90fZhBpzTBAKw==",
845
845
  "dependencies": {
846
- "@forge/bundler": "4.8.0-next.2",
847
- "@forge/cli-shared": "3.11.3-next.1",
846
+ "@forge/bundler": "4.8.0-next.14",
847
+ "@forge/cli-shared": "3.12.0-next.7",
848
848
  "@forge/csp": "2.1.3",
849
- "@forge/runtime": "4.4.0-next.0",
849
+ "@forge/runtime": "4.4.0-next.3",
850
850
  "express": "^4.17.1",
851
851
  "express-intercept": "^0.8.10",
852
852
  "http-proxy-middleware": "^1.0.6",
@@ -10091,9 +10091,9 @@
10091
10091
  "integrity": "sha512-n2eXc/shPwx0ahD3NNfsmeiFoBCukeglt2htePaNnJBDt0VpC6R4Njsjc/wnL5OMgrGl5/GXzN+mymngXrw9qQ=="
10092
10092
  },
10093
10093
  "@forge/bundler": {
10094
- "version": "4.8.0-next.2",
10095
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.8.0-next.2.tgz",
10096
- "integrity": "sha512-rc49oqlVNtX1XOfOgZFuhftqe0GiqkkamuCqUge7lUwQLzBmQL9Anbt76rhkZUwp9HCOzsqZoNUrWItpbryZXQ==",
10094
+ "version": "4.8.0-next.14",
10095
+ "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.8.0-next.14.tgz",
10096
+ "integrity": "sha512-y2t+5Tj1gsCJkemvey+sXRLFkheJwyHInawz2NB0r5WEIIk4Sab5Uw1VHyU4lAgwSkGtkvL1GijLXxOHdFL4Ig==",
10097
10097
  "requires": {
10098
10098
  "@babel/core": "^7.16.7",
10099
10099
  "@babel/plugin-proposal-class-properties": "^7.16.7",
@@ -10101,11 +10101,11 @@
10101
10101
  "@babel/plugin-proposal-optional-chaining": "^7.16.7",
10102
10102
  "@babel/plugin-transform-react-jsx": "^7.16.7",
10103
10103
  "@babel/preset-typescript": "^7.16.7",
10104
- "@forge/api": "2.16.0-next.0",
10104
+ "@forge/api": "2.16.0-next.2",
10105
10105
  "@forge/babel-plugin-transform-ui": "1.1.2",
10106
- "@forge/cli-shared": "3.11.3-next.1",
10107
- "@forge/lint": "3.4.1-next.1",
10108
- "@forge/runtime": "4.4.0-next.0",
10106
+ "@forge/cli-shared": "3.12.0-next.7",
10107
+ "@forge/lint": "3.5.0-next.8",
10108
+ "@forge/runtime": "4.4.0-next.3",
10109
10109
  "@forge/util": "1.2.3",
10110
10110
  "assert": "^1.1.1",
10111
10111
  "babel-loader": "^8.2.3",
@@ -10126,7 +10126,7 @@
10126
10126
  "readable-stream": "^3.4.0",
10127
10127
  "string_decoder": "^1.0.0",
10128
10128
  "text-encoder-lite": "^2.0.0",
10129
- "timers-browserify": "^2.0.4",
10129
+ "timers-browserify": "^2.0.12",
10130
10130
  "tmp": "^0.1.0",
10131
10131
  "ts-loader": "^9.4.1",
10132
10132
  "typescript": "^4.8.4",
@@ -10138,9 +10138,9 @@
10138
10138
  },
10139
10139
  "dependencies": {
10140
10140
  "@forge/api": {
10141
- "version": "2.16.0-next.0",
10142
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.16.0-next.0.tgz",
10143
- "integrity": "sha512-MTj2NnNtucFl0s2BGS1gu+0goLfhtM7AZvbIsROv0T5WRwr5DHBYjIWsMY/w9tiIQpNT26h6WNW3IOn6c3nJ2w==",
10141
+ "version": "2.16.0-next.2",
10142
+ "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.16.0-next.2.tgz",
10143
+ "integrity": "sha512-VHXghnSSyr9BnNKsbr2+voTW0Swvw0p0os9kbNR3eVCBbRRoYpato+niUqKc2i1Qgnun2VbQs5fBsSdToYnmLw==",
10144
10144
  "requires": {
10145
10145
  "@forge/auth": "0.0.1",
10146
10146
  "@forge/egress": "1.2.1",
@@ -10152,11 +10152,11 @@
10152
10152
  }
10153
10153
  },
10154
10154
  "@forge/cli-shared": {
10155
- "version": "3.11.3-next.1",
10156
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.11.3-next.1.tgz",
10157
- "integrity": "sha512-0NUMPKxh+gVcQbmJ561sudH+aZxDhfWJ07HNjw5PwhTt0YnZ41hHzg4GeaUeYRrX8Mw+CZyZRIc2vnXXeNFzrg==",
10155
+ "version": "3.12.0-next.7",
10156
+ "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.12.0-next.7.tgz",
10157
+ "integrity": "sha512-YfrDA+KxrcUJazUtXiMYf7x5HEi4OdegzyaOBKkG/yeJktSN50KII+uYd5GnRuXYZCgtpdTL3dgXzrhAqWO0+A==",
10158
10158
  "requires": {
10159
- "@forge/manifest": "4.13.0-next.1",
10159
+ "@forge/manifest": "4.13.0-next.4",
10160
10160
  "@forge/util": "1.2.3",
10161
10161
  "@sentry/node": "^7.29.0",
10162
10162
  "array.prototype.flatmap": "^1.2.3",
@@ -10207,13 +10207,13 @@
10207
10207
  }
10208
10208
  },
10209
10209
  "@forge/lint": {
10210
- "version": "3.4.1-next.1",
10211
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.4.1-next.1.tgz",
10212
- "integrity": "sha512-XbaRYpPKfdN8OZHR/lsH0Tc+X5cV6XVDs0DiF143Rfg5Q5nrCstmhN6oL9/ubB8HY0ZHg6LGCtzyn3gyPWZtHg==",
10210
+ "version": "3.5.0-next.8",
10211
+ "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.5.0-next.8.tgz",
10212
+ "integrity": "sha512-Dup4WP98ymIOp689mfb4Sc8u4mnG3gkzy0AbAIPjwNRiReD7B1DPUy6GM+bu7pero4YCd30BhkXDAqe/pvUORQ==",
10213
10213
  "requires": {
10214
- "@forge/cli-shared": "3.11.3-next.1",
10214
+ "@forge/cli-shared": "3.12.0-next.7",
10215
10215
  "@forge/egress": "1.2.1",
10216
- "@forge/manifest": "4.13.0-next.1",
10216
+ "@forge/manifest": "4.13.0-next.4",
10217
10217
  "@typescript-eslint/typescript-estree": "^5.40.0",
10218
10218
  "array.prototype.flatmap": "^1.2.3",
10219
10219
  "atlassian-openapi": "^1.0.17",
@@ -10222,9 +10222,9 @@
10222
10222
  }
10223
10223
  },
10224
10224
  "@forge/manifest": {
10225
- "version": "4.13.0-next.1",
10226
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.13.0-next.1.tgz",
10227
- "integrity": "sha512-dHyqW/ZP7G3UO7QBFC94lzQpzB3EuOQOjvoBEfwSjSGSGHcjNurWng7mwOVGBf15MsjX4enl98LvwEvSUVl1Ng==",
10225
+ "version": "4.13.0-next.4",
10226
+ "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.13.0-next.4.tgz",
10227
+ "integrity": "sha512-exEEnDghBObYeSt/Pus/fCMfPRAO5K8nujM4xVADhuLX5tuPVVBwW8btVeZlvLRD3Szv3FMyujtTLuf5V0FPsA==",
10228
10228
  "requires": {
10229
10229
  "@forge/util": "1.2.3",
10230
10230
  "ajv": "^6.12.6",
@@ -10237,9 +10237,9 @@
10237
10237
  }
10238
10238
  },
10239
10239
  "@forge/runtime": {
10240
- "version": "4.4.0-next.0",
10241
- "resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.4.0-next.0.tgz",
10242
- "integrity": "sha512-0r5pcU7gw9D2h/FxYejxLGgqUAAfbyRWc8DkZVVY3TratmXwXeoj7M/zxmuYdXcthe7CZKBdhkdOMQFiASXS/Q==",
10240
+ "version": "4.4.0-next.3",
10241
+ "resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.4.0-next.3.tgz",
10242
+ "integrity": "sha512-UT3zwTEifJLg6+1TkTz0Qyprt7PS/T0eHIXS0w019rBryET5W1A4UY4EpIPqHIt2Sk/olkUNXxUzxMohoAmfuw==",
10243
10243
  "requires": {
10244
10244
  "@forge/util": "1.2.3",
10245
10245
  "fp-ts": "^2.0.1",
@@ -10258,14 +10258,14 @@
10258
10258
  "integrity": "sha512-/w9UaTMmvK7DSnGpg+bbLPUF8GDPfrShNPZi7ArgwexihK1j/J7EVvH2j1VEjXGdSH+FuRcqjThfCZoGytFJHw=="
10259
10259
  },
10260
10260
  "@forge/tunnel": {
10261
- "version": "3.5.0-next.3",
10262
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.5.0-next.3.tgz",
10263
- "integrity": "sha512-tWGAv1IP6j02g8aoK3SHqmOjDP7jZm/bhUbRV/AOrTINPEEFJu+x3Gnubqf6TFw5S63nucnAckXZJxzUqvLn2Q==",
10261
+ "version": "3.5.0-next.15",
10262
+ "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.5.0-next.15.tgz",
10263
+ "integrity": "sha512-nX0mGExkI4kBW9ImO0sA3PQNt1+CGszzhNNSWXP8HBXkjipynRHFkwJ3qDMN720/leEG5BcZt90fZhBpzTBAKw==",
10264
10264
  "requires": {
10265
- "@forge/bundler": "4.8.0-next.2",
10266
- "@forge/cli-shared": "3.11.3-next.1",
10265
+ "@forge/bundler": "4.8.0-next.14",
10266
+ "@forge/cli-shared": "3.12.0-next.7",
10267
10267
  "@forge/csp": "2.1.3",
10268
- "@forge/runtime": "4.4.0-next.0",
10268
+ "@forge/runtime": "4.4.0-next.3",
10269
10269
  "express": "^4.17.1",
10270
10270
  "express-intercept": "^0.8.10",
10271
10271
  "http-proxy-middleware": "^1.0.6",
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EAEV,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EAAE;IAItC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMpC,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGpC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMvC,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAP1B,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,mBAAmB,EACzC,oBAAoB,EAAE,oBAAoB,EAC1C,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,0BAA0B,EAAE,0BAA0B;IAGzE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;YAGX,wBAAwB;YAwBxB,mBAAmB;YAiBnB,oBAAoB;IAYrB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAsD3F"}
1
+ {"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EAEV,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EAAE;IAItC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMpC,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGpC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMvC,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAP1B,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,mBAAmB,EACzC,oBAAoB,EAAE,oBAAoB,EAC1C,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,0BAA0B,EAAE,0BAA0B;IAGzE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;YAGX,wBAAwB;YAwBxB,mBAAmB;YAiBnB,oBAAoB;IAYrB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAuD3F"}
@@ -122,6 +122,7 @@ class DeployController {
122
122
  hasProdInstallations = !prodInstallations.installations.length;
123
123
  }
124
124
  catch (err) {
125
+ this.deployView.displayListAppInstallationsError();
125
126
  if (verify) {
126
127
  throw err;
127
128
  }
@@ -1,7 +1,7 @@
1
1
  import { CLIDetails, FeatureFlagReader, Logger } from '@forge/cli-shared';
2
2
  interface FeatureFlagValues {
3
- muaoEnabled: boolean | null;
4
- concurrentDevEnabled: boolean | null;
3
+ muaoEnabled: boolean;
4
+ concurrentDevEnabled: boolean;
5
5
  }
6
6
  export declare type PrerequisitesCheckResult = FeatureFlagValues;
7
7
  export declare class PrerequisitesController {
@@ -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,UAAU,iBAAiB;IACzB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAED,oBAAY,wBAAwB,GAAG,iBAAiB,CAAC;AACzD,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,wBAAwB,CAAC;YAOlC,oBAAoB;YAWpB,gBAAgB;YAgBhB,kBAAkB;YAOlB,gBAAgB;YAIhB,iCAAiC;CAGhD"}
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,UAAU,iBAAiB;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,oBAAY,wBAAwB,GAAG,iBAAiB,CAAC;AACzD,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,wBAAwB,CAAC;YAUlC,oBAAoB;YAYpB,gBAAgB;YAgBhB,kBAAkB;YAOlB,gBAAgB;YAIhB,iCAAiC;CAGhD"}
@@ -12,13 +12,18 @@ class PrerequisitesController {
12
12
  this.cliDetails = cliDetails;
13
13
  }
14
14
  async check() {
15
- await this.checkNodeVersion();
16
- await this.checkCustomWarning();
17
- return await this.evaluateFeatureFlags();
15
+ const [, , featureFlags] = await Promise.all([
16
+ this.checkNodeVersion(),
17
+ this.checkCustomWarning(),
18
+ this.evaluateFeatureFlags()
19
+ ]);
20
+ return featureFlags;
18
21
  }
19
22
  async evaluateFeatureFlags() {
20
- const muaoEnabled = (await this.checkMUAOEnabled()) || process.env.ENABLE_MUAO === 'true';
21
- const concurrentDevEnabled = (await this.checkConcurrentDevelopmentEnabled()) || process.env.ENABLE_CONCURRENT_DEVELOPMENT === 'true';
23
+ const [muaoEnabled, concurrentDevEnabled] = await Promise.all([
24
+ this.checkMUAOEnabled(),
25
+ this.checkConcurrentDevelopmentEnabled()
26
+ ]);
22
27
  return {
23
28
  muaoEnabled,
24
29
  concurrentDevEnabled
@@ -40,10 +45,10 @@ class PrerequisitesController {
40
45
  }
41
46
  }
42
47
  async checkMUAOEnabled() {
43
- return this.featureFlags.readFlag('forge-cli-enable-muao');
48
+ return this.featureFlags.isMUAOEnabled();
44
49
  }
45
50
  async checkConcurrentDevelopmentEnabled() {
46
- return this.featureFlags.readFlag('forge-cli-enable-concurrent-development');
51
+ return this.featureFlags.isConcurrentDevEnabled();
47
52
  }
48
53
  }
49
54
  exports.PrerequisitesController = PrerequisitesController;
@@ -1,19 +1,20 @@
1
1
  import { CachedConfigService } from '../../service/cached-config-service';
2
2
  import { SettingsView } from '../view/settings-view';
3
- export declare const ALLOWED_SETTINGS: readonly ["usage-analytics"];
4
- declare type AllowedSettingType = typeof ALLOWED_SETTINGS[number];
5
- declare type SettingGetter = () => boolean | undefined;
6
- declare type SettingSetter = (val: boolean) => void;
3
+ import { AppConfigProvider, FeatureFlagService } from '@forge/cli-shared';
7
4
  export declare class SettingsController {
8
5
  private readonly settingsView;
9
6
  private readonly cachedConfigService;
10
- constructor(settingsView: SettingsView, cachedConfigService: CachedConfigService);
11
- SETTINGS_MAP: {
12
- [key in AllowedSettingType]: [string, SettingGetter, SettingSetter];
13
- };
14
- showSettings(json?: boolean): void;
7
+ private readonly getAppConfig;
8
+ private readonly featureFlagService;
9
+ constructor(settingsView: SettingsView, cachedConfigService: CachedConfigService, getAppConfig: AppConfigProvider, featureFlagService: FeatureFlagService);
10
+ private SETTINGS_MAP;
11
+ private getAppId;
12
+ private validateAppManifest;
15
13
  private parseBoolean;
16
- setSettings(preference: unknown, value: string): void;
14
+ private isAllowedSetting;
15
+ private getSetting;
16
+ getPublicSettings(): Promise<string[]>;
17
+ showSettings(json?: boolean): Promise<void>;
18
+ setSetting(preference: string, value: string): Promise<void>;
17
19
  }
18
- export {};
19
20
  //# sourceMappingURL=settings-controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/settings-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,eAAO,MAAM,gBAAgB,8BAA+B,CAAC;AAE7D,aAAK,kBAAkB,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAM1D,aAAK,aAAa,GAAG,MAAM,OAAO,GAAG,SAAS,CAAC;AAC/C,aAAK,aAAa,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;AAE5C,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAAgB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAhE,YAAY,EAAE,YAAY,EAAmB,mBAAmB,EAAE,mBAAmB;IAElH,YAAY,EAAE;SAAG,GAAG,IAAI,kBAAkB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC;KAAE,CAMnF;IAEK,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO;IAQlC,OAAO,CAAC,YAAY;IAWb,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;CAYtD"}
1
+ {"version":3,"file":"settings-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/settings-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAiB3B,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAHlB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,iBAAiB,EAC/B,kBAAkB,EAAE,kBAAkB;IAGzD,OAAO,CAAC,YAAY,CA6BlB;YAEY,QAAQ;YAKR,mBAAmB;IAKjC,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;YAIV,UAAU;IAWX,iBAAiB;IAWjB,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO;IAY3B,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAY1D"}
@@ -1,29 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SettingsController = exports.ALLOWED_SETTINGS = void 0;
3
+ exports.SettingsController = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
- exports.ALLOWED_SETTINGS = ['usage-analytics'];
6
- const isAllowedSetting = (arg) => {
7
- return exports.ALLOWED_SETTINGS.includes(arg);
8
- };
5
+ const manifest_1 = require("@forge/manifest");
6
+ const environment_1 = require("../environment");
7
+ const ALLOWED_SETTINGS = ['usage-analytics', 'default-environment'];
9
8
  class SettingsController {
10
- constructor(settingsView, cachedConfigService) {
9
+ constructor(settingsView, cachedConfigService, getAppConfig, featureFlagService) {
11
10
  this.settingsView = settingsView;
12
11
  this.cachedConfigService = cachedConfigService;
12
+ this.getAppConfig = getAppConfig;
13
+ this.featureFlagService = featureFlagService;
13
14
  this.SETTINGS_MAP = {
14
- 'usage-analytics': [
15
- cli_shared_1.Text.settings.usageAnalytics.description,
16
- () => this.cachedConfigService.getAnalyticsPreferences(),
17
- (value) => this.cachedConfigService.setAnalyticsPreferences(value)
18
- ]
15
+ 'usage-analytics': {
16
+ description: cli_shared_1.Text.settings.usageAnalytics.description,
17
+ get: () => this.cachedConfigService.getAnalyticsPreferences(),
18
+ set: (value) => {
19
+ const parsedValue = this.parseBoolean(value);
20
+ this.cachedConfigService.setAnalyticsPreferences(parsedValue);
21
+ },
22
+ display: (value) => value,
23
+ isAvailable: () => true
24
+ },
25
+ 'default-environment': {
26
+ description: cli_shared_1.Text.settings.defaultEnvironment.description,
27
+ get: async () => {
28
+ const appId = await this.getAppId();
29
+ const environment = this.cachedConfigService.getDefaultEnvironment(appId);
30
+ return environment ? (0, cli_shared_1.environmentToOption)(environment) : environment;
31
+ },
32
+ set: async (value) => {
33
+ (0, environment_1.validateDevEnvironment)(value);
34
+ const environment = (0, environment_1.checkEnvironmentOption)(value);
35
+ const appId = await this.getAppId();
36
+ this.cachedConfigService.setDefaultEnvironment(appId, environment);
37
+ },
38
+ display: (value) => cli_shared_1.Text.env.displayEnvironment(value, cli_shared_1.AppEnvironmentType.Development, cli_shared_1.environmentToOption),
39
+ isAvailable: async () => (await this.validateAppManifest()).success && (await this.featureFlagService.isConcurrentDevEnabled())
40
+ }
19
41
  };
20
42
  }
21
- showSettings(json) {
22
- const settings = exports.ALLOWED_SETTINGS.map((setting) => {
23
- const [desc, getSetting] = this.SETTINGS_MAP[setting];
24
- return [setting, desc, getSetting()];
25
- });
26
- this.settingsView.showSettings(settings, json);
43
+ async getAppId() {
44
+ const { id } = await this.getAppConfig();
45
+ return id;
46
+ }
47
+ async validateAppManifest() {
48
+ const fileValidator = new manifest_1.FileValidator();
49
+ return fileValidator.validate(manifest_1.MANIFEST_FILE);
27
50
  }
28
51
  parseBoolean(value) {
29
52
  switch (value) {
@@ -35,14 +58,47 @@ class SettingsController {
35
58
  throw new cli_shared_1.ValidationError(cli_shared_1.Text.settings.set.invalidValue);
36
59
  }
37
60
  }
38
- setSettings(preference, value) {
39
- if (!isAllowedSetting(preference)) {
40
- throw new cli_shared_1.ValidationError(cli_shared_1.Text.settings.set.invalidSetting(exports.ALLOWED_SETTINGS));
61
+ isAllowedSetting(preference) {
62
+ return ALLOWED_SETTINGS.includes(preference);
63
+ }
64
+ async getSetting(preference) {
65
+ if (!this.isAllowedSetting(preference)) {
66
+ return null;
67
+ }
68
+ const publicSettings = await this.getPublicSettings();
69
+ if (publicSettings.includes(preference)) {
70
+ return this.SETTINGS_MAP[preference];
71
+ }
72
+ return null;
73
+ }
74
+ async getPublicSettings() {
75
+ const settings = [];
76
+ for (const setting of ALLOWED_SETTINGS) {
77
+ if (await this.SETTINGS_MAP[setting].isAvailable()) {
78
+ settings.push(setting);
79
+ }
80
+ }
81
+ return settings;
82
+ }
83
+ async showSettings(json) {
84
+ const settings = [];
85
+ for (const settingName of ALLOWED_SETTINGS) {
86
+ const setting = await this.getSetting(settingName);
87
+ if (setting !== null) {
88
+ settings.push([settingName, setting.description, await setting.get()]);
89
+ }
90
+ }
91
+ this.settingsView.showSettings(settings, json);
92
+ }
93
+ async setSetting(preference, value) {
94
+ const setting = await this.getSetting(preference);
95
+ if (setting === null) {
96
+ const publicSettings = await this.getPublicSettings();
97
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.settings.set.invalidSetting(publicSettings));
41
98
  }
42
- const parsedValue = this.parseBoolean(value);
43
- const [, , setSetting] = this.SETTINGS_MAP[preference];
44
- setSetting(parsedValue);
45
- this.settingsView.setSuccess(preference, value);
99
+ await setting.set(value);
100
+ const displayValue = setting.display(value);
101
+ this.settingsView.setSuccess(preference, displayValue);
46
102
  }
47
103
  }
48
104
  exports.SettingsController = SettingsController;
@@ -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,EAUlB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAEnB,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,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,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;AAIzE,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;AAWlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqTvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3D,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,EAUlB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAEnB,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,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,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;AAIzE,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;AAWlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4TvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
@@ -82,17 +82,17 @@ const getDependencies = async (cliDetails) => {
82
82
  const appConfigReader = (0, cli_shared_1.configFileReaderForSection)(cli_shared_1.appConfigKey, cli_shared_1.appConfigShape, configFile);
83
83
  const assertiveAppConfigReader = (0, cli_shared_1.assertiveAppConfigProvider)(appConfigReader);
84
84
  const appConfigWriter = (0, cli_shared_1.configFileWriterForSection)(cli_shared_1.appConfigKey, cli_shared_1.appConfigShape, configFile);
85
+ const credentialStore = (0, cli_shared_1.getCredentialStore)(ui);
86
+ const featureFlagService = new cli_shared_1.FeatureFlagService(ui, cliDetails, credentialStore, appConfigReader);
85
87
  const settingsView = new settings_view_1.SettingsView(ui);
86
- const settingsController = new settings_controller_1.SettingsController(settingsView, cachedConfigService);
88
+ const settingsController = new settings_controller_1.SettingsController(settingsView, cachedConfigService, assertiveAppConfigReader, featureFlagService);
87
89
  const liteLintView = new lite_lint_view_1.LiteLintView(ui);
88
90
  const liteLintService = new lite_lint_service_1.LiteLintService();
89
91
  const analyticsSettingsView = new analytics_settings_view_1.AnalyticsSettingsView(ui);
90
92
  const preCommandController = new pre_command_controller_1.PreCommandController(liteLintService, liteLintView, configFile, cachedConfigService, analyticsSettingsView, settingsView);
91
93
  const graphqlGateway = (0, cli_shared_1.getGraphqlGateway)();
92
- const credentialStore = (0, cli_shared_1.getCredentialStore)(ui);
93
94
  const authenticator = new cli_shared_1.PersonalTokenAuthenticator(credentialStore);
94
95
  cmd = command_1.Command.program(ui, analyticsClientReporter, preCommandController, cliDetails, credentialStore);
95
- const featureFlagService = new cli_shared_1.FeatureFlagService(ui, cliDetails, credentialStore, appConfigReader);
96
96
  await (0, sentry_1.initialiseSentry)(cachedConfigService);
97
97
  const createGraphQLClient = (auth) => {
98
98
  const minimalGraphQLRunner = new cli_shared_1.MinimalGraphQLRunner(auth, graphqlGateway, cliDetails);
@@ -1,3 +1,4 @@
1
1
  export declare const validateEnvironmentOption: (userValue: string) => string;
2
+ export declare const validateDevEnvironment: (userValue: string) => string;
2
3
  export declare const checkEnvironmentOption: (userValue: string) => string;
3
4
  //# sourceMappingURL=environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/command-line/environment.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,yBAAyB,cAAe,MAAM,KAAG,MAK7D,CAAC;AAEF,eAAO,MAAM,sBAAsB,cAAe,MAAM,KAAG,MAE1D,CAAC"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/command-line/environment.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,yBAAyB,cAAe,MAAM,KAAG,MAK7D,CAAC;AAEF,eAAO,MAAM,sBAAsB,cAAe,MAAM,KAAG,MAK1D,CAAC;AAEF,eAAO,MAAM,sBAAsB,cAAe,MAAM,KAAG,MAE1D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkEnvironmentOption = exports.validateEnvironmentOption = void 0;
3
+ exports.checkEnvironmentOption = exports.validateDevEnvironment = exports.validateEnvironmentOption = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
5
  const ENVIRONMENT_KEY_PATTERN = /^[a-zA-Z0-9-_]+$/;
6
6
  const validateEnvironmentOption = (userValue) => {
@@ -10,6 +10,13 @@ const validateEnvironmentOption = (userValue) => {
10
10
  return userValue;
11
11
  };
12
12
  exports.validateEnvironmentOption = validateEnvironmentOption;
13
+ const validateDevEnvironment = (userValue) => {
14
+ if ([cli_shared_1.STAGING_ENVIRONMENT_KEY, cli_shared_1.PRODUCTION_ENVIRONMENT_KEY].includes(userValue)) {
15
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.env.developmentOnly(userValue, cli_shared_1.environmentToOption));
16
+ }
17
+ return userValue;
18
+ };
19
+ exports.validateDevEnvironment = validateDevEnvironment;
13
20
  const checkEnvironmentOption = (userValue) => {
14
21
  return (0, cli_shared_1.optionToEnvironment)((0, exports.validateEnvironmentOption)(userValue));
15
22
  };
@@ -1,4 +1,4 @@
1
1
  import { Dependencies } from './dependency-injection';
2
- export declare function registerCommands(deps: Dependencies): void;
2
+ export declare function registerCommands(deps: Dependencies): Promise<void>;
3
3
  export declare const main: () => Promise<void>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command-line/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAoBvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAelD;AAQD,eAAO,MAAM,IAAI,QAAa,QAAQ,IAAI,CAiBzC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command-line/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAoBvE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,YAAY,iBAexD;AAQD,eAAO,MAAM,IAAI,QAAa,QAAQ,IAAI,CAmBzC,CAAC"}
@@ -20,7 +20,7 @@ const register_providers_commands_1 = require("./register-providers-commands");
20
20
  const register_contributors_commands_1 = require("./register-contributors-commands");
21
21
  const register_environment_commands_1 = require("./register-environment-commands");
22
22
  const register_storage_commands_1 = require("./register-storage-commands");
23
- function registerCommands(deps) {
23
+ async function registerCommands(deps) {
24
24
  (0, register_autocomplete_commands_1.registerCommands)(deps);
25
25
  (0, register_authentication_command_1.registerCommands)(deps);
26
26
  (0, register_app_commands_1.registerCommands)(deps);
@@ -32,7 +32,7 @@ function registerCommands(deps) {
32
32
  (0, register_tunnel_commands_1.registerCommands)(deps);
33
33
  (0, register_webtrigger_commands_1.registerCommands)(deps);
34
34
  (0, register_feedback_commands_1.registerCommands)(deps);
35
- (0, register_settings_commands_1.registerCommands)(deps);
35
+ await (0, register_settings_commands_1.registerCommands)(deps);
36
36
  (0, register_providers_commands_1.registerCommands)(deps);
37
37
  (0, register_storage_commands_1.registerCommands)(deps);
38
38
  }
@@ -45,13 +45,15 @@ const registerEvents = ({ ui }) => {
45
45
  const main = async () => {
46
46
  const cliDetails = (0, version_info_1.getCLIDetails)();
47
47
  const deps = await (0, dependency_injection_1.getDependencies)(cliDetails);
48
- registerCommands(deps);
49
48
  registerEvents(deps);
50
- const { muaoEnabled, concurrentDevEnabled } = await deps.controllers.prerequisitesController.check();
51
- if (muaoEnabled) {
49
+ const [, featureFlags] = await Promise.all([
50
+ registerCommands(deps),
51
+ deps.controllers.prerequisitesController.check()
52
+ ]);
53
+ if (featureFlags.muaoEnabled) {
52
54
  (0, register_contributors_commands_1.registerCommands)(deps);
53
55
  }
54
- if (concurrentDevEnabled) {
56
+ if (featureFlags.concurrentDevEnabled) {
55
57
  (0, register_environment_commands_1.registerCommands)(deps);
56
58
  }
57
59
  await deps.cmd.parse(process.argv);
@@ -1,10 +1,10 @@
1
- import { CreateAppCommandResult, CommandLineUI, CreateAppCommand } from '@forge/cli-shared';
1
+ import { CreateAppCommandResult, CommandLineUI, CreateAppCommand, FeatureFlagService } from '@forge/cli-shared';
2
2
  import { Dependencies } from './dependency-injection';
3
3
  export declare function directoryNameFromAppName(appName?: string): string | undefined;
4
4
  export interface CreateCommandHandlerOptions {
5
5
  template?: string;
6
6
  directory?: string;
7
7
  }
8
- export declare function createCommandHandler(ui: CommandLineUI, createAppCommand: CreateAppCommand, name: string, { template, directory }: CreateCommandHandlerOptions): Promise<CreateAppCommandResult>;
8
+ export declare function createCommandHandler(ui: CommandLineUI, createAppCommand: CreateAppCommand, featureFlagService: FeatureFlagService, name: string, { template, directory }: CreateCommandHandlerOptions): Promise<CreateAppCommandResult>;
9
9
  export declare function registerCommands(deps: Dependencies): void;
10
10
  //# 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,EAEjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAqBtD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY7E;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,CAwFjC;AA0CD,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,EAEhB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAsBtD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY7E;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,CAwGjC;AA+CD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAGlD"}
@@ -12,6 +12,7 @@ var TemplateCategory;
12
12
  TemplateCategory["CUSTOM_UI"] = "Custom UI";
13
13
  TemplateCategory["BACKEND"] = "Triggers and Validators";
14
14
  TemplateCategory["UI_KIT"] = "UI kit";
15
+ TemplateCategory["UI_KIT_2"] = "UI kit 2 (Preview)";
15
16
  })(TemplateCategory || (TemplateCategory = {}));
16
17
  function ensureDirectoryDoesntExist(directory) {
17
18
  if (fs_1.default.existsSync(directory)) {
@@ -33,7 +34,7 @@ function directoryNameFromAppName(appName) {
33
34
  return allDashes ? undefined : normalized;
34
35
  }
35
36
  exports.directoryNameFromAppName = directoryNameFromAppName;
36
- async function createCommandHandler(ui, createAppCommand, name, { template, directory }) {
37
+ async function createCommandHandler(ui, createAppCommand, featureFlagService, name, { template, directory }) {
37
38
  if (directory) {
38
39
  ensureDirectoryDoesntExist(directory);
39
40
  ui.info(cli_shared_2.Text.create.intro(directory));
@@ -61,25 +62,34 @@ async function createCommandHandler(ui, createAppCommand, name, { template, dire
61
62
  if (!template) {
62
63
  ui.info(cli_shared_2.Text.create.overviewTemplates);
63
64
  const templates = await ui.displayTemporaryMessage(() => createAppCommand.getAvailableTemplates(), cli_shared_2.Text.create.waitTemplates);
64
- const type = await ui.promptForList(cli_shared_2.Text.create.promptCategory, Object.values(TemplateCategory));
65
+ const enableCSUIK = await featureFlagService.readFlag('forge-cli-enable-csuik');
66
+ const type = await ui.promptForList(cli_shared_2.Text.create.promptCategory, Object.values(TemplateCategory).filter((category) => enableCSUIK || category !== TemplateCategory.UI_KIT_2));
65
67
  const filteredTemplates = type === TemplateCategory.SHOW_ALL
66
68
  ? templates
67
69
  : templates
68
70
  .filter((name) => {
69
71
  switch (type) {
70
72
  case TemplateCategory.BACKEND:
71
- return !name.includes('ui-kit') && !name.includes('custom-ui') && name !== 'blank';
73
+ return (!name.includes('ui-kit') &&
74
+ !name.includes('csuik') &&
75
+ !name.includes('custom-ui') &&
76
+ name !== 'blank');
72
77
  case TemplateCategory.CUSTOM_UI:
73
78
  return name.includes('custom-ui');
74
79
  case TemplateCategory.UI_KIT:
75
80
  return name.includes('ui-kit');
81
+ case TemplateCategory.UI_KIT_2:
82
+ return name.includes('csuik');
76
83
  }
77
84
  })
78
- .map((name) => name.replace('-ui-kit', '').replace('-custom-ui', ''));
85
+ .map((name) => name.replace('-ui-kit', '').replace('-custom-ui', '').replace('-csuik', ''));
79
86
  template = await ui.promptForList(cli_shared_2.Text.create.promptTemplate, filteredTemplates);
80
87
  if (type === TemplateCategory.UI_KIT) {
81
88
  template = `${template}-ui-kit`;
82
89
  }
90
+ if (type === TemplateCategory.UI_KIT_2) {
91
+ template = `${template}-csuik`;
92
+ }
83
93
  if (type === TemplateCategory.CUSTOM_UI) {
84
94
  template = `${template}-custom-ui`;
85
95
  }
@@ -96,13 +106,13 @@ async function createCommandHandler(ui, createAppCommand, name, { template, dire
96
106
  return result;
97
107
  }
98
108
  exports.createCommandHandler = createCommandHandler;
99
- function registerCreateCommands({ cmd, ui, commands: { createAppCommand } }) {
109
+ function registerCreateCommands({ cmd, ui, commands: { createAppCommand }, services: { featureFlagService } }) {
100
110
  cmd
101
111
  .command('create [name]')
102
112
  .description(cli_shared_2.Text.create.cmd.desc)
103
113
  .option('-t, --template <template name>', cli_shared_2.Text.create.optionTemplate)
104
114
  .option('-d, --directory <directory name>', cli_shared_2.Text.create.optionDirectory)
105
- .action((name, options) => createCommandHandler(ui, createAppCommand, name, options));
115
+ .action((name, options) => createCommandHandler(ui, createAppCommand, featureFlagService, name, options));
106
116
  }
107
117
  function registerRegisterCommand({ cmd, ui, commands: { registerAppCommand } }) {
108
118
  cmd
@@ -1,3 +1,3 @@
1
1
  import { Dependencies } from './dependency-injection';
2
- export declare const registerCommands: ({ cmd, ...deps }: Dependencies) => void;
2
+ export declare const registerCommands: ({ cmd, ...deps }: Dependencies) => Promise<void>;
3
3
  //# sourceMappingURL=register-settings-commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-settings-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-settings-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAgCtD,eAAO,MAAM,gBAAgB,qBAAsB,YAAY,SAK9D,CAAC"}
1
+ {"version":3,"file":"register-settings-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-settings-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAiCtD,eAAO,MAAM,gBAAgB,qBAA4B,YAAY,kBAKpE,CAAC"}
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerCommands = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const cli_shared_1 = require("@forge/cli-shared");
6
- const settings_controller_1 = require("./controller/settings-controller");
7
6
  const COMMAND_NAME = 'settings';
8
7
  const SHOW_COMMAND_NAME = 'list';
9
- const SET_COMMAND_NAME = 'set <setting> <boolean>';
8
+ const SET_COMMAND_NAME = 'set <setting> <boolean|string>';
10
9
  const registerSettingsList = ({ cmd, controllers: { settingsController } }) => {
11
10
  cmd
12
11
  .command(SHOW_COMMAND_NAME)
@@ -15,25 +14,26 @@ const registerSettingsList = ({ cmd, controllers: { settingsController } }) => {
15
14
  .requireNoAnalyticsConsent()
16
15
  .jsonOption()
17
16
  .action(async ({ json }) => {
18
- settingsController.showSettings(json);
17
+ await settingsController.showSettings(json);
19
18
  return { analytics: {} };
20
19
  });
21
20
  };
22
- const registerSettingsSet = ({ cmd, controllers: { settingsController } }) => {
21
+ const registerSettingsSet = async ({ cmd, controllers: { settingsController } }) => {
22
+ const allowedSettings = await settingsController.getPublicSettings();
23
23
  cmd
24
24
  .command(SET_COMMAND_NAME)
25
- .description(cli_shared_1.Text.settings.set.description(settings_controller_1.ALLOWED_SETTINGS))
25
+ .description(cli_shared_1.Text.settings.set.description(allowedSettings))
26
26
  .requireNoAuthentication()
27
27
  .requireNoAnalyticsConsent()
28
28
  .action(async (preference, value) => {
29
- settingsController.setSettings(preference, value);
29
+ await settingsController.setSetting(preference, value);
30
30
  return { analytics: {} };
31
31
  });
32
32
  };
33
- const registerCommands = (_a) => {
33
+ const registerCommands = async (_a) => {
34
34
  var { cmd } = _a, deps = tslib_1.__rest(_a, ["cmd"]);
35
35
  const preferences = cmd.command(COMMAND_NAME).requireNoAuthentication().description(cli_shared_1.Text.settings.description);
36
36
  registerSettingsList(Object.assign({ cmd: preferences }, deps));
37
- registerSettingsSet(Object.assign({ cmd: preferences }, deps));
37
+ await registerSettingsSet(Object.assign({ cmd: preferences }, deps));
38
38
  };
39
39
  exports.registerCommands = registerCommands;
@@ -6,6 +6,7 @@ export declare class DeployView {
6
6
  constructor(ui: UI);
7
7
  getLogger(): UI;
8
8
  displayStart(environment: string): void;
9
+ displayListAppInstallationsError(): void;
9
10
  displayLintRunning(): void;
10
11
  displayOutdatedInstallationsMessage(): void;
11
12
  displayIndexingCommand(environment: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/deploy-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAA2D,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvH,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAE5B,SAAS,IAAI,EAAE;IAIf,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIvC,kBAAkB,IAAI,IAAI;IAI1B,mCAAmC,IAAI,IAAI;IAK3C,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKjD,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAKlD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,qBAAqB,IAAI,IAAI;IAI7B,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAInG,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIzD,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAI3E,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,wBAAwB,CACnC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,qBAAqB,EACxE,wBAAwB,EAAE,OAAO,EACjC,cAAc,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC9C,OAAO,CAAC,gBAAgB,CAAC;CAY7B"}
1
+ {"version":3,"file":"deploy-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/deploy-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAA2D,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvH,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAE5B,SAAS,IAAI,EAAE;IAIf,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIvC,gCAAgC,IAAI,IAAI;IAIxC,kBAAkB,IAAI,IAAI;IAI1B,mCAAmC,IAAI,IAAI;IAK3C,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKjD,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAKlD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,qBAAqB,IAAI,IAAI;IAI7B,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAInG,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIzD,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAI3E,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,wBAAwB,CACnC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,qBAAqB,EACxE,wBAAwB,EAAE,OAAO,EACjC,cAAc,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC9C,OAAO,CAAC,gBAAgB,CAAC;CAY7B"}
@@ -14,6 +14,9 @@ class DeployView {
14
14
  displayStart(environment) {
15
15
  this.ui.info(cli_shared_1.Text.deploy.cmd.start1(environment, cli_shared_1.environmentToOption));
16
16
  }
17
+ displayListAppInstallationsError() {
18
+ this.ui.info(cli_shared_1.Text.deploy.taskListInstallation.listInstallationError);
19
+ }
17
20
  displayLintRunning() {
18
21
  this.ui.info(cli_shared_1.Text.lint.running);
19
22
  }
@@ -1,5 +1,5 @@
1
1
  import { UI } from '@forge/cli-shared';
2
- declare type PreferenceValue = boolean | undefined;
2
+ declare type PreferenceValue = string | boolean | undefined;
3
3
  export declare class SettingsView {
4
4
  private readonly ui;
5
5
  constructor(ui: UI);
@@ -1 +1 @@
1
- {"version":3,"file":"settings-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/settings-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAE7C,aAAK,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAE5B,YAAY,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO;IAiB7E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAIjD"}
1
+ {"version":3,"file":"settings-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/settings-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAE7C,aAAK,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpD,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAE5B,YAAY,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO;IAiB7E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAIjD"}
@@ -4,5 +4,8 @@ export declare class CachedConfigService {
4
4
  constructor(cachedConf: CachedConf);
5
5
  getAnalyticsPreferences(): boolean | undefined;
6
6
  setAnalyticsPreferences(preference: boolean): void;
7
+ private getDefaultEnvironments;
8
+ getDefaultEnvironment(appId: string): string | undefined;
9
+ setDefaultEnvironment(appId: string, preference: string): void;
7
10
  }
8
11
  //# sourceMappingURL=cached-config-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cached-config-service.d.ts","sourceRoot":"","sources":["../../src/service/cached-config-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE5C,uBAAuB,IAAI,OAAO,GAAG,SAAS;IAO9C,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAG1D"}
1
+ {"version":3,"file":"cached-config-service.d.ts","sourceRoot":"","sources":["../../src/service/cached-config-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/C,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE5C,uBAAuB,IAAI,OAAO,GAAG,SAAS;IAO9C,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAIzD,OAAO,CAAC,sBAAsB;IAIvB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMxD,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAKtE"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CachedConfigService = void 0;
4
4
  const ANALYTICS_PREFERENCES_KEY = 'analytics-preferences';
5
+ const DEFAULT_ENVIRONMENT_KEY = 'default-environment';
5
6
  class CachedConfigService {
6
7
  constructor(cachedConf) {
7
8
  this.cachedConf = cachedConf;
@@ -15,5 +16,17 @@ class CachedConfigService {
15
16
  setAnalyticsPreferences(preference) {
16
17
  this.cachedConf.set(ANALYTICS_PREFERENCES_KEY, preference);
17
18
  }
19
+ getDefaultEnvironments() {
20
+ return this.cachedConf.get(DEFAULT_ENVIRONMENT_KEY) || {};
21
+ }
22
+ getDefaultEnvironment(appId) {
23
+ const defaultEnvironments = this.getDefaultEnvironments();
24
+ return defaultEnvironments[appId];
25
+ }
26
+ setDefaultEnvironment(appId, preference) {
27
+ const defaultEnvironments = this.getDefaultEnvironments();
28
+ defaultEnvironments[appId] = preference;
29
+ this.cachedConf.set(DEFAULT_ENVIRONMENT_KEY, defaultEnvironments);
30
+ }
18
31
  }
19
32
  exports.CachedConfigService = CachedConfigService;
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"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"}
@@ -159,7 +159,9 @@ class TunnelServiceBase {
159
159
  getVolumeOptions() {
160
160
  const options = [`-v=${CUR_WORK_APP_DIR || process.cwd()}:/app:cached`];
161
161
  if (process.env.FORGE_DEV_DOCKER_TUNNEL) {
162
- options.push(`-v=${(0, path_1.join)(__dirname, '../../../..')}:/monorepo:cached`);
162
+ const monorepoRoot = (0, path_1.join)(__dirname, '../../../..');
163
+ options.push(`-v=${monorepoRoot}:/monorepo:cached`);
164
+ options.push(`-v=${monorepoRoot}/node_modules/ngrok/docker-bin:/monorepo/node_modules/ngrok/bin`);
163
165
  }
164
166
  if (process.env.FORGE_TUNNEL_MOUNT_DIRECTORIES) {
165
167
  const mounts = process.env.FORGE_TUNNEL_MOUNT_DIRECTORIES.split(',');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "6.10.1-next.3",
3
+ "version": "6.11.0-next.16",
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 \"process.exitCode = fs.existsSync('./out/bin/postinstall.js')\" || node ./out/bin/postinstall.js"
19
19
  },
20
20
  "dependencies": {
21
- "@forge/bundler": "4.8.0-next.2",
22
- "@forge/cli-shared": "3.11.3-next.1",
21
+ "@forge/bundler": "4.8.0-next.14",
22
+ "@forge/cli-shared": "3.12.0-next.7",
23
23
  "@forge/egress": "1.2.1",
24
- "@forge/lint": "3.4.1-next.1",
25
- "@forge/manifest": "4.13.0-next.1",
26
- "@forge/runtime": "4.4.0-next.0",
27
- "@forge/tunnel": "3.5.0-next.3",
24
+ "@forge/lint": "3.5.0-next.8",
25
+ "@forge/manifest": "4.13.0-next.4",
26
+ "@forge/runtime": "4.4.0-next.3",
27
+ "@forge/tunnel": "3.5.0-next.15",
28
28
  "@forge/util": "1.2.3",
29
29
  "@sentry/node": "^7.29.0",
30
30
  "ajv": "^6.12.6",