@forge/cli 6.6.0-next.9-experimental-3fb944e → 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 CHANGED
@@ -1,39 +1,109 @@
1
1
  # @forge/cli
2
2
 
3
- ## 6.6.0-next.9-experimental-3fb944e
3
+ ## 6.6.0
4
4
 
5
5
  ### Minor Changes
6
6
 
7
7
  - db2615bd: Allow custom environment names
8
- - acc35d7: Introduced command to list custom entities indexes
8
+ - 149ebb5: Introduced command to list custom entities indexes
9
9
  - dc0e198: Added 'forge environment list' command
10
+ - 9614f64: Add warning to Forge linter for scopes that require interactive user consent
10
11
 
11
12
  ### Patch Changes
12
13
 
14
+ - aa2a898: Updated test for improved warning text
13
15
  - d4a2423: Bumping dependencies via Renovate:
14
16
 
15
17
  - didyoumean
16
18
 
19
+ - 8db8d54: Don't try bundling optional packages with native extensions
17
20
  - 13b570b: Fix error handling reporting on Node runtime
18
21
  - 081aaa9: Bumping dependencies via Renovate:
19
22
 
20
23
  - cli-table3
21
24
 
25
+ - Updated dependencies [0d36e72]
26
+ - Updated dependencies [8db8d54]
27
+ - Updated dependencies [7100287]
22
28
  - Updated dependencies [d9ebc65]
23
29
  - Updated dependencies [db2615bd]
24
- - Updated dependencies [acc35d7]
30
+ - Updated dependencies [149ebb5]
25
31
  - Updated dependencies [dc0e198]
26
32
  - Updated dependencies [47a05cd]
27
33
  - Updated dependencies [081aaa9]
34
+ - Updated dependencies [9614f64]
28
35
  - Updated dependencies [32ca02f]
29
36
  - Updated dependencies [6f454d7]
30
37
  - Updated dependencies [4d594e7]
31
- - @forge/bundler@4.6.1-next.8-experimental-3fb944e
32
- - @forge/cli-shared@3.8.0-next.3-experimental-3fb944e
33
- - @forge/tunnel@3.3.0-next.8-experimental-3fb944e
34
- - @forge/manifest@4.8.0-next.1-experimental-3fb944e
35
- - @forge/runtime@4.3.1-next.0-experimental-3fb944e
36
- - @forge/lint@3.2.17-next.3-experimental-3fb944e
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
37
107
 
38
108
  ## 6.6.0-next.9
39
109
 
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "6.6.0-next.9-experimental-3fb944e",
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-next.9-experimental-3fb944e",
9
+ "version": "6.6.0",
10
10
  "hasInstallScript": true,
11
11
  "license": "UNLICENSED",
12
12
  "dependencies": {
13
- "@forge/bundler": "4.6.1-next.8-experimental-3fb944e",
14
- "@forge/cli-shared": "3.8.0-next.3-experimental-3fb944e",
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-next.3-experimental-3fb944e",
17
- "@forge/manifest": "4.8.0-next.1-experimental-3fb944e",
18
- "@forge/runtime": "4.3.1-next.0-experimental-3fb944e",
19
- "@forge/tunnel": "3.3.0-next.8-experimental-3fb944e",
20
- "@forge/util": "1.2.1",
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-next.8-experimental-3fb944e",
670
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.6.1-next.8-experimental-3fb944e.tgz",
671
- "integrity": "sha512-Yxo7fgYhl/g4g6KCh3JvTBKIPHYZWtKyfCKIRlkyj3eMOkumcuGY9X85Lx3JzeoMog7hgF6MPoZMSmYsdcDloA==",
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-next.1-experimental-3fb944e",
691
+ "@forge/api": "2.13.0",
680
692
  "@forge/babel-plugin-transform-ui": "1.1.1",
681
- "@forge/cli-shared": "3.8.0-next.3-experimental-3fb944e",
682
- "@forge/lint": "3.2.17-next.3-experimental-3fb944e",
683
- "@forge/runtime": "4.3.1-next.0-experimental-3fb944e",
684
- "@forge/util": "1.2.1",
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-experimental-3fb944e",
720
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.13.0-next.1-experimental-3fb944e.tgz",
721
- "integrity": "sha512-Zk3ozo8CHn15o+g689p4pnNXR1ZNYiX8TTCUMxYZe8eo5ryLlHhlHvojG0GSp98SSEZ3odfkqb2iP3E15+sesw==",
722
- "dependencies": {
723
- "@forge/auth": "0.0.1",
724
- "@forge/egress": "1.1.2",
725
- "@forge/storage": "1.4.0-next.0-experimental-3fb944e",
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-experimental-3fb944e",
732
- "resolved": "https://registry.npmjs.org/@forge/storage/-/storage-1.4.0-next.0-experimental-3fb944e.tgz",
733
- "integrity": "sha512-1jCCaWOCXatPVdO5Ex0SIeeyKbW2dZg4ZL3PjX8qo54devB51yAl8M2O5erXQx5grzuTujfGknUqlBhE9QWPIg=="
734
- },
735
730
  "node_modules/@forge/cli-shared": {
736
- "version": "3.8.0-next.3-experimental-3fb944e",
737
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.8.0-next.3-experimental-3fb944e.tgz",
738
- "integrity": "sha512-rNcw1qyet4fZbooujbMiqZf3EAbPBLJSrgNaCuAAJq8CDQPi1kwsnhHxZFZang7RB+46yiyrvy96045Vm4+AsQ==",
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-next.1-experimental-3fb944e",
741
- "@forge/util": "1.2.1",
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",
@@ -771,9 +766,9 @@
771
766
  }
772
767
  },
773
768
  "node_modules/@forge/csp": {
774
- "version": "2.1.1-experimental-3fb944e",
775
- "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-2.1.1-experimental-3fb944e.tgz",
776
- "integrity": "sha512-kJBRtt1z1c8y1etqD89LKVyAURh9t9cxcTJ1CZzLejGRjQR+tyRtLjU0ANKqg0qOVETH5mBt5lIlTvuAPHZhPw==",
769
+ "version": "2.1.1",
770
+ "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-2.1.1.tgz",
771
+ "integrity": "sha512-Af69CNaZwVSGSlO0lm1Z737QFB9K5NOT6AQxfv4pTx+KeAIGTmP8AgYhKpgDx82IQb2EZeV0IJa9UbiXap8M3A==",
777
772
  "dependencies": {
778
773
  "cheerio": "^0.22.0",
779
774
  "content-security-policy-parser": "^0.3.0"
@@ -788,13 +783,13 @@
788
783
  }
789
784
  },
790
785
  "node_modules/@forge/lint": {
791
- "version": "3.2.17-next.3-experimental-3fb944e",
792
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.2.17-next.3-experimental-3fb944e.tgz",
793
- "integrity": "sha512-NHierjWd2pBCqI/RRNmnPJSFY3q4YvbeSqwfScra+XHyHVoSymHX4nQRGtVKJZhJO6h2AeJmevAzvZryBhHk/Q==",
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-next.3-experimental-3fb944e",
790
+ "@forge/cli-shared": "3.8.0",
796
791
  "@forge/egress": "1.1.2",
797
- "@forge/manifest": "4.8.0-next.1-experimental-3fb944e",
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-next.1-experimental-3fb944e",
806
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.8.0-next.1-experimental-3fb944e.tgz",
807
- "integrity": "sha512-9DEiX6LZqAMmV4E0mVgSNv63hbQIRcwjGqkcQ6aVsnRNrIda5LHxMZZzzc6ZCPneJdneTHEd0Sy9fobUHSjAHQ==",
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.1",
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-next.0-experimental-3fb944e",
821
- "resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.3.1-next.0-experimental-3fb944e.tgz",
822
- "integrity": "sha512-Ff7V0a14c695/fKncjtvvcfvHZQlYJGr0anu96j34ItlMROBPuyS/2+x9kjxssjd5SuU0yT1jbNZhmnn+KEyWg==",
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.1",
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-next.8-experimental-3fb944e",
840
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.3.0-next.8-experimental-3fb944e.tgz",
841
- "integrity": "sha512-aV0TQuuU8zNQAzNYAry+gVdqnG4VWjlXZrsQnafEz2KBU4MbmNoGU0tXq0lJs3A7ppQMXVYj0TDJOgzXV5ZlNQ==",
842
- "dependencies": {
843
- "@forge/bundler": "4.6.1-next.8-experimental-3fb944e",
844
- "@forge/cli-shared": "3.8.0-next.3-experimental-3fb944e",
845
- "@forge/csp": "2.1.1-experimental-3fb944e",
846
- "@forge/runtime": "4.3.1-next.0-experimental-3fb944e",
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
+ "dependencies": {
843
+ "@forge/bundler": "4.6.1",
844
+ "@forge/cli-shared": "3.8.0",
845
+ "@forge/csp": "2.1.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.1",
860
- "resolved": "https://registry.npmjs.org/@forge/util/-/util-1.2.1.tgz",
861
- "integrity": "sha512-/ADu8DznWoa3MuIdeGlcBlOX6FjaixD3cJl7PWKD2xdn9+jKaxBDTk7mHvMH6kheKDMEDMLFVosNK0mTiXqvxA==",
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-next.8-experimental-3fb944e",
9948
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.6.1-next.8-experimental-3fb944e.tgz",
9949
- "integrity": "sha512-Yxo7fgYhl/g4g6KCh3JvTBKIPHYZWtKyfCKIRlkyj3eMOkumcuGY9X85Lx3JzeoMog7hgF6MPoZMSmYsdcDloA==",
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-next.1-experimental-3fb944e",
9969
+ "@forge/api": "2.13.0",
9958
9970
  "@forge/babel-plugin-transform-ui": "1.1.1",
9959
- "@forge/cli-shared": "3.8.0-next.3-experimental-3fb944e",
9960
- "@forge/lint": "3.2.17-next.3-experimental-3fb944e",
9961
- "@forge/runtime": "4.3.1-next.0-experimental-3fb944e",
9962
- "@forge/util": "1.2.1",
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-experimental-3fb944e",
9995
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.13.0-next.1-experimental-3fb944e.tgz",
9996
- "integrity": "sha512-Zk3ozo8CHn15o+g689p4pnNXR1ZNYiX8TTCUMxYZe8eo5ryLlHhlHvojG0GSp98SSEZ3odfkqb2iP3E15+sesw==",
9997
- "requires": {
9998
- "@forge/auth": "0.0.1",
9999
- "@forge/egress": "1.1.2",
10000
- "@forge/storage": "1.4.0-next.0-experimental-3fb944e",
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-experimental-3fb944e",
10007
- "resolved": "https://registry.npmjs.org/@forge/storage/-/storage-1.4.0-next.0-experimental-3fb944e.tgz",
10008
- "integrity": "sha512-1jCCaWOCXatPVdO5Ex0SIeeyKbW2dZg4ZL3PjX8qo54devB51yAl8M2O5erXQx5grzuTujfGknUqlBhE9QWPIg=="
10009
- }
10010
10003
  }
10011
10004
  },
10012
10005
  "@forge/cli-shared": {
10013
- "version": "3.8.0-next.3-experimental-3fb944e",
10014
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.8.0-next.3-experimental-3fb944e.tgz",
10015
- "integrity": "sha512-rNcw1qyet4fZbooujbMiqZf3EAbPBLJSrgNaCuAAJq8CDQPi1kwsnhHxZFZang7RB+46yiyrvy96045Vm4+AsQ==",
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-next.1-experimental-3fb944e",
10018
- "@forge/util": "1.2.1",
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",
@@ -10048,9 +10041,9 @@
10048
10041
  }
10049
10042
  },
10050
10043
  "@forge/csp": {
10051
- "version": "2.1.1-experimental-3fb944e",
10052
- "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-2.1.1-experimental-3fb944e.tgz",
10053
- "integrity": "sha512-kJBRtt1z1c8y1etqD89LKVyAURh9t9cxcTJ1CZzLejGRjQR+tyRtLjU0ANKqg0qOVETH5mBt5lIlTvuAPHZhPw==",
10044
+ "version": "2.1.1",
10045
+ "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-2.1.1.tgz",
10046
+ "integrity": "sha512-Af69CNaZwVSGSlO0lm1Z737QFB9K5NOT6AQxfv4pTx+KeAIGTmP8AgYhKpgDx82IQb2EZeV0IJa9UbiXap8M3A==",
10054
10047
  "requires": {
10055
10048
  "cheerio": "^0.22.0",
10056
10049
  "content-security-policy-parser": "^0.3.0"
@@ -10065,13 +10058,13 @@
10065
10058
  }
10066
10059
  },
10067
10060
  "@forge/lint": {
10068
- "version": "3.2.17-next.3-experimental-3fb944e",
10069
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.2.17-next.3-experimental-3fb944e.tgz",
10070
- "integrity": "sha512-NHierjWd2pBCqI/RRNmnPJSFY3q4YvbeSqwfScra+XHyHVoSymHX4nQRGtVKJZhJO6h2AeJmevAzvZryBhHk/Q==",
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-next.3-experimental-3fb944e",
10065
+ "@forge/cli-shared": "3.8.0",
10073
10066
  "@forge/egress": "1.1.2",
10074
- "@forge/manifest": "4.8.0-next.1-experimental-3fb944e",
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-next.1-experimental-3fb944e",
10083
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-4.8.0-next.1-experimental-3fb944e.tgz",
10084
- "integrity": "sha512-9DEiX6LZqAMmV4E0mVgSNv63hbQIRcwjGqkcQ6aVsnRNrIda5LHxMZZzzc6ZCPneJdneTHEd0Sy9fobUHSjAHQ==",
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.1",
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-next.0-experimental-3fb944e",
10098
- "resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-4.3.1-next.0-experimental-3fb944e.tgz",
10099
- "integrity": "sha512-Ff7V0a14c695/fKncjtvvcfvHZQlYJGr0anu96j34ItlMROBPuyS/2+x9kjxssjd5SuU0yT1jbNZhmnn+KEyWg==",
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.1",
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-next.8-experimental-3fb944e",
10114
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.3.0-next.8-experimental-3fb944e.tgz",
10115
- "integrity": "sha512-aV0TQuuU8zNQAzNYAry+gVdqnG4VWjlXZrsQnafEz2KBU4MbmNoGU0tXq0lJs3A7ppQMXVYj0TDJOgzXV5ZlNQ==",
10116
- "requires": {
10117
- "@forge/bundler": "4.6.1-next.8-experimental-3fb944e",
10118
- "@forge/cli-shared": "3.8.0-next.3-experimental-3fb944e",
10119
- "@forge/csp": "2.1.1-experimental-3fb944e",
10120
- "@forge/runtime": "4.3.1-next.0-experimental-3fb944e",
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==",
10114
+ "requires": {
10115
+ "@forge/bundler": "4.6.1",
10116
+ "@forge/cli-shared": "3.8.0",
10117
+ "@forge/csp": "2.1.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.1",
10134
- "resolved": "https://registry.npmjs.org/@forge/util/-/util-1.2.1.tgz",
10135
- "integrity": "sha512-/ADu8DznWoa3MuIdeGlcBlOX6FjaixD3cJl7PWKD2xdn9+jKaxBDTk7mHvMH6kheKDMEDMLFVosNK0mTiXqvxA==",
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"
@@ -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,EACL,iBAAiB,EAEjB,UAAU,EAEV,EAAE,EAUF,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,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;CA8GpC"}
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 = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.scopes) !== null && _a !== void 0 ? _a : [];
137
- const scopesConfirmationResult = await this.installView.promptForPermissionsConfirmation(environmentPermissions, manifestScopes, manifestEgressAddresses, environment, confirmScopes, !!nonInteractive, text);
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;
@@ -155,7 +155,7 @@ const getDependencies = async (cliDetails) => {
155
155
  const getWebTriggerURLCommand = new get_webtrigger_url_1.GetWebTriggerURLCommand(assertiveAppConfigReader, installationsClient, appEnvironmentClient, webTriggerGraphqlClient);
156
156
  const autocompleteController = new autocomplete_controller_1.AutocompleteController(ui);
157
157
  const installationsService = new installation_service_1.InstallationService(assertiveAppConfigReader, installationsClient, installationsClient);
158
- const installView = new install_view_1.InstallView(ui, featureFlagService);
158
+ const installView = new install_view_1.InstallView(ui);
159
159
  const installController = new install_controller_1.InstallController(assertiveAppConfigReader, configFile, ui, installAppSiteCommand, installationsService, installView, featureFlagService);
160
160
  const feedbackController = new feedback_controller_1.FeedbackController(credentialStore, feedbackPostClient);
161
161
  const lintService = new lint_service_1.LintService(configFile, fileReader);
@@ -1 +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,iBAgB/D;AAqBD,eAAO,MAAM,gBAAgB,SAAU,YAAY,KAAG,IAOrD,CAAC"}
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"}
@@ -11,6 +11,9 @@ async function getManifestEntities(configFile) {
11
11
  exports.getManifestEntities = getManifestEntities;
12
12
  async function listIndexes(data, configFile, { ui, commands: { listEntitiesIndexesCommand } }) {
13
13
  const { entities } = await getManifestEntities(configFile);
14
+ if (!entities.length) {
15
+ throw new Error(cli_shared_1.Text.entitiesIndexesList.missingEntities);
16
+ }
14
17
  const result = await listEntitiesIndexesCommand.execute((0, cli_shared_1.optionToEnvironment)(data.environment || 'development'), entities);
15
18
  ui.table([
16
19
  ['entityName', 'Entity name'],
@@ -1,18 +1,15 @@
1
- import { UI, FeatureFlagReader, UserError } from '@forge/cli-shared';
1
+ import { UI, AddedScope } from '@forge/cli-shared';
2
2
  import { AppEnvironmentPermissions, Installation } from '../../service/installation-service';
3
3
  interface InstallOrUpgradeCommandText {
4
- listScopes: (scopes: string[]) => string;
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
- private readonly featureFlags;
14
- constructor(ui: UI, featureFlags: FeatureFlagReader);
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,iBAAiB,EACjB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAE7F,UAAU,2BAA2B;IACnC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IACzC,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,aAAc,SAAQ,SAAS;CAAG;AAE/C,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAM,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAArC,EAAE,EAAE,EAAE,EAAmB,YAAY,EAAE,iBAAiB;IAExE,gCAAgC,CAC3C,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,yBAAyB,EACnE,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;IA2CN,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;CAqBpF"}
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 = exports.NoScopesError = void 0;
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, featureFlags) {
8
+ constructor(ui) {
12
9
  this.ui = ui;
13
- this.featureFlags = featureFlags;
14
10
  }
15
- async promptForPermissionsConfirmation({ scopes, egressAddresses, addedScopes }, manifestScopes, manifestEgressAddresses, environment, confirmScopes, nonInteractive, text) {
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)([...cleanedManifestScopes].sort(), [...scopes].sort());
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);
@@ -1 +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;CA2CjG"}
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"}
@@ -18,14 +18,17 @@ class ListEntitiesIndexesCommand {
18
18
  const { environmentId, oauthClientId } = await this.appOauthClient.getAppOauthClientIdDetails(appId, environment);
19
19
  const results = await this.entitiesGraphqlClient.getEntitiesDefinitions(oauthClientId, entities);
20
20
  const transformedIndexes = [];
21
+ const indexesToExclude = ['by-contextAri'];
21
22
  for (const entity of results) {
22
23
  const [, , , ...entityName] = entity.name.split('_');
23
24
  for (const index of (_a = entity.indexes) !== null && _a !== void 0 ? _a : []) {
24
- transformedIndexes.push({
25
- entityName: entityName.join('_'),
26
- indexName: index.name,
27
- indexStatus: index.status
28
- });
25
+ if (indexesToExclude.indexOf(index.name) < 0) {
26
+ transformedIndexes.push({
27
+ entityName: entityName.join('_'),
28
+ indexName: index.name,
29
+ indexStatus: index.status
30
+ });
31
+ }
29
32
  }
30
33
  }
31
34
  transformedIndexes.sort((index1, index2) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "6.6.0-next.9-experimental-3fb944e",
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-next.8-experimental-3fb944e",
22
- "@forge/cli-shared": "3.8.0-next.3-experimental-3fb944e",
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-next.3-experimental-3fb944e",
25
- "@forge/manifest": "4.8.0-next.1-experimental-3fb944e",
26
- "@forge/runtime": "4.3.1-next.0-experimental-3fb944e",
27
- "@forge/tunnel": "3.3.0-next.8-experimental-3fb944e",
28
- "@forge/util": "1.2.1",
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",