@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.
- package/CHANGELOG.md +15 -0
- package/npm-shrinkwrap.json +57 -56
- package/out/command-line/command.d.ts +3 -1
- package/out/command-line/command.d.ts.map +1 -1
- package/out/command-line/command.js +10 -8
- package/out/command-line/controller/default-environment-controller.d.ts +25 -0
- package/out/command-line/controller/default-environment-controller.d.ts.map +1 -0
- package/out/command-line/controller/default-environment-controller.js +108 -0
- package/out/command-line/controller/deploy-controller.d.ts +7 -2
- package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
- package/out/command-line/controller/deploy-controller.js +37 -6
- package/out/command-line/controller/install-controller.d.ts.map +1 -1
- package/out/command-line/controller/install-controller.js +5 -5
- package/out/command-line/controller/settings-controller.d.ts +1 -0
- package/out/command-line/controller/settings-controller.d.ts.map +1 -1
- package/out/command-line/controller/settings-controller.js +4 -3
- package/out/command-line/dependency-injection.d.ts +4 -1
- package/out/command-line/dependency-injection.d.ts.map +1 -1
- package/out/command-line/dependency-injection.js +8 -3
- package/out/command-line/environment.d.ts.map +1 -1
- package/out/command-line/environment.js +1 -1
- package/out/command-line/register-app-commands.d.ts.map +1 -1
- package/out/command-line/register-app-commands.js +23 -24
- package/out/command-line/register-environment-commands.d.ts.map +1 -1
- package/out/command-line/register-environment-commands.js +2 -2
- package/out/command-line/register-environment-variables-commands.d.ts.map +1 -1
- package/out/command-line/register-environment-variables-commands.js +4 -4
- package/out/command-line/register-installation-commands.d.ts.map +1 -1
- package/out/command-line/register-installation-commands.js +2 -2
- package/out/command-line/register-lint-command.js +1 -1
- package/out/command-line/register-providers-commands.d.ts.map +1 -1
- package/out/command-line/register-providers-commands.js +1 -2
- package/out/command-line/utils.d.ts +4 -0
- package/out/command-line/utils.d.ts.map +1 -0
- package/out/command-line/utils.js +30 -0
- package/out/command-line/view/deploy-view.d.ts +5 -2
- package/out/command-line/view/deploy-view.d.ts.map +1 -1
- package/out/command-line/view/deploy-view.js +20 -4
- package/out/command-line/view/install-view.js +1 -1
- package/out/command-line/view/tunnel-view.d.ts.map +1 -1
- package/out/command-line/view/tunnel-view.js +1 -1
- package/out/environment/graphql-client.d.ts.map +1 -1
- package/out/environment/graphql-client.js +1 -1
- package/out/installations/graphql-client.d.ts.map +1 -1
- package/out/installations/graphql-client.js +1 -1
- 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
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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":"AAAA,OAAO,SAAS,EAAE,EAAE,cAAc,EAAU,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAEL,MAAM,EAGN,UAAU,EAEV,gBAAgB,EAChB,+BAA+B,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/command-line/command.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,cAAc,EAAU,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAEL,MAAM,EAGN,UAAU,EAEV,gBAAgB,EAChB,+BAA+B,EAChC,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,aAAK,YAAY,GAAG,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,+BAA+B,CAAC;IAAC,SAAS,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC;AAEhG,qBAAa,YAAa,SAAQ,cAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM;IAK/C,cAAc,QAAO,MAAM,CAAqB;CACxD;AAMD,aAAK,OAAO,GAAG,EAAE,CAAC;AAOlB,aAAK,SAAS,CACZ,OAAO,SAAS,MAAM,EACtB,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,IACtD,OAAO,SAAS,IAAI,MAAM,CAAC,OAAO,MAAM,IAAI,EAAE,GAC9C,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,GAC/B,OAAO,SAAS,KAAK,MAAM,IAAI,KAAK,MAAM,CAAC,MAAM,GACjD;KAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO;CAAE,GAC9C,OAAO,SAAS,KAAK,MAAM,IAAI,KAAK,MAAM,CAAC,MAAM,GACjD;KAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO;CAAE,GAC9C,OAAO,SAAS,KAAK,MAAM,IAAI,KAAK,MAAM,CAAC,GAAG,GAC9C;KAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO;CAAE,GAC5C,OAAO,SAAS,KAAK,MAAM,IAAI,KAAK,MAAM,CAAC,GAAG,GAC9C;KAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO;CAAE,GAC5C,OAAO,SAAS,QAAQ,MAAM,IAAI,EAAE,GACpC,OAAO,SAAS,SAAS,GACvB;KAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO;CAAE,GACnC,KAAK,GACP,OAAO,SAAS,KAAK,MAAM,IAAI,EAAE,GACjC,OAAO,SAAS,OAAO,GACrB;KAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO;CAAE,GACnC,OAAO,SAAS,SAAS,GACzB;KAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO;CAAE,GACpC,KAAK,GACP,KAAK,CAAC;AAEV,oBAAY,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhD,aAAK,OAAO,GAAG,MAAM,EAAE,CAAC;AAExB,aAAK,SAAS,CAAC,OAAO,SAAS,MAAM,IAAI,OAAO,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;AAExH,aAAK,UAAU,CAAC,IAAI,SAAS,OAAO,EAAE,IAAI,SAAS,OAAO,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;AAE9E,aAAK,oBAAoB,CAAC,IAAI,SAAS,OAAO,EAAE,IAAI,SAAS,OAAO,EAAE,QAAQ,IAAI,CAChF,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAC5B,OAAO,CAAC,QAAQ,CAAC,CAAC;AAevB,qBAAa,OAAO,CAAC,IAAI,SAAS,OAAO,GAAG,EAAE,EAAE,IAAI,SAAS,OAAO,GAAG,WAAW;IA2D9E,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IA/D/C,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,OAAO,CAAC,MAAM,CAAC,OAAO,CAEpB;IAEF,OAAO,CAAC,MAAM,CAAC,eAAe,CAE5B;IAEF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAE/B;IAEF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAE7B;IAEF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAE7B;IAEF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAE7B;IAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IAExC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IACnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyD;IAExF,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,uBAAuB,EACxC,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,eAAe,EAAE,gBAAgB,EACjC,4BAA4B,EAAE,4BAA4B,GACzD,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC;IAc3B,OAAO;IAiCP,OAAO,CAAC,KAAK;IAoBN,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAKzD,OAAO,CAAC,OAAO,SAAS,MAAM,EACnC,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,SAAS,CAAC,cAAc,GAC9B,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IA0BpC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI;IAOzF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAK9C,MAAM,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,EAC5F,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAM7C,YAAY,CAAC,EAAE,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAC7E,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAK1G,mBAAmB,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAI1C,YAAY,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAInC,oBAAoB,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAI3F,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAQ5E,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B1C,iBAAiB,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAUlE,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAIrD,uBAAuB,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAI9C,yBAAyB,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAIvD,OAAO,CAAC,8BAA8B;IAW/B,eAAe,mBACJ,WAAW,IAAI,EAAE,IAAI,CAAC,4BAC7B,WAAW,IAAI,EAAE,IAAI,CAAC,mBAoG/B;YAGY,kBAAkB;YAUlB,mBAAmB;IAQjC,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,oBAAoB;IAyBrB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAIlC,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAehD,cAAc;IAqC5B,OAAO,CAAC,eAAe;IA0BvB,qBAAqB,IAAI,YAAY,CAAC,kBAAkB;CAGzD;AAiCD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC,kBAAkB,CAY7F"}
|
|
@@ -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
|
|
216
|
-
const environment =
|
|
217
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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(
|
|
97
|
+
this.deployView.displayIndexingCommand(environment);
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
|
-
async
|
|
100
|
-
|
|
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({
|