@forge/cli 10.13.3-next.10 → 10.13.4-next.1-experimental-19bd64d

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,5 +1,71 @@
1
1
  # @forge/cli
2
2
 
3
+ ## 10.13.4-next.1-experimental-19bd64d
4
+
5
+ ### Minor Changes
6
+
7
+ - c5efb5f: Added command for app versions details
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [c5efb5f]
12
+ - Updated dependencies [19c93e7]
13
+ - Updated dependencies [1815689]
14
+ - Updated dependencies [a808a56]
15
+ - @forge/cli-shared@6.5.2-next.1-experimental-19bd64d
16
+ - @forge/manifest@8.4.1-next.1-experimental-19bd64d
17
+ - @forge/bundler@4.20.5-next.1-experimental-19bd64d
18
+ - @forge/lint@5.6.5-next.1-experimental-19bd64d
19
+ - @forge/tunnel@5.8.1-next.1-experimental-19bd64d
20
+
21
+ ## 10.13.4-next.1
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies [1815689]
26
+ - Updated dependencies [a808a56]
27
+ - @forge/manifest@8.4.1-next.1
28
+ - @forge/cli-shared@6.5.2-next.1
29
+ - @forge/bundler@4.20.5-next.1
30
+ - @forge/lint@5.6.5-next.1
31
+ - @forge/tunnel@5.8.1-next.1
32
+
33
+ ## 10.13.4-next.0
34
+
35
+ ### Patch Changes
36
+
37
+ - Updated dependencies [19c93e7]
38
+ - @forge/manifest@8.4.1-next.0
39
+ - @forge/bundler@4.20.5-next.0
40
+ - @forge/cli-shared@6.5.2-next.0
41
+ - @forge/lint@5.6.5-next.0
42
+ - @forge/tunnel@5.8.1-next.0
43
+
44
+ ## 10.13.3
45
+
46
+ ### Patch Changes
47
+
48
+ - bb5ae42: Fix incorrect error message from forge lint when linting apps with external API calls
49
+ - 01f0530: Add UI Kit 1 deprecation warning
50
+ - Updated dependencies [c599ff2]
51
+ - Updated dependencies [2e198f0]
52
+ - Updated dependencies [c0f4d43]
53
+ - Updated dependencies [e170565]
54
+ - Updated dependencies [7515152]
55
+ - Updated dependencies [bb5ae42]
56
+ - Updated dependencies [01f0530]
57
+ - Updated dependencies [2ccf3f4]
58
+ - Updated dependencies [26050db]
59
+ - Updated dependencies [adf93f2]
60
+ - @forge/manifest@8.4.0
61
+ - @forge/egress@1.3.0
62
+ - @forge/tunnel@5.8.0
63
+ - @forge/lint@5.6.4
64
+ - @forge/cli-shared@6.5.1
65
+ - @forge/util@1.4.6
66
+ - @forge/bundler@4.20.4
67
+ - @forge/runtime@5.10.4
68
+
3
69
  ## 10.13.3-next.10
4
70
 
5
71
  ### Patch Changes
@@ -1,24 +1,25 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "10.13.3-next.10",
3
+ "version": "10.13.4-next.1-experimental-19bd64d",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@forge/cli",
9
- "version": "10.13.3-next.10",
9
+ "version": "10.13.4-next.1-experimental-19bd64d",
10
10
  "hasInstallScript": true,
11
11
  "license": "UNLICENSED",
12
12
  "dependencies": {
13
- "@forge/bundler": "4.20.4-next.8",
14
- "@forge/cli-shared": "6.5.1-next.5",
15
- "@forge/egress": "1.3.0-next.0",
13
+ "@forge/bundler": "4.20.5-next.1-experimental-19bd64d",
14
+ "@forge/cli-shared": "6.5.2-next.1-experimental-19bd64d",
15
+ "@forge/egress": "1.3.0",
16
16
  "@forge/i18n": "0.0.2",
17
- "@forge/lint": "5.6.4-next.7",
18
- "@forge/manifest": "8.4.0-next.3",
19
- "@forge/runtime": "5.10.4-next.0",
20
- "@forge/tunnel": "5.8.0-next.10",
21
- "@forge/util": "1.4.6-next.0",
17
+ "@forge/lint": "5.6.5-next.1-experimental-19bd64d",
18
+ "@forge/manifest": "8.4.1-next.1-experimental-19bd64d",
19
+ "@forge/runtime": "5.10.4",
20
+ "@forge/tunnel": "5.8.1-next.1-experimental-19bd64d",
21
+ "@forge/util": "1.4.6",
22
+ "@sandfox/arn": "^2.1.0",
22
23
  "@sentry/node": "7.106.0",
23
24
  "ajv": "^8.12.0",
24
25
  "archiver": "^6.0.2",
@@ -31,6 +32,7 @@
31
32
  "cross-spawn": "^7.0.3",
32
33
  "dayjs": "^1.11.10",
33
34
  "didyoumean": "^1.2.2",
35
+ "diff": "^7.0.0",
34
36
  "env-paths": "^2.2.1",
35
37
  "exponential-backoff": "^3.1.1",
36
38
  "form-data": "^4.0.0",
@@ -58,6 +60,7 @@
58
60
  "@types/command-exists": "^1.2.3",
59
61
  "@types/cross-spawn": "^6.0.6",
60
62
  "@types/didyoumean": "^1.2.2",
63
+ "@types/diff": "^6.0.0",
61
64
  "@types/fs-extra": "^11.0.4",
62
65
  "@types/hidefile": "^3.0.3",
63
66
  "@types/inquirer": "^8.2.10",
@@ -837,9 +840,9 @@
837
840
  "license": "UNLICENSED"
838
841
  },
839
842
  "node_modules/@forge/bundler": {
840
- "version": "4.20.4-next.8",
841
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.20.4-next.8.tgz",
842
- "integrity": "sha512-ImSsktAqc9CLwY2lCbOmH+w1B9G22eZcKbCOTL6wQlCwciapnUQPyWRTnZPwKatya6iV7gkpsRmR6krzYvmnyg==",
843
+ "version": "4.20.5-next.1-experimental-19bd64d",
844
+ "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.20.5-next.1-experimental-19bd64d.tgz",
845
+ "integrity": "sha512-xn4GQKDvmE63El5CKQ59BGo6596mbN9vDurBv2EATdWD9wD9KlB2p4z1k8Xenm2E4cC/aNoU1rOCszZTaGPCLA==",
843
846
  "license": "UNLICENSED",
844
847
  "dependencies": {
845
848
  "@babel/core": "^7.24.0",
@@ -849,13 +852,13 @@
849
852
  "@babel/plugin-transform-optional-chaining": "^7.23.4",
850
853
  "@babel/plugin-transform-react-jsx": "^7.23.4",
851
854
  "@babel/preset-typescript": "^7.23.3",
852
- "@forge/api": "4.2.0-next.2",
855
+ "@forge/api": "4.2.0",
853
856
  "@forge/babel-plugin-transform-ui": "1.1.19",
854
- "@forge/cli-shared": "6.5.1-next.5",
857
+ "@forge/cli-shared": "6.5.2-next.1-experimental-19bd64d",
855
858
  "@forge/i18n": "0.0.2",
856
- "@forge/lint": "5.6.4-next.7",
857
- "@forge/manifest": "8.4.0-next.3",
858
- "@forge/util": "1.4.6-next.0",
859
+ "@forge/lint": "5.6.5-next.1-experimental-19bd64d",
860
+ "@forge/manifest": "8.4.1-next.1-experimental-19bd64d",
861
+ "@forge/util": "1.4.6",
859
862
  "assert": "^2.1.0",
860
863
  "babel-loader": "^8.3.0",
861
864
  "browserify-zlib": "^0.2.0",
@@ -893,15 +896,15 @@
893
896
  }
894
897
  },
895
898
  "node_modules/@forge/bundler/node_modules/@forge/api": {
896
- "version": "4.2.0-next.2",
897
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-4.2.0-next.2.tgz",
898
- "integrity": "sha512-2aPjwlP5K2cte0W7wk5GNMnk4JSorCSkXrg4c4MpKtD4A8jYgkFeB0as8xGikB8LxbZ7P+wxM4/LhY/Vse7/Vg==",
899
+ "version": "4.2.0",
900
+ "resolved": "https://registry.npmjs.org/@forge/api/-/api-4.2.0.tgz",
901
+ "integrity": "sha512-DhfhdbpLuscRevsEiEnTN0JjQkION2E9G9jtLFN3sbJUS6IswzH/0tW1LYMgrO68Hdr0lZE6ivn2ATEhYR2QRw==",
899
902
  "license": "UNLICENSED",
900
903
  "dependencies": {
901
904
  "@forge/auth": "0.0.5",
902
- "@forge/egress": "1.3.0-next.0",
905
+ "@forge/egress": "1.3.0",
903
906
  "@forge/storage": "1.6.0",
904
- "@forge/util": "1.4.6-next.0",
907
+ "@forge/util": "1.4.6",
905
908
  "@types/node-fetch": "^2.6.11",
906
909
  "node-fetch": "2.7.0"
907
910
  }
@@ -913,14 +916,14 @@
913
916
  "license": "UNLICENSED"
914
917
  },
915
918
  "node_modules/@forge/cli-shared": {
916
- "version": "6.5.1-next.5",
917
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-6.5.1-next.5.tgz",
918
- "integrity": "sha512-95GCrj4MYgynhBXB7ASf4wG/0+8ntAZ9OKjANpd4RkwnaTDH0/+R6uKrwSifR9C5jl5jS2cEIAAHJ33bPoUbBA==",
919
+ "version": "6.5.2-next.1-experimental-19bd64d",
920
+ "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-6.5.2-next.1-experimental-19bd64d.tgz",
921
+ "integrity": "sha512-krz4PUBjtxE/L3P0E8jvqhc3TshqHY72v2HbQMGSxKS6HFsieZktr35Q0oxaZnMuLbKax3Jb770lNJNowHPcqw==",
919
922
  "license": "UNLICENSED",
920
923
  "dependencies": {
921
924
  "@forge/i18n": "0.0.2",
922
- "@forge/manifest": "8.4.0-next.3",
923
- "@forge/util": "1.4.6-next.0",
925
+ "@forge/manifest": "8.4.1-next.1-experimental-19bd64d",
926
+ "@forge/util": "1.4.6",
924
927
  "@sentry/node": "7.106.0",
925
928
  "adm-zip": "^0.5.10",
926
929
  "array.prototype.flatmap": "^1.3.2",
@@ -953,9 +956,9 @@
953
956
  }
954
957
  },
955
958
  "node_modules/@forge/csp": {
956
- "version": "3.6.0-next.0",
957
- "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-3.6.0-next.0.tgz",
958
- "integrity": "sha512-b81niuzP/TUJ0P3/hWdKMcLK15bYOR36/a27jKqIMSajbrD3Mx/9R6aqZmqfK8ZTGFLVMvtil6cPsY5nV7P/Pw==",
959
+ "version": "3.6.0-experimental-19bd64d",
960
+ "resolved": "https://registry.npmjs.org/@forge/csp/-/csp-3.6.0-experimental-19bd64d.tgz",
961
+ "integrity": "sha512-eJvMbaqUr35rfmciyOYpJhqDtqYUkimsYdgI+ME13WZXMrQLyibCdh2AALFYC1v0xwOif0G+EgCgoWQfZpw34A==",
959
962
  "license": "UNLICENSED",
960
963
  "dependencies": {
961
964
  "cheerio": "^0.22.0",
@@ -963,9 +966,9 @@
963
966
  }
964
967
  },
965
968
  "node_modules/@forge/egress": {
966
- "version": "1.3.0-next.0",
967
- "resolved": "https://registry.npmjs.org/@forge/egress/-/egress-1.3.0-next.0.tgz",
968
- "integrity": "sha512-r2YnF4mYMw/L6mHZtcT7l/aqCJ9ucZI97ZHoYDPiw7Yy3/C0f0HewyqdfPYQH5zieziLU5iPCMl1mNes5abiuw==",
969
+ "version": "1.3.0",
970
+ "resolved": "https://registry.npmjs.org/@forge/egress/-/egress-1.3.0.tgz",
971
+ "integrity": "sha512-M3yDCmIP8lMoYq2YqHhO20nHplIHOdRpuyNjlcygSDD15f0mVlw6XmJF3Htku5/MpBz+3opYZOlwTEmK2ozXSg==",
969
972
  "license": "UNLICENSED",
970
973
  "dependencies": {
971
974
  "minimatch": "^9.0.3"
@@ -981,14 +984,14 @@
981
984
  }
982
985
  },
983
986
  "node_modules/@forge/lint": {
984
- "version": "5.6.4-next.7",
985
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.6.4-next.7.tgz",
986
- "integrity": "sha512-y8poe1DG9ipnyPx+8kS0pKE4DYcmG82URFidwbKvWuNYe45O2H3jByY71fWmwQWSBqkAKljxlS3oG4Oqln9o/g==",
987
+ "version": "5.6.5-next.1-experimental-19bd64d",
988
+ "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.6.5-next.1-experimental-19bd64d.tgz",
989
+ "integrity": "sha512-ttOrL0ChBXVoAwOiK9pvECIHPJbMrf6c1OhTGEXFlWdz8jUEu0ygDUSrzM/WMuUdLG9Ew33Jeh3z+tWKTTFkyA==",
987
990
  "license": "UNLICENSED",
988
991
  "dependencies": {
989
- "@forge/cli-shared": "6.5.1-next.5",
990
- "@forge/egress": "1.3.0-next.0",
991
- "@forge/manifest": "8.4.0-next.3",
992
+ "@forge/cli-shared": "6.5.2-next.1-experimental-19bd64d",
993
+ "@forge/egress": "1.3.0",
994
+ "@forge/manifest": "8.4.1-next.1-experimental-19bd64d",
992
995
  "@typescript-eslint/typescript-estree": "^5.62.0",
993
996
  "array.prototype.flatmap": "^1.3.2",
994
997
  "atlassian-openapi": "^1.0.18",
@@ -997,9 +1000,9 @@
997
1000
  }
998
1001
  },
999
1002
  "node_modules/@forge/manifest": {
1000
- "version": "8.4.0-next.3",
1001
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-8.4.0-next.3.tgz",
1002
- "integrity": "sha512-RJbDoeezSx3uhaO1NUzg5qrpw08d/UKaQoQy48bln7xIgwbiH7YD9Xto5+tJHQGpgxKw6l9gYoQ++r/kKJYJbg==",
1003
+ "version": "8.4.1-next.1-experimental-19bd64d",
1004
+ "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-8.4.1-next.1-experimental-19bd64d.tgz",
1005
+ "integrity": "sha512-5/PyJQkhFpZakyHIiZSQ0QgqZbPgtPtjJzyABCLOuyBAAy4eLf47ISLmQofrHqQM0p8pPz9054H4TwrQ/MsHYA==",
1003
1006
  "license": "UNLICENSED",
1004
1007
  "dependencies": {
1005
1008
  "@forge/i18n": "0.0.2",
@@ -1014,12 +1017,12 @@
1014
1017
  }
1015
1018
  },
1016
1019
  "node_modules/@forge/runtime": {
1017
- "version": "5.10.4-next.0",
1018
- "resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-5.10.4-next.0.tgz",
1019
- "integrity": "sha512-8WdFj7MMaR4i73xvuZuAUSQehtKd2fepDqaM0Ub0N1u/zRa2RzK+/15RWLHhe61EQBuKKBtO3aGOiP+ELA056A==",
1020
+ "version": "5.10.4",
1021
+ "resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-5.10.4.tgz",
1022
+ "integrity": "sha512-LDF9LpE/gsecagFsgPwmC8NV+KGmnTL0pRReqtDkO9topz0ToeirvLF2d5B7akaAdmNGZVvGSSi5d9p8lQ6IWQ==",
1020
1023
  "license": "UNLICENSED",
1021
1024
  "dependencies": {
1022
- "@forge/util": "1.4.6-next.0",
1025
+ "@forge/util": "1.4.6",
1023
1026
  "fp-ts": "^2.16.2",
1024
1027
  "io-ts": "^2.2.21",
1025
1028
  "io-ts-reporters": "^2.0.1",
@@ -1030,15 +1033,15 @@
1030
1033
  }
1031
1034
  },
1032
1035
  "node_modules/@forge/tunnel": {
1033
- "version": "5.8.0-next.10",
1034
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.8.0-next.10.tgz",
1035
- "integrity": "sha512-M1BBWq2b6Ebn1NOm9ZzcZ1uj2ayPDGsVuZRLwFHxQ0Kinf/kgxZwAdezVUPEL401Ht3X74oe1PtIkanCRSiU0w==",
1036
+ "version": "5.8.1-next.1-experimental-19bd64d",
1037
+ "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.8.1-next.1-experimental-19bd64d.tgz",
1038
+ "integrity": "sha512-/mq0hPP789yhCEgymhUyhGDV1pgZ1Os4Pp7A/4XdGx1qr6ffJO8DlGpKlDGiq6yP75kJxaFEmu/hzcYK+eHQMw==",
1036
1039
  "license": "UNLICENSED",
1037
1040
  "dependencies": {
1038
- "@forge/bundler": "4.20.4-next.8",
1039
- "@forge/cli-shared": "6.5.1-next.5",
1040
- "@forge/csp": "3.6.0-next.0",
1041
- "@forge/runtime": "5.10.4-next.0",
1041
+ "@forge/bundler": "4.20.5-next.1-experimental-19bd64d",
1042
+ "@forge/cli-shared": "6.5.2-next.1-experimental-19bd64d",
1043
+ "@forge/csp": "3.6.0-experimental-19bd64d",
1044
+ "@forge/runtime": "5.10.4",
1042
1045
  "chokidar": "^3.6.0",
1043
1046
  "cloudflared": "^0.5.2",
1044
1047
  "express": "^4.18.3",
@@ -1053,9 +1056,9 @@
1053
1056
  }
1054
1057
  },
1055
1058
  "node_modules/@forge/util": {
1056
- "version": "1.4.6-next.0",
1057
- "resolved": "https://registry.npmjs.org/@forge/util/-/util-1.4.6-next.0.tgz",
1058
- "integrity": "sha512-Py/KGXs5w9jOsfF05f/TvpOYZaOI4IB97aVdSaazAwGYlkjWiWyvW+qxGfXxQGAg2hQYkDxOG35qsCDJ/EwtfQ==",
1059
+ "version": "1.4.6",
1060
+ "resolved": "https://registry.npmjs.org/@forge/util/-/util-1.4.6.tgz",
1061
+ "integrity": "sha512-6AXbt0VUJvlC6iPpt/eM1L6G16ydJ5S+XR8rjzDpWtLTQhtexkDpGj2milAweqdElGrxLe64Hd/Q+SvqJPXA5Q==",
1059
1062
  "license": "UNLICENSED"
1060
1063
  },
1061
1064
  "node_modules/@graphql-typed-document-node/core": {
@@ -1282,6 +1285,11 @@
1282
1285
  "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
1283
1286
  "integrity": "sha1-XeWiOFo1MJQn9gEZkrVEUU1VmqE= sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g=="
1284
1287
  },
1288
+ "node_modules/@sandfox/arn": {
1289
+ "version": "2.1.0",
1290
+ "resolved": "https://registry.npmjs.org/@sandfox/arn/-/arn-2.1.0.tgz",
1291
+ "integrity": "sha1-v+MIFn/vKZcFUHqkCxcxLIckcPI= sha512-KUW6t0yJ4YZ6RBoB+8/ypVhDI+ZAvrLtZxQC+1i0yD2SvWe4RXboLXB4wcmsjw+g+gMBeyYu9sQj4NTx787+FA=="
1292
+ },
1285
1293
  "node_modules/@scarf/scarf": {
1286
1294
  "version": "1.3.0",
1287
1295
  "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.3.0.tgz",
@@ -3612,6 +3620,14 @@
3612
3620
  "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
3613
3621
  "integrity": "sha1-mJNG/+noObRVXs9WZu3qDT6K0Dc= sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
3614
3622
  },
3623
+ "node_modules/diff": {
3624
+ "version": "7.0.0",
3625
+ "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz",
3626
+ "integrity": "sha1-P7NNOHzXbYA/buvqZ7kh2rAYKpo= sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==",
3627
+ "engines": {
3628
+ "node": ">=0.3.1"
3629
+ }
3630
+ },
3615
3631
  "node_modules/diffie-hellman": {
3616
3632
  "version": "5.0.3",
3617
3633
  "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
@@ -258,6 +258,14 @@
258
258
  "--help": {
259
259
  "requireUserArg": false
260
260
  }
261
+ },
262
+ "version": {
263
+ "--verbose": {
264
+ "requireUserArg": false
265
+ },
266
+ "--help": {
267
+ "requireUserArg": false
268
+ }
261
269
  }
262
270
  },
263
271
  "options": {
@@ -0,0 +1,36 @@
1
+ import { VersionView } from '../view/version-view';
2
+ import { VersionService } from '../../service/version-service';
3
+ interface AppVersionOptions {
4
+ environment: string;
5
+ majorVersion?: number;
6
+ json?: boolean;
7
+ outFile?: string;
8
+ nonInteractive?: boolean;
9
+ }
10
+ interface AppVersionDiffOptions {
11
+ environment: string;
12
+ version1: number;
13
+ version2: number;
14
+ outFile?: string;
15
+ }
16
+ interface AppVersionListOptions {
17
+ environment: string;
18
+ json?: boolean;
19
+ outFile?: string;
20
+ nonInteractive?: boolean;
21
+ }
22
+ export declare class VersionController {
23
+ private readonly versionService;
24
+ private readonly view;
25
+ constructor(versionService: VersionService, view: VersionView);
26
+ getAppVersionDiff({ environment, version1, version2, outFile }: AppVersionDiffOptions): Promise<void>;
27
+ getAppVersionDetails({ environment, majorVersion, json, outFile, nonInteractive }: AppVersionOptions): Promise<void>;
28
+ private writeToFile;
29
+ private displayInJson;
30
+ private displayDetailsInTable;
31
+ private displayDiffInText;
32
+ private writeDiffToFile;
33
+ getVersionList({ environment, json, outFile, nonInteractive }: AppVersionListOptions): Promise<void>;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=version-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/version-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAkB,MAAM,+BAA+B,CAAC;AAI/E,UAAU,iBAAiB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,WAAW;IAGvB,iBAAiB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBrG,oBAAoB,CAAC,EAChC,WAAW,EACX,YAAY,EACZ,IAAY,EACZ,OAAO,EACP,cAAc,EACf,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCpC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,eAAe;IAWV,cAAc,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBlH"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VersionController = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = require("fs");
6
+ const diff = tslib_1.__importStar(require("diff"));
7
+ class VersionController {
8
+ versionService;
9
+ view;
10
+ constructor(versionService, view) {
11
+ this.versionService = versionService;
12
+ this.view = view;
13
+ }
14
+ async getAppVersionDiff({ environment, version1, version2, outFile }) {
15
+ const [version1Details, version2Details] = await this.view.displayDiffProgress(() => Promise.all([
16
+ this.versionService.getAppVersionDetails(environment, version1),
17
+ this.versionService.getAppVersionDetails(environment, version2)
18
+ ]));
19
+ const omitRegions = (versionDetails) => {
20
+ return {
21
+ ...versionDetails,
22
+ functions: versionDetails.functions?.map((f) => {
23
+ const { regions, ...rest } = f;
24
+ return rest;
25
+ })
26
+ };
27
+ };
28
+ if (outFile) {
29
+ this.writeDiffToFile(omitRegions(version1Details), omitRegions(version2Details), outFile);
30
+ }
31
+ else {
32
+ this.displayDiffInText(omitRegions(version1Details), omitRegions(version2Details), environment);
33
+ }
34
+ }
35
+ async getAppVersionDetails({ environment, majorVersion, json = false, outFile, nonInteractive }) {
36
+ const defaultProperties = ['appVersion', 'deploymentDateTime', 'environmentType'];
37
+ let filteredProperties = [];
38
+ if (!nonInteractive) {
39
+ filteredProperties = await this.view.promptVersionDetailsProperties();
40
+ }
41
+ const request = this.versionService.getAppVersionDetails(environment, majorVersion);
42
+ const versionDetails = nonInteractive ? await request : await this.view.displayDetailsProgress(() => request);
43
+ if (filteredProperties.length === 0) {
44
+ filteredProperties = Object.keys(versionDetails);
45
+ }
46
+ const filteredVersionDetails = Object.keys(versionDetails)
47
+ .filter((key) => [...filteredProperties, ...defaultProperties].includes(key))
48
+ .reduce((obj, key) => {
49
+ obj[key] = versionDetails[key];
50
+ return obj;
51
+ }, {});
52
+ if (outFile) {
53
+ this.writeToFile(filteredVersionDetails, outFile);
54
+ }
55
+ else if (json) {
56
+ this.displayInJson(filteredVersionDetails);
57
+ }
58
+ else {
59
+ this.displayDetailsInTable(filteredVersionDetails, environment);
60
+ }
61
+ }
62
+ writeToFile(data, outFile) {
63
+ this.view.displayWriteToFile(outFile);
64
+ (0, fs_1.writeFileSync)(outFile, JSON.stringify(data, null, 2));
65
+ }
66
+ displayInJson(data) {
67
+ this.view.displayDataInJson(data);
68
+ }
69
+ displayDetailsInTable(details, environment) {
70
+ this.view.displayVersionDetailsBanner(details.appVersion, environment, details.environmentType);
71
+ this.view.displayDetailsAsTable(details);
72
+ }
73
+ displayDiffInText(version1, version2, environment) {
74
+ this.view.displayDiffBanner(version1.appVersion, version2.appVersion, environment, version1.environmentType);
75
+ this.view.displayDiffAsTable({ v1: version1.appVersion, v2: version2.appVersion }, [
76
+ {
77
+ key: 'scopes',
78
+ diff: diff.diffJson(version1.scopes, version2.scopes)
79
+ },
80
+ {
81
+ key: 'deployment date',
82
+ diff: diff.diffJson(version1.deploymentDateTime, version2.deploymentDateTime)
83
+ },
84
+ {
85
+ key: 'egress',
86
+ diff: diff.diffJson(version1.egresses, version2.egresses)
87
+ },
88
+ { key: 'policies', diff: diff.diffJson(version1.policies || [], version2.policies || []) },
89
+ { key: 'connect keys', diff: diff.diffJson(version1.connectKeys || [], version2.connectKeys || []) },
90
+ {
91
+ key: 'functions',
92
+ diff: diff.diffJson(version1.functions || [], version2.functions || [])
93
+ },
94
+ { key: 'modules', diff: diff.diffJson(version1.modules || [], version2.modules || []) },
95
+ { key: 'remotes', diff: diff.diffJson(version1.remotes || [], version2.remotes || []) },
96
+ { key: 'license', diff: diff.diffJson('' + version1.requiresLicense, '' + version2.requiresLicense) }
97
+ ]);
98
+ }
99
+ writeDiffToFile(version1, version2, outFile) {
100
+ this.view.displayWriteToFile(outFile);
101
+ const patch = diff.createTwoFilesPatch(`${version1.appVersion}`, `${version2.appVersion}`, JSON.stringify(version1, null, 2), JSON.stringify(version2, null, 2));
102
+ (0, fs_1.writeFileSync)(outFile, patch);
103
+ }
104
+ async getVersionList({ environment, json, outFile, nonInteractive }) {
105
+ const request = this.versionService.getAppVersionOverviewList(environment);
106
+ const versionList = nonInteractive || json ? await request : await this.view.displayListProgress(() => request);
107
+ if (!nonInteractive && !json) {
108
+ this.view.displayListBanner(versionList.length, environment, versionList[0].environmentType);
109
+ }
110
+ if (outFile) {
111
+ this.writeToFile(versionList, outFile);
112
+ }
113
+ else if (json) {
114
+ this.displayInJson(versionList);
115
+ }
116
+ else {
117
+ this.view.displayVersionList(versionList);
118
+ }
119
+ }
120
+ }
121
+ exports.VersionController = VersionController;
@@ -29,6 +29,7 @@ import { StubController } from './controller/stubController';
29
29
  import { PrerequisitesController } from './controller/prerequisites-controller';
30
30
  import { DefaultEnvironmentController } from './controller/default-environment-controller';
31
31
  import { EligibilityController } from './controller/eligibility-controller';
32
+ import { VersionController } from './controller/version-controller';
32
33
  export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Promise<{
33
34
  ui: CommandLineUI;
34
35
  cmd: Command<[], import("./command").DefaultOpts>;
@@ -79,6 +80,7 @@ export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Pr
79
80
  stubController: StubController;
80
81
  prerequisitesController: PrerequisitesController;
81
82
  defaultEnvironmentController: DefaultEnvironmentController;
83
+ versionController: VersionController;
82
84
  };
83
85
  }>;
84
86
  declare type PromiseType<T> = T extends Promise<infer R> ? R : never;
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAElB,kBAAkB,EAKnB,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,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,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;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAGhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAG3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmXvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAElB,kBAAkB,EAKnB,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,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,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;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAGhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAG3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAKpE,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyXvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
@@ -69,6 +69,10 @@ const graphql_client_8 = require("../eligibility/graphql-client");
69
69
  const roa_service_1 = require("../service/roa-service");
70
70
  const eligibility_controller_1 = require("./controller/eligibility-controller");
71
71
  const eligibility_view_1 = require("./view/eligibility-view");
72
+ const version_controller_1 = require("./controller/version-controller");
73
+ const version_service_1 = require("../service/version-service");
74
+ const version_view_1 = require("./view/version-view");
75
+ const graphql_client_9 = require("../version/graphql-client");
72
76
  const getDependencies = async (cliDetails) => {
73
77
  let cmd;
74
78
  const ui = new cli_shared_1.CommandLineUI(() => cmd.verbose);
@@ -164,6 +168,7 @@ const getDependencies = async (cliDetails) => {
164
168
  const installController = new install_controller_1.InstallController(assertiveAppConfigReader, configFile, ui, installAppSiteCommand, installationsService, installView, statsigService);
165
169
  const feedbackController = new feedback_controller_1.FeedbackController(credentialStore, feedbackPostClient);
166
170
  const eligibilityController = new eligibility_controller_1.EligibilityController(new roa_service_1.RoaService(assertiveAppConfigReader, new graphql_client_8.RoaEligibilityClient(graphQLClient)), new eligibility_view_1.EligibilityView(ui));
171
+ const versionController = new version_controller_1.VersionController(new version_service_1.VersionService(assertiveAppConfigReader, new graphql_client_9.AppVersionDetailsClient(graphQLClient)), new version_view_1.VersionView(ui));
167
172
  const lintService = new lint_service_1.LintService(configFile, fileReader);
168
173
  const lintView = new lint_view_1.LintView(ui);
169
174
  const lintController = new lint_controller_1.LintController(lintService, lintView);
@@ -242,7 +247,8 @@ const getDependencies = async (cliDetails) => {
242
247
  settingsController,
243
248
  stubController,
244
249
  prerequisitesController,
245
- defaultEnvironmentController
250
+ defaultEnvironmentController,
251
+ versionController
246
252
  }
247
253
  };
248
254
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command-line/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAoBvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAiBlD;AAQD,eAAO,MAAM,IAAI,QAAa,QAAQ,IAAI,CAUzC,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;AAqBvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAkBlD;AAQD,eAAO,MAAM,IAAI,QAAa,QAAQ,IAAI,CAUzC,CAAC"}
@@ -20,6 +20,7 @@ const register_providers_commands_1 = require("./register-providers-commands");
20
20
  const register_environments_commands_1 = require("./register-environments-commands");
21
21
  const register_storage_commands_1 = require("./register-storage-commands");
22
22
  const register_eligibility_commands_1 = require("./register-eligibility-commands");
23
+ const register_version_commands_1 = require("./register-version-commands");
23
24
  function registerCommands(deps) {
24
25
  (0, register_autocomplete_commands_1.registerCommands)(deps);
25
26
  (0, register_authentication_command_1.registerCommands)(deps);
@@ -37,6 +38,7 @@ function registerCommands(deps) {
37
38
  (0, register_providers_commands_1.registerCommands)(deps);
38
39
  (0, register_storage_commands_1.registerCommands)(deps);
39
40
  (0, register_eligibility_commands_1.registerCommands)(deps);
41
+ (0, register_version_commands_1.registerCommands)(deps);
40
42
  }
41
43
  exports.registerCommands = registerCommands;
42
44
  const registerEvents = ({ ui }) => {
@@ -0,0 +1,4 @@
1
+ import { Dependencies } from './dependency-injection';
2
+ export declare function parseMajorVersion(majorVersionStr: string, property?: string): number;
3
+ export declare const registerCommands: (deps: Dependencies) => void;
4
+ //# sourceMappingURL=register-version-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-version-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-version-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAKpF;AA2DD,eAAO,MAAM,gBAAgB,SAAU,YAAY,SAMlD,CAAC"}