@forge/cli 6.11.1-next.0 → 6.11.1-next.0-experimental-5ec0ed7

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 (46) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/npm-shrinkwrap.json +57 -56
  3. package/out/command-line/command.d.ts +3 -1
  4. package/out/command-line/command.d.ts.map +1 -1
  5. package/out/command-line/command.js +10 -8
  6. package/out/command-line/controller/default-environment-controller.d.ts +25 -0
  7. package/out/command-line/controller/default-environment-controller.d.ts.map +1 -0
  8. package/out/command-line/controller/default-environment-controller.js +108 -0
  9. package/out/command-line/controller/deploy-controller.d.ts +7 -2
  10. package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
  11. package/out/command-line/controller/deploy-controller.js +37 -6
  12. package/out/command-line/controller/install-controller.d.ts.map +1 -1
  13. package/out/command-line/controller/install-controller.js +5 -5
  14. package/out/command-line/controller/settings-controller.d.ts +1 -0
  15. package/out/command-line/controller/settings-controller.d.ts.map +1 -1
  16. package/out/command-line/controller/settings-controller.js +4 -3
  17. package/out/command-line/dependency-injection.d.ts +4 -1
  18. package/out/command-line/dependency-injection.d.ts.map +1 -1
  19. package/out/command-line/dependency-injection.js +8 -3
  20. package/out/command-line/environment.d.ts.map +1 -1
  21. package/out/command-line/environment.js +1 -1
  22. package/out/command-line/register-app-commands.d.ts.map +1 -1
  23. package/out/command-line/register-app-commands.js +23 -24
  24. package/out/command-line/register-environment-commands.d.ts.map +1 -1
  25. package/out/command-line/register-environment-commands.js +2 -2
  26. package/out/command-line/register-environment-variables-commands.d.ts.map +1 -1
  27. package/out/command-line/register-environment-variables-commands.js +4 -4
  28. package/out/command-line/register-installation-commands.d.ts.map +1 -1
  29. package/out/command-line/register-installation-commands.js +2 -2
  30. package/out/command-line/register-lint-command.js +1 -1
  31. package/out/command-line/register-providers-commands.d.ts.map +1 -1
  32. package/out/command-line/register-providers-commands.js +1 -2
  33. package/out/command-line/utils.d.ts +4 -0
  34. package/out/command-line/utils.d.ts.map +1 -0
  35. package/out/command-line/utils.js +30 -0
  36. package/out/command-line/view/deploy-view.d.ts +5 -2
  37. package/out/command-line/view/deploy-view.d.ts.map +1 -1
  38. package/out/command-line/view/deploy-view.js +20 -4
  39. package/out/command-line/view/install-view.js +1 -1
  40. package/out/command-line/view/tunnel-view.d.ts.map +1 -1
  41. package/out/command-line/view/tunnel-view.js +1 -1
  42. package/out/environment/graphql-client.d.ts.map +1 -1
  43. package/out/environment/graphql-client.js +1 -1
  44. package/out/installations/graphql-client.d.ts.map +1 -1
  45. package/out/installations/graphql-client.js +1 -1
  46. package/package.json +6 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @forge/cli
2
2
 
3
+ ## 6.11.1-next.0-experimental-5ec0ed7
4
+
5
+ ### Minor Changes
6
+
7
+ - 5fc7847: Use default environment from forge settings
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [3edb8a1]
12
+ - Updated dependencies [5fc7847]
13
+ - @forge/bundler@4.9.0-next.0-experimental-5ec0ed7
14
+ - @forge/cli-shared@3.12.0-experimental-5ec0ed7
15
+ - @forge/tunnel@3.5.1-next.0-experimental-5ec0ed7
16
+ - @forge/lint@3.5.0-experimental-5ec0ed7
17
+
3
18
  ## 6.11.1-next.0
4
19
 
5
20
  ### Patch Changes
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "6.11.1-next.0",
3
+ "version": "6.11.1-next.0-experimental-5ec0ed7",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@forge/cli",
9
- "version": "6.11.1-next.0",
9
+ "version": "6.11.1-next.0-experimental-5ec0ed7",
10
10
  "hasInstallScript": true,
11
11
  "license": "UNLICENSED",
12
12
  "dependencies": {
13
- "@forge/bundler": "4.9.0-next.0",
14
- "@forge/cli-shared": "3.12.0",
13
+ "@forge/bundler": "4.9.0-next.0-experimental-5ec0ed7",
14
+ "@forge/cli-shared": "3.12.0-experimental-5ec0ed7",
15
15
  "@forge/egress": "1.2.1",
16
- "@forge/lint": "3.5.0",
16
+ "@forge/lint": "3.5.0-experimental-5ec0ed7",
17
17
  "@forge/manifest": "4.13.0",
18
18
  "@forge/runtime": "4.4.0",
19
- "@forge/tunnel": "3.5.1-next.0",
19
+ "@forge/tunnel": "3.5.1-next.0-experimental-5ec0ed7",
20
20
  "@forge/util": "1.2.3",
21
21
  "@sentry/node": "^7.29.0",
22
22
  "ajv": "^6.12.6",
@@ -73,6 +73,7 @@
73
73
  "@types/uuid": "^3.4.10",
74
74
  "jest": "^29.1.2",
75
75
  "jest-fixtures": "^0.6.0",
76
+ "jest-matcher-specific-error": "^1.0.0",
76
77
  "jest-when": "^3.5.2",
77
78
  "memfs": "^3.4.1",
78
79
  "sentry-testkit": "^5.0.5",
@@ -668,9 +669,9 @@
668
669
  "integrity": "sha512-n2eXc/shPwx0ahD3NNfsmeiFoBCukeglt2htePaNnJBDt0VpC6R4Njsjc/wnL5OMgrGl5/GXzN+mymngXrw9qQ=="
669
670
  },
670
671
  "node_modules/@forge/bundler": {
671
- "version": "4.9.0-next.0",
672
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.9.0-next.0.tgz",
673
- "integrity": "sha512-NVeVi+D1dBnAKqEvjmyfO+v7lQ6op/DPF6cVqIZW+bTTqo3eLbfPS3iGDL0Xwh4InipBuhB5i1gGaICCwI1OTg==",
672
+ "version": "4.9.0-next.0-experimental-5ec0ed7",
673
+ "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.9.0-next.0-experimental-5ec0ed7.tgz",
674
+ "integrity": "sha512-yU/JiLbI8gww+Iy/svSnpvc37EEBDS/VlQRdsO1bqTyIb/hk774i7h9YAQkdZhUzSYXD4VtTfMHVK+QeKY9Z+A==",
674
675
  "dependencies": {
675
676
  "@babel/core": "^7.16.7",
676
677
  "@babel/plugin-proposal-class-properties": "^7.16.7",
@@ -678,10 +679,10 @@
678
679
  "@babel/plugin-proposal-optional-chaining": "^7.16.7",
679
680
  "@babel/plugin-transform-react-jsx": "^7.16.7",
680
681
  "@babel/preset-typescript": "^7.16.7",
681
- "@forge/api": "2.17.0-next.0",
682
+ "@forge/api": "2.17.0-next.0-experimental-5ec0ed7",
682
683
  "@forge/babel-plugin-transform-ui": "1.1.2",
683
- "@forge/cli-shared": "3.12.0",
684
- "@forge/lint": "3.5.0",
684
+ "@forge/cli-shared": "3.12.0-experimental-5ec0ed7",
685
+ "@forge/lint": "3.5.0-experimental-5ec0ed7",
685
686
  "@forge/runtime": "4.4.0",
686
687
  "@forge/util": "1.2.3",
687
688
  "assert": "^1.1.1",
@@ -718,9 +719,9 @@
718
719
  }
719
720
  },
720
721
  "node_modules/@forge/bundler/node_modules/@forge/api": {
721
- "version": "2.17.0-next.0",
722
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.17.0-next.0.tgz",
723
- "integrity": "sha512-Ud6Ierz89s+NVGdf2KQUvwo4uagy7ge5tGVhHlxGidVj8D2nWLbY+JfxonABAfHmGJgsa5KuDJDvgiqbHHBfEA==",
722
+ "version": "2.17.0-next.0-experimental-5ec0ed7",
723
+ "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.17.0-next.0-experimental-5ec0ed7.tgz",
724
+ "integrity": "sha512-Qet2f7pZivs0k2ZX5n9SN1//TwOEj2L7Y/VoBCZfD/Z9JvH5iWJzadPkM+HURvD+NFKY8+3ER1SFDlA4TCLwtA==",
724
725
  "dependencies": {
725
726
  "@forge/auth": "0.0.1",
726
727
  "@forge/egress": "1.2.1",
@@ -730,9 +731,9 @@
730
731
  }
731
732
  },
732
733
  "node_modules/@forge/cli-shared": {
733
- "version": "3.12.0",
734
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.12.0.tgz",
735
- "integrity": "sha512-Ajj9HnBApSk2MUQhf3Ax8xA+b1yNtplx8iD7SMaruwzrd/Y+YCL0/13liT7UzF2cdiWsPh+wCh7wpnSZrCZ73w==",
734
+ "version": "3.12.0-experimental-5ec0ed7",
735
+ "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.12.0-experimental-5ec0ed7.tgz",
736
+ "integrity": "sha512-FL8fFGq4UENIT8i8J4PJaTK1lYWRwe9afTwGxMYie/Fj8VpLNp6J7OxYf9iILMcZlkP6kGjNZAqcYqj62G1ZuA==",
736
737
  "dependencies": {
737
738
  "@forge/manifest": "4.13.0",
738
739
  "@forge/util": "1.2.3",
@@ -768,9 +769,9 @@
768
769
  }
769
770
  },
770
771
  "node_modules/@forge/csp": {
771
- "version": "2.1.3",
772
- "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-2.1.3.tgz",
773
- "integrity": "sha512-ccaodlJx0qfV/eCERa8a6oZwGPd8c0nXYWdTrl3JPoJn7MrpP0mzVc/BgmXIhyybaA81lXNfxVAYUeV4QekYzg==",
772
+ "version": "2.1.3-experimental-5ec0ed7",
773
+ "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-2.1.3-experimental-5ec0ed7.tgz",
774
+ "integrity": "sha512-oP8e+NCfWbk01LxGhXIZVVd0mqNqqBHrEiURpbM9HIVA3d6rahh5kIu7slbFyNySpg51mrgMbGKaAshzZphOGg==",
774
775
  "dependencies": {
775
776
  "cheerio": "^0.22.0",
776
777
  "content-security-policy-parser": "^0.3.0"
@@ -785,11 +786,11 @@
785
786
  }
786
787
  },
787
788
  "node_modules/@forge/lint": {
788
- "version": "3.5.0",
789
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.5.0.tgz",
790
- "integrity": "sha512-4uLIqSQd7f72YclSFXmBXk1i+zxZs+LS4AL60dgGwB9H0udJWHr7OQOreHvWdVsVLL2L7e+WK2NBdeR/kCt8VQ==",
789
+ "version": "3.5.0-experimental-5ec0ed7",
790
+ "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.5.0-experimental-5ec0ed7.tgz",
791
+ "integrity": "sha512-jCtZScerRTsBhW78Pymt8J49LIQhOILb3B0CGS/3HRr39GwWGTzjG4SbCqHP7F41x9ps1Lghd1SKZbCIiqzqsw==",
791
792
  "dependencies": {
792
- "@forge/cli-shared": "3.12.0",
793
+ "@forge/cli-shared": "3.12.0-experimental-5ec0ed7",
793
794
  "@forge/egress": "1.2.1",
794
795
  "@forge/manifest": "4.13.0",
795
796
  "@typescript-eslint/typescript-estree": "^5.40.0",
@@ -839,13 +840,13 @@
839
840
  "integrity": "sha512-/w9UaTMmvK7DSnGpg+bbLPUF8GDPfrShNPZi7ArgwexihK1j/J7EVvH2j1VEjXGdSH+FuRcqjThfCZoGytFJHw=="
840
841
  },
841
842
  "node_modules/@forge/tunnel": {
842
- "version": "3.5.1-next.0",
843
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.5.1-next.0.tgz",
844
- "integrity": "sha512-919ZE8/Ffy/R9vCNE2UmiDCZYRDyKnHP4d+seqpdnEYSms6NR4Ycwj3Jh68ISt5JZU9GslqLoiWr44oPZ0/AjA==",
843
+ "version": "3.5.1-next.0-experimental-5ec0ed7",
844
+ "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.5.1-next.0-experimental-5ec0ed7.tgz",
845
+ "integrity": "sha512-cuAKMf7vhSH22Kn+fWmQ7jGzVYewNMg/H+9Aedq6OnEzgv3DwpP0rJewdTHfv40OE1I2eydfjeOO9ru/4Yql0A==",
845
846
  "dependencies": {
846
- "@forge/bundler": "4.9.0-next.0",
847
- "@forge/cli-shared": "3.12.0",
848
- "@forge/csp": "2.1.3",
847
+ "@forge/bundler": "4.9.0-next.0-experimental-5ec0ed7",
848
+ "@forge/cli-shared": "3.12.0-experimental-5ec0ed7",
849
+ "@forge/csp": "2.1.3-experimental-5ec0ed7",
849
850
  "@forge/runtime": "4.4.0",
850
851
  "express": "^4.17.1",
851
852
  "express-intercept": "^0.8.10",
@@ -10091,9 +10092,9 @@
10091
10092
  "integrity": "sha512-n2eXc/shPwx0ahD3NNfsmeiFoBCukeglt2htePaNnJBDt0VpC6R4Njsjc/wnL5OMgrGl5/GXzN+mymngXrw9qQ=="
10092
10093
  },
10093
10094
  "@forge/bundler": {
10094
- "version": "4.9.0-next.0",
10095
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.9.0-next.0.tgz",
10096
- "integrity": "sha512-NVeVi+D1dBnAKqEvjmyfO+v7lQ6op/DPF6cVqIZW+bTTqo3eLbfPS3iGDL0Xwh4InipBuhB5i1gGaICCwI1OTg==",
10095
+ "version": "4.9.0-next.0-experimental-5ec0ed7",
10096
+ "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.9.0-next.0-experimental-5ec0ed7.tgz",
10097
+ "integrity": "sha512-yU/JiLbI8gww+Iy/svSnpvc37EEBDS/VlQRdsO1bqTyIb/hk774i7h9YAQkdZhUzSYXD4VtTfMHVK+QeKY9Z+A==",
10097
10098
  "requires": {
10098
10099
  "@babel/core": "^7.16.7",
10099
10100
  "@babel/plugin-proposal-class-properties": "^7.16.7",
@@ -10101,10 +10102,10 @@
10101
10102
  "@babel/plugin-proposal-optional-chaining": "^7.16.7",
10102
10103
  "@babel/plugin-transform-react-jsx": "^7.16.7",
10103
10104
  "@babel/preset-typescript": "^7.16.7",
10104
- "@forge/api": "2.17.0-next.0",
10105
+ "@forge/api": "2.17.0-next.0-experimental-5ec0ed7",
10105
10106
  "@forge/babel-plugin-transform-ui": "1.1.2",
10106
- "@forge/cli-shared": "3.12.0",
10107
- "@forge/lint": "3.5.0",
10107
+ "@forge/cli-shared": "3.12.0-experimental-5ec0ed7",
10108
+ "@forge/lint": "3.5.0-experimental-5ec0ed7",
10108
10109
  "@forge/runtime": "4.4.0",
10109
10110
  "@forge/util": "1.2.3",
10110
10111
  "assert": "^1.1.1",
@@ -10138,9 +10139,9 @@
10138
10139
  },
10139
10140
  "dependencies": {
10140
10141
  "@forge/api": {
10141
- "version": "2.17.0-next.0",
10142
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.17.0-next.0.tgz",
10143
- "integrity": "sha512-Ud6Ierz89s+NVGdf2KQUvwo4uagy7ge5tGVhHlxGidVj8D2nWLbY+JfxonABAfHmGJgsa5KuDJDvgiqbHHBfEA==",
10142
+ "version": "2.17.0-next.0-experimental-5ec0ed7",
10143
+ "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.17.0-next.0-experimental-5ec0ed7.tgz",
10144
+ "integrity": "sha512-Qet2f7pZivs0k2ZX5n9SN1//TwOEj2L7Y/VoBCZfD/Z9JvH5iWJzadPkM+HURvD+NFKY8+3ER1SFDlA4TCLwtA==",
10144
10145
  "requires": {
10145
10146
  "@forge/auth": "0.0.1",
10146
10147
  "@forge/egress": "1.2.1",
@@ -10152,9 +10153,9 @@
10152
10153
  }
10153
10154
  },
10154
10155
  "@forge/cli-shared": {
10155
- "version": "3.12.0",
10156
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.12.0.tgz",
10157
- "integrity": "sha512-Ajj9HnBApSk2MUQhf3Ax8xA+b1yNtplx8iD7SMaruwzrd/Y+YCL0/13liT7UzF2cdiWsPh+wCh7wpnSZrCZ73w==",
10156
+ "version": "3.12.0-experimental-5ec0ed7",
10157
+ "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.12.0-experimental-5ec0ed7.tgz",
10158
+ "integrity": "sha512-FL8fFGq4UENIT8i8J4PJaTK1lYWRwe9afTwGxMYie/Fj8VpLNp6J7OxYf9iILMcZlkP6kGjNZAqcYqj62G1ZuA==",
10158
10159
  "requires": {
10159
10160
  "@forge/manifest": "4.13.0",
10160
10161
  "@forge/util": "1.2.3",
@@ -10190,9 +10191,9 @@
10190
10191
  }
10191
10192
  },
10192
10193
  "@forge/csp": {
10193
- "version": "2.1.3",
10194
- "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-2.1.3.tgz",
10195
- "integrity": "sha512-ccaodlJx0qfV/eCERa8a6oZwGPd8c0nXYWdTrl3JPoJn7MrpP0mzVc/BgmXIhyybaA81lXNfxVAYUeV4QekYzg==",
10194
+ "version": "2.1.3-experimental-5ec0ed7",
10195
+ "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-2.1.3-experimental-5ec0ed7.tgz",
10196
+ "integrity": "sha512-oP8e+NCfWbk01LxGhXIZVVd0mqNqqBHrEiURpbM9HIVA3d6rahh5kIu7slbFyNySpg51mrgMbGKaAshzZphOGg==",
10196
10197
  "requires": {
10197
10198
  "cheerio": "^0.22.0",
10198
10199
  "content-security-policy-parser": "^0.3.0"
@@ -10207,11 +10208,11 @@
10207
10208
  }
10208
10209
  },
10209
10210
  "@forge/lint": {
10210
- "version": "3.5.0",
10211
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.5.0.tgz",
10212
- "integrity": "sha512-4uLIqSQd7f72YclSFXmBXk1i+zxZs+LS4AL60dgGwB9H0udJWHr7OQOreHvWdVsVLL2L7e+WK2NBdeR/kCt8VQ==",
10211
+ "version": "3.5.0-experimental-5ec0ed7",
10212
+ "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.5.0-experimental-5ec0ed7.tgz",
10213
+ "integrity": "sha512-jCtZScerRTsBhW78Pymt8J49LIQhOILb3B0CGS/3HRr39GwWGTzjG4SbCqHP7F41x9ps1Lghd1SKZbCIiqzqsw==",
10213
10214
  "requires": {
10214
- "@forge/cli-shared": "3.12.0",
10215
+ "@forge/cli-shared": "3.12.0-experimental-5ec0ed7",
10215
10216
  "@forge/egress": "1.2.1",
10216
10217
  "@forge/manifest": "4.13.0",
10217
10218
  "@typescript-eslint/typescript-estree": "^5.40.0",
@@ -10258,13 +10259,13 @@
10258
10259
  "integrity": "sha512-/w9UaTMmvK7DSnGpg+bbLPUF8GDPfrShNPZi7ArgwexihK1j/J7EVvH2j1VEjXGdSH+FuRcqjThfCZoGytFJHw=="
10259
10260
  },
10260
10261
  "@forge/tunnel": {
10261
- "version": "3.5.1-next.0",
10262
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.5.1-next.0.tgz",
10263
- "integrity": "sha512-919ZE8/Ffy/R9vCNE2UmiDCZYRDyKnHP4d+seqpdnEYSms6NR4Ycwj3Jh68ISt5JZU9GslqLoiWr44oPZ0/AjA==",
10262
+ "version": "3.5.1-next.0-experimental-5ec0ed7",
10263
+ "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.5.1-next.0-experimental-5ec0ed7.tgz",
10264
+ "integrity": "sha512-cuAKMf7vhSH22Kn+fWmQ7jGzVYewNMg/H+9Aedq6OnEzgv3DwpP0rJewdTHfv40OE1I2eydfjeOO9ru/4Yql0A==",
10264
10265
  "requires": {
10265
- "@forge/bundler": "4.9.0-next.0",
10266
- "@forge/cli-shared": "3.12.0",
10267
- "@forge/csp": "2.1.3",
10266
+ "@forge/bundler": "4.9.0-next.0-experimental-5ec0ed7",
10267
+ "@forge/cli-shared": "3.12.0-experimental-5ec0ed7",
10268
+ "@forge/csp": "2.1.3-experimental-5ec0ed7",
10268
10269
  "@forge/runtime": "4.4.0",
10269
10270
  "express": "^4.17.1",
10270
10271
  "express-intercept": "^0.8.10",
@@ -5,6 +5,7 @@ import { Logger, CLIDetails, CredentialGetter, PersonalApiCredentialsValidated }
5
5
  import { PreCommandController } from './controller/pre-command-controller';
6
6
  import * as autocomplete from '../autocomplete/types';
7
7
  import { StubController } from './controller/stubController';
8
+ import { DefaultEnvironmentController } from './controller/default-environment-controller';
8
9
  declare type ActionResult = Promise<{
9
10
  creds?: PersonalApiCredentialsValidated;
10
11
  analytics: any;
@@ -43,6 +44,7 @@ export declare class Command<Args extends AnyArgs = [], Opts extends AnyOpts = D
43
44
  private readonly preCommandController;
44
45
  private readonly cliDetails;
45
46
  private readonly credentialStore;
47
+ private readonly defaultEnvironmentController;
46
48
  get verbose(): boolean;
47
49
  private static isError;
48
50
  private static isHelpTriggered;
@@ -56,7 +58,7 @@ export declare class Command<Args extends AnyArgs = [], Opts extends AnyOpts = D
56
58
  private readonly requiresAnalyticsConsent;
57
59
  private readonly requiredOptionFlags;
58
60
  private readonly preconditionFn;
59
- static program(ui: Logger, analyticsClient: AnalyticsClientReporter, preCommandController: PreCommandController, cliDetails: CLIDetails | undefined, credentialStore: CredentialGetter): Command<[], DefaultOpts>;
61
+ static program(ui: Logger, analyticsClient: AnalyticsClientReporter, preCommandController: PreCommandController, cliDetails: CLIDetails | undefined, credentialStore: CredentialGetter, defaultEnvironmentController: DefaultEnvironmentController): Command<[], DefaultOpts>;
60
62
  private constructor();
61
63
  private clone;
62
64
  version(str: string, flags?: string): Command<Args, Opts>;
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/command-line/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/command-line/command.ts"],"names":[],"mappings":"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"}
@@ -26,12 +26,13 @@ function last(arg) {
26
26
  return arg[arg.length - 1];
27
27
  }
28
28
  class Command {
29
- constructor(ui, analyticsClient, preCommandController, cliDetails, credentialStore, { cmd, analyticsName, requiresAuthentication, requiresAnalyticsConsent, requiredOptionFlags, preconditionFn }) {
29
+ constructor(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, { cmd, analyticsName, requiresAuthentication, requiresAnalyticsConsent, requiredOptionFlags, preconditionFn }) {
30
30
  this.ui = ui;
31
31
  this.analyticsClient = analyticsClient;
32
32
  this.preCommandController = preCommandController;
33
33
  this.cliDetails = cliDetails;
34
34
  this.credentialStore = credentialStore;
35
+ this.defaultEnvironmentController = defaultEnvironmentController;
35
36
  this.requiredOptionFlags = [];
36
37
  this.preconditionFn = [];
37
38
  this.actionProcessor = async (cb, ...args) => {
@@ -133,13 +134,13 @@ class Command {
133
134
  get verbose() {
134
135
  return this.cmd.opts().verbose;
135
136
  }
136
- static program(ui, analyticsClient, preCommandController, cliDetails, credentialStore) {
137
+ static program(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController) {
137
138
  var _a;
138
- const cmd = new Command(ui, analyticsClient, preCommandController, cliDetails, credentialStore, {});
139
+ const cmd = new Command(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, {});
139
140
  return cmd.version((_a = cliDetails === null || cliDetails === void 0 ? void 0 : cliDetails.version) !== null && _a !== void 0 ? _a : 'unknown', '--version').option('--verbose', cli_shared_1.Text.optionVerbose);
140
141
  }
141
142
  clone(overrides) {
142
- return new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, Object.assign({ cmd: this.cmd, analyticsName: this.analyticsName, requiresAuthentication: this.requiresAuthentication, requiresAnalyticsConsent: this.requiresAnalyticsConsent, requiredOptionFlags: this.requiredOptionFlags, preconditionFn: this.preconditionFn }, overrides));
143
+ return new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, Object.assign({ cmd: this.cmd, analyticsName: this.analyticsName, requiresAuthentication: this.requiresAuthentication, requiresAnalyticsConsent: this.requiresAnalyticsConsent, requiredOptionFlags: this.requiredOptionFlags, preconditionFn: this.preconditionFn }, overrides));
143
144
  }
144
145
  version(str, flags) {
145
146
  this.cmd.version(str, flags);
@@ -150,7 +151,7 @@ class Command {
150
151
  .command(name, opts)
151
152
  .allowUnknownOption(false)
152
153
  .allowExcessArguments(false);
153
- const subCommand = new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, {
154
+ const subCommand = new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, {
154
155
  cmd,
155
156
  analyticsName: Command.concatenateNames(this.analyticsName, cmd.name())
156
157
  }).option('--verbose', cli_shared_1.Text.optionVerbose);
@@ -212,9 +213,10 @@ class Command {
212
213
  }
213
214
  }
214
215
  environmentOption() {
215
- return this.option('-e, --environment [environment]', cli_shared_1.Text.env.option(cli_shared_1.DEFAULT_ENVIRONMENT_OPTION)).precondition(async (...args) => {
216
- const environment = (0, environment_1.checkEnvironmentOption)(last(args).environment || cli_shared_1.DEFAULT_ENVIRONMENT_OPTION);
217
- return { environment };
216
+ return this.option('-e, --environment [environment]', cli_shared_1.Text.env.option).precondition(async (...args) => {
217
+ const { environment: environmentArg, nonInteractive } = last(args);
218
+ const environment = environmentArg || (await this.defaultEnvironmentController.run(nonInteractive));
219
+ return { environment: (0, environment_1.checkEnvironmentOption)(environment) };
218
220
  });
219
221
  }
220
222
  jsonOption() {
@@ -0,0 +1,25 @@
1
+ import { AppConfigProvider, CredentialStore, FeatureFlagService, GetAppOwnerQuery, LoginCommand, UI } from '@forge/cli-shared';
2
+ import { CreateEnvironmentCommand } from '../../environment/create-environment';
3
+ import { ListEnvironmentCommand } from '../../environment/list-environment';
4
+ import { CachedConfigService } from '../../service/cached-config-service';
5
+ export declare class DefaultEnvironmentController {
6
+ private ui;
7
+ private readonly credentialStore;
8
+ private readonly featureFlagService;
9
+ private readonly cachedConfigService;
10
+ private readonly getAppConfig;
11
+ private readonly loginCommand;
12
+ private readonly createEnvironmentCommand;
13
+ private readonly listEnvironmentCommand;
14
+ private readonly getAppOwnerQuery;
15
+ constructor(ui: UI, credentialStore: CredentialStore, featureFlagService: FeatureFlagService, cachedConfigService: CachedConfigService, getAppConfig: AppConfigProvider, loginCommand: LoginCommand, createEnvironmentCommand: CreateEnvironmentCommand, listEnvironmentCommand: ListEnvironmentCommand, getAppOwnerQuery: GetAppOwnerQuery);
16
+ run(nonInteractive?: boolean): Promise<string>;
17
+ getDefaultEnvironment(): Promise<string | undefined>;
18
+ private promptAndSetDefaultEnvironmentForContributor;
19
+ private promptAndSetDefaultEnvironment;
20
+ private environmentExists;
21
+ private setExistingEnvironmentAsDefault;
22
+ private createAndSetDefaultEnvironment;
23
+ private setDefaultEnvironment;
24
+ }
25
+ //# sourceMappingURL=default-environment-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-environment-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/default-environment-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,eAAe,EAEf,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EAEZ,EAAE,EAEH,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAU1E,qBAAa,4BAA4B;IAErC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBARzB,EAAE,EAAE,EAAE,EACG,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,iBAAiB,EAC/B,YAAY,EAAE,YAAY,EAC1B,wBAAwB,EAAE,wBAAwB,EAClD,sBAAsB,EAAE,sBAAsB,EAC9C,gBAAgB,EAAE,gBAAgB;IAGxC,GAAG,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB9C,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAgBnD,4CAA4C;YAc5C,8BAA8B;YAgB9B,iBAAiB;YAKjB,+BAA+B;YA4B/B,8BAA8B;YAU9B,qBAAqB;CAKpC"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultEnvironmentController = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ const environment_1 = require("../environment");
6
+ const manifest_1 = require("@forge/manifest");
7
+ const utils_1 = require("../utils");
8
+ class DefaultEnvironmentNotSetError extends Error {
9
+ constructor() {
10
+ super(cli_shared_1.Text.defaultEnv.info);
11
+ }
12
+ }
13
+ class DefaultEnvironmentController {
14
+ constructor(ui, credentialStore, featureFlagService, cachedConfigService, getAppConfig, loginCommand, createEnvironmentCommand, listEnvironmentCommand, getAppOwnerQuery) {
15
+ this.ui = ui;
16
+ this.credentialStore = credentialStore;
17
+ this.featureFlagService = featureFlagService;
18
+ this.cachedConfigService = cachedConfigService;
19
+ this.getAppConfig = getAppConfig;
20
+ this.loginCommand = loginCommand;
21
+ this.createEnvironmentCommand = createEnvironmentCommand;
22
+ this.listEnvironmentCommand = listEnvironmentCommand;
23
+ this.getAppOwnerQuery = getAppOwnerQuery;
24
+ }
25
+ async run(nonInteractive) {
26
+ const defaultEnvironment = await this.getDefaultEnvironment();
27
+ if (defaultEnvironment) {
28
+ return defaultEnvironment;
29
+ }
30
+ const credentials = await this.credentialStore.getCredentials();
31
+ const [currentUser, owner] = await Promise.all([
32
+ this.loginCommand.getUser(credentials),
33
+ this.getAppOwnerQuery.execute()
34
+ ]);
35
+ if (owner.accountId === currentUser.accountId) {
36
+ return this.setDefaultEnvironment(cli_shared_1.DEFAULT_ENVIRONMENT_KEY);
37
+ }
38
+ return this.promptAndSetDefaultEnvironmentForContributor(currentUser.name, nonInteractive);
39
+ }
40
+ async getDefaultEnvironment() {
41
+ try {
42
+ const concurrentDevEnabled = await this.featureFlagService.isConcurrentDevEnabled();
43
+ if (!concurrentDevEnabled) {
44
+ return cli_shared_1.DEFAULT_ENVIRONMENT_KEY;
45
+ }
46
+ const { id: appId } = await this.getAppConfig();
47
+ return this.cachedConfigService.getDefaultEnvironment(appId);
48
+ }
49
+ catch (e) {
50
+ if (e instanceof cli_shared_1.ValidationError && e.message === cli_shared_1.Text.artifact.error.invalidYaml(manifest_1.MANIFEST_FILE)) {
51
+ return undefined;
52
+ }
53
+ throw e;
54
+ }
55
+ }
56
+ async promptAndSetDefaultEnvironmentForContributor(contributorName, nonInteractive) {
57
+ if (nonInteractive) {
58
+ throw new DefaultEnvironmentNotSetError();
59
+ }
60
+ this.ui.info(cli_shared_1.Text.defaultEnv.info);
61
+ this.ui.emptyLine();
62
+ return this.promptAndSetDefaultEnvironment(contributorName, nonInteractive);
63
+ }
64
+ async promptAndSetDefaultEnvironment(contributorName, nonInteractive) {
65
+ const suggestedName = (0, utils_1.getAcceptableSlug)(contributorName);
66
+ let newEnvironmentKey = await this.ui.promptForText(cli_shared_1.Text.defaultEnv.prompt, suggestedName);
67
+ this.ui.emptyLine();
68
+ (0, environment_1.validateDevEnvironment)(newEnvironmentKey);
69
+ newEnvironmentKey = (0, environment_1.checkEnvironmentOption)(newEnvironmentKey);
70
+ if (await this.environmentExists(newEnvironmentKey)) {
71
+ return this.setExistingEnvironmentAsDefault(contributorName, newEnvironmentKey, nonInteractive);
72
+ }
73
+ return this.createAndSetDefaultEnvironment(newEnvironmentKey);
74
+ }
75
+ async environmentExists(environmentKey) {
76
+ const environments = await this.listEnvironmentCommand.execute();
77
+ return environments.some((environment) => environmentKey === environment.key);
78
+ }
79
+ async setExistingEnvironmentAsDefault(contributorName, environmentKey, nonInteractive) {
80
+ let confirm = nonInteractive;
81
+ if (!confirm) {
82
+ this.ui.warn(cli_shared_1.Text.defaultEnv.warn);
83
+ this.ui.emptyLine();
84
+ confirm = await this.ui.confirm(cli_shared_1.Text.defaultEnv.confirm);
85
+ this.ui.emptyLine();
86
+ }
87
+ if (confirm) {
88
+ await this.setDefaultEnvironment(environmentKey);
89
+ this.ui.info(cli_shared_1.Text.defaultEnv.setSuccess(environmentKey, cli_shared_1.AppEnvironmentType.Development));
90
+ this.ui.emptyLine();
91
+ return environmentKey;
92
+ }
93
+ return this.promptAndSetDefaultEnvironment(contributorName, nonInteractive);
94
+ }
95
+ async createAndSetDefaultEnvironment(environmentKey) {
96
+ await this.createEnvironmentCommand.execute({ environmentKey });
97
+ await this.setDefaultEnvironment(environmentKey);
98
+ this.ui.info(cli_shared_1.Text.defaultEnv.createAndSetSuccess(environmentKey, cli_shared_1.AppEnvironmentType.Development));
99
+ this.ui.emptyLine();
100
+ return environmentKey;
101
+ }
102
+ async setDefaultEnvironment(environmentKey) {
103
+ const { id: appId } = await this.getAppConfig();
104
+ this.cachedConfigService.setDefaultEnvironment(appId, environmentKey);
105
+ return environmentKey;
106
+ }
107
+ }
108
+ exports.DefaultEnvironmentController = DefaultEnvironmentController;
@@ -5,9 +5,11 @@ import { InstallationService } from '../../service/installation-service';
5
5
  import { MigrationKeysService } from '../../service/migration-keys-service';
6
6
  import { PackageUploadDeployCommand } from '../../deploy';
7
7
  import { DeploymentResult } from '../register-deployment-commands';
8
+ import { CreateEnvironmentCommand } from '../../environment/create-environment';
8
9
  interface DeployOptions {
9
10
  environment: string;
10
11
  verify: boolean;
12
+ nonInteractive?: boolean;
11
13
  }
12
14
  export declare class DeployLintFailureError extends HiddenError {
13
15
  private readonly scopes;
@@ -30,14 +32,17 @@ export declare class DeployController {
30
32
  private readonly appEnvironmentClient;
31
33
  private readonly deployView;
32
34
  private readonly packageUploadDeployCommand;
33
- constructor(appConfigProvider: AppConfigProvider, configFile: ConfigFile, lintService: LintService, installationsService: InstallationService, migrationKeysService: MigrationKeysService, appEnvironmentClient: AppEnvironmentClient, deployView: DeployView, packageUploadDeployCommand: PackageUploadDeployCommand);
35
+ private readonly createEnvironmentCommand;
36
+ constructor(appConfigProvider: AppConfigProvider, configFile: ConfigFile, lintService: LintService, installationsService: InstallationService, migrationKeysService: MigrationKeysService, appEnvironmentClient: AppEnvironmentClient, deployView: DeployView, packageUploadDeployCommand: PackageUploadDeployCommand, createEnvironmentCommand: CreateEnvironmentCommand);
34
37
  private isMpacProductionApp;
35
38
  private connectKeyDeleted;
36
39
  private connectKeyChanged;
37
40
  private validateConnectKeyChange;
38
41
  private verifyPreDeployment;
39
42
  private verifyPostDeployment;
40
- run({ environment, verify }: DeployOptions): Promise<DeploymentResult | void>;
43
+ private confirmAndCreateEnvironment;
44
+ private getAppEnvironmentDetails;
45
+ run({ environment, verify, nonInteractive }: DeployOptions): Promise<DeploymentResult | void>;
41
46
  }
42
47
  export {};
43
48
  //# sourceMappingURL=deploy-controller.d.ts.map
@@ -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;CAuD3F"}
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,EAEpB,UAAU,EACV,WAAW,EAGZ,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;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;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;IAC3C,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBARxB,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,EACtD,wBAAwB,EAAE,wBAAwB;IAGrE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;YAGX,wBAAwB;YAwBxB,mBAAmB;YAiBnB,oBAAoB;YAYpB,2BAA2B;YAiB3B,wBAAwB;IAsBzB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CA4D3G"}
@@ -29,7 +29,7 @@ class InvalidConnectKeyError extends cli_shared_1.HiddenError {
29
29
  }
30
30
  exports.InvalidConnectKeyError = InvalidConnectKeyError;
31
31
  class DeployController {
32
- constructor(appConfigProvider, configFile, lintService, installationsService, migrationKeysService, appEnvironmentClient, deployView, packageUploadDeployCommand) {
32
+ constructor(appConfigProvider, configFile, lintService, installationsService, migrationKeysService, appEnvironmentClient, deployView, packageUploadDeployCommand, createEnvironmentCommand) {
33
33
  this.appConfigProvider = appConfigProvider;
34
34
  this.configFile = configFile;
35
35
  this.lintService = lintService;
@@ -38,6 +38,7 @@ class DeployController {
38
38
  this.appEnvironmentClient = appEnvironmentClient;
39
39
  this.deployView = deployView;
40
40
  this.packageUploadDeployCommand = packageUploadDeployCommand;
41
+ this.createEnvironmentCommand = createEnvironmentCommand;
41
42
  }
42
43
  isMpacProductionApp(mpacAppKey, environment) {
43
44
  return !!(mpacAppKey && environment === 'production');
@@ -93,11 +94,43 @@ class DeployController {
93
94
  }
94
95
  const manifest = await this.configFile.readConfig();
95
96
  if ((_b = (_a = manifest === null || manifest === void 0 ? void 0 : manifest.app) === null || _a === void 0 ? void 0 : _a.storage) === null || _b === void 0 ? void 0 : _b.entities) {
96
- this.deployView.displayIndexingCommand((0, cli_shared_1.environmentToOption)(environment));
97
+ this.deployView.displayIndexingCommand(environment);
97
98
  }
98
99
  }
99
- async run({ environment, verify }) {
100
- this.deployView.displayStart(environment);
100
+ async confirmAndCreateEnvironment(environment, nonInteractive) {
101
+ let confirm = nonInteractive;
102
+ if (!confirm) {
103
+ this.deployView.displayEnvironmentCreationWarning(environment);
104
+ confirm = await this.deployView.promptToCreateEnvironment();
105
+ }
106
+ if (confirm) {
107
+ await this.createEnvironmentCommand.execute({ environmentKey: environment });
108
+ this.deployView.displayEnvironmentCreationSuccessMessage(environment);
109
+ }
110
+ return confirm;
111
+ }
112
+ async getAppEnvironmentDetails(id, environment, nonInteractive) {
113
+ try {
114
+ return await this.appEnvironmentClient.getAppEnvironmentDetails(id, environment);
115
+ }
116
+ catch (e) {
117
+ if (!(e instanceof cli_shared_1.MissingAppEnvironmentError)) {
118
+ throw e;
119
+ }
120
+ const created = await this.confirmAndCreateEnvironment(environment, nonInteractive);
121
+ if (!created) {
122
+ return;
123
+ }
124
+ return this.appEnvironmentClient.getAppEnvironmentDetails(id, environment);
125
+ }
126
+ }
127
+ async run({ environment, verify, nonInteractive }) {
128
+ const { id } = await this.appConfigProvider();
129
+ const appDetails = await this.getAppEnvironmentDetails(id, environment, nonInteractive);
130
+ if (appDetails === undefined) {
131
+ return;
132
+ }
133
+ this.deployView.displayStart(environment, appDetails.environmentType);
101
134
  let hasConnectKeyChanged = false;
102
135
  let hasConnectKeyDeleted = false;
103
136
  if (verify) {
@@ -110,10 +143,8 @@ class DeployController {
110
143
  hasConnectKeyChanged = connectKeyChanged;
111
144
  hasConnectKeyDeleted = connectKeyDeleted;
112
145
  }
113
- const { id } = await this.appConfigProvider();
114
146
  const handlers = await this.configFile.getAppHandlers();
115
147
  const resources = await this.configFile.getResources();
116
- const appDetails = await this.appEnvironmentClient.getAppEnvironmentDetails(id, environment);
117
148
  let hasProdInstallations = false;
118
149
  try {
119
150
  const prodInstallations = await this.installationsService.listAppInstallations({