@forge/cli 4.3.1 → 4.4.0-next.4

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,89 @@
1
1
  # @forge/cli
2
2
 
3
+ ## 4.4.0-next.4
4
+
5
+ ### Patch Changes
6
+
7
+ - @forge/bundler@3.0.7-next.4
8
+
9
+ ## 4.4.0-next.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 4f86661c: Fix dependency
14
+ - Updated dependencies [4f86661c]
15
+ - @forge/cli-shared@2.5.0-next.3
16
+ - @forge/bundler@3.0.7-next.3
17
+ - @forge/lint@3.1.1-next.3
18
+
19
+ ## 4.4.0-next.2
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [e892d27d]
24
+ - @forge/manifest@3.8.0-next.1
25
+ - @forge/cli-shared@2.5.0-next.2
26
+ - @forge/lint@3.1.1-next.2
27
+ - @forge/bundler@3.0.7-next.2
28
+
29
+ ## 4.4.0-next.1
30
+
31
+ ### Patch Changes
32
+
33
+ - Updated dependencies [74b6c3c]
34
+ - @forge/manifest@3.8.0-next.0
35
+ - @forge/cli-shared@2.5.0-next.1
36
+ - @forge/lint@3.1.1-next.1
37
+ - @forge/bundler@3.0.7-next.1
38
+
39
+ ## 4.4.0-next.0
40
+
41
+ ### Minor Changes
42
+
43
+ - 6d7a574: Add the ability to query feature flags in the CLI
44
+
45
+ ### Patch Changes
46
+
47
+ - Updated dependencies [6d7a574]
48
+ - @forge/cli-shared@2.5.0-next.0
49
+ - @forge/bundler@3.0.7-next.0
50
+ - @forge/lint@3.1.1-next.0
51
+
52
+ ## 4.3.2
53
+
54
+ ### Patch Changes
55
+
56
+ - Updated dependencies [34d085a]
57
+ - Updated dependencies [9e700ef]
58
+ - Updated dependencies [c87cdea]
59
+ - Updated dependencies [ce4a65f]
60
+ - @forge/manifest@3.7.0
61
+ - @forge/lint@3.1.0
62
+ - @forge/cli-shared@2.4.2
63
+ - @forge/bundler@3.0.6
64
+
65
+ ## 4.3.2-next.1
66
+
67
+ ### Patch Changes
68
+
69
+ - Updated dependencies [34d085a]
70
+ - Updated dependencies [c87cdea]
71
+ - Updated dependencies [ce4a65f]
72
+ - @forge/manifest@3.7.0-next.1
73
+ - @forge/lint@3.1.0-next.1
74
+ - @forge/cli-shared@2.4.2-next.1
75
+ - @forge/bundler@3.0.6-next.1
76
+
77
+ ## 4.3.2-next.0
78
+
79
+ ### Patch Changes
80
+
81
+ - Updated dependencies [9e700ef8]
82
+ - @forge/manifest@3.6.1-next.0
83
+ - @forge/cli-shared@2.4.2-next.0
84
+ - @forge/lint@3.0.6-next.0
85
+ - @forge/bundler@3.0.6-next.0
86
+
3
87
  ## 4.3.1
4
88
 
5
89
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "4.3.1",
3
+ "version": "4.4.0-next.4",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -639,17 +639,6 @@
639
639
  "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz",
640
640
  "integrity": "sha1-1eBwbPjGrNjGAy+NVAcK8mG7uy8= sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA=="
641
641
  },
642
- "@forge/api": {
643
- "version": "2.6.1",
644
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.6.1.tgz",
645
- "integrity": "sha1-i+1wesOVeV/qzBfkYxDnikkfQAU= sha512-HFw4BUr66VhKO7W6P1Vnh638kvO7RxJB92tDRYPD8DsJ8NC4GzgPxrgBNZDOFhvlIqfddTnE0nSnNmj+XvO9ug==",
646
- "requires": {
647
- "@forge/auth": "^0.0.1",
648
- "@forge/storage": "^1.2.0",
649
- "@types/node-fetch": "^2.5.7",
650
- "node-fetch": "2.6.1"
651
- }
652
- },
653
642
  "@forge/auth": {
654
643
  "version": "0.0.1",
655
644
  "resolved": "https://registry.npmjs.org/@forge/auth/-/auth-0.0.1.tgz",
@@ -664,9 +653,9 @@
664
653
  "integrity": "sha512-+GFtFqBhFzwKaKmeEfw1jWQgZJNX4q11CCx1fSPFJB49Fdjb7k3lx74jAyzHlX0UWnm6DMK+/cYT7j5t6G9LfA=="
665
654
  },
666
655
  "@forge/bundler": {
667
- "version": "3.0.5",
668
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-3.0.5.tgz",
669
- "integrity": "sha512-b+yZeEE6/gHjKT+OAByM2VXDIEg+AzM5YcbIOMGDZXQuxAdnLdyepc8IG1KHU+ht0rJ2cSlDYAYCe/M1mNSjBQ==",
656
+ "version": "3.0.7-next.4",
657
+ "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-3.0.7-next.4.tgz",
658
+ "integrity": "sha512-jB009iPMyblbQpfwu4Y8llCYdCdghS/TA5dT3QjHLmVSFoc5w5ctR6M1oRaARPKy6UP61TW7EJCK0vlC//oS0g==",
670
659
  "requires": {
671
660
  "@babel/core": "^7.16.7",
672
661
  "@babel/plugin-proposal-class-properties": "^7.16.7",
@@ -674,10 +663,10 @@
674
663
  "@babel/plugin-proposal-optional-chaining": "^7.16.7",
675
664
  "@babel/plugin-transform-react-jsx": "^7.16.7",
676
665
  "@babel/preset-typescript": "^7.16.7",
677
- "@forge/api": "2.6.1",
666
+ "@forge/api": "2.7.0-next.0",
678
667
  "@forge/babel-plugin-transform-ui": "1.1.0",
679
- "@forge/cli-shared": "2.4.1",
680
- "@forge/lint": "3.0.5",
668
+ "@forge/cli-shared": "2.5.0-next.3",
669
+ "@forge/lint": "3.1.1-next.3",
681
670
  "assert": "^1.1.1",
682
671
  "babel-loader": "^8.2.3",
683
672
  "browserify-zlib": "^0.2.0",
@@ -702,14 +691,32 @@
702
691
  "util": "^0.11.0",
703
692
  "webpack": "^5.66.0",
704
693
  "whatwg-url": "^7.0.0"
694
+ },
695
+ "dependencies": {
696
+ "@forge/api": {
697
+ "version": "2.7.0-next.0",
698
+ "resolved": "https://registry.npmjs.org/@forge/api/-/api-2.7.0-next.0.tgz",
699
+ "integrity": "sha512-jmlMVdi7Xhk8L6JFF/4zB3UrIKYBuHx0Mvk//DRXCBvv23G69hqQagdzme9Wj9UeHN4rj6WHZ4DdJRrdvXWsPA==",
700
+ "requires": {
701
+ "@forge/auth": "^0.0.1",
702
+ "@forge/storage": "^1.3.0-next.0",
703
+ "@types/node-fetch": "^2.5.7",
704
+ "node-fetch": "2.6.1"
705
+ }
706
+ },
707
+ "@forge/storage": {
708
+ "version": "1.3.0-next.0",
709
+ "resolved": "https://registry.npmjs.org/@forge/storage/-/storage-1.3.0-next.0.tgz",
710
+ "integrity": "sha512-DdsldoATeeApyF4I+9Ln3MLQWPvUDHBsZtkyWtiZuA5YZvjCLOFomYIDjAwPtyN/S5w4FSaVsAx9lf1aAmOqpA=="
711
+ }
705
712
  }
706
713
  },
707
714
  "@forge/cli-shared": {
708
- "version": "2.4.1",
709
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-2.4.1.tgz",
710
- "integrity": "sha512-8fsNsY4oMWsqSajnwLOCnlN3wTbaVDqMcoWGELtfaU7JB6OeUb7Njq0X7EL6/bLw4Pr01w82iTdkQGcyUM0KAw==",
715
+ "version": "2.5.0-next.3",
716
+ "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-2.5.0-next.3.tgz",
717
+ "integrity": "sha512-z47w9fq0TWJ9ewTMzICo2CGjZZrbYBzYFWbwEvMXxZ/orRmXP03vdKYyPo+dhipoiTkoGq5wJIYMtPP9rClsBA==",
711
718
  "requires": {
712
- "@forge/manifest": "3.6.0",
719
+ "@forge/manifest": "3.8.0-next.1",
713
720
  "@forge/util": "1.2.0",
714
721
  "array.prototype.flatmap": "^1.2.3",
715
722
  "case": "^1.6.2",
@@ -718,6 +725,7 @@
718
725
  "cli-table3": "^0.6.1",
719
726
  "conf": "^6.2.0",
720
727
  "cross-spawn": "^7.0.1",
728
+ "env-paths": "^2.2.0",
721
729
  "figures": "^3.2.0",
722
730
  "fp-ts": "^2.0.1",
723
731
  "fs-extra": "^8.1.0",
@@ -728,6 +736,7 @@
728
736
  "ignore-walk": "^3.0.3",
729
737
  "inquirer": "^7.0.4",
730
738
  "io-ts": "^2.0.6",
739
+ "launchdarkly-node-client-sdk": "^2.0.3",
731
740
  "node-fetch": "2.6.1",
732
741
  "ora": "^4.0.3",
733
742
  "recursive-readdir": "^2.2.2",
@@ -749,13 +758,13 @@
749
758
  }
750
759
  },
751
760
  "@forge/lint": {
752
- "version": "3.0.5",
753
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.0.5.tgz",
754
- "integrity": "sha512-rzGuHwaFU1HdYJKhl32hjRWk+uxu7iLhJLalC6x5pXTzlTRfOYaAeJTlsow4lj+HTmV0dxL9KNu0qdNLz7Valg==",
761
+ "version": "3.1.1-next.3",
762
+ "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-3.1.1-next.3.tgz",
763
+ "integrity": "sha512-bCztRq1WgNWbBj4THjOF5uWLLe6/9xJWGbheAyprgWv5evl+SmJVOeJfpyhM1oy68IUO9ANT1DYDEdf9QTkUUg==",
755
764
  "requires": {
756
- "@forge/cli-shared": "2.4.1",
765
+ "@forge/cli-shared": "2.5.0-next.3",
757
766
  "@forge/csp": "1.10.0",
758
- "@forge/manifest": "3.6.0",
767
+ "@forge/manifest": "3.8.0-next.1",
759
768
  "@typescript-eslint/typescript-estree": "^3.5.0",
760
769
  "atlassian-openapi": "^1.0.13",
761
770
  "cross-spawn": "^7.0.1",
@@ -763,9 +772,9 @@
763
772
  }
764
773
  },
765
774
  "@forge/manifest": {
766
- "version": "3.6.0",
767
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-3.6.0.tgz",
768
- "integrity": "sha512-qms+tJ7Acb9ZPFmPfMdSuZU1YJ/0kpvQVRBgdi+CZfQroU9PWvQyeazTcJjgDnM5Bvh4jQpweqe2X2vonmrQLw==",
775
+ "version": "3.8.0-next.1",
776
+ "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-3.8.0-next.1.tgz",
777
+ "integrity": "sha512-jqaDIN+Ku2Cmx0lkeFoJ+vfqH+P+S3V8xKpbJIJneYshg1rviEtsJk2+T5Q0LTN4XCstQUH7rKtnl3WQtieqAw==",
769
778
  "requires": {
770
779
  "@forge/util": "1.2.0",
771
780
  "ajv": "^6.12.5",
@@ -776,11 +785,6 @@
776
785
  "typescript-json-schema": "^0.45.1"
777
786
  }
778
787
  },
779
- "@forge/storage": {
780
- "version": "1.2.0",
781
- "resolved": "https://registry.npmjs.org/@forge/storage/-/storage-1.2.0.tgz",
782
- "integrity": "sha1-bQSGRPjXpQ5EEaHuhT8WDaHcWi0= sha512-/pRNxvKcjv/nEShk6p3tSefmYDBjmInc9kUtvjsr183t8dF72gbSl70YVD73+DwCJYUkFsvsQ4zR7h93/K0oLw=="
783
- },
784
788
  "@forge/util": {
785
789
  "version": "1.2.0",
786
790
  "resolved": "https://registry.npmjs.org/@forge/util/-/util-1.2.0.tgz",
@@ -3114,6 +3118,46 @@
3114
3118
  "package-json": "^6.3.0"
3115
3119
  }
3116
3120
  },
3121
+ "launchdarkly-eventsource": {
3122
+ "version": "1.4.3",
3123
+ "resolved": "https://registry.npmjs.org/launchdarkly-eventsource/-/launchdarkly-eventsource-1.4.3.tgz",
3124
+ "integrity": "sha1-SIEalwvwHJ006n0rTJ+cEPoV6mE= sha512-taeidSNMbF4AuUXjoFStT5CSTknicaKqu+0vrw7gYEMrpQgG74BEzlS0BGYmxW20JdGm2gpm7jtZ542ZG/h8tA==",
3125
+ "requires": {
3126
+ "original": "^1.0.2"
3127
+ }
3128
+ },
3129
+ "launchdarkly-js-sdk-common": {
3130
+ "version": "4.0.3",
3131
+ "resolved": "https://registry.npmjs.org/launchdarkly-js-sdk-common/-/launchdarkly-js-sdk-common-4.0.3.tgz",
3132
+ "integrity": "sha1-s37awokqtCWBhZJgfxeYKt991mQ= sha512-oFlsZur97DKdNk09km0EKataj6DVpXP71mbAdRgrI408opDYW5NdQ+utYTT00fJexsHPApbtu1jtGyF3B+4+ng==",
3133
+ "requires": {
3134
+ "base64-js": "^1.3.0",
3135
+ "fast-deep-equal": "^2.0.1",
3136
+ "uuid": "^8.0.0"
3137
+ },
3138
+ "dependencies": {
3139
+ "fast-deep-equal": {
3140
+ "version": "2.0.1",
3141
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
3142
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
3143
+ },
3144
+ "uuid": {
3145
+ "version": "8.3.2",
3146
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
3147
+ "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I= sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
3148
+ }
3149
+ }
3150
+ },
3151
+ "launchdarkly-node-client-sdk": {
3152
+ "version": "2.0.3",
3153
+ "resolved": "https://registry.npmjs.org/launchdarkly-node-client-sdk/-/launchdarkly-node-client-sdk-2.0.3.tgz",
3154
+ "integrity": "sha1-yCPbl/b1H5fsgBPsQXxZH0EuhYw= sha512-UWm3RnbwMi1UoltyvUPwV3ux4WEUi2QGx7ZVGfiIvK5yp08ma/xjFxOZebxI/9mhLZHdgkRUnbAbGk/A8xXvHg==",
3155
+ "requires": {
3156
+ "launchdarkly-eventsource": "1.4.3",
3157
+ "launchdarkly-js-sdk-common": "4.0.3",
3158
+ "node-localstorage": "^1.3.1"
3159
+ }
3160
+ },
3117
3161
  "lazystream": {
3118
3162
  "version": "1.0.1",
3119
3163
  "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
@@ -3426,6 +3470,26 @@
3426
3470
  "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
3427
3471
  "integrity": "sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI= sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
3428
3472
  },
3473
+ "node-localstorage": {
3474
+ "version": "1.3.1",
3475
+ "resolved": "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz",
3476
+ "integrity": "sha1-MXfvQoN/OYruXddeMZsoHkBwQkM= sha512-NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ==",
3477
+ "requires": {
3478
+ "write-file-atomic": "^1.1.4"
3479
+ },
3480
+ "dependencies": {
3481
+ "write-file-atomic": {
3482
+ "version": "1.3.4",
3483
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
3484
+ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
3485
+ "requires": {
3486
+ "graceful-fs": "^4.1.11",
3487
+ "imurmurhash": "^0.1.4",
3488
+ "slide": "^1.1.5"
3489
+ }
3490
+ }
3491
+ }
3492
+ },
3429
3493
  "node-machine-id": {
3430
3494
  "version": "1.1.12",
3431
3495
  "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz",
@@ -3576,6 +3640,14 @@
3576
3640
  }
3577
3641
  }
3578
3642
  },
3643
+ "original": {
3644
+ "version": "1.0.2",
3645
+ "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
3646
+ "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
3647
+ "requires": {
3648
+ "url-parse": "^1.4.3"
3649
+ }
3650
+ },
3579
3651
  "os-browserify": {
3580
3652
  "version": "0.3.0",
3581
3653
  "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
@@ -3969,6 +4041,11 @@
3969
4041
  "resolved": "https://registry.npmjs.org/querystring-browser/-/querystring-browser-1.0.4.tgz",
3970
4042
  "integrity": "sha1-8uNYgYQKgZvHsb9Zf68JeeZiLcY="
3971
4043
  },
4044
+ "querystringify": {
4045
+ "version": "2.2.0",
4046
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
4047
+ "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y= sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
4048
+ },
3972
4049
  "randombytes": {
3973
4050
  "version": "2.1.0",
3974
4051
  "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -4081,6 +4158,11 @@
4081
4158
  "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
4082
4159
  "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
4083
4160
  },
4161
+ "requires-port": {
4162
+ "version": "1.0.0",
4163
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
4164
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
4165
+ },
4084
4166
  "resolve-cwd": {
4085
4167
  "version": "3.0.0",
4086
4168
  "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
@@ -4211,6 +4293,11 @@
4211
4293
  "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
4212
4294
  "integrity": "sha1-qaF2f4r4QVURTqq9c/mSc8j1mtk= sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
4213
4295
  },
4296
+ "slide": {
4297
+ "version": "1.1.6",
4298
+ "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
4299
+ "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc="
4300
+ },
4214
4301
  "source-map-support": {
4215
4302
  "version": "0.5.21",
4216
4303
  "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -4662,6 +4749,15 @@
4662
4749
  }
4663
4750
  }
4664
4751
  },
4752
+ "url-parse": {
4753
+ "version": "1.5.10",
4754
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
4755
+ "integrity": "sha1-nTwvc2wddd070r5QfcwRHx4uqcE= sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
4756
+ "requires": {
4757
+ "querystringify": "^2.1.1",
4758
+ "requires-port": "^1.0.0"
4759
+ }
4760
+ },
4665
4761
  "url-parse-lax": {
4666
4762
  "version": "3.0.0",
4667
4763
  "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
package/out/bin/cli.js CHANGED
@@ -3,6 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  require("../autocomplete");
5
5
  const command_line_1 = require("../command-line");
6
- const cli_prerequisites_1 = require("../command-line/cli-prerequisites");
7
- cli_prerequisites_1.checkNodeVersion();
8
6
  command_line_1.main();
@@ -0,0 +1,11 @@
1
+ import { CLIDetails, FeatureFlagReader, Logger } from '@forge/cli-shared';
2
+ export declare class PrerequisitesController {
3
+ private readonly logger;
4
+ private readonly featureFlags;
5
+ private readonly cliDetails;
6
+ constructor(logger: Logger, featureFlags: FeatureFlagReader, cliDetails: CLIDetails | undefined);
7
+ check(): Promise<void>;
8
+ private checkNodeVersion;
9
+ private checkCustomWarning;
10
+ }
11
+ //# sourceMappingURL=prerequisites-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerequisites-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/prerequisites-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAe,iBAAiB,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAI7F,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,iBAAiB,EAC/B,UAAU,EAAE,UAAU,GAAG,SAAS;IAG/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,OAAO,CAAC,gBAAgB;YAcV,kBAAkB;CAMjC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrerequisitesController = void 0;
4
+ const semver_1 = require("semver");
5
+ const cli_shared_1 = require("@forge/cli-shared");
6
+ const version_info_1 = require("../version-info");
7
+ const getNodeVersion_1 = require("./getNodeVersion");
8
+ class PrerequisitesController {
9
+ constructor(logger, featureFlags, cliDetails) {
10
+ this.logger = logger;
11
+ this.featureFlags = featureFlags;
12
+ this.cliDetails = cliDetails;
13
+ }
14
+ async check() {
15
+ this.checkNodeVersion();
16
+ await this.checkCustomWarning();
17
+ }
18
+ checkNodeVersion() {
19
+ const userNodeVersion = getNodeVersion_1.getNodeVersion();
20
+ if (this.cliDetails && !semver_1.satisfies(userNodeVersion, this.cliDetails.compatibleNodeVersion)) {
21
+ cli_shared_1.exitOnError(this.logger)(new Error(cli_shared_1.Text.error.outdatedNodeVersion(this.cliDetails.compatibleNodeVersion, userNodeVersion)));
22
+ }
23
+ if (!semver_1.satisfies(userNodeVersion, version_info_1.supportedNodeVersion)) {
24
+ this.logger.warn(cli_shared_1.Text.warning.unsupportedNodeVersion(userNodeVersion));
25
+ }
26
+ }
27
+ async checkCustomWarning() {
28
+ const featureFlagValue = await this.featureFlags.readFlag('forge-cli-startup-warning');
29
+ if (featureFlagValue) {
30
+ this.logger.warn(featureFlagValue);
31
+ }
32
+ }
33
+ }
34
+ exports.PrerequisitesController = PrerequisitesController;
@@ -1,4 +1,4 @@
1
- import { CLIDetails, CommandLineUI, ConfigFile, CreateAppCommand, LoginCommand, LogoutCommand, RegisterAppCommand, ViewAppLogsCommand } from '@forge/cli-shared';
1
+ import { CLIDetails, CommandLineUI, ConfigFile, CreateAppCommand, FeatureFlagService, LoginCommand, LogoutCommand, RegisterAppCommand, ViewAppLogsCommand } from '@forge/cli-shared';
2
2
  import { AnalyticsClientReporter } from '../analytics-client/analytics-client';
3
3
  import { PackageUploadDeployCommand } from '../deploy';
4
4
  import { DeleteEnvironmentVariableCommand } from '../environment-variables/delete-environment-variable';
@@ -21,6 +21,7 @@ import { PreCommandController } from './controller/pre-command-controller';
21
21
  import { SettingsController } from './controller/settings-controller';
22
22
  import { TunnelController } from './controller/tunnel-controller';
23
23
  import { StubController } from './controller/stubController';
24
+ import { PrerequisitesController } from './controller/prerequisites-controller';
24
25
  export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Promise<{
25
26
  ui: CommandLineUI;
26
27
  cmd: Command;
@@ -45,6 +46,7 @@ export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Pr
45
46
  getWebTriggerURLCommand: GetWebTriggerURLCommand;
46
47
  };
47
48
  services: {
49
+ featureFlagService: FeatureFlagService;
48
50
  installationsService: InstallationService;
49
51
  migrationKeysService: MigrationKeysService;
50
52
  };
@@ -58,6 +60,7 @@ export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Pr
58
60
  tunnelController: TunnelController;
59
61
  settingsController: SettingsController;
60
62
  stubController: StubController;
63
+ prerequisitesController: PrerequisitesController;
61
64
  };
62
65
  }>;
63
66
  declare type PromiseType<T> = T extends Promise<infer R> ? R : any;
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAYhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,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;AAI3E,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;AAE7D,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwOvE,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"}
1
+ {"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAUlB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,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;AAI3E,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;AAEhF,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8OvE,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"}
@@ -51,6 +51,7 @@ const settings_view_1 = require("./view/settings-view");
51
51
  const tunnel_view_1 = require("./view/tunnel-view");
52
52
  const graphql_client_5 = require("../webtrigger/graphql-client");
53
53
  const stubController_1 = require("./controller/stubController");
54
+ const prerequisites_controller_1 = require("./controller/prerequisites-controller");
54
55
  exports.getDependencies = async (cliDetails) => {
55
56
  let cmd;
56
57
  const ui = new cli_shared_1.CommandLineUI(() => cmd.verbose);
@@ -75,6 +76,7 @@ exports.getDependencies = async (cliDetails) => {
75
76
  const graphqlGateway = cli_shared_1.getGraphqlGateway();
76
77
  const tokenStore = cli_shared_1.getCredentialsStoreProvider(ui);
77
78
  const authenticator = new cli_shared_1.PersonalTokenAuthenticator(tokenStore);
79
+ const featureFlagService = new cli_shared_1.FeatureFlagService(ui, cliDetails, tokenStore, appConfigReader);
78
80
  const createGraphQLClient = (auth) => {
79
81
  const minimalGraphQLRunner = new cli_shared_1.MinimalGraphQLRunner(auth, graphqlGateway, cliDetails);
80
82
  const graphQLRunner = new cli_shared_1.DebuggingGraphqlRunner(minimalGraphQLRunner, graphqlGateway, ui);
@@ -141,6 +143,7 @@ exports.getDependencies = async (cliDetails) => {
141
143
  const dockerTunnelService = new tunnel_service_1.DockerTunnelService(configFilePortFindingService, dockerService, tunnelAnalyticsService);
142
144
  const tunnelController = new tunnel_controller_1.TunnelController(tunnelAnalyticsService, localTunnelService, dockerTunnelService, tunnelView);
143
145
  const stubController = new stubController_1.StubController();
146
+ const prerequisitesController = new prerequisites_controller_1.PrerequisitesController(ui, featureFlagService, cliDetails);
144
147
  return {
145
148
  ui,
146
149
  cmd,
@@ -165,6 +168,7 @@ exports.getDependencies = async (cliDetails) => {
165
168
  getWebTriggerURLCommand
166
169
  },
167
170
  services: {
171
+ featureFlagService,
168
172
  installationsService,
169
173
  migrationKeysService
170
174
  },
@@ -177,7 +181,8 @@ exports.getDependencies = async (cliDetails) => {
177
181
  preCommandController,
178
182
  tunnelController,
179
183
  settingsController,
180
- stubController
184
+ stubController,
185
+ prerequisitesController
181
186
  }
182
187
  };
183
188
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command-line/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAuBvE,eAAO,MAAM,gBAAgB,SAAU,YAAY,0CAA4B,IAyB9E,CAAC;AAiBF,eAAO,MAAM,IAAI,QAAa,OAAO,CAAC,IAAI,CAQzC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command-line/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAuBvE,eAAO,MAAM,gBAAgB,SAAU,YAAY,0CAA4B,IAyB9E,CAAC;AAiBF,eAAO,MAAM,IAAI,QAAa,OAAO,CAAC,IAAI,CAUzC,CAAC"}
@@ -61,5 +61,6 @@ exports.main = async () => {
61
61
  const deps = await dependency_injection_1.getDependencies(cliDetails);
62
62
  exports.registerCommands(deps, cliDetails);
63
63
  registerEvents(deps);
64
+ await deps.controllers.prerequisitesController.check();
64
65
  await deps.cmd.parse(process.argv);
65
66
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "4.3.1",
3
+ "version": "4.4.0-next.4",
4
4
  "description": "A command line interface for managing Atlassian-hosted apps",
5
5
  "author": "Atlassian",
6
6
  "license": "UNLICENSED",
@@ -18,11 +18,11 @@
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": "3.0.5",
22
- "@forge/cli-shared": "2.4.1",
21
+ "@forge/bundler": "3.0.7-next.4",
22
+ "@forge/cli-shared": "2.5.0-next.3",
23
23
  "@forge/csp": "^1.10.0",
24
- "@forge/lint": "3.0.5",
25
- "@forge/manifest": "3.6.0",
24
+ "@forge/lint": "3.1.1-next.3",
25
+ "@forge/manifest": "3.8.0-next.1",
26
26
  "@forge/util": "1.2.0",
27
27
  "ajv": "^6.12.5",
28
28
  "archiver": "^5.2.0",
@@ -1,2 +0,0 @@
1
- export declare function checkNodeVersion(): void;
2
- //# sourceMappingURL=cli-prerequisites.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-prerequisites.d.ts","sourceRoot":"","sources":["../../src/command-line/cli-prerequisites.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,IAAI,IAAI,CAYvC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkNodeVersion = void 0;
4
- const semver_1 = require("semver");
5
- const version_info_1 = require("./version-info");
6
- const cli_shared_1 = require("@forge/cli-shared");
7
- const getNodeVersion_1 = require("./controller/getNodeVersion");
8
- function checkNodeVersion() {
9
- const cliDetails = version_info_1.getCLIDetails();
10
- const userNodeVersion = getNodeVersion_1.getNodeVersion();
11
- if (cliDetails && !semver_1.satisfies(userNodeVersion, cliDetails.compatibleNodeVersion)) {
12
- console.error(cli_shared_1.Text.error.outdatedNodeVersion(cliDetails.compatibleNodeVersion, userNodeVersion));
13
- process.exit(1);
14
- }
15
- if (!semver_1.satisfies(userNodeVersion, version_info_1.supportedNodeVersion)) {
16
- console.warn(cli_shared_1.Text.warning.unsupportedNodeVersion(userNodeVersion));
17
- }
18
- }
19
- exports.checkNodeVersion = checkNodeVersion;