@forge/cli 6.6.0-next.9 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +105 -0
- package/npm-shrinkwrap.json +113 -115
- package/out/autocomplete/autocomplete-config.json +8 -0
- package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
- package/out/command-line/controller/deploy-controller.js +5 -0
- package/out/command-line/controller/install-controller.d.ts +1 -0
- package/out/command-line/controller/install-controller.d.ts.map +1 -1
- package/out/command-line/controller/install-controller.js +17 -5
- package/out/command-line/dependency-injection.d.ts +2 -0
- package/out/command-line/dependency-injection.d.ts.map +1 -1
- package/out/command-line/dependency-injection.js +14 -8
- package/out/command-line/index.d.ts.map +1 -1
- package/out/command-line/index.js +2 -0
- package/out/command-line/register-storage-commands.d.ts +11 -0
- package/out/command-line/register-storage-commands.d.ts.map +1 -0
- package/out/command-line/register-storage-commands.js +48 -0
- package/out/command-line/view/deploy-view.d.ts +1 -0
- package/out/command-line/view/deploy-view.d.ts.map +1 -1
- package/out/command-line/view/deploy-view.js +4 -0
- package/out/command-line/view/install-view.d.ts +4 -7
- package/out/command-line/view/install-view.d.ts.map +1 -1
- package/out/command-line/view/install-view.js +4 -17
- package/out/deploy/packager/nativeui-bundler.js +1 -1
- package/out/deploy/packager/runtime-bundler.js +1 -1
- package/out/entities/graphql-client.d.ts +7 -0
- package/out/entities/graphql-client.d.ts.map +1 -0
- package/out/entities/graphql-client.js +36 -0
- package/out/entities/list-indexes.d.ts +27 -0
- package/out/entities/list-indexes.d.ts.map +1 -0
- package/out/entities/list-indexes.js +61 -0
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,110 @@
|
|
|
1
1
|
# @forge/cli
|
|
2
2
|
|
|
3
|
+
## 6.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- db2615bd: Allow custom environment names
|
|
8
|
+
- 149ebb5: Introduced command to list custom entities indexes
|
|
9
|
+
- dc0e198: Added 'forge environment list' command
|
|
10
|
+
- 9614f64: Add warning to Forge linter for scopes that require interactive user consent
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- aa2a898: Updated test for improved warning text
|
|
15
|
+
- d4a2423: Bumping dependencies via Renovate:
|
|
16
|
+
|
|
17
|
+
- didyoumean
|
|
18
|
+
|
|
19
|
+
- 8db8d54: Don't try bundling optional packages with native extensions
|
|
20
|
+
- 13b570b: Fix error handling reporting on Node runtime
|
|
21
|
+
- 081aaa9: Bumping dependencies via Renovate:
|
|
22
|
+
|
|
23
|
+
- cli-table3
|
|
24
|
+
|
|
25
|
+
- Updated dependencies [0d36e72]
|
|
26
|
+
- Updated dependencies [8db8d54]
|
|
27
|
+
- Updated dependencies [7100287]
|
|
28
|
+
- Updated dependencies [d9ebc65]
|
|
29
|
+
- Updated dependencies [db2615bd]
|
|
30
|
+
- Updated dependencies [149ebb5]
|
|
31
|
+
- Updated dependencies [dc0e198]
|
|
32
|
+
- Updated dependencies [47a05cd]
|
|
33
|
+
- Updated dependencies [081aaa9]
|
|
34
|
+
- Updated dependencies [9614f64]
|
|
35
|
+
- Updated dependencies [32ca02f]
|
|
36
|
+
- Updated dependencies [6f454d7]
|
|
37
|
+
- Updated dependencies [4d594e7]
|
|
38
|
+
- @forge/cli-shared@3.8.0
|
|
39
|
+
- @forge/bundler@4.6.1
|
|
40
|
+
- @forge/tunnel@3.3.0
|
|
41
|
+
- @forge/util@1.2.2
|
|
42
|
+
- @forge/manifest@4.8.0
|
|
43
|
+
- @forge/runtime@4.3.1
|
|
44
|
+
- @forge/lint@3.2.17
|
|
45
|
+
|
|
46
|
+
## 6.6.0-next.14
|
|
47
|
+
|
|
48
|
+
### Minor Changes
|
|
49
|
+
|
|
50
|
+
- 9614f64: Add warning to Forge linter for scopes that require interactive user consent
|
|
51
|
+
|
|
52
|
+
### Patch Changes
|
|
53
|
+
|
|
54
|
+
- Updated dependencies [9614f64]
|
|
55
|
+
- @forge/cli-shared@3.8.0-next.7
|
|
56
|
+
- @forge/manifest@4.8.0-next.3
|
|
57
|
+
- @forge/bundler@4.6.1-next.13
|
|
58
|
+
- @forge/lint@3.2.17-next.7
|
|
59
|
+
- @forge/tunnel@3.3.0-next.13
|
|
60
|
+
|
|
61
|
+
## 6.6.0-next.13
|
|
62
|
+
|
|
63
|
+
### Minor Changes
|
|
64
|
+
|
|
65
|
+
- 149ebb5: Introduced command to list custom entities indexes
|
|
66
|
+
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- Updated dependencies [149ebb5]
|
|
70
|
+
- @forge/cli-shared@3.8.0-next.6
|
|
71
|
+
- @forge/bundler@4.6.1-next.12
|
|
72
|
+
- @forge/lint@3.2.17-next.6
|
|
73
|
+
- @forge/tunnel@3.3.0-next.12
|
|
74
|
+
|
|
75
|
+
## 6.6.0-next.12
|
|
76
|
+
|
|
77
|
+
### Patch Changes
|
|
78
|
+
|
|
79
|
+
- 8db8d54: Don't try bundling optional packages with native extensions
|
|
80
|
+
- Updated dependencies [8db8d54]
|
|
81
|
+
- @forge/bundler@4.6.1-next.11
|
|
82
|
+
- @forge/tunnel@3.3.0-next.11
|
|
83
|
+
|
|
84
|
+
## 6.6.0-next.11
|
|
85
|
+
|
|
86
|
+
### Patch Changes
|
|
87
|
+
|
|
88
|
+
- aa2a898b: Updated test for improved warning text
|
|
89
|
+
- Updated dependencies [0d36e724]
|
|
90
|
+
- @forge/cli-shared@3.8.0-next.5
|
|
91
|
+
- @forge/bundler@4.6.1-next.10
|
|
92
|
+
- @forge/lint@3.2.17-next.5
|
|
93
|
+
- @forge/tunnel@3.3.0-next.10
|
|
94
|
+
|
|
95
|
+
## 6.6.0-next.10
|
|
96
|
+
|
|
97
|
+
### Patch Changes
|
|
98
|
+
|
|
99
|
+
- Updated dependencies [71002871]
|
|
100
|
+
- @forge/util@1.2.2-next.0
|
|
101
|
+
- @forge/bundler@4.6.1-next.9
|
|
102
|
+
- @forge/cli-shared@3.8.0-next.4
|
|
103
|
+
- @forge/manifest@4.8.0-next.2
|
|
104
|
+
- @forge/runtime@4.3.1-next.1
|
|
105
|
+
- @forge/tunnel@3.3.0-next.9
|
|
106
|
+
- @forge/lint@3.2.17-next.4
|
|
107
|
+
|
|
3
108
|
## 6.6.0-next.9
|
|
4
109
|
|
|
5
110
|
### Patch Changes
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "6.6.0
|
|
3
|
+
"version": "6.6.0",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@forge/cli",
|
|
9
|
-
"version": "6.6.0
|
|
9
|
+
"version": "6.6.0",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "UNLICENSED",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@forge/bundler": "4.6.1
|
|
14
|
-
"@forge/cli-shared": "3.8.0
|
|
13
|
+
"@forge/bundler": "4.6.1",
|
|
14
|
+
"@forge/cli-shared": "3.8.0",
|
|
15
15
|
"@forge/egress": "1.1.2",
|
|
16
|
-
"@forge/lint": "3.2.17
|
|
17
|
-
"@forge/manifest": "4.8.0
|
|
18
|
-
"@forge/runtime": "4.3.1
|
|
19
|
-
"@forge/tunnel": "3.3.0
|
|
20
|
-
"@forge/util": "1.2.
|
|
16
|
+
"@forge/lint": "3.2.17",
|
|
17
|
+
"@forge/manifest": "4.8.0",
|
|
18
|
+
"@forge/runtime": "4.3.1",
|
|
19
|
+
"@forge/tunnel": "3.3.0",
|
|
20
|
+
"@forge/util": "1.2.2",
|
|
21
21
|
"@sentry/node": "^7.29.0",
|
|
22
22
|
"ajv": "^6.12.6",
|
|
23
23
|
"archiver": "^5.2.0",
|
|
@@ -647,6 +647,18 @@
|
|
|
647
647
|
"node": ">=10.0.0"
|
|
648
648
|
}
|
|
649
649
|
},
|
|
650
|
+
"node_modules/@forge/api": {
|
|
651
|
+
"version": "2.13.0",
|
|
652
|
+
"resolved": "https://registry.npmjs.org/@forge/api/-/api-2.13.0.tgz",
|
|
653
|
+
"integrity": "sha512-Puhi2dPVrn9IPShbv88kfBIiyYyyhuWUAkARVgc2Cev/VGJ6NSI0B1A86q2YsFPMM+U/DdAhHLMrySuKp4rSFw==",
|
|
654
|
+
"dependencies": {
|
|
655
|
+
"@forge/auth": "0.0.1",
|
|
656
|
+
"@forge/egress": "1.1.2",
|
|
657
|
+
"@forge/storage": "1.4.0",
|
|
658
|
+
"@types/node-fetch": "^2.5.7",
|
|
659
|
+
"node-fetch": "2.6.7"
|
|
660
|
+
}
|
|
661
|
+
},
|
|
650
662
|
"node_modules/@forge/auth": {
|
|
651
663
|
"version": "0.0.1",
|
|
652
664
|
"resolved": "https://registry.npmjs.org/@forge/auth/-/auth-0.0.1.tgz",
|
|
@@ -666,9 +678,9 @@
|
|
|
666
678
|
"integrity": "sha512-kBvxvnVcFHq0Tz8NV5LhAeO0Gt0fg6Vt2AxE803ro9MHJ6S/ca7BqRDPnKnROoKZ0gAV2ymr27XvBMEq55wv6g=="
|
|
667
679
|
},
|
|
668
680
|
"node_modules/@forge/bundler": {
|
|
669
|
-
"version": "4.6.1
|
|
670
|
-
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.6.1
|
|
671
|
-
"integrity": "sha512
|
|
681
|
+
"version": "4.6.1",
|
|
682
|
+
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.6.1.tgz",
|
|
683
|
+
"integrity": "sha512-ON7+noINco/00C2oqB43slUZAfsKaiwexRJDY/04Y8+1cMi69iVDGT9m2WSOKHaQ+r4JIEwoohwRTEGxMLpOpA==",
|
|
672
684
|
"dependencies": {
|
|
673
685
|
"@babel/core": "^7.16.7",
|
|
674
686
|
"@babel/plugin-proposal-class-properties": "^7.16.7",
|
|
@@ -676,12 +688,12 @@
|
|
|
676
688
|
"@babel/plugin-proposal-optional-chaining": "^7.16.7",
|
|
677
689
|
"@babel/plugin-transform-react-jsx": "^7.16.7",
|
|
678
690
|
"@babel/preset-typescript": "^7.16.7",
|
|
679
|
-
"@forge/api": "2.13.0
|
|
691
|
+
"@forge/api": "2.13.0",
|
|
680
692
|
"@forge/babel-plugin-transform-ui": "1.1.1",
|
|
681
|
-
"@forge/cli-shared": "3.8.0
|
|
682
|
-
"@forge/lint": "3.2.17
|
|
683
|
-
"@forge/runtime": "4.3.1
|
|
684
|
-
"@forge/util": "1.2.
|
|
693
|
+
"@forge/cli-shared": "3.8.0",
|
|
694
|
+
"@forge/lint": "3.2.17",
|
|
695
|
+
"@forge/runtime": "4.3.1",
|
|
696
|
+
"@forge/util": "1.2.2",
|
|
685
697
|
"assert": "^1.1.1",
|
|
686
698
|
"babel-loader": "^8.2.3",
|
|
687
699
|
"browserify-zlib": "^0.2.0",
|
|
@@ -715,30 +727,13 @@
|
|
|
715
727
|
"node": ">=12.13.1"
|
|
716
728
|
}
|
|
717
729
|
},
|
|
718
|
-
"node_modules/@forge/bundler/node_modules/@forge/api": {
|
|
719
|
-
"version": "2.13.0-next.1",
|
|
720
|
-
"resolved": "https://registry.npmjs.org/@forge/api/-/api-2.13.0-next.1.tgz",
|
|
721
|
-
"integrity": "sha512-VJnnvPkFru5/IRO582Ke0PUoVanltObjAbiLGru1gsGvbmePGTBMUVJ8CA5ldHsjRAJiv8utZfg9w5r/Wj588Q==",
|
|
722
|
-
"dependencies": {
|
|
723
|
-
"@forge/auth": "0.0.1",
|
|
724
|
-
"@forge/egress": "1.1.2",
|
|
725
|
-
"@forge/storage": "1.4.0-next.0",
|
|
726
|
-
"@types/node-fetch": "^2.5.7",
|
|
727
|
-
"node-fetch": "2.6.7"
|
|
728
|
-
}
|
|
729
|
-
},
|
|
730
|
-
"node_modules/@forge/bundler/node_modules/@forge/storage": {
|
|
731
|
-
"version": "1.4.0-next.0",
|
|
732
|
-
"resolved": "https://registry.npmjs.org/@forge/storage/-/storage-1.4.0-next.0.tgz",
|
|
733
|
-
"integrity": "sha512-H/NNW7Nl5nPkQycpEijPLWOhLdqUmUnaHxel6hVl0tSHB1TWJuNVWyHCKyFaklgxzsfzkn/P9r6t4SrYp38hyQ=="
|
|
734
|
-
},
|
|
735
730
|
"node_modules/@forge/cli-shared": {
|
|
736
|
-
"version": "3.8.0
|
|
737
|
-
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.8.0
|
|
738
|
-
"integrity": "sha512-
|
|
731
|
+
"version": "3.8.0",
|
|
732
|
+
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.8.0.tgz",
|
|
733
|
+
"integrity": "sha512-ckRxUBpgzzgeoDDqWqP2oBftxGC0PPUzuZhVcZAaflMgbWehdXwTfwau+muVaT+6BR3wgNXXPW3D6nTiURV2/g==",
|
|
739
734
|
"dependencies": {
|
|
740
|
-
"@forge/manifest": "4.8.0
|
|
741
|
-
"@forge/util": "1.2.
|
|
735
|
+
"@forge/manifest": "4.8.0",
|
|
736
|
+
"@forge/util": "1.2.2",
|
|
742
737
|
"@sentry/node": "^7.29.0",
|
|
743
738
|
"array.prototype.flatmap": "^1.2.3",
|
|
744
739
|
"case": "^1.6.2",
|
|
@@ -788,13 +783,13 @@
|
|
|
788
783
|
}
|
|
789
784
|
},
|
|
790
785
|
"node_modules/@forge/lint": {
|
|
791
|
-
"version": "3.2.17
|
|
792
|
-
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.2.17
|
|
793
|
-
"integrity": "sha512-
|
|
786
|
+
"version": "3.2.17",
|
|
787
|
+
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.2.17.tgz",
|
|
788
|
+
"integrity": "sha512-pL6EXIHBsdyZDWjOXRBPvQ8M7RNh9Gv14axWco01M5lLBeqgPzumhJeL6VVCehSZ2HRYaXssvl3UFKcALmaCpA==",
|
|
794
789
|
"dependencies": {
|
|
795
|
-
"@forge/cli-shared": "3.8.0
|
|
790
|
+
"@forge/cli-shared": "3.8.0",
|
|
796
791
|
"@forge/egress": "1.1.2",
|
|
797
|
-
"@forge/manifest": "4.8.0
|
|
792
|
+
"@forge/manifest": "4.8.0",
|
|
798
793
|
"@typescript-eslint/typescript-estree": "^5.40.0",
|
|
799
794
|
"atlassian-openapi": "^1.0.13",
|
|
800
795
|
"cross-spawn": "^7.0.3",
|
|
@@ -802,11 +797,11 @@
|
|
|
802
797
|
}
|
|
803
798
|
},
|
|
804
799
|
"node_modules/@forge/manifest": {
|
|
805
|
-
"version": "4.8.0
|
|
806
|
-
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.8.0
|
|
807
|
-
"integrity": "sha512-
|
|
800
|
+
"version": "4.8.0",
|
|
801
|
+
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.8.0.tgz",
|
|
802
|
+
"integrity": "sha512-Llq4Q1LHZZd0a7WMds2Id5I0OcV9BE9WotIo0C4qQZ2z+ypaGdhtqAIUBZ9GyDL7kCB1WSnUcdcX+SZBTrg/DA==",
|
|
808
803
|
"dependencies": {
|
|
809
|
-
"@forge/util": "1.2.
|
|
804
|
+
"@forge/util": "1.2.2",
|
|
810
805
|
"ajv": "^6.12.6",
|
|
811
806
|
"cheerio": "^0.22.0",
|
|
812
807
|
"js-yaml": "^3.13.1",
|
|
@@ -817,11 +812,11 @@
|
|
|
817
812
|
}
|
|
818
813
|
},
|
|
819
814
|
"node_modules/@forge/runtime": {
|
|
820
|
-
"version": "4.3.1
|
|
821
|
-
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.3.1
|
|
822
|
-
"integrity": "sha512
|
|
815
|
+
"version": "4.3.1",
|
|
816
|
+
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.3.1.tgz",
|
|
817
|
+
"integrity": "sha512-oHhEdEfqbnsFPWDESz81FnVV/WBkcAMhAI8wejgx7ElZzqHloXJocKgRDYY1cR/pvz6tbmhzUIpUC7Ixgq2UEg==",
|
|
823
818
|
"dependencies": {
|
|
824
|
-
"@forge/util": "1.2.
|
|
819
|
+
"@forge/util": "1.2.2",
|
|
825
820
|
"fp-ts": "^2.0.1",
|
|
826
821
|
"io-ts": "^2.0.6",
|
|
827
822
|
"io-ts-reporters": "^1.0.0",
|
|
@@ -835,15 +830,20 @@
|
|
|
835
830
|
"node": "^14 || ^16 || ^18"
|
|
836
831
|
}
|
|
837
832
|
},
|
|
833
|
+
"node_modules/@forge/storage": {
|
|
834
|
+
"version": "1.4.0",
|
|
835
|
+
"resolved": "https://registry.npmjs.org/@forge/storage/-/storage-1.4.0.tgz",
|
|
836
|
+
"integrity": "sha512-laGaSMzgyHfL1rGoz9l3g0u5DZTzavKp97zp6I0ZigAnZuFupGEopkL/vGdEG0npMhu6PfM/b8mi98zyqfB+rg=="
|
|
837
|
+
},
|
|
838
838
|
"node_modules/@forge/tunnel": {
|
|
839
|
-
"version": "3.3.0
|
|
840
|
-
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.3.0
|
|
841
|
-
"integrity": "sha512-
|
|
839
|
+
"version": "3.3.0",
|
|
840
|
+
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.3.0.tgz",
|
|
841
|
+
"integrity": "sha512-9iH+KqIvKL/KH4dtmKkXQ0N4wwqUEc52ON8zeETBgpg1GEsDjZ3bV+vzR5OdT3hRx2gxn3DG7LFwgAP5SPOq2g==",
|
|
842
842
|
"dependencies": {
|
|
843
|
-
"@forge/bundler": "4.6.1
|
|
844
|
-
"@forge/cli-shared": "3.8.0
|
|
843
|
+
"@forge/bundler": "4.6.1",
|
|
844
|
+
"@forge/cli-shared": "3.8.0",
|
|
845
845
|
"@forge/csp": "2.1.1",
|
|
846
|
-
"@forge/runtime": "4.3.1
|
|
846
|
+
"@forge/runtime": "4.3.1",
|
|
847
847
|
"express": "^4.17.1",
|
|
848
848
|
"express-intercept": "^0.8.10",
|
|
849
849
|
"http-proxy-middleware": "^1.0.6",
|
|
@@ -856,9 +856,9 @@
|
|
|
856
856
|
}
|
|
857
857
|
},
|
|
858
858
|
"node_modules/@forge/util": {
|
|
859
|
-
"version": "1.2.
|
|
860
|
-
"resolved": "https://registry.npmjs.org/@forge/util/-/util-1.2.
|
|
861
|
-
"integrity": "sha512
|
|
859
|
+
"version": "1.2.2",
|
|
860
|
+
"resolved": "https://registry.npmjs.org/@forge/util/-/util-1.2.2.tgz",
|
|
861
|
+
"integrity": "sha512-IvT6uGp7l4ES3jhrk0wUl+sncdTcnb3YcHA8kIXV7V/TEV++Bx/swiuzSIxJDBBJXMjkPGJS7LN1KSmJLUV66A==",
|
|
862
862
|
"dependencies": {
|
|
863
863
|
"webpack": "5.75.0",
|
|
864
864
|
"webpack-cli": "^4.9.1"
|
|
@@ -9923,6 +9923,18 @@
|
|
|
9923
9923
|
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
|
|
9924
9924
|
"integrity": "sha1-HVcr+74Ut3BOC6Dzm3SBW4SHDXA= sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw=="
|
|
9925
9925
|
},
|
|
9926
|
+
"@forge/api": {
|
|
9927
|
+
"version": "2.13.0",
|
|
9928
|
+
"resolved": "https://registry.npmjs.org/@forge/api/-/api-2.13.0.tgz",
|
|
9929
|
+
"integrity": "sha512-Puhi2dPVrn9IPShbv88kfBIiyYyyhuWUAkARVgc2Cev/VGJ6NSI0B1A86q2YsFPMM+U/DdAhHLMrySuKp4rSFw==",
|
|
9930
|
+
"requires": {
|
|
9931
|
+
"@forge/auth": "0.0.1",
|
|
9932
|
+
"@forge/egress": "1.1.2",
|
|
9933
|
+
"@forge/storage": "1.4.0",
|
|
9934
|
+
"@types/node-fetch": "^2.5.7",
|
|
9935
|
+
"node-fetch": "2.6.7"
|
|
9936
|
+
}
|
|
9937
|
+
},
|
|
9926
9938
|
"@forge/auth": {
|
|
9927
9939
|
"version": "0.0.1",
|
|
9928
9940
|
"resolved": "https://registry.npmjs.org/@forge/auth/-/auth-0.0.1.tgz",
|
|
@@ -9944,9 +9956,9 @@
|
|
|
9944
9956
|
"integrity": "sha512-kBvxvnVcFHq0Tz8NV5LhAeO0Gt0fg6Vt2AxE803ro9MHJ6S/ca7BqRDPnKnROoKZ0gAV2ymr27XvBMEq55wv6g=="
|
|
9945
9957
|
},
|
|
9946
9958
|
"@forge/bundler": {
|
|
9947
|
-
"version": "4.6.1
|
|
9948
|
-
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.6.1
|
|
9949
|
-
"integrity": "sha512
|
|
9959
|
+
"version": "4.6.1",
|
|
9960
|
+
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.6.1.tgz",
|
|
9961
|
+
"integrity": "sha512-ON7+noINco/00C2oqB43slUZAfsKaiwexRJDY/04Y8+1cMi69iVDGT9m2WSOKHaQ+r4JIEwoohwRTEGxMLpOpA==",
|
|
9950
9962
|
"requires": {
|
|
9951
9963
|
"@babel/core": "^7.16.7",
|
|
9952
9964
|
"@babel/plugin-proposal-class-properties": "^7.16.7",
|
|
@@ -9954,12 +9966,12 @@
|
|
|
9954
9966
|
"@babel/plugin-proposal-optional-chaining": "^7.16.7",
|
|
9955
9967
|
"@babel/plugin-transform-react-jsx": "^7.16.7",
|
|
9956
9968
|
"@babel/preset-typescript": "^7.16.7",
|
|
9957
|
-
"@forge/api": "2.13.0
|
|
9969
|
+
"@forge/api": "2.13.0",
|
|
9958
9970
|
"@forge/babel-plugin-transform-ui": "1.1.1",
|
|
9959
|
-
"@forge/cli-shared": "3.8.0
|
|
9960
|
-
"@forge/lint": "3.2.17
|
|
9961
|
-
"@forge/runtime": "4.3.1
|
|
9962
|
-
"@forge/util": "1.2.
|
|
9971
|
+
"@forge/cli-shared": "3.8.0",
|
|
9972
|
+
"@forge/lint": "3.2.17",
|
|
9973
|
+
"@forge/runtime": "4.3.1",
|
|
9974
|
+
"@forge/util": "1.2.2",
|
|
9963
9975
|
"assert": "^1.1.1",
|
|
9964
9976
|
"babel-loader": "^8.2.3",
|
|
9965
9977
|
"browserify-zlib": "^0.2.0",
|
|
@@ -9988,34 +10000,15 @@
|
|
|
9988
10000
|
"webpack": "5.75.0",
|
|
9989
10001
|
"webpack-bundle-analyzer": "^4.8.0",
|
|
9990
10002
|
"whatwg-url": "^7.0.0"
|
|
9991
|
-
},
|
|
9992
|
-
"dependencies": {
|
|
9993
|
-
"@forge/api": {
|
|
9994
|
-
"version": "2.13.0-next.1",
|
|
9995
|
-
"resolved": "https://registry.npmjs.org/@forge/api/-/api-2.13.0-next.1.tgz",
|
|
9996
|
-
"integrity": "sha512-VJnnvPkFru5/IRO582Ke0PUoVanltObjAbiLGru1gsGvbmePGTBMUVJ8CA5ldHsjRAJiv8utZfg9w5r/Wj588Q==",
|
|
9997
|
-
"requires": {
|
|
9998
|
-
"@forge/auth": "0.0.1",
|
|
9999
|
-
"@forge/egress": "1.1.2",
|
|
10000
|
-
"@forge/storage": "1.4.0-next.0",
|
|
10001
|
-
"@types/node-fetch": "^2.5.7",
|
|
10002
|
-
"node-fetch": "2.6.7"
|
|
10003
|
-
}
|
|
10004
|
-
},
|
|
10005
|
-
"@forge/storage": {
|
|
10006
|
-
"version": "1.4.0-next.0",
|
|
10007
|
-
"resolved": "https://registry.npmjs.org/@forge/storage/-/storage-1.4.0-next.0.tgz",
|
|
10008
|
-
"integrity": "sha512-H/NNW7Nl5nPkQycpEijPLWOhLdqUmUnaHxel6hVl0tSHB1TWJuNVWyHCKyFaklgxzsfzkn/P9r6t4SrYp38hyQ=="
|
|
10009
|
-
}
|
|
10010
10003
|
}
|
|
10011
10004
|
},
|
|
10012
10005
|
"@forge/cli-shared": {
|
|
10013
|
-
"version": "3.8.0
|
|
10014
|
-
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.8.0
|
|
10015
|
-
"integrity": "sha512-
|
|
10006
|
+
"version": "3.8.0",
|
|
10007
|
+
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.8.0.tgz",
|
|
10008
|
+
"integrity": "sha512-ckRxUBpgzzgeoDDqWqP2oBftxGC0PPUzuZhVcZAaflMgbWehdXwTfwau+muVaT+6BR3wgNXXPW3D6nTiURV2/g==",
|
|
10016
10009
|
"requires": {
|
|
10017
|
-
"@forge/manifest": "4.8.0
|
|
10018
|
-
"@forge/util": "1.2.
|
|
10010
|
+
"@forge/manifest": "4.8.0",
|
|
10011
|
+
"@forge/util": "1.2.2",
|
|
10019
10012
|
"@sentry/node": "^7.29.0",
|
|
10020
10013
|
"array.prototype.flatmap": "^1.2.3",
|
|
10021
10014
|
"case": "^1.6.2",
|
|
@@ -10065,13 +10058,13 @@
|
|
|
10065
10058
|
}
|
|
10066
10059
|
},
|
|
10067
10060
|
"@forge/lint": {
|
|
10068
|
-
"version": "3.2.17
|
|
10069
|
-
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.2.17
|
|
10070
|
-
"integrity": "sha512-
|
|
10061
|
+
"version": "3.2.17",
|
|
10062
|
+
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.2.17.tgz",
|
|
10063
|
+
"integrity": "sha512-pL6EXIHBsdyZDWjOXRBPvQ8M7RNh9Gv14axWco01M5lLBeqgPzumhJeL6VVCehSZ2HRYaXssvl3UFKcALmaCpA==",
|
|
10071
10064
|
"requires": {
|
|
10072
|
-
"@forge/cli-shared": "3.8.0
|
|
10065
|
+
"@forge/cli-shared": "3.8.0",
|
|
10073
10066
|
"@forge/egress": "1.1.2",
|
|
10074
|
-
"@forge/manifest": "4.8.0
|
|
10067
|
+
"@forge/manifest": "4.8.0",
|
|
10075
10068
|
"@typescript-eslint/typescript-estree": "^5.40.0",
|
|
10076
10069
|
"atlassian-openapi": "^1.0.13",
|
|
10077
10070
|
"cross-spawn": "^7.0.3",
|
|
@@ -10079,11 +10072,11 @@
|
|
|
10079
10072
|
}
|
|
10080
10073
|
},
|
|
10081
10074
|
"@forge/manifest": {
|
|
10082
|
-
"version": "4.8.0
|
|
10083
|
-
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.8.0
|
|
10084
|
-
"integrity": "sha512-
|
|
10075
|
+
"version": "4.8.0",
|
|
10076
|
+
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.8.0.tgz",
|
|
10077
|
+
"integrity": "sha512-Llq4Q1LHZZd0a7WMds2Id5I0OcV9BE9WotIo0C4qQZ2z+ypaGdhtqAIUBZ9GyDL7kCB1WSnUcdcX+SZBTrg/DA==",
|
|
10085
10078
|
"requires": {
|
|
10086
|
-
"@forge/util": "1.2.
|
|
10079
|
+
"@forge/util": "1.2.2",
|
|
10087
10080
|
"ajv": "^6.12.6",
|
|
10088
10081
|
"cheerio": "^0.22.0",
|
|
10089
10082
|
"js-yaml": "^3.13.1",
|
|
@@ -10094,11 +10087,11 @@
|
|
|
10094
10087
|
}
|
|
10095
10088
|
},
|
|
10096
10089
|
"@forge/runtime": {
|
|
10097
|
-
"version": "4.3.1
|
|
10098
|
-
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.3.1
|
|
10099
|
-
"integrity": "sha512
|
|
10090
|
+
"version": "4.3.1",
|
|
10091
|
+
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.3.1.tgz",
|
|
10092
|
+
"integrity": "sha512-oHhEdEfqbnsFPWDESz81FnVV/WBkcAMhAI8wejgx7ElZzqHloXJocKgRDYY1cR/pvz6tbmhzUIpUC7Ixgq2UEg==",
|
|
10100
10093
|
"requires": {
|
|
10101
|
-
"@forge/util": "1.2.
|
|
10094
|
+
"@forge/util": "1.2.2",
|
|
10102
10095
|
"fp-ts": "^2.0.1",
|
|
10103
10096
|
"io-ts": "^2.0.6",
|
|
10104
10097
|
"io-ts-reporters": "^1.0.0",
|
|
@@ -10109,15 +10102,20 @@
|
|
|
10109
10102
|
"ws": "^7.1.0"
|
|
10110
10103
|
}
|
|
10111
10104
|
},
|
|
10105
|
+
"@forge/storage": {
|
|
10106
|
+
"version": "1.4.0",
|
|
10107
|
+
"resolved": "https://registry.npmjs.org/@forge/storage/-/storage-1.4.0.tgz",
|
|
10108
|
+
"integrity": "sha512-laGaSMzgyHfL1rGoz9l3g0u5DZTzavKp97zp6I0ZigAnZuFupGEopkL/vGdEG0npMhu6PfM/b8mi98zyqfB+rg=="
|
|
10109
|
+
},
|
|
10112
10110
|
"@forge/tunnel": {
|
|
10113
|
-
"version": "3.3.0
|
|
10114
|
-
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.3.0
|
|
10115
|
-
"integrity": "sha512-
|
|
10111
|
+
"version": "3.3.0",
|
|
10112
|
+
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.3.0.tgz",
|
|
10113
|
+
"integrity": "sha512-9iH+KqIvKL/KH4dtmKkXQ0N4wwqUEc52ON8zeETBgpg1GEsDjZ3bV+vzR5OdT3hRx2gxn3DG7LFwgAP5SPOq2g==",
|
|
10116
10114
|
"requires": {
|
|
10117
|
-
"@forge/bundler": "4.6.1
|
|
10118
|
-
"@forge/cli-shared": "3.8.0
|
|
10115
|
+
"@forge/bundler": "4.6.1",
|
|
10116
|
+
"@forge/cli-shared": "3.8.0",
|
|
10119
10117
|
"@forge/csp": "2.1.1",
|
|
10120
|
-
"@forge/runtime": "4.3.1
|
|
10118
|
+
"@forge/runtime": "4.3.1",
|
|
10121
10119
|
"express": "^4.17.1",
|
|
10122
10120
|
"express-intercept": "^0.8.10",
|
|
10123
10121
|
"http-proxy-middleware": "^1.0.6",
|
|
@@ -10130,9 +10128,9 @@
|
|
|
10130
10128
|
}
|
|
10131
10129
|
},
|
|
10132
10130
|
"@forge/util": {
|
|
10133
|
-
"version": "1.2.
|
|
10134
|
-
"resolved": "https://registry.npmjs.org/@forge/util/-/util-1.2.
|
|
10135
|
-
"integrity": "sha512
|
|
10131
|
+
"version": "1.2.2",
|
|
10132
|
+
"resolved": "https://registry.npmjs.org/@forge/util/-/util-1.2.2.tgz",
|
|
10133
|
+
"integrity": "sha512-IvT6uGp7l4ES3jhrk0wUl+sncdTcnb3YcHA8kIXV7V/TEV++Bx/swiuzSIxJDBBJXMjkPGJS7LN1KSmJLUV66A==",
|
|
10136
10134
|
"requires": {
|
|
10137
10135
|
"webpack": "5.75.0",
|
|
10138
10136
|
"webpack-cli": "^4.9.1"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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"}
|
|
@@ -86,10 +86,15 @@ class DeployController {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
async verifyPostDeployment(environment) {
|
|
89
|
+
var _a, _b;
|
|
89
90
|
const needsVersionUpdate = await this.installationsService.hasOutdatedProductInstallation(environment);
|
|
90
91
|
if (needsVersionUpdate) {
|
|
91
92
|
this.deployView.displayOutdatedInstallationsMessage();
|
|
92
93
|
}
|
|
94
|
+
const manifest = await this.configFile.readConfig();
|
|
95
|
+
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
|
+
}
|
|
93
98
|
}
|
|
94
99
|
async run({ environment, verify }) {
|
|
95
100
|
this.deployView.displayStart(environment);
|
|
@@ -31,6 +31,7 @@ export declare class InstallController {
|
|
|
31
31
|
private promptForUpgrade;
|
|
32
32
|
private getUniqueInstallationProductsFromScopes;
|
|
33
33
|
run({ environment, site, product, upgrade, confirmScopes, nonInteractive }: InstallViewProps): Promise<void>;
|
|
34
|
+
private extractAddedScopes;
|
|
34
35
|
}
|
|
35
36
|
export {};
|
|
36
37
|
//# sourceMappingURL=install-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/install-controller.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"install-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/install-controller.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,iBAAiB,EAEjB,UAAU,EAEV,EAAE,EAUF,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAA6B,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAsBD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,WAAW,EAAE,MAAM;CAGhC;AASD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBANZ,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,EAAE,EACN,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,iBAAiB;YAGpC,cAAc;YAmBd,gBAAgB;YAuChB,gBAAgB;YAKhB,aAAa;YAeb,gBAAgB;IAqB9B,OAAO,CAAC,uCAAuC;IAalC,GAAG,CAAC,EACf,WAAW,EACX,IAAI,EACJ,OAAO,EACP,OAAO,EACP,aAAa,EACb,cAAc,EACf,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAmHrB,kBAAkB;CAYjC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InstallController = exports.NoDeploymentError = void 0;
|
|
4
4
|
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
|
+
const manifest_1 = require("@forge/manifest");
|
|
5
6
|
class NoDeploymentError extends Error {
|
|
6
7
|
constructor(environment) {
|
|
7
8
|
super(cli_shared_1.Text.install.error.noDeploymentFound((0, cli_shared_1.environmentToOption)(environment)));
|
|
@@ -101,7 +102,7 @@ class InstallController {
|
|
|
101
102
|
return products.size > 0 ? Array.from(products) : undefined;
|
|
102
103
|
}
|
|
103
104
|
async run({ environment, site, product, upgrade, confirmScopes, nonInteractive }) {
|
|
104
|
-
var _a;
|
|
105
|
+
var _a, _b;
|
|
105
106
|
const { id } = await this.appConfigProvider();
|
|
106
107
|
const text = upgrade ? cli_shared_1.Text.upgrade : cli_shared_1.Text.install;
|
|
107
108
|
if (upgrade && (!site || !product)) {
|
|
@@ -119,8 +120,7 @@ class InstallController {
|
|
|
119
120
|
const hasDefaultReadMeScope = await this.featureFlags.readMeScopeAddedByXLS();
|
|
120
121
|
this.ui.debug(`appId ${id} has read:me scope added by default?: ${hasDefaultReadMeScope}`);
|
|
121
122
|
const environmentPermissions = await this.installationService.getAppEnvironmentPermissions(id, environment);
|
|
122
|
-
if (!environmentPermissions ||
|
|
123
|
-
(hasDefaultReadMeScope && (!(environmentPermissions === null || environmentPermissions === void 0 ? void 0 : environmentPermissions.scopes) || environmentPermissions.scopes.length === 0))) {
|
|
123
|
+
if (!environmentPermissions || (hasDefaultReadMeScope && !((_a = environmentPermissions.scopes) === null || _a === void 0 ? void 0 : _a.length))) {
|
|
124
124
|
this.ui.error(new NoDeploymentError(environment), { pad: false });
|
|
125
125
|
return;
|
|
126
126
|
}
|
|
@@ -133,8 +133,12 @@ class InstallController {
|
|
|
133
133
|
this.configFile.getEgressPermissions()
|
|
134
134
|
]);
|
|
135
135
|
const manifestEgressAddresses = (0, cli_shared_1.flatMap)(manifestEgressEntries, ({ domains }) => domains !== null && domains !== void 0 ? domains : []);
|
|
136
|
-
const manifestScopes = (
|
|
137
|
-
|
|
136
|
+
const manifestScopes = new Set((_b = permissions === null || permissions === void 0 ? void 0 : permissions.scopes) !== null && _b !== void 0 ? _b : []);
|
|
137
|
+
if (hasDefaultReadMeScope) {
|
|
138
|
+
manifestScopes.add('read:me');
|
|
139
|
+
}
|
|
140
|
+
const addedScopes = await this.extractAddedScopes(environmentPermissions);
|
|
141
|
+
const scopesConfirmationResult = await this.installView.promptForPermissionsConfirmation(environmentPermissions, addedScopes, [...manifestScopes], manifestEgressAddresses, environment, confirmScopes, !!nonInteractive, text);
|
|
138
142
|
if (!scopesConfirmationResult)
|
|
139
143
|
return;
|
|
140
144
|
const isAlreadyUpdated = await this.installOrUpgrade(upgrade, environment, environmentType, site, product, id, text);
|
|
@@ -161,5 +165,13 @@ class InstallController {
|
|
|
161
165
|
this.ui.warn(cli_shared_1.Text.install.multiProductScopesDetected(productsToInstall, productsToUpgrade, site.host, environment, cli_shared_1.environmentToOption));
|
|
162
166
|
}
|
|
163
167
|
}
|
|
168
|
+
async extractAddedScopes({ addedScopes }) {
|
|
169
|
+
const isAutoConsentAllowed = await this.featureFlags.isAutoConsentAllowed();
|
|
170
|
+
const scopesWithInteractiveConsent = (0, manifest_1.getScopesWithInteractiveConsent)();
|
|
171
|
+
return addedScopes.map((scope) => ({
|
|
172
|
+
name: scope,
|
|
173
|
+
requiresInteractiveConsent: isAutoConsentAllowed ? scopesWithInteractiveConsent.has(scope) : undefined
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
164
176
|
}
|
|
165
177
|
exports.InstallController = InstallController;
|
|
@@ -27,6 +27,7 @@ import { SettingsController } from './controller/settings-controller';
|
|
|
27
27
|
import { TunnelController } from './controller/tunnel-controller';
|
|
28
28
|
import { StubController } from './controller/stubController';
|
|
29
29
|
import { PrerequisitesController } from './controller/prerequisites-controller';
|
|
30
|
+
import { ListEntitiesIndexesCommand } from '../entities/list-indexes';
|
|
30
31
|
export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Promise<{
|
|
31
32
|
ui: CommandLineUI;
|
|
32
33
|
cmd: Command<[], import("./command").DefaultOpts>;
|
|
@@ -54,6 +55,7 @@ export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Pr
|
|
|
54
55
|
listEnvironmentCommand: ListEnvironmentCommand;
|
|
55
56
|
viewAppLogsCommand: ViewAppLogsCommand;
|
|
56
57
|
getWebTriggerURLCommand: GetWebTriggerURLCommand;
|
|
58
|
+
listEntitiesIndexesCommand: ListEntitiesIndexesCommand;
|
|
57
59
|
};
|
|
58
60
|
services: {
|
|
59
61
|
featureFlagService: FeatureFlagService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAMA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAUlB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAMA,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;AAMzE,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmTvE,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"}
|
|
@@ -21,10 +21,11 @@ const add_contributor_1 = require("../contributors/add-contributor");
|
|
|
21
21
|
const list_contributors_1 = require("../contributors/list-contributors");
|
|
22
22
|
const remove_contributors_1 = require("../contributors/remove-contributors");
|
|
23
23
|
const graphql_client_4 = require("../contributors/graphql-client");
|
|
24
|
+
const graphql_client_5 = require("../entities/graphql-client");
|
|
24
25
|
const create_environment_1 = require("../environment/create-environment");
|
|
25
26
|
const list_environment_1 = require("../environment/list-environment");
|
|
26
|
-
const
|
|
27
|
-
const
|
|
27
|
+
const graphql_client_6 = require("../environment/graphql-client");
|
|
28
|
+
const graphql_client_7 = require("../installations/graphql-client");
|
|
28
29
|
const site_translation_1 = require("../installations/site-translation");
|
|
29
30
|
const install_app_site_1 = require("../installations/install-app-site");
|
|
30
31
|
const uninstall_app_1 = require("../installations/uninstall-app");
|
|
@@ -60,12 +61,13 @@ const lint_view_1 = require("./view/lint-view");
|
|
|
60
61
|
const lite_lint_view_1 = require("./view/lite-lint-view");
|
|
61
62
|
const settings_view_1 = require("./view/settings-view");
|
|
62
63
|
const tunnel_view_1 = require("./view/tunnel-view");
|
|
63
|
-
const
|
|
64
|
+
const graphql_client_8 = require("../webtrigger/graphql-client");
|
|
64
65
|
const stubController_1 = require("./controller/stubController");
|
|
65
66
|
const prerequisites_controller_1 = require("./controller/prerequisites-controller");
|
|
66
67
|
const runtime_bundler_1 = require("../deploy/packager/runtime-bundler");
|
|
67
68
|
const nativeui_bundler_1 = require("../deploy/packager/nativeui-bundler");
|
|
68
69
|
const sentry_1 = require("./sentry");
|
|
70
|
+
const list_indexes_1 = require("../entities/list-indexes");
|
|
69
71
|
const getDependencies = async (cliDetails) => {
|
|
70
72
|
let cmd;
|
|
71
73
|
const ui = new cli_shared_1.CommandLineUI(() => cmd.verbose);
|
|
@@ -121,7 +123,7 @@ const getDependencies = async (cliDetails) => {
|
|
|
121
123
|
const addContributorCommand = new add_contributor_1.AddContributorCommand(contributorClient, assertiveAppConfigReader);
|
|
122
124
|
const listContributorCommand = new list_contributors_1.ListContributorsCommand(contributorClient, assertiveAppConfigReader);
|
|
123
125
|
const removeContributorsCommand = new remove_contributors_1.RemoveContributorsCommand(contributorClient, assertiveAppConfigReader);
|
|
124
|
-
const environmentClient = new
|
|
126
|
+
const environmentClient = new graphql_client_6.GraphqlClient(graphQLClient);
|
|
125
127
|
const createEnvironmentCommand = new create_environment_1.CreateEnvironmentCommand(environmentClient, assertiveAppConfigReader);
|
|
126
128
|
const listEnvironmentCommand = new list_environment_1.ListEnvironmentCommand(environmentClient, assertiveAppConfigReader);
|
|
127
129
|
const migrationKeysClient = new graphql_client_2.GraphqlClient(graphQLClient);
|
|
@@ -131,13 +133,16 @@ const getDependencies = async (cliDetails) => {
|
|
|
131
133
|
const globalEdgeClient = new cli_shared_1.GlobalEdgeHttpClient(globalEdgeFetchClient);
|
|
132
134
|
const logsClient = new cli_shared_1.LogsGraphQLClient(graphQLClient);
|
|
133
135
|
const viewAppLogsCommand = new cli_shared_1.ViewAppLogsCommand(assertiveAppConfigReader, appEnvironmentClient, globalEdgeClient, logsClient);
|
|
136
|
+
const appOauthClientGraphql = new cli_shared_1.AppOauthClientGraphqlClient(graphQLClient);
|
|
137
|
+
const entitiesClient = new graphql_client_5.EntitiesGraphqlClient(graphQLClient);
|
|
138
|
+
const listEntitiesIndexesCommand = new list_indexes_1.ListEntitiesIndexesCommand(assertiveAppConfigReader, appOauthClientGraphql, entitiesClient);
|
|
134
139
|
const bitbucketTranslation = new site_translation_1.BitbucketTranslator();
|
|
135
140
|
const cloudProductTranslation = new site_translation_1.CloudIdTranslator(graphQLClient);
|
|
136
|
-
const installationsClient = new
|
|
141
|
+
const installationsClient = new graphql_client_7.InstallationsGraphqlClient(graphQLClient, cloudProductTranslation, bitbucketTranslation, cli_shared_1.pause);
|
|
137
142
|
const installAppSiteCommand = new install_app_site_1.InstallAppSiteCommand(assertiveAppConfigReader, installationsClient);
|
|
138
143
|
const uninstallAppCommand = new uninstall_app_1.UninstallAppCommand(assertiveAppConfigReader, installationsClient);
|
|
139
144
|
const deployMonitorClient = new deploy_1.DeployMonitorGraphqlClient(graphQLClient);
|
|
140
|
-
const webTriggerGraphqlClient = new
|
|
145
|
+
const webTriggerGraphqlClient = new graphql_client_8.WebTriggerGraphQLClient(graphQLClient);
|
|
141
146
|
const archiverFactory = () => new deploy_1.ZipArchiver(ui);
|
|
142
147
|
const uploaderArtifactClient = new deploy_1.ArtifactGraphQLClient(graphQLClient);
|
|
143
148
|
const triggerDeployClient = new deploy_1.TriggerDeployGraphQLClient(graphQLClient);
|
|
@@ -150,7 +155,7 @@ const getDependencies = async (cliDetails) => {
|
|
|
150
155
|
const getWebTriggerURLCommand = new get_webtrigger_url_1.GetWebTriggerURLCommand(assertiveAppConfigReader, installationsClient, appEnvironmentClient, webTriggerGraphqlClient);
|
|
151
156
|
const autocompleteController = new autocomplete_controller_1.AutocompleteController(ui);
|
|
152
157
|
const installationsService = new installation_service_1.InstallationService(assertiveAppConfigReader, installationsClient, installationsClient);
|
|
153
|
-
const installView = new install_view_1.InstallView(ui
|
|
158
|
+
const installView = new install_view_1.InstallView(ui);
|
|
154
159
|
const installController = new install_controller_1.InstallController(assertiveAppConfigReader, configFile, ui, installAppSiteCommand, installationsService, installView, featureFlagService);
|
|
155
160
|
const feedbackController = new feedback_controller_1.FeedbackController(credentialStore, feedbackPostClient);
|
|
156
161
|
const lintService = new lint_service_1.LintService(configFile, fileReader);
|
|
@@ -203,7 +208,8 @@ const getDependencies = async (cliDetails) => {
|
|
|
203
208
|
createEnvironmentCommand,
|
|
204
209
|
listEnvironmentCommand,
|
|
205
210
|
viewAppLogsCommand,
|
|
206
|
-
getWebTriggerURLCommand
|
|
211
|
+
getWebTriggerURLCommand,
|
|
212
|
+
listEntitiesIndexesCommand
|
|
207
213
|
},
|
|
208
214
|
services: {
|
|
209
215
|
featureFlagService,
|
|
@@ -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;
|
|
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"}
|
|
@@ -19,6 +19,7 @@ const register_settings_commands_1 = require("./register-settings-commands");
|
|
|
19
19
|
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
|
+
const register_storage_commands_1 = require("./register-storage-commands");
|
|
22
23
|
function registerCommands(deps) {
|
|
23
24
|
(0, register_autocomplete_commands_1.registerCommands)(deps);
|
|
24
25
|
(0, register_authentication_command_1.registerCommands)(deps);
|
|
@@ -33,6 +34,7 @@ function registerCommands(deps) {
|
|
|
33
34
|
(0, register_feedback_commands_1.registerCommands)(deps);
|
|
34
35
|
(0, register_settings_commands_1.registerCommands)(deps);
|
|
35
36
|
(0, register_providers_commands_1.registerCommands)(deps);
|
|
37
|
+
(0, register_storage_commands_1.registerCommands)(deps);
|
|
36
38
|
}
|
|
37
39
|
exports.registerCommands = registerCommands;
|
|
38
40
|
const registerEvents = ({ ui }) => {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ConfigFile } from '@forge/cli-shared';
|
|
2
|
+
import { Dependencies } from './dependency-injection';
|
|
3
|
+
export declare function getManifestEntities(configFile: ConfigFile): Promise<{
|
|
4
|
+
entities: string[];
|
|
5
|
+
}>;
|
|
6
|
+
export interface ListIndexesData {
|
|
7
|
+
environment: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function listIndexes(data: ListIndexesData, configFile: ConfigFile, { ui, commands: { listEntitiesIndexesCommand } }: Dependencies): Promise<void>;
|
|
10
|
+
export declare const registerCommands: (deps: Dependencies) => void;
|
|
11
|
+
//# sourceMappingURL=register-storage-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-storage-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-storage-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA6B,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAKtD,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,UAAU;;GAG/D;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,0BAA0B,EAAE,EAAE,EAAE,YAAY,iBAoB/D;AAqBD,eAAO,MAAM,gBAAgB,SAAU,YAAY,KAAG,IAOrD,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCommands = exports.listIndexes = exports.getManifestEntities = void 0;
|
|
4
|
+
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
|
+
const COMMAND_NAME = 'storage';
|
|
6
|
+
async function getManifestEntities(configFile) {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const manifest = await configFile.readConfig();
|
|
9
|
+
return { entities: ((_b = (_a = manifest.app.storage) === null || _a === void 0 ? void 0 : _a.entities) === null || _b === void 0 ? void 0 : _b.map((entity) => entity.name)) || [] };
|
|
10
|
+
}
|
|
11
|
+
exports.getManifestEntities = getManifestEntities;
|
|
12
|
+
async function listIndexes(data, configFile, { ui, commands: { listEntitiesIndexesCommand } }) {
|
|
13
|
+
const { entities } = await getManifestEntities(configFile);
|
|
14
|
+
if (!entities.length) {
|
|
15
|
+
throw new Error(cli_shared_1.Text.entitiesIndexesList.missingEntities);
|
|
16
|
+
}
|
|
17
|
+
const result = await listEntitiesIndexesCommand.execute((0, cli_shared_1.optionToEnvironment)(data.environment || 'development'), entities);
|
|
18
|
+
ui.table([
|
|
19
|
+
['entityName', 'Entity name'],
|
|
20
|
+
['indexName', 'Index name'],
|
|
21
|
+
['indexStatus', 'Index status']
|
|
22
|
+
], result.indexes);
|
|
23
|
+
}
|
|
24
|
+
exports.listIndexes = listIndexes;
|
|
25
|
+
const registerListCustomEntityIndexCommand = (parent, configFile, deps) => {
|
|
26
|
+
parent
|
|
27
|
+
.command('list')
|
|
28
|
+
.requireAppId()
|
|
29
|
+
.environmentOption()
|
|
30
|
+
.description(cli_shared_1.Text.entitiesIndexesList.cmd.desc)
|
|
31
|
+
.action(async (data) => {
|
|
32
|
+
await listIndexes(data, configFile, deps);
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
const registerCustomEntitiesIndexesCommand = (parent, { ui }) => {
|
|
36
|
+
return parent.command('indexes').requireAppId().description(cli_shared_1.Text.entitiesIndexes.cmd.desc);
|
|
37
|
+
};
|
|
38
|
+
const registerCustomEntitiesCommand = (parent, { ui }) => {
|
|
39
|
+
return parent.command('entities').requireAppId().description(cli_shared_1.Text.entitiesIndexes.cmd.desc);
|
|
40
|
+
};
|
|
41
|
+
const registerCommands = (deps) => {
|
|
42
|
+
const { cmd, configFile } = deps;
|
|
43
|
+
const storage = cmd.command(COMMAND_NAME).description(cli_shared_1.Text.storage.cmd.desc);
|
|
44
|
+
const customEntitiesCommand = registerCustomEntitiesCommand(storage, deps);
|
|
45
|
+
const customEntitiesIndexesCommand = registerCustomEntitiesIndexesCommand(customEntitiesCommand, deps);
|
|
46
|
+
registerListCustomEntityIndexCommand(customEntitiesIndexesCommand, configFile, deps);
|
|
47
|
+
};
|
|
48
|
+
exports.registerCommands = registerCommands;
|
|
@@ -8,6 +8,7 @@ export declare class DeployView {
|
|
|
8
8
|
displayStart(environment: string): void;
|
|
9
9
|
displayLintRunning(): void;
|
|
10
10
|
displayOutdatedInstallationsMessage(): void;
|
|
11
|
+
displayIndexingCommand(environment: string): void;
|
|
11
12
|
displayLintErrors(lintResults: LintResult[]): void;
|
|
12
13
|
displayLintWarnings(warnings: number): void;
|
|
13
14
|
displayNoLintProblems(): 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,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,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"}
|
|
@@ -21,6 +21,10 @@ class DeployView {
|
|
|
21
21
|
this.ui.emptyLine();
|
|
22
22
|
this.ui.warn(cli_shared_1.Text.deploy.outdatedInstallations);
|
|
23
23
|
}
|
|
24
|
+
displayIndexingCommand(environment) {
|
|
25
|
+
this.ui.emptyLine();
|
|
26
|
+
this.ui.info(cli_shared_1.Text.deploy.listIndexes(environment));
|
|
27
|
+
}
|
|
24
28
|
displayLintErrors(lintResults) {
|
|
25
29
|
this.ui.info(cli_shared_1.Text.deploy.taskLint.lintError);
|
|
26
30
|
(0, lint_1.reportLintResults)(this.ui, lintResults);
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import { UI,
|
|
1
|
+
import { UI, AddedScope } from '@forge/cli-shared';
|
|
2
2
|
import { AppEnvironmentPermissions, Installation } from '../../service/installation-service';
|
|
3
3
|
interface InstallOrUpgradeCommandText {
|
|
4
|
-
listScopes: (scopes:
|
|
4
|
+
listScopes: (scopes: AddedScope[]) => string;
|
|
5
5
|
listEgressAddresses: (egressAddresses: string[]) => string;
|
|
6
6
|
permissionsMismatch: (environment: string) => string;
|
|
7
7
|
promptForPermissionsConfirmation: (permissionsMismatchInDevelopment: boolean) => string;
|
|
8
8
|
}
|
|
9
|
-
export declare class NoScopesError extends UserError {
|
|
10
|
-
}
|
|
11
9
|
export declare class InstallView {
|
|
12
10
|
private readonly ui;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
promptForPermissionsConfirmation({ scopes, egressAddresses, addedScopes }: AppEnvironmentPermissions, manifestScopes: string[], manifestEgressAddresses: string[], environment: string, confirmScopes: boolean, nonInteractive: boolean, text: InstallOrUpgradeCommandText): Promise<boolean>;
|
|
11
|
+
constructor(ui: UI);
|
|
12
|
+
promptForPermissionsConfirmation({ scopes, egressAddresses }: AppEnvironmentPermissions, addedScopes: AddedScope[], manifestScopes: string[], manifestEgressAddresses: string[], environment: string, confirmScopes: boolean, nonInteractive: boolean, text: InstallOrUpgradeCommandText): Promise<boolean>;
|
|
16
13
|
promptForUpgrade(installations: Installation[]): Promise<Installation>;
|
|
17
14
|
}
|
|
18
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/install-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,EAAE,EAEF,
|
|
1
|
+
{"version":3,"file":"install-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/install-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,EAAE,EAEF,UAAU,EACX,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAE7F,UAAU,2BAA2B;IACnC,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,MAAM,CAAC;IAC7C,mBAAmB,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IAC3D,mBAAmB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,gCAAgC,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,MAAM,CAAC;CACzF;AAED,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAEtB,gCAAgC,CAC3C,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,yBAAyB,EACtD,WAAW,EAAE,UAAU,EAAE,EACzB,cAAc,EAAE,MAAM,EAAE,EACxB,uBAAuB,EAAE,MAAM,EAAE,EACjC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,OAAO,EACvB,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,OAAO,CAAC;IA+BN,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;CAqBpF"}
|
|
@@ -1,35 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InstallView =
|
|
3
|
+
exports.InstallView = void 0;
|
|
4
4
|
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
5
|
const egress_1 = require("@forge/egress");
|
|
6
6
|
const lodash_1 = require("lodash");
|
|
7
|
-
class NoScopesError extends cli_shared_1.UserError {
|
|
8
|
-
}
|
|
9
|
-
exports.NoScopesError = NoScopesError;
|
|
10
7
|
class InstallView {
|
|
11
|
-
constructor(ui
|
|
8
|
+
constructor(ui) {
|
|
12
9
|
this.ui = ui;
|
|
13
|
-
this.featureFlags = featureFlags;
|
|
14
10
|
}
|
|
15
|
-
async promptForPermissionsConfirmation({ scopes, egressAddresses, addedScopes
|
|
16
|
-
const hasDefaultReadMeScope = await this.featureFlags.readMeScopeAddedByXLS();
|
|
17
|
-
if (hasDefaultReadMeScope && scopes.length === 0) {
|
|
18
|
-
throw new NoScopesError();
|
|
19
|
-
}
|
|
11
|
+
async promptForPermissionsConfirmation({ scopes, egressAddresses }, addedScopes, manifestScopes, manifestEgressAddresses, environment, confirmScopes, nonInteractive, text) {
|
|
20
12
|
if (addedScopes.length)
|
|
21
13
|
this.ui.info(text.listScopes(addedScopes));
|
|
22
14
|
if (egressAddresses.length)
|
|
23
15
|
this.ui.info(text.listEgressAddresses(egressAddresses));
|
|
24
|
-
const manifestScopesSet = new Set(manifestScopes);
|
|
25
|
-
if (hasDefaultReadMeScope) {
|
|
26
|
-
manifestScopesSet.add('read:me');
|
|
27
|
-
}
|
|
28
|
-
const cleanedManifestScopes = [...manifestScopesSet];
|
|
29
16
|
const groupedManifestEgressAddresses = (0, egress_1.sortAndGroupEgressPermissionsByDomain)(manifestEgressAddresses);
|
|
30
17
|
let permissionsMismatchWithManifest = false;
|
|
31
18
|
if ((0, cli_shared_1.environmentToOption)(environment) === cli_shared_1.DEFAULT_ENVIRONMENT_OPTION) {
|
|
32
|
-
const scopesMismatch = !(0, lodash_1.isEqual)([...
|
|
19
|
+
const scopesMismatch = !(0, lodash_1.isEqual)([...manifestScopes].sort(), [...scopes].sort());
|
|
33
20
|
const egressAddressesMismatch = !(0, lodash_1.isEqual)([...groupedManifestEgressAddresses].sort(), [...egressAddresses].sort());
|
|
34
21
|
permissionsMismatchWithManifest = scopesMismatch || egressAddressesMismatch;
|
|
35
22
|
if (permissionsMismatchWithManifest) {
|
|
@@ -16,7 +16,7 @@ class NativeUIBundler {
|
|
|
16
16
|
if (entryPoints.length > 0) {
|
|
17
17
|
let bundlerOutputs;
|
|
18
18
|
try {
|
|
19
|
-
bundlerOutputs = await Promise.all(entryPoints.map((entrypoint) => this.bundler([entrypoint])));
|
|
19
|
+
bundlerOutputs = await Promise.all(entryPoints.map((entrypoint) => this.bundler(this.logger, [entrypoint])));
|
|
20
20
|
}
|
|
21
21
|
catch (e) {
|
|
22
22
|
throw new packager_1.BundlerError(e.message);
|
|
@@ -21,7 +21,7 @@ class RuntimeBundler {
|
|
|
21
21
|
if (entryPoints.length > 0) {
|
|
22
22
|
let bundlerResponse;
|
|
23
23
|
try {
|
|
24
|
-
bundlerResponse = await this.bundler(process.cwd(), entryPoints);
|
|
24
|
+
bundlerResponse = await this.bundler(this.logger, process.cwd(), entryPoints);
|
|
25
25
|
}
|
|
26
26
|
catch (e) {
|
|
27
27
|
throw new packager_1.BundlerError(e.message);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { GraphQLClient } from '@forge/cli-shared';
|
|
2
|
+
export declare class EntitiesGraphqlClient {
|
|
3
|
+
private readonly graphQLClient;
|
|
4
|
+
constructor(graphQLClient: GraphQLClient);
|
|
5
|
+
getEntitiesDefinitions(oauthClientId: string, entities: string[]): Promise<any[]>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=graphql-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/entities/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;CA+B/F"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntitiesGraphqlClient = void 0;
|
|
4
|
+
class EntitiesGraphqlClient {
|
|
5
|
+
constructor(graphQLClient) {
|
|
6
|
+
this.graphQLClient = graphQLClient;
|
|
7
|
+
}
|
|
8
|
+
async getEntitiesDefinitions(oauthClientId, entities) {
|
|
9
|
+
var _a;
|
|
10
|
+
const query = `
|
|
11
|
+
query forge_cli_getAppOauthClientIdDetails($oauthClientId: String!, $entities: [String!]!) {
|
|
12
|
+
ersLifecycle {
|
|
13
|
+
customEntityDefinitions(
|
|
14
|
+
entities: $entities
|
|
15
|
+
oauthClientId: $oauthClientId
|
|
16
|
+
) {
|
|
17
|
+
indexes {
|
|
18
|
+
name
|
|
19
|
+
partition
|
|
20
|
+
range
|
|
21
|
+
status
|
|
22
|
+
}
|
|
23
|
+
name
|
|
24
|
+
status
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
const result = await this.graphQLClient.query(query, {
|
|
30
|
+
oauthClientId,
|
|
31
|
+
entities
|
|
32
|
+
});
|
|
33
|
+
return ((_a = result === null || result === void 0 ? void 0 : result.ersLifecycle) === null || _a === void 0 ? void 0 : _a.customEntityDefinitions) || [];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.EntitiesGraphqlClient = EntitiesGraphqlClient;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AppConfigProvider, AppOauthClientIdClient } from '@forge/cli-shared';
|
|
2
|
+
export interface CustomEntityIndex {
|
|
3
|
+
entityName: string;
|
|
4
|
+
indexName: string;
|
|
5
|
+
indexStatus: CustomEntityIndexStatus;
|
|
6
|
+
}
|
|
7
|
+
export declare enum CustomEntityIndexStatus {
|
|
8
|
+
ACTIVE = "ACTIVE",
|
|
9
|
+
CREATING = "CREATING"
|
|
10
|
+
}
|
|
11
|
+
export interface AppCustomEntitiesIndexes {
|
|
12
|
+
appId: string;
|
|
13
|
+
oauthClientId: string;
|
|
14
|
+
environmentId: string;
|
|
15
|
+
indexes: CustomEntityIndex[];
|
|
16
|
+
}
|
|
17
|
+
export interface EntitiesClient {
|
|
18
|
+
getEntitiesDefinitions(oauthClientId: string, entities: string[]): Promise<any[]>;
|
|
19
|
+
}
|
|
20
|
+
export declare class ListEntitiesIndexesCommand {
|
|
21
|
+
private readonly getAppConfig;
|
|
22
|
+
private readonly appOauthClient;
|
|
23
|
+
private readonly entitiesGraphqlClient;
|
|
24
|
+
constructor(getAppConfig: AppConfigProvider, appOauthClient: AppOauthClientIdClient, entitiesGraphqlClient: EntitiesClient);
|
|
25
|
+
execute(environment: string, entities: string[]): Promise<AppCustomEntitiesIndexes>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=list-indexes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-indexes.d.ts","sourceRoot":"","sources":["../../src/entities/list-indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,uBAAuB,CAAC;CACtC;AAED,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACnF;AAED,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAFrB,YAAY,EAAE,iBAAiB,EAC/B,cAAc,EAAE,sBAAsB,EACtC,qBAAqB,EAAE,cAAc;IAG3C,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA+CjG"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ListEntitiesIndexesCommand = exports.CustomEntityIndexStatus = void 0;
|
|
4
|
+
var CustomEntityIndexStatus;
|
|
5
|
+
(function (CustomEntityIndexStatus) {
|
|
6
|
+
CustomEntityIndexStatus["ACTIVE"] = "ACTIVE";
|
|
7
|
+
CustomEntityIndexStatus["CREATING"] = "CREATING";
|
|
8
|
+
})(CustomEntityIndexStatus = exports.CustomEntityIndexStatus || (exports.CustomEntityIndexStatus = {}));
|
|
9
|
+
class ListEntitiesIndexesCommand {
|
|
10
|
+
constructor(getAppConfig, appOauthClient, entitiesGraphqlClient) {
|
|
11
|
+
this.getAppConfig = getAppConfig;
|
|
12
|
+
this.appOauthClient = appOauthClient;
|
|
13
|
+
this.entitiesGraphqlClient = entitiesGraphqlClient;
|
|
14
|
+
}
|
|
15
|
+
async execute(environment, entities) {
|
|
16
|
+
var _a;
|
|
17
|
+
const { id: appId } = await this.getAppConfig();
|
|
18
|
+
const { environmentId, oauthClientId } = await this.appOauthClient.getAppOauthClientIdDetails(appId, environment);
|
|
19
|
+
const results = await this.entitiesGraphqlClient.getEntitiesDefinitions(oauthClientId, entities);
|
|
20
|
+
const transformedIndexes = [];
|
|
21
|
+
const indexesToExclude = ['by-contextAri'];
|
|
22
|
+
for (const entity of results) {
|
|
23
|
+
const [, , , ...entityName] = entity.name.split('_');
|
|
24
|
+
for (const index of (_a = entity.indexes) !== null && _a !== void 0 ? _a : []) {
|
|
25
|
+
if (indexesToExclude.indexOf(index.name) < 0) {
|
|
26
|
+
transformedIndexes.push({
|
|
27
|
+
entityName: entityName.join('_'),
|
|
28
|
+
indexName: index.name,
|
|
29
|
+
indexStatus: index.status
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
transformedIndexes.sort((index1, index2) => {
|
|
35
|
+
if (index1.indexStatus > index2.indexStatus) {
|
|
36
|
+
return -1;
|
|
37
|
+
}
|
|
38
|
+
else if (index1.indexStatus < index2.indexStatus) {
|
|
39
|
+
return 1;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
if (index1.entityName < index2.entityName) {
|
|
43
|
+
return -1;
|
|
44
|
+
}
|
|
45
|
+
else if (index1.entityName > index2.entityName) {
|
|
46
|
+
return 1;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return {
|
|
54
|
+
appId,
|
|
55
|
+
environmentId,
|
|
56
|
+
oauthClientId,
|
|
57
|
+
indexes: transformedIndexes
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.ListEntitiesIndexesCommand = ListEntitiesIndexesCommand;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "6.6.0
|
|
3
|
+
"version": "6.6.0",
|
|
4
4
|
"description": "A command line interface for managing Atlassian-hosted apps",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,14 +18,14 @@
|
|
|
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.6.1
|
|
22
|
-
"@forge/cli-shared": "3.8.0
|
|
21
|
+
"@forge/bundler": "4.6.1",
|
|
22
|
+
"@forge/cli-shared": "3.8.0",
|
|
23
23
|
"@forge/egress": "1.1.2",
|
|
24
|
-
"@forge/lint": "3.2.17
|
|
25
|
-
"@forge/manifest": "4.8.0
|
|
26
|
-
"@forge/runtime": "4.3.1
|
|
27
|
-
"@forge/tunnel": "3.3.0
|
|
28
|
-
"@forge/util": "1.2.
|
|
24
|
+
"@forge/lint": "3.2.17",
|
|
25
|
+
"@forge/manifest": "4.8.0",
|
|
26
|
+
"@forge/runtime": "4.3.1",
|
|
27
|
+
"@forge/tunnel": "3.3.0",
|
|
28
|
+
"@forge/util": "1.2.2",
|
|
29
29
|
"@sentry/node": "^7.29.0",
|
|
30
30
|
"ajv": "^6.12.6",
|
|
31
31
|
"archiver": "^5.2.0",
|