@teambit/cli 0.0.863 → 0.0.865

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.
@@ -1,4 +1,4 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="0" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.harmony/cli@0.0.863" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.harmony/cli@0.0.865" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.harmony/cli-preview"]=t():e["teambit.harmony/cli-preview"]=t()}(self,(()=>(()=>{"use strict";var e={16052:(e,t,o)=>{var n={id:"teambit.harmony/cli@0.0.863",homepage:"https://bit.cloud/teambit/harmony/cli",exported:!0};function r(){const e=a(o(41594));return r=function(){return e},e}function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=n,a.__bit_component=n;const i=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/cli.svg"}));i.__bit_component=n,t.Logo=i},41594:e=>{e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{compositions:()=>m,compositions_metadata:()=>u,overview:()=>l});var e={};o.r(e),o.d(e,{default:()=>d});var t=o(16052);o(41594);const r=MdxJsReact,a=TeambitMdxUiMdxScopeContext;var i=["components"];function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},s.apply(this,arguments)}var c={},p="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;o[n]=e[n]}return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}(e,i);return(0,r.mdx)(p,s({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(a.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,r.mdx)("p",null,"CLI Aspect manages the commands in the CLI. New commands are registered to this aspect with the necessary data such as, command-name, description and flags. Parsing the args from the CLI is done by Commander package."),(0,r.mdx)("h2",null,"Features"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Allow to register new commands"),(0,r.mdx)("li",{parentName:"ul"},"Use commander commands."),(0,r.mdx)("li",{parentName:"ul"},"Render to stdout as string or as a React component by Ink."))))}d.isMDXComponent=!0;const m=[t],l=[e],u={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.harmony/cli-preview"]=t():e["teambit.harmony/cli-preview"]=t()}(self,(()=>(()=>{"use strict";var e={58294:(e,t,o)=>{var n={id:"teambit.harmony/cli@0.0.865",homepage:"https://bit.cloud/teambit/harmony/cli",exported:!0};function r(){const e=a(o(41594));return r=function(){return e},e}function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=n,a.__bit_component=n;const i=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/cli.svg"}));i.__bit_component=n,t.Logo=i},41594:e=>{e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{compositions:()=>m,compositions_metadata:()=>u,overview:()=>l});var e={};o.r(e),o.d(e,{default:()=>d});var t=o(58294);o(41594);const r=MdxJsReact,a=TeambitMdxUiMdxScopeContext;var i=["components"];function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},s.apply(this,arguments)}var c={},p="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;o[n]=e[n]}return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}(e,i);return(0,r.mdx)(p,s({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(a.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,r.mdx)("p",null,"CLI Aspect manages the commands in the CLI. New commands are registered to this aspect with the necessary data such as, command-name, description and flags. Parsing the args from the CLI is done by Commander package."),(0,r.mdx)("h2",null,"Features"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Allow to register new commands"),(0,r.mdx)("li",{parentName:"ul"},"Use commander commands."),(0,r.mdx)("li",{parentName:"ul"},"Render to stdout as string or as a React component by Ink."))))}d.isMDXComponent=!0;const m=[t],l=[e],u={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),n})()));
@@ -687,7 +687,7 @@
687
687
  "__schema": "VariableLikeSchema",
688
688
  "location": {
689
689
  "filePath": "cli.main.runtime.ts",
690
- "line": 162,
690
+ "line": 166,
691
691
  "character": 3
692
692
  },
693
693
  "signature": "(property) CLIMain.dependencies: Aspect[]",
@@ -696,7 +696,7 @@
696
696
  "__schema": "InferenceTypeSchema",
697
697
  "location": {
698
698
  "filePath": "cli.main.runtime.ts",
699
- "line": 162,
699
+ "line": 166,
700
700
  "character": 3
701
701
  },
702
702
  "type": "Aspect[]"
@@ -708,7 +708,7 @@
708
708
  "__schema": "VariableLikeSchema",
709
709
  "location": {
710
710
  "filePath": "cli.main.runtime.ts",
711
- "line": 163,
711
+ "line": 167,
712
712
  "character": 3
713
713
  },
714
714
  "signature": "(property) CLIMain.runtime: RuntimeDefinition",
@@ -717,7 +717,7 @@
717
717
  "__schema": "InferenceTypeSchema",
718
718
  "location": {
719
719
  "filePath": "cli.main.runtime.ts",
720
- "line": 163,
720
+ "line": 167,
721
721
  "character": 3
722
722
  },
723
723
  "type": "RuntimeDefinition"
@@ -729,7 +729,7 @@
729
729
  "__schema": "VariableLikeSchema",
730
730
  "location": {
731
731
  "filePath": "cli.main.runtime.ts",
732
- "line": 164,
732
+ "line": 168,
733
733
  "character": 3
734
734
  },
735
735
  "signature": "(property) CLIMain.slots: (((registerFn: () => string) => SlotRegistry<CommandList>) | ((registerFn: () => string) => SlotRegistry<OnStart>) | ((registerFn: () => string) => SlotRegistry<...>))[]",
@@ -738,7 +738,7 @@
738
738
  "__schema": "InferenceTypeSchema",
739
739
  "location": {
740
740
  "filePath": "cli.main.runtime.ts",
741
- "line": 164,
741
+ "line": 168,
742
742
  "character": 3
743
743
  },
744
744
  "type": "(((registerFn: () => string) => SlotRegistry<CommandList>) | ((registerFn: () => string) => SlotRegistry<OnStart>) | ((registerFn: () => string) => SlotRegistry<...>))[]"
@@ -750,7 +750,7 @@
750
750
  "__schema": "FunctionLikeSchema",
751
751
  "location": {
752
752
  "filePath": "cli.main.runtime.ts",
753
- "line": 171,
753
+ "line": 175,
754
754
  "character": 3
755
755
  },
756
756
  "signature": "(method) CLIMain.provider([loggerMain]: [LoggerMain], config: any, [commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot]: [\n CommandsSlot,\n OnStartSlot,\n OnCommandStartSlot,\n OnBeforeExitSlot\n]): Promise<CLIMain>",
@@ -760,7 +760,7 @@
760
760
  "__schema": "ParameterSchema",
761
761
  "location": {
762
762
  "filePath": "cli.main.runtime.ts",
763
- "line": 172,
763
+ "line": 176,
764
764
  "character": 5
765
765
  },
766
766
  "name": "[ loggerMain ]",
@@ -768,7 +768,7 @@
768
768
  "__schema": "TupleTypeSchema",
769
769
  "location": {
770
770
  "filePath": "cli.main.runtime.ts",
771
- "line": 172,
771
+ "line": 176,
772
772
  "character": 19
773
773
  },
774
774
  "elements": [
@@ -776,7 +776,7 @@
776
776
  "__schema": "TypeRefSchema",
777
777
  "location": {
778
778
  "filePath": "cli.main.runtime.ts",
779
- "line": 172,
779
+ "line": 176,
780
780
  "character": 20
781
781
  },
782
782
  "name": "LoggerMain",
@@ -794,7 +794,7 @@
794
794
  "__schema": "ParameterSchema",
795
795
  "location": {
796
796
  "filePath": "cli.main.runtime.ts",
797
- "line": 173,
797
+ "line": 177,
798
798
  "character": 5
799
799
  },
800
800
  "name": "config",
@@ -802,7 +802,7 @@
802
802
  "__schema": "InferenceTypeSchema",
803
803
  "location": {
804
804
  "filePath": "cli.main.runtime.ts",
805
- "line": 173,
805
+ "line": 177,
806
806
  "character": 5
807
807
  },
808
808
  "type": "any"
@@ -814,7 +814,7 @@
814
814
  "__schema": "ParameterSchema",
815
815
  "location": {
816
816
  "filePath": "cli.main.runtime.ts",
817
- "line": 174,
817
+ "line": 178,
818
818
  "character": 5
819
819
  },
820
820
  "name": "[ commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot ]",
@@ -822,7 +822,7 @@
822
822
  "__schema": "TupleTypeSchema",
823
823
  "location": {
824
824
  "filePath": "cli.main.runtime.ts",
825
- "line": 174,
825
+ "line": 178,
826
826
  "character": 72
827
827
  },
828
828
  "elements": [
@@ -830,7 +830,7 @@
830
830
  "__schema": "TypeRefSchema",
831
831
  "location": {
832
832
  "filePath": "cli.main.runtime.ts",
833
- "line": 175,
833
+ "line": 179,
834
834
  "character": 7
835
835
  },
836
836
  "name": "CommandsSlot"
@@ -839,7 +839,7 @@
839
839
  "__schema": "TypeRefSchema",
840
840
  "location": {
841
841
  "filePath": "cli.main.runtime.ts",
842
- "line": 176,
842
+ "line": 180,
843
843
  "character": 7
844
844
  },
845
845
  "name": "OnStartSlot",
@@ -849,7 +849,7 @@
849
849
  "__schema": "TypeRefSchema",
850
850
  "location": {
851
851
  "filePath": "cli.main.runtime.ts",
852
- "line": 177,
852
+ "line": 181,
853
853
  "character": 7
854
854
  },
855
855
  "name": "OnCommandStartSlot",
@@ -859,7 +859,7 @@
859
859
  "__schema": "TypeRefSchema",
860
860
  "location": {
861
861
  "filePath": "cli.main.runtime.ts",
862
- "line": 178,
862
+ "line": 182,
863
863
  "character": 7
864
864
  },
865
865
  "name": "OnBeforeExitSlot",
@@ -875,7 +875,7 @@
875
875
  "__schema": "InferenceTypeSchema",
876
876
  "location": {
877
877
  "filePath": "cli.main.runtime.ts",
878
- "line": 171,
878
+ "line": 175,
879
879
  "character": 3
880
880
  },
881
881
  "type": "Promise<CLIMain>"
@@ -1172,7 +1172,7 @@
1172
1172
  "_legacy": {
1173
1173
  "scope": "teambit.harmony",
1174
1174
  "name": "cli",
1175
- "version": "0.0.863"
1175
+ "version": "0.0.865"
1176
1176
  },
1177
1177
  "_scope": "teambit.harmony"
1178
1178
  }
@@ -1338,7 +1338,7 @@
1338
1338
  "line": 20,
1339
1339
  "character": 1
1340
1340
  },
1341
- "signature": "type OnStart = (hasWorkspace: boolean, currentCommand: string) => Promise<void>",
1341
+ "signature": "type OnStart = (hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => Promise<void>",
1342
1342
  "name": "OnStart",
1343
1343
  "type": {
1344
1344
  "__schema": "FunctionLikeSchema",
@@ -1347,7 +1347,7 @@
1347
1347
  "line": 20,
1348
1348
  "character": 23
1349
1349
  },
1350
- "signature": "(hasWorkspace: boolean, currentCommand: string): Promise<void>",
1350
+ "signature": "(hasWorkspace: boolean, currentCommand: string, commandObject?: \u001b[2m(package: @teambit/legacy/dist/cli/command)\u001b[22m Command): Promise<void>",
1351
1351
  "name": "",
1352
1352
  "params": [
1353
1353
  {
@@ -1389,6 +1389,27 @@
1389
1389
  },
1390
1390
  "isOptional": false,
1391
1391
  "isSpread": false
1392
+ },
1393
+ {
1394
+ "__schema": "ParameterSchema",
1395
+ "location": {
1396
+ "filePath": "cli.main.runtime.ts",
1397
+ "line": 20,
1398
+ "character": 71
1399
+ },
1400
+ "name": "commandObject",
1401
+ "type": {
1402
+ "__schema": "TypeRefSchema",
1403
+ "location": {
1404
+ "filePath": "cli.main.runtime.ts",
1405
+ "line": 20,
1406
+ "character": 87
1407
+ },
1408
+ "name": "Command",
1409
+ "packageName": "@teambit/legacy/dist/cli/command"
1410
+ },
1411
+ "isOptional": true,
1412
+ "isSpread": false
1392
1413
  }
1393
1414
  ],
1394
1415
  "returnType": {
@@ -1396,7 +1417,7 @@
1396
1417
  "location": {
1397
1418
  "filePath": "cli.main.runtime.ts",
1398
1419
  "line": 20,
1399
- "character": 74
1420
+ "character": 99
1400
1421
  },
1401
1422
  "name": "Promise",
1402
1423
  "typeArgs": [
@@ -1405,7 +1426,7 @@
1405
1426
  "location": {
1406
1427
  "filePath": "cli.main.runtime.ts",
1407
1428
  "line": 20,
1408
- "character": 82
1429
+ "character": 107
1409
1430
  },
1410
1431
  "name": "void"
1411
1432
  }
@@ -2370,7 +2391,7 @@
2370
2391
  "__schema": "VariableLikeSchema",
2371
2392
  "location": {
2372
2393
  "filePath": "cli.main.runtime.ts",
2373
- "line": 162,
2394
+ "line": 166,
2374
2395
  "character": 3
2375
2396
  },
2376
2397
  "signature": "(property) CLIMain.dependencies: Aspect[]",
@@ -2379,7 +2400,7 @@
2379
2400
  "__schema": "InferenceTypeSchema",
2380
2401
  "location": {
2381
2402
  "filePath": "cli.main.runtime.ts",
2382
- "line": 162,
2403
+ "line": 166,
2383
2404
  "character": 3
2384
2405
  },
2385
2406
  "type": "Aspect[]"
@@ -2391,7 +2412,7 @@
2391
2412
  "__schema": "VariableLikeSchema",
2392
2413
  "location": {
2393
2414
  "filePath": "cli.main.runtime.ts",
2394
- "line": 163,
2415
+ "line": 167,
2395
2416
  "character": 3
2396
2417
  },
2397
2418
  "signature": "(property) CLIMain.runtime: RuntimeDefinition",
@@ -2400,7 +2421,7 @@
2400
2421
  "__schema": "InferenceTypeSchema",
2401
2422
  "location": {
2402
2423
  "filePath": "cli.main.runtime.ts",
2403
- "line": 163,
2424
+ "line": 167,
2404
2425
  "character": 3
2405
2426
  },
2406
2427
  "type": "RuntimeDefinition"
@@ -2412,7 +2433,7 @@
2412
2433
  "__schema": "VariableLikeSchema",
2413
2434
  "location": {
2414
2435
  "filePath": "cli.main.runtime.ts",
2415
- "line": 164,
2436
+ "line": 168,
2416
2437
  "character": 3
2417
2438
  },
2418
2439
  "signature": "(property) CLIMain.slots: (((registerFn: () => string) => SlotRegistry<CommandList>) | ((registerFn: () => string) => SlotRegistry<OnStart>) | ((registerFn: () => string) => SlotRegistry<...>))[]",
@@ -2421,7 +2442,7 @@
2421
2442
  "__schema": "InferenceTypeSchema",
2422
2443
  "location": {
2423
2444
  "filePath": "cli.main.runtime.ts",
2424
- "line": 164,
2445
+ "line": 168,
2425
2446
  "character": 3
2426
2447
  },
2427
2448
  "type": "(((registerFn: () => string) => SlotRegistry<CommandList>) | ((registerFn: () => string) => SlotRegistry<OnStart>) | ((registerFn: () => string) => SlotRegistry<...>))[]"
@@ -2433,7 +2454,7 @@
2433
2454
  "__schema": "FunctionLikeSchema",
2434
2455
  "location": {
2435
2456
  "filePath": "cli.main.runtime.ts",
2436
- "line": 171,
2457
+ "line": 175,
2437
2458
  "character": 3
2438
2459
  },
2439
2460
  "signature": "(method) CLIMain.provider([loggerMain]: [LoggerMain], config: any, [commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot]: [\n CommandsSlot,\n OnStartSlot,\n OnCommandStartSlot,\n OnBeforeExitSlot\n]): Promise<CLIMain>",
@@ -2443,7 +2464,7 @@
2443
2464
  "__schema": "ParameterSchema",
2444
2465
  "location": {
2445
2466
  "filePath": "cli.main.runtime.ts",
2446
- "line": 172,
2467
+ "line": 176,
2447
2468
  "character": 5
2448
2469
  },
2449
2470
  "name": "[ loggerMain ]",
@@ -2451,7 +2472,7 @@
2451
2472
  "__schema": "TupleTypeSchema",
2452
2473
  "location": {
2453
2474
  "filePath": "cli.main.runtime.ts",
2454
- "line": 172,
2475
+ "line": 176,
2455
2476
  "character": 19
2456
2477
  },
2457
2478
  "elements": [
@@ -2459,7 +2480,7 @@
2459
2480
  "__schema": "TypeRefSchema",
2460
2481
  "location": {
2461
2482
  "filePath": "cli.main.runtime.ts",
2462
- "line": 172,
2483
+ "line": 176,
2463
2484
  "character": 20
2464
2485
  },
2465
2486
  "name": "LoggerMain",
@@ -2477,7 +2498,7 @@
2477
2498
  "__schema": "ParameterSchema",
2478
2499
  "location": {
2479
2500
  "filePath": "cli.main.runtime.ts",
2480
- "line": 173,
2501
+ "line": 177,
2481
2502
  "character": 5
2482
2503
  },
2483
2504
  "name": "config",
@@ -2485,7 +2506,7 @@
2485
2506
  "__schema": "InferenceTypeSchema",
2486
2507
  "location": {
2487
2508
  "filePath": "cli.main.runtime.ts",
2488
- "line": 173,
2509
+ "line": 177,
2489
2510
  "character": 5
2490
2511
  },
2491
2512
  "type": "any"
@@ -2497,7 +2518,7 @@
2497
2518
  "__schema": "ParameterSchema",
2498
2519
  "location": {
2499
2520
  "filePath": "cli.main.runtime.ts",
2500
- "line": 174,
2521
+ "line": 178,
2501
2522
  "character": 5
2502
2523
  },
2503
2524
  "name": "[ commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot ]",
@@ -2505,7 +2526,7 @@
2505
2526
  "__schema": "TupleTypeSchema",
2506
2527
  "location": {
2507
2528
  "filePath": "cli.main.runtime.ts",
2508
- "line": 174,
2529
+ "line": 178,
2509
2530
  "character": 72
2510
2531
  },
2511
2532
  "elements": [
@@ -2513,7 +2534,7 @@
2513
2534
  "__schema": "TypeRefSchema",
2514
2535
  "location": {
2515
2536
  "filePath": "cli.main.runtime.ts",
2516
- "line": 175,
2537
+ "line": 179,
2517
2538
  "character": 7
2518
2539
  },
2519
2540
  "name": "CommandsSlot"
@@ -2522,7 +2543,7 @@
2522
2543
  "__schema": "TypeRefSchema",
2523
2544
  "location": {
2524
2545
  "filePath": "cli.main.runtime.ts",
2525
- "line": 176,
2546
+ "line": 180,
2526
2547
  "character": 7
2527
2548
  },
2528
2549
  "name": "OnStartSlot",
@@ -2532,7 +2553,7 @@
2532
2553
  "__schema": "TypeRefSchema",
2533
2554
  "location": {
2534
2555
  "filePath": "cli.main.runtime.ts",
2535
- "line": 177,
2556
+ "line": 181,
2536
2557
  "character": 7
2537
2558
  },
2538
2559
  "name": "OnCommandStartSlot",
@@ -2542,7 +2563,7 @@
2542
2563
  "__schema": "TypeRefSchema",
2543
2564
  "location": {
2544
2565
  "filePath": "cli.main.runtime.ts",
2545
- "line": 178,
2566
+ "line": 182,
2546
2567
  "character": 7
2547
2568
  },
2548
2569
  "name": "OnBeforeExitSlot",
@@ -2558,7 +2579,7 @@
2558
2579
  "__schema": "InferenceTypeSchema",
2559
2580
  "location": {
2560
2581
  "filePath": "cli.main.runtime.ts",
2561
- "line": 171,
2582
+ "line": 175,
2562
2583
  "character": 3
2563
2584
  },
2564
2585
  "type": "Promise<CLIMain>"
@@ -2578,7 +2599,7 @@
2578
2599
  "__schema": "UnImplementedSchema",
2579
2600
  "location": {
2580
2601
  "filePath": "cli.main.runtime.ts",
2581
- "line": 196,
2602
+ "line": 200,
2582
2603
  "character": 1
2583
2604
  },
2584
2605
  "name": "CLIAspect.addRuntime(CLIMain);",
@@ -2588,14 +2609,14 @@
2588
2609
  "__schema": "FunctionLikeSchema",
2589
2610
  "location": {
2590
2611
  "filePath": "cli.main.runtime.ts",
2591
- "line": 204,
2612
+ "line": 208,
2592
2613
  "character": 1
2593
2614
  },
2594
2615
  "doc": {
2595
2616
  "__schema": "DocSchema",
2596
2617
  "location": {
2597
2618
  "filePath": "cli.main.runtime.ts",
2598
- "line": 198,
2619
+ "line": 202,
2599
2620
  "character": 1
2600
2621
  },
2601
2622
  "raw": "/**\n * kind of a hack.\n * in the legacy, this is running at the beginning and it take care of issues when Bit files are missing,\n * such as \".bit\".\n * (to make this process better, you can easily remove it and run the e2e-tests. you'll see some failing)\n */",
@@ -2608,7 +2629,7 @@
2608
2629
  "__schema": "InferenceTypeSchema",
2609
2630
  "location": {
2610
2631
  "filePath": "cli.main.runtime.ts",
2611
- "line": 204,
2632
+ "line": 208,
2612
2633
  "character": 1
2613
2634
  },
2614
2635
  "type": "Promise<void>"
@@ -2621,7 +2642,7 @@
2621
2642
  "__schema": "FunctionLikeSchema",
2622
2643
  "location": {
2623
2644
  "filePath": "cli.main.runtime.ts",
2624
- "line": 212,
2645
+ "line": 216,
2625
2646
  "character": 1
2626
2647
  },
2627
2648
  "signature": "function isFullUrl(url: string): boolean",
@@ -2631,7 +2652,7 @@
2631
2652
  "__schema": "ParameterSchema",
2632
2653
  "location": {
2633
2654
  "filePath": "cli.main.runtime.ts",
2634
- "line": 212,
2655
+ "line": 216,
2635
2656
  "character": 20
2636
2657
  },
2637
2658
  "name": "url",
@@ -2639,7 +2660,7 @@
2639
2660
  "__schema": "KeywordTypeSchema",
2640
2661
  "location": {
2641
2662
  "filePath": "cli.main.runtime.ts",
2642
- "line": 212,
2663
+ "line": 216,
2643
2664
  "character": 25
2644
2665
  },
2645
2666
  "name": "string"
@@ -2652,7 +2673,7 @@
2652
2673
  "__schema": "TypeRefSchema",
2653
2674
  "location": {
2654
2675
  "filePath": "cli.main.runtime.ts",
2655
- "line": 212,
2676
+ "line": 216,
2656
2677
  "character": 1
2657
2678
  },
2658
2679
  "name": "isFullUrl",
@@ -2739,7 +2760,7 @@
2739
2760
  "componentId": {
2740
2761
  "scope": "teambit.harmony",
2741
2762
  "name": "cli",
2742
- "version": "0.0.863"
2763
+ "version": "0.0.865"
2743
2764
  },
2744
2765
  "taggedModuleExports": []
2745
2766
  }
@@ -31,5 +31,5 @@ export declare class CLIParser {
31
31
  * Examples
32
32
  */
33
33
  private logCommandHelp;
34
- private findCommandByArgv;
35
34
  }
35
+ export declare function findCommandByArgv(commands: Command[]): Command | undefined;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CLIParser = void 0;
7
+ exports.findCommandByArgv = findCommandByArgv;
7
8
  function _didyoumean() {
8
9
  const data = _interopRequireDefault(require("didyoumean"));
9
10
  _didyoumean = function () {
@@ -239,7 +240,7 @@ class CLIParser {
239
240
  * Examples
240
241
  */
241
242
  logCommandHelp(help) {
242
- const command = this.findCommandByArgv();
243
+ const command = findCommandByArgv(this.commands);
243
244
  const replacer = (_, p1, p2) => `${p1}${_chalk().default.green(p2)}`;
244
245
  const lines = help.split('\n');
245
246
  const linesWithoutEmpty = (0, _lodash().compact)(lines);
@@ -309,31 +310,31 @@ ${globalOptionsStr}`;
309
310
  // eslint-disable-next-line no-console
310
311
  console.log(finalOutput);
311
312
  }
312
- findCommandByArgv() {
313
- const args = process.argv.slice(2);
314
- const enteredCommand = args[0];
315
- const enteredSubCommand = args[1];
316
- if (!enteredCommand) {
317
- return undefined;
318
- }
319
- const isCommandMatch = (cmd, str) => {
320
- return cmd.name.startsWith(`${str} `) ||
321
- // e.g. "tag <id>".startsWith("tag ")
322
- cmd.name === str ||
323
- // e.g. "globals" === "globals"
324
- cmd.alias === str; // e.g. "t" === "t"
325
- };
326
- const command = this.commands.find(cmd => isCommandMatch(cmd, enteredCommand));
327
- if (!command) {
328
- return undefined;
329
- }
330
- if (!command.commands || !enteredSubCommand) {
331
- return command; // no sub-commands.
332
- }
333
- const subCommand = command.commands.find(cmd => isCommandMatch(cmd, enteredSubCommand));
334
- return subCommand || command;
335
- }
336
313
  }
337
314
  exports.CLIParser = CLIParser;
315
+ function findCommandByArgv(commands) {
316
+ const args = process.argv.slice(2);
317
+ const enteredCommand = args[0];
318
+ const enteredSubCommand = args[1];
319
+ if (!enteredCommand) {
320
+ return undefined;
321
+ }
322
+ const isCommandMatch = (cmd, str) => {
323
+ return cmd.name.startsWith(`${str} `) ||
324
+ // e.g. "tag <id>".startsWith("tag ")
325
+ cmd.name === str ||
326
+ // e.g. "globals" === "globals"
327
+ cmd.alias === str; // e.g. "t" === "t"
328
+ };
329
+ const command = commands.find(cmd => isCommandMatch(cmd, enteredCommand));
330
+ if (!command) {
331
+ return undefined;
332
+ }
333
+ if (!command.commands || !enteredSubCommand) {
334
+ return command; // no sub-commands.
335
+ }
336
+ const subCommand = command.commands.find(cmd => isCommandMatch(cmd, enteredSubCommand));
337
+ return subCommand || command;
338
+ }
338
339
 
339
340
  //# sourceMappingURL=cli-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_didyoumean","data","_interopRequireDefault","require","_yargs","_lodash","_consumer","_logger","_loader","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","CLIParser","constructor","commands","groups","onCommandStartSlot","yargs","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","writeCommandHistoryStart","help","configureParser","forEach","command","length","parseCommandWithSubCommands","yargsCommand","getYargsCommand","configureGlobalFlags","setHelpMiddleware","handleCommandFailure","configureCompletion","strict","wrap","middleware","_","shouldShowInternalCommands","Boolean","internal","printHelp","exit","loader","off","showHelp","logCommandHelp","bind","isDaemon","fail","msg","err","stop","isHelpFlagEntered","includes","isMsgAboutMissingArgs","startsWith","console","log","chalk","yellow","commandsToShowComponentIdsForCompletion","completion","current","completionFilter","done","consumer","loadConsumerIfExist","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","formatHelp","parserConfiguration","yarnCommand","builderFunc","cmd","subCommand","options","YargsAdapter","getGlobalOptions","builder","handler","option","alias","describe","group","GLOBAL_GROUP","global","commandName","commandsNames","c","getCommandId","name","aliases","filter","a","existingGlobalFlags","validCommands","commandExist","didYouMean","returnFirstMatch","suggestions","private","suggestion","Array","isArray","CommandNotFound","findCommandByArgv","replacer","p1","p2","green","lines","split","linesWithoutEmpty","compact","cmdLine","description","globalOptions","subCommands","examples","optionsStarted","globalStarted","subCommandsStarted","positionalsStarted","examplesStarted","currentLine","STANDARD_GROUP","push","optionsColored","opt","replace","argsColored","arg","argName","optionsStr","argumentsStr","examplesStr","subCommandsStr","descriptionColored","desc","bold","extendedDescription","helpUrl","underline","descriptionStr","globalOptionsStr","finalOutput","enteredCommand","enteredSubCommand","undefined","isCommandMatch","str","find","exports"],"sources":["cli-parser.ts"],"sourcesContent":["import didYouMean from 'didyoumean';\nimport yargs from 'yargs';\nimport { Command } from '@teambit/legacy/dist/cli/command';\nimport { GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { compact } from 'lodash';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport chalk from 'chalk';\nimport { getCommandId } from './get-command-id';\nimport { formatHelp } from './help';\nimport { GLOBAL_GROUP, STANDARD_GROUP, YargsAdapter } from './yargs-adapter';\nimport { CommandNotFound } from './exceptions/command-not-found';\nimport { OnCommandStartSlot } from './cli.main.runtime';\n\nexport class CLIParser {\n public parser = yargs;\n constructor(\n private commands: Command[],\n private groups: GroupsType,\n private onCommandStartSlot: OnCommandStartSlot\n ) {}\n\n async parse(args = process.argv.slice(2)) {\n this.throwForNonExistsCommand(args[0]);\n logger.debug(`[+] CLI-INPUT: ${args.join(' ')}`);\n logger.writeCommandHistoryStart();\n yargs(args);\n yargs.help(false);\n this.configureParser();\n this.commands.forEach((command: Command) => {\n if (command.commands && command.commands.length) {\n this.parseCommandWithSubCommands(command);\n } else {\n const yargsCommand = this.getYargsCommand(command);\n yargs.command(yargsCommand);\n }\n });\n this.configureGlobalFlags();\n this.setHelpMiddleware();\n this.handleCommandFailure();\n this.configureCompletion();\n yargs.strict(); // don't allow non-exist flags and non-exist commands\n\n yargs\n // .recommendCommands() // don't use it, it brings the global help of yargs, we have a custom one\n .wrap(null);\n\n await yargs.parse();\n }\n\n private setHelpMiddleware() {\n yargs.middleware((argv) => {\n if (argv._.length === 0 && argv.help) {\n const shouldShowInternalCommands = Boolean(argv.internal);\n // this is the main help page\n this.printHelp(shouldShowInternalCommands);\n process.exit(0);\n }\n if (argv.help) {\n loader.off(); // stop the \"loading bit...\" before showing help if needed\n // this is a command help page\n yargs.showHelp(this.logCommandHelp.bind(this));\n if (!logger.isDaemon) process.exit(0);\n }\n }, true);\n }\n\n private handleCommandFailure() {\n yargs.fail((msg, err) => {\n loader.stop();\n if (err) {\n throw err;\n }\n yargs.showHelp(this.logCommandHelp.bind(this));\n const args = process.argv.slice(2);\n const isHelpFlagEntered = args.includes('--help') || args.includes('-h');\n const isMsgAboutMissingArgs = msg.startsWith('Not enough non-option arguments');\n // avoid showing the \"Not enough non-option arguments\" message when the user is trying to get the command help\n if (!isMsgAboutMissingArgs || !isHelpFlagEntered) {\n // eslint-disable-next-line no-console\n console.log(`\\n${chalk.yellow(msg)}`);\n }\n if (!logger.isDaemon) process.exit(1);\n });\n }\n\n private configureCompletion() {\n const commandsToShowComponentIdsForCompletion = [\n 'show',\n 'diff',\n 'tag',\n 'export',\n 'env',\n 'envs',\n 'compile',\n 'build',\n 'test',\n 'lint',\n 'log',\n 'dependents',\n 'dependencies',\n ];\n // @ts-ignore\n yargs.completion('completion', async function (current, argv, completionFilter, done) {\n if (!current.startsWith('-') && commandsToShowComponentIdsForCompletion.includes(argv._[1])) {\n const consumer = await loadConsumerIfExist();\n done(consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()));\n } else {\n completionFilter();\n }\n });\n }\n\n private printHelp(shouldShowInternalCommands = false) {\n const help = formatHelp(this.commands, this.groups, shouldShowInternalCommands);\n // eslint-disable-next-line no-console\n console.log(help);\n }\n\n private configureParser() {\n yargs.parserConfiguration({\n // 'strip-dashed': true, // we can't enable it, otherwise, the completion doesn't work\n 'strip-aliased': true,\n 'boolean-negation': false,\n 'populate--': true,\n });\n }\n\n private parseCommandWithSubCommands(command: Command) {\n const yarnCommand = this.getYargsCommand(command);\n const builderFunc = () => {\n command.commands?.forEach((cmd) => {\n const subCommand = this.getYargsCommand(cmd);\n yargs.command(subCommand);\n });\n // since the \"builder\" method is overridden, the global flags of the main command are gone, this fixes it.\n yargs.options(YargsAdapter.getGlobalOptions(command));\n return yargs;\n };\n yarnCommand.builder = builderFunc;\n yargs.command(yarnCommand);\n }\n\n private getYargsCommand(command: Command): YargsAdapter {\n const yarnCommand = new YargsAdapter(command, this.onCommandStartSlot);\n yarnCommand.builder = yarnCommand.builder.bind(yarnCommand);\n yarnCommand.handler = yarnCommand.handler.bind(yarnCommand);\n\n return yarnCommand;\n }\n\n private configureGlobalFlags() {\n yargs\n .option('help', {\n alias: 'h',\n describe: 'show help',\n group: GLOBAL_GROUP,\n })\n .option('version', {\n global: false,\n alias: 'v',\n describe: 'show version',\n group: GLOBAL_GROUP,\n });\n }\n\n private throwForNonExistsCommand(commandName: string) {\n if (!commandName || commandName.startsWith('-')) {\n return;\n }\n const commandsNames = this.commands.map((c) => getCommandId(c.name));\n const aliases = this.commands.map((c) => c.alias).filter((a) => a);\n const existingGlobalFlags = ['-V', '--version'];\n const validCommands = [...commandsNames, ...aliases, ...existingGlobalFlags];\n const commandExist = validCommands.includes(commandName);\n\n if (!commandExist) {\n didYouMean.returnFirstMatch = true;\n const suggestions = didYouMean(\n commandName,\n this.commands.filter((c) => !c.private).map((c) => getCommandId(c.name))\n );\n const suggestion = suggestions && Array.isArray(suggestions) ? suggestions[0] : suggestions;\n\n throw new CommandNotFound(commandName, suggestion as string);\n }\n }\n\n /**\n * manipulate the command help output. there is no API from Yarn to do any of this, so it needs to be done manually.\n * see https://github.com/yargs/yargs/issues/1956\n *\n * the original order of the output:\n * description\n * Options\n * Commands\n * Global\n * Positionals\n * Examples\n */\n private logCommandHelp(help: string) {\n const command = this.findCommandByArgv();\n\n const replacer = (_, p1, p2) => `${p1}${chalk.green(p2)}`;\n const lines = help.split('\\n');\n const linesWithoutEmpty = compact(lines);\n const cmdLine = linesWithoutEmpty[0];\n const description: string[] = [];\n const options: string[] = [];\n const globalOptions: string[] = [];\n const subCommands: string[] = [];\n const args: string[] = [];\n const examples: string[] = [];\n\n let optionsStarted = false;\n let globalStarted = false;\n let subCommandsStarted = false;\n let positionalsStarted = false;\n let examplesStarted = false;\n for (let i = 1; i < linesWithoutEmpty.length; i += 1) {\n const currentLine = linesWithoutEmpty[i];\n if (currentLine === STANDARD_GROUP) {\n optionsStarted = true;\n } else if (currentLine === GLOBAL_GROUP) {\n globalStarted = true;\n } else if (currentLine === 'Commands:') {\n subCommandsStarted = true;\n } else if (currentLine === 'Positionals:') {\n positionalsStarted = true;\n } else if (currentLine === 'Examples:') {\n examplesStarted = true;\n } else if (examplesStarted) {\n examples.push(currentLine);\n } else if (positionalsStarted) {\n args.push(currentLine);\n } else if (globalStarted) {\n globalOptions.push(currentLine);\n } else if (optionsStarted) {\n options.push(currentLine);\n } else if (subCommandsStarted) {\n subCommands.push(currentLine);\n } else {\n description.push(currentLine);\n }\n }\n\n // show the flags in green\n const optionsColored = options.map((opt) => opt.replace(/(--)([\\w-]+)/, replacer).replace(/(-)([\\w-]+)/, replacer));\n const argsColored = args.map((arg) => arg.replace(/^ {2}\\S+/, (argName) => chalk.green(argName))); // regex: two spaces then the first word until a white space\n const optionsStr = options.length ? `\\n${STANDARD_GROUP}\\n${optionsColored.join('\\n')}\\n` : '';\n const argumentsStr = args.length ? `\\nArguments:\\n${argsColored.join('\\n')}\\n` : '';\n const examplesStr = examples.length ? `\\nExamples:\\n${examples.join('\\n')}\\n` : '';\n const subCommandsStr = subCommands.length ? `\\n${'Commands:'}\\n${subCommands.join('\\n')}\\n` : '';\n // show the description in bold\n const descriptionColored = description.map((desc) => chalk.bold(desc));\n if (command?.extendedDescription) {\n descriptionColored.push(command?.extendedDescription);\n }\n if (command?.helpUrl) {\n descriptionColored.push(`for more info, visit: ${chalk.underline(command.helpUrl)}`);\n }\n const descriptionStr = descriptionColored.join('\\n');\n const globalOptionsStr = globalOptions.join('\\n');\n\n const finalOutput = `${cmdLine}\n\n${descriptionStr}\n${argumentsStr}${subCommandsStr}${optionsStr}${examplesStr}\n${GLOBAL_GROUP}\n${globalOptionsStr}`;\n\n // eslint-disable-next-line no-console\n console.log(finalOutput);\n }\n\n private findCommandByArgv(): Command | undefined {\n const args = process.argv.slice(2);\n const enteredCommand = args[0];\n const enteredSubCommand = args[1];\n if (!enteredCommand) {\n return undefined;\n }\n const isCommandMatch = (cmd: Command, str: string) => {\n return (\n cmd.name.startsWith(`${str} `) || // e.g. \"tag <id>\".startsWith(\"tag \")\n cmd.name === str || // e.g. \"globals\" === \"globals\"\n cmd.alias === str\n ); // e.g. \"t\" === \"t\"\n };\n const command = this.commands.find((cmd) => isCommandMatch(cmd, enteredCommand));\n if (!command) {\n return undefined;\n }\n if (!command.commands || !enteredSubCommand) {\n return command; // no sub-commands.\n }\n const subCommand = command.commands.find((cmd) => isCommandMatch(cmd, enteredSubCommand));\n return subCommand || command;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_didyoumean","data","_interopRequireDefault","require","_yargs","_lodash","_consumer","_logger","_loader","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","CLIParser","constructor","commands","groups","onCommandStartSlot","yargs","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","writeCommandHistoryStart","help","configureParser","forEach","command","length","parseCommandWithSubCommands","yargsCommand","getYargsCommand","configureGlobalFlags","setHelpMiddleware","handleCommandFailure","configureCompletion","strict","wrap","middleware","_","shouldShowInternalCommands","Boolean","internal","printHelp","exit","loader","off","showHelp","logCommandHelp","bind","isDaemon","fail","msg","err","stop","isHelpFlagEntered","includes","isMsgAboutMissingArgs","startsWith","console","log","chalk","yellow","commandsToShowComponentIdsForCompletion","completion","current","completionFilter","done","consumer","loadConsumerIfExist","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","formatHelp","parserConfiguration","yarnCommand","builderFunc","cmd","subCommand","options","YargsAdapter","getGlobalOptions","builder","handler","option","alias","describe","group","GLOBAL_GROUP","global","commandName","commandsNames","c","getCommandId","name","aliases","filter","a","existingGlobalFlags","validCommands","commandExist","didYouMean","returnFirstMatch","suggestions","private","suggestion","Array","isArray","CommandNotFound","findCommandByArgv","replacer","p1","p2","green","lines","split","linesWithoutEmpty","compact","cmdLine","description","globalOptions","subCommands","examples","optionsStarted","globalStarted","subCommandsStarted","positionalsStarted","examplesStarted","currentLine","STANDARD_GROUP","push","optionsColored","opt","replace","argsColored","arg","argName","optionsStr","argumentsStr","examplesStr","subCommandsStr","descriptionColored","desc","bold","extendedDescription","helpUrl","underline","descriptionStr","globalOptionsStr","finalOutput","exports","enteredCommand","enteredSubCommand","undefined","isCommandMatch","str","find"],"sources":["cli-parser.ts"],"sourcesContent":["import didYouMean from 'didyoumean';\nimport yargs from 'yargs';\nimport { Command } from '@teambit/legacy/dist/cli/command';\nimport { GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { compact } from 'lodash';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport chalk from 'chalk';\nimport { getCommandId } from './get-command-id';\nimport { formatHelp } from './help';\nimport { GLOBAL_GROUP, STANDARD_GROUP, YargsAdapter } from './yargs-adapter';\nimport { CommandNotFound } from './exceptions/command-not-found';\nimport { OnCommandStartSlot } from './cli.main.runtime';\n\nexport class CLIParser {\n public parser = yargs;\n constructor(\n private commands: Command[],\n private groups: GroupsType,\n private onCommandStartSlot: OnCommandStartSlot\n ) {}\n\n async parse(args = process.argv.slice(2)) {\n this.throwForNonExistsCommand(args[0]);\n logger.debug(`[+] CLI-INPUT: ${args.join(' ')}`);\n logger.writeCommandHistoryStart();\n yargs(args);\n yargs.help(false);\n this.configureParser();\n this.commands.forEach((command: Command) => {\n if (command.commands && command.commands.length) {\n this.parseCommandWithSubCommands(command);\n } else {\n const yargsCommand = this.getYargsCommand(command);\n yargs.command(yargsCommand);\n }\n });\n this.configureGlobalFlags();\n this.setHelpMiddleware();\n this.handleCommandFailure();\n this.configureCompletion();\n yargs.strict(); // don't allow non-exist flags and non-exist commands\n\n yargs\n // .recommendCommands() // don't use it, it brings the global help of yargs, we have a custom one\n .wrap(null);\n\n await yargs.parse();\n }\n\n private setHelpMiddleware() {\n yargs.middleware((argv) => {\n if (argv._.length === 0 && argv.help) {\n const shouldShowInternalCommands = Boolean(argv.internal);\n // this is the main help page\n this.printHelp(shouldShowInternalCommands);\n process.exit(0);\n }\n if (argv.help) {\n loader.off(); // stop the \"loading bit...\" before showing help if needed\n // this is a command help page\n yargs.showHelp(this.logCommandHelp.bind(this));\n if (!logger.isDaemon) process.exit(0);\n }\n }, true);\n }\n\n private handleCommandFailure() {\n yargs.fail((msg, err) => {\n loader.stop();\n if (err) {\n throw err;\n }\n yargs.showHelp(this.logCommandHelp.bind(this));\n const args = process.argv.slice(2);\n const isHelpFlagEntered = args.includes('--help') || args.includes('-h');\n const isMsgAboutMissingArgs = msg.startsWith('Not enough non-option arguments');\n // avoid showing the \"Not enough non-option arguments\" message when the user is trying to get the command help\n if (!isMsgAboutMissingArgs || !isHelpFlagEntered) {\n // eslint-disable-next-line no-console\n console.log(`\\n${chalk.yellow(msg)}`);\n }\n if (!logger.isDaemon) process.exit(1);\n });\n }\n\n private configureCompletion() {\n const commandsToShowComponentIdsForCompletion = [\n 'show',\n 'diff',\n 'tag',\n 'export',\n 'env',\n 'envs',\n 'compile',\n 'build',\n 'test',\n 'lint',\n 'log',\n 'dependents',\n 'dependencies',\n ];\n // @ts-ignore\n yargs.completion('completion', async function (current, argv, completionFilter, done) {\n if (!current.startsWith('-') && commandsToShowComponentIdsForCompletion.includes(argv._[1])) {\n const consumer = await loadConsumerIfExist();\n done(consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()));\n } else {\n completionFilter();\n }\n });\n }\n\n private printHelp(shouldShowInternalCommands = false) {\n const help = formatHelp(this.commands, this.groups, shouldShowInternalCommands);\n // eslint-disable-next-line no-console\n console.log(help);\n }\n\n private configureParser() {\n yargs.parserConfiguration({\n // 'strip-dashed': true, // we can't enable it, otherwise, the completion doesn't work\n 'strip-aliased': true,\n 'boolean-negation': false,\n 'populate--': true,\n });\n }\n\n private parseCommandWithSubCommands(command: Command) {\n const yarnCommand = this.getYargsCommand(command);\n const builderFunc = () => {\n command.commands?.forEach((cmd) => {\n const subCommand = this.getYargsCommand(cmd);\n yargs.command(subCommand);\n });\n // since the \"builder\" method is overridden, the global flags of the main command are gone, this fixes it.\n yargs.options(YargsAdapter.getGlobalOptions(command));\n return yargs;\n };\n yarnCommand.builder = builderFunc;\n yargs.command(yarnCommand);\n }\n\n private getYargsCommand(command: Command): YargsAdapter {\n const yarnCommand = new YargsAdapter(command, this.onCommandStartSlot);\n yarnCommand.builder = yarnCommand.builder.bind(yarnCommand);\n yarnCommand.handler = yarnCommand.handler.bind(yarnCommand);\n\n return yarnCommand;\n }\n\n private configureGlobalFlags() {\n yargs\n .option('help', {\n alias: 'h',\n describe: 'show help',\n group: GLOBAL_GROUP,\n })\n .option('version', {\n global: false,\n alias: 'v',\n describe: 'show version',\n group: GLOBAL_GROUP,\n });\n }\n\n private throwForNonExistsCommand(commandName: string) {\n if (!commandName || commandName.startsWith('-')) {\n return;\n }\n const commandsNames = this.commands.map((c) => getCommandId(c.name));\n const aliases = this.commands.map((c) => c.alias).filter((a) => a);\n const existingGlobalFlags = ['-V', '--version'];\n const validCommands = [...commandsNames, ...aliases, ...existingGlobalFlags];\n const commandExist = validCommands.includes(commandName);\n\n if (!commandExist) {\n didYouMean.returnFirstMatch = true;\n const suggestions = didYouMean(\n commandName,\n this.commands.filter((c) => !c.private).map((c) => getCommandId(c.name))\n );\n const suggestion = suggestions && Array.isArray(suggestions) ? suggestions[0] : suggestions;\n\n throw new CommandNotFound(commandName, suggestion as string);\n }\n }\n\n /**\n * manipulate the command help output. there is no API from Yarn to do any of this, so it needs to be done manually.\n * see https://github.com/yargs/yargs/issues/1956\n *\n * the original order of the output:\n * description\n * Options\n * Commands\n * Global\n * Positionals\n * Examples\n */\n private logCommandHelp(help: string) {\n const command = findCommandByArgv(this.commands);\n\n const replacer = (_, p1, p2) => `${p1}${chalk.green(p2)}`;\n const lines = help.split('\\n');\n const linesWithoutEmpty = compact(lines);\n const cmdLine = linesWithoutEmpty[0];\n const description: string[] = [];\n const options: string[] = [];\n const globalOptions: string[] = [];\n const subCommands: string[] = [];\n const args: string[] = [];\n const examples: string[] = [];\n\n let optionsStarted = false;\n let globalStarted = false;\n let subCommandsStarted = false;\n let positionalsStarted = false;\n let examplesStarted = false;\n for (let i = 1; i < linesWithoutEmpty.length; i += 1) {\n const currentLine = linesWithoutEmpty[i];\n if (currentLine === STANDARD_GROUP) {\n optionsStarted = true;\n } else if (currentLine === GLOBAL_GROUP) {\n globalStarted = true;\n } else if (currentLine === 'Commands:') {\n subCommandsStarted = true;\n } else if (currentLine === 'Positionals:') {\n positionalsStarted = true;\n } else if (currentLine === 'Examples:') {\n examplesStarted = true;\n } else if (examplesStarted) {\n examples.push(currentLine);\n } else if (positionalsStarted) {\n args.push(currentLine);\n } else if (globalStarted) {\n globalOptions.push(currentLine);\n } else if (optionsStarted) {\n options.push(currentLine);\n } else if (subCommandsStarted) {\n subCommands.push(currentLine);\n } else {\n description.push(currentLine);\n }\n }\n\n // show the flags in green\n const optionsColored = options.map((opt) => opt.replace(/(--)([\\w-]+)/, replacer).replace(/(-)([\\w-]+)/, replacer));\n const argsColored = args.map((arg) => arg.replace(/^ {2}\\S+/, (argName) => chalk.green(argName))); // regex: two spaces then the first word until a white space\n const optionsStr = options.length ? `\\n${STANDARD_GROUP}\\n${optionsColored.join('\\n')}\\n` : '';\n const argumentsStr = args.length ? `\\nArguments:\\n${argsColored.join('\\n')}\\n` : '';\n const examplesStr = examples.length ? `\\nExamples:\\n${examples.join('\\n')}\\n` : '';\n const subCommandsStr = subCommands.length ? `\\n${'Commands:'}\\n${subCommands.join('\\n')}\\n` : '';\n // show the description in bold\n const descriptionColored = description.map((desc) => chalk.bold(desc));\n if (command?.extendedDescription) {\n descriptionColored.push(command?.extendedDescription);\n }\n if (command?.helpUrl) {\n descriptionColored.push(`for more info, visit: ${chalk.underline(command.helpUrl)}`);\n }\n const descriptionStr = descriptionColored.join('\\n');\n const globalOptionsStr = globalOptions.join('\\n');\n\n const finalOutput = `${cmdLine}\n\n${descriptionStr}\n${argumentsStr}${subCommandsStr}${optionsStr}${examplesStr}\n${GLOBAL_GROUP}\n${globalOptionsStr}`;\n\n // eslint-disable-next-line no-console\n console.log(finalOutput);\n }\n}\n\nexport function findCommandByArgv(commands: Command[]): Command | undefined {\n const args = process.argv.slice(2);\n const enteredCommand = args[0];\n const enteredSubCommand = args[1];\n if (!enteredCommand) {\n return undefined;\n }\n const isCommandMatch = (cmd: Command, str: string) => {\n return (\n cmd.name.startsWith(`${str} `) || // e.g. \"tag <id>\".startsWith(\"tag \")\n cmd.name === str || // e.g. \"globals\" === \"globals\"\n cmd.alias === str\n ); // e.g. \"t\" === \"t\"\n };\n const command = commands.find((cmd) => isCommandMatch(cmd, enteredCommand));\n if (!command) {\n return undefined;\n }\n if (!command.commands || !enteredSubCommand) {\n return command; // no sub-commands.\n }\n const subCommand = command.commands.find((cmd) => isCommandMatch(cmd, enteredSubCommand));\n return subCommand || command;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,UAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,SAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,QAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,OAAA;EAAA,MAAAR,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAM,MAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,cAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,aAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,MAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,KAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,cAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,aAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,iBAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,gBAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiE,SAAAC,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAH,CAAA,GAAAG,CAAA,CAAAG,IAAA,CAAAP,CAAA,EAAAG,CAAA,uCAAAF,CAAA,SAAAA,CAAA,YAAAO,SAAA,yEAAAL,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAV,CAAA;AAG1D,MAAMW,SAAS,CAAC;EAErBC,WAAWA,CACDC,QAAmB,EACnBC,MAAkB,EAClBC,kBAAsC,EAC9C;IAAA,KAHQF,QAAmB,GAAnBA,QAAmB;IAAA,KACnBC,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,kBAAsC,GAAtCA,kBAAsC;IAAAxB,eAAA,iBAJhCyB,gBAAK;EAKlB;EAEH,MAAMC,KAAKA,CAACC,IAAI,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;IACxC,IAAI,CAACC,wBAAwB,CAACJ,IAAI,CAAC,CAAC,CAAC,CAAC;IACtCK,iBAAM,CAACC,KAAK,CAAE,kBAAiBN,IAAI,CAACO,IAAI,CAAC,GAAG,CAAE,EAAC,CAAC;IAChDF,iBAAM,CAACG,wBAAwB,CAAC,CAAC;IACjC,IAAAV,gBAAK,EAACE,IAAI,CAAC;IACXF,gBAAK,CAACW,IAAI,CAAC,KAAK,CAAC;IACjB,IAAI,CAACC,eAAe,CAAC,CAAC;IACtB,IAAI,CAACf,QAAQ,CAACgB,OAAO,CAAEC,OAAgB,IAAK;MAC1C,IAAIA,OAAO,CAACjB,QAAQ,IAAIiB,OAAO,CAACjB,QAAQ,CAACkB,MAAM,EAAE;QAC/C,IAAI,CAACC,2BAA2B,CAACF,OAAO,CAAC;MAC3C,CAAC,MAAM;QACL,MAAMG,YAAY,GAAG,IAAI,CAACC,eAAe,CAACJ,OAAO,CAAC;QAClDd,gBAAK,CAACc,OAAO,CAACG,YAAY,CAAC;MAC7B;IACF,CAAC,CAAC;IACF,IAAI,CAACE,oBAAoB,CAAC,CAAC;IAC3B,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC3B,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAC1BtB,gBAAK,CAACuB,MAAM,CAAC,CAAC,CAAC,CAAC;;IAEhBvB;IACE;IAAA,CACCwB,IAAI,CAAC,IAAI,CAAC;IAEb,MAAMxB,gBAAK,CAACC,KAAK,CAAC,CAAC;EACrB;EAEQmB,iBAAiBA,CAAA,EAAG;IAC1BpB,gBAAK,CAACyB,UAAU,CAAErB,IAAI,IAAK;MACzB,IAAIA,IAAI,CAACsB,CAAC,CAACX,MAAM,KAAK,CAAC,IAAIX,IAAI,CAACO,IAAI,EAAE;QACpC,MAAMgB,0BAA0B,GAAGC,OAAO,CAACxB,IAAI,CAACyB,QAAQ,CAAC;QACzD;QACA,IAAI,CAACC,SAAS,CAACH,0BAA0B,CAAC;QAC1CxB,OAAO,CAAC4B,IAAI,CAAC,CAAC,CAAC;MACjB;MACA,IAAI3B,IAAI,CAACO,IAAI,EAAE;QACbqB,iBAAM,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd;QACAjC,gBAAK,CAACkC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC7B,iBAAM,CAAC8B,QAAQ,EAAElC,OAAO,CAAC4B,IAAI,CAAC,CAAC,CAAC;MACvC;IACF,CAAC,EAAE,IAAI,CAAC;EACV;EAEQV,oBAAoBA,CAAA,EAAG;IAC7BrB,gBAAK,CAACsC,IAAI,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;MACvBR,iBAAM,CAACS,IAAI,CAAC,CAAC;MACb,IAAID,GAAG,EAAE;QACP,MAAMA,GAAG;MACX;MACAxC,gBAAK,CAACkC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;MAC9C,MAAMlC,IAAI,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;MAClC,MAAMqC,iBAAiB,GAAGxC,IAAI,CAACyC,QAAQ,CAAC,QAAQ,CAAC,IAAIzC,IAAI,CAACyC,QAAQ,CAAC,IAAI,CAAC;MACxE,MAAMC,qBAAqB,GAAGL,GAAG,CAACM,UAAU,CAAC,iCAAiC,CAAC;MAC/E;MACA,IAAI,CAACD,qBAAqB,IAAI,CAACF,iBAAiB,EAAE;QAChD;QACAI,OAAO,CAACC,GAAG,CAAE,KAAIC,gBAAK,CAACC,MAAM,CAACV,GAAG,CAAE,EAAC,CAAC;MACvC;MACA,IAAI,CAAChC,iBAAM,CAAC8B,QAAQ,EAAElC,OAAO,CAAC4B,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC;EACJ;EAEQT,mBAAmBA,CAAA,EAAG;IAC5B,MAAM4B,uCAAuC,GAAG,CAC9C,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,YAAY,EACZ,cAAc,CACf;IACD;IACAlD,gBAAK,CAACmD,UAAU,CAAC,YAAY,EAAE,gBAAgBC,OAAO,EAAEhD,IAAI,EAAEiD,gBAAgB,EAAEC,IAAI,EAAE;MACpF,IAAI,CAACF,OAAO,CAACP,UAAU,CAAC,GAAG,CAAC,IAAIK,uCAAuC,CAACP,QAAQ,CAACvC,IAAI,CAACsB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3F,MAAM6B,QAAQ,GAAG,MAAM,IAAAC,+BAAmB,EAAC,CAAC;QAC5CF,IAAI,CAACC,QAAQ,EAAEE,wBAAwB,CAACC,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,sBAAsB,CAAC,CAAC,CAAC,CAAC;MACnF,CAAC,MAAM;QACLP,gBAAgB,CAAC,CAAC;MACpB;IACF,CAAC,CAAC;EACJ;EAEQvB,SAASA,CAACH,0BAA0B,GAAG,KAAK,EAAE;IACpD,MAAMhB,IAAI,GAAG,IAAAkD,kBAAU,EAAC,IAAI,CAAChE,QAAQ,EAAE,IAAI,CAACC,MAAM,EAAE6B,0BAA0B,CAAC;IAC/E;IACAmB,OAAO,CAACC,GAAG,CAACpC,IAAI,CAAC;EACnB;EAEQC,eAAeA,CAAA,EAAG;IACxBZ,gBAAK,CAAC8D,mBAAmB,CAAC;MACxB;MACA,eAAe,EAAE,IAAI;MACrB,kBAAkB,EAAE,KAAK;MACzB,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ;EAEQ9C,2BAA2BA,CAACF,OAAgB,EAAE;IACpD,MAAMiD,WAAW,GAAG,IAAI,CAAC7C,eAAe,CAACJ,OAAO,CAAC;IACjD,MAAMkD,WAAW,GAAGA,CAAA,KAAM;MACxBlD,OAAO,CAACjB,QAAQ,EAAEgB,OAAO,CAAEoD,GAAG,IAAK;QACjC,MAAMC,UAAU,GAAG,IAAI,CAAChD,eAAe,CAAC+C,GAAG,CAAC;QAC5CjE,gBAAK,CAACc,OAAO,CAACoD,UAAU,CAAC;MAC3B,CAAC,CAAC;MACF;MACAlE,gBAAK,CAACmE,OAAO,CAACC,4BAAY,CAACC,gBAAgB,CAACvD,OAAO,CAAC,CAAC;MACrD,OAAOd,gBAAK;IACd,CAAC;IACD+D,WAAW,CAACO,OAAO,GAAGN,WAAW;IACjChE,gBAAK,CAACc,OAAO,CAACiD,WAAW,CAAC;EAC5B;EAEQ7C,eAAeA,CAACJ,OAAgB,EAAgB;IACtD,MAAMiD,WAAW,GAAG,KAAIK,4BAAY,EAACtD,OAAO,EAAE,IAAI,CAACf,kBAAkB,CAAC;IACtEgE,WAAW,CAACO,OAAO,GAAGP,WAAW,CAACO,OAAO,CAAClC,IAAI,CAAC2B,WAAW,CAAC;IAC3DA,WAAW,CAACQ,OAAO,GAAGR,WAAW,CAACQ,OAAO,CAACnC,IAAI,CAAC2B,WAAW,CAAC;IAE3D,OAAOA,WAAW;EACpB;EAEQ5C,oBAAoBA,CAAA,EAAG;IAC7BnB,gBAAK,CACFwE,MAAM,CAAC,MAAM,EAAE;MACdC,KAAK,EAAE,GAAG;MACVC,QAAQ,EAAE,WAAW;MACrBC,KAAK,EAAEC;IACT,CAAC,CAAC,CACDJ,MAAM,CAAC,SAAS,EAAE;MACjBK,MAAM,EAAE,KAAK;MACbJ,KAAK,EAAE,GAAG;MACVC,QAAQ,EAAE,cAAc;MACxBC,KAAK,EAAEC;IACT,CAAC,CAAC;EACN;EAEQtE,wBAAwBA,CAACwE,WAAmB,EAAE;IACpD,IAAI,CAACA,WAAW,IAAIA,WAAW,CAACjC,UAAU,CAAC,GAAG,CAAC,EAAE;MAC/C;IACF;IACA,MAAMkC,aAAa,GAAG,IAAI,CAAClF,QAAQ,CAAC6D,GAAG,CAAEsB,CAAC,IAAK,IAAAC,4BAAY,EAACD,CAAC,CAACE,IAAI,CAAC,CAAC;IACpE,MAAMC,OAAO,GAAG,IAAI,CAACtF,QAAQ,CAAC6D,GAAG,CAAEsB,CAAC,IAAKA,CAAC,CAACP,KAAK,CAAC,CAACW,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAAC;IAClE,MAAMC,mBAAmB,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC;IAC/C,MAAMC,aAAa,GAAG,CAAC,GAAGR,aAAa,EAAE,GAAGI,OAAO,EAAE,GAAGG,mBAAmB,CAAC;IAC5E,MAAME,YAAY,GAAGD,aAAa,CAAC5C,QAAQ,CAACmC,WAAW,CAAC;IAExD,IAAI,CAACU,YAAY,EAAE;MACjBC,qBAAU,CAACC,gBAAgB,GAAG,IAAI;MAClC,MAAMC,WAAW,GAAG,IAAAF,qBAAU,EAC5BX,WAAW,EACX,IAAI,CAACjF,QAAQ,CAACuF,MAAM,CAAEJ,CAAC,IAAK,CAACA,CAAC,CAACY,OAAO,CAAC,CAAClC,GAAG,CAAEsB,CAAC,IAAK,IAAAC,4BAAY,EAACD,CAAC,CAACE,IAAI,CAAC,CACzE,CAAC;MACD,MAAMW,UAAU,GAAGF,WAAW,IAAIG,KAAK,CAACC,OAAO,CAACJ,WAAW,CAAC,GAAGA,WAAW,CAAC,CAAC,CAAC,GAAGA,WAAW;MAE3F,MAAM,KAAIK,kCAAe,EAAClB,WAAW,EAAEe,UAAoB,CAAC;IAC9D;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACU1D,cAAcA,CAACxB,IAAY,EAAE;IACnC,MAAMG,OAAO,GAAGmF,iBAAiB,CAAC,IAAI,CAACpG,QAAQ,CAAC;IAEhD,MAAMqG,QAAQ,GAAGA,CAACxE,CAAC,EAAEyE,EAAE,EAAEC,EAAE,KAAM,GAAED,EAAG,GAAEnD,gBAAK,CAACqD,KAAK,CAACD,EAAE,CAAE,EAAC;IACzD,MAAME,KAAK,GAAG3F,IAAI,CAAC4F,KAAK,CAAC,IAAI,CAAC;IAC9B,MAAMC,iBAAiB,GAAG,IAAAC,iBAAO,EAACH,KAAK,CAAC;IACxC,MAAMI,OAAO,GAAGF,iBAAiB,CAAC,CAAC,CAAC;IACpC,MAAMG,WAAqB,GAAG,EAAE;IAChC,MAAMxC,OAAiB,GAAG,EAAE;IAC5B,MAAMyC,aAAuB,GAAG,EAAE;IAClC,MAAMC,WAAqB,GAAG,EAAE;IAChC,MAAM3G,IAAc,GAAG,EAAE;IACzB,MAAM4G,QAAkB,GAAG,EAAE;IAE7B,IAAIC,cAAc,GAAG,KAAK;IAC1B,IAAIC,aAAa,GAAG,KAAK;IACzB,IAAIC,kBAAkB,GAAG,KAAK;IAC9B,IAAIC,kBAAkB,GAAG,KAAK;IAC9B,IAAIC,eAAe,GAAG,KAAK;IAC3B,KAAK,IAAIlI,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuH,iBAAiB,CAACzF,MAAM,EAAE9B,CAAC,IAAI,CAAC,EAAE;MACpD,MAAMmI,WAAW,GAAGZ,iBAAiB,CAACvH,CAAC,CAAC;MACxC,IAAImI,WAAW,KAAKC,8BAAc,EAAE;QAClCN,cAAc,GAAG,IAAI;MACvB,CAAC,MAAM,IAAIK,WAAW,KAAKxC,4BAAY,EAAE;QACvCoC,aAAa,GAAG,IAAI;MACtB,CAAC,MAAM,IAAII,WAAW,KAAK,WAAW,EAAE;QACtCH,kBAAkB,GAAG,IAAI;MAC3B,CAAC,MAAM,IAAIG,WAAW,KAAK,cAAc,EAAE;QACzCF,kBAAkB,GAAG,IAAI;MAC3B,CAAC,MAAM,IAAIE,WAAW,KAAK,WAAW,EAAE;QACtCD,eAAe,GAAG,IAAI;MACxB,CAAC,MAAM,IAAIA,eAAe,EAAE;QAC1BL,QAAQ,CAACQ,IAAI,CAACF,WAAW,CAAC;MAC5B,CAAC,MAAM,IAAIF,kBAAkB,EAAE;QAC7BhH,IAAI,CAACoH,IAAI,CAACF,WAAW,CAAC;MACxB,CAAC,MAAM,IAAIJ,aAAa,EAAE;QACxBJ,aAAa,CAACU,IAAI,CAACF,WAAW,CAAC;MACjC,CAAC,MAAM,IAAIL,cAAc,EAAE;QACzB5C,OAAO,CAACmD,IAAI,CAACF,WAAW,CAAC;MAC3B,CAAC,MAAM,IAAIH,kBAAkB,EAAE;QAC7BJ,WAAW,CAACS,IAAI,CAACF,WAAW,CAAC;MAC/B,CAAC,MAAM;QACLT,WAAW,CAACW,IAAI,CAACF,WAAW,CAAC;MAC/B;IACF;;IAEA;IACA,MAAMG,cAAc,GAAGpD,OAAO,CAACT,GAAG,CAAE8D,GAAG,IAAKA,GAAG,CAACC,OAAO,CAAC,cAAc,EAAEvB,QAAQ,CAAC,CAACuB,OAAO,CAAC,aAAa,EAAEvB,QAAQ,CAAC,CAAC;IACnH,MAAMwB,WAAW,GAAGxH,IAAI,CAACwD,GAAG,CAAEiE,GAAG,IAAKA,GAAG,CAACF,OAAO,CAAC,UAAU,EAAGG,OAAO,IAAK5E,gBAAK,CAACqD,KAAK,CAACuB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,MAAMC,UAAU,GAAG1D,OAAO,CAACpD,MAAM,GAAI,KAAIsG,8BAAe,KAAIE,cAAc,CAAC9G,IAAI,CAAC,IAAI,CAAE,IAAG,GAAG,EAAE;IAC9F,MAAMqH,YAAY,GAAG5H,IAAI,CAACa,MAAM,GAAI,iBAAgB2G,WAAW,CAACjH,IAAI,CAAC,IAAI,CAAE,IAAG,GAAG,EAAE;IACnF,MAAMsH,WAAW,GAAGjB,QAAQ,CAAC/F,MAAM,GAAI,gBAAe+F,QAAQ,CAACrG,IAAI,CAAC,IAAI,CAAE,IAAG,GAAG,EAAE;IAClF,MAAMuH,cAAc,GAAGnB,WAAW,CAAC9F,MAAM,GAAI,KAAI,WAAY,KAAI8F,WAAW,CAACpG,IAAI,CAAC,IAAI,CAAE,IAAG,GAAG,EAAE;IAChG;IACA,MAAMwH,kBAAkB,GAAGtB,WAAW,CAACjD,GAAG,CAAEwE,IAAI,IAAKlF,gBAAK,CAACmF,IAAI,CAACD,IAAI,CAAC,CAAC;IACtE,IAAIpH,OAAO,EAAEsH,mBAAmB,EAAE;MAChCH,kBAAkB,CAACX,IAAI,CAACxG,OAAO,EAAEsH,mBAAmB,CAAC;IACvD;IACA,IAAItH,OAAO,EAAEuH,OAAO,EAAE;MACpBJ,kBAAkB,CAACX,IAAI,CAAE,yBAAwBtE,gBAAK,CAACsF,SAAS,CAACxH,OAAO,CAACuH,OAAO,CAAE,EAAC,CAAC;IACtF;IACA,MAAME,cAAc,GAAGN,kBAAkB,CAACxH,IAAI,CAAC,IAAI,CAAC;IACpD,MAAM+H,gBAAgB,GAAG5B,aAAa,CAACnG,IAAI,CAAC,IAAI,CAAC;IAEjD,MAAMgI,WAAW,GAAI,GAAE/B,OAAQ;AACnC;AACA,EAAE6B,cAAe;AACjB,EAAET,YAAa,GAAEE,cAAe,GAAEH,UAAW,GAAEE,WAAY;AAC3D,EAAEnD,4BAAa;AACf,EAAE4D,gBAAiB,EAAC;;IAEhB;IACA1F,OAAO,CAACC,GAAG,CAAC0F,WAAW,CAAC;EAC1B;AACF;AAACC,OAAA,CAAA/I,SAAA,GAAAA,SAAA;AAEM,SAASsG,iBAAiBA,CAACpG,QAAmB,EAAuB;EAC1E,MAAMK,IAAI,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;EAClC,MAAMsI,cAAc,GAAGzI,IAAI,CAAC,CAAC,CAAC;EAC9B,MAAM0I,iBAAiB,GAAG1I,IAAI,CAAC,CAAC,CAAC;EACjC,IAAI,CAACyI,cAAc,EAAE;IACnB,OAAOE,SAAS;EAClB;EACA,MAAMC,cAAc,GAAGA,CAAC7E,GAAY,EAAE8E,GAAW,KAAK;IACpD,OACE9E,GAAG,CAACiB,IAAI,CAACrC,UAAU,CAAE,GAAEkG,GAAI,GAAE,CAAC;IAAI;IAClC9E,GAAG,CAACiB,IAAI,KAAK6D,GAAG;IAAI;IACpB9E,GAAG,CAACQ,KAAK,KAAKsE,GAAG,CACjB,CAAC;EACL,CAAC;EACD,MAAMjI,OAAO,GAAGjB,QAAQ,CAACmJ,IAAI,CAAE/E,GAAG,IAAK6E,cAAc,CAAC7E,GAAG,EAAE0E,cAAc,CAAC,CAAC;EAC3E,IAAI,CAAC7H,OAAO,EAAE;IACZ,OAAO+H,SAAS;EAClB;EACA,IAAI,CAAC/H,OAAO,CAACjB,QAAQ,IAAI,CAAC+I,iBAAiB,EAAE;IAC3C,OAAO9H,OAAO,CAAC,CAAC;EAClB;EACA,MAAMoD,UAAU,GAAGpD,OAAO,CAACjB,QAAQ,CAACmJ,IAAI,CAAE/E,GAAG,IAAK6E,cAAc,CAAC7E,GAAG,EAAE2E,iBAAiB,CAAC,CAAC;EACzF,OAAO1E,UAAU,IAAIpD,OAAO;AAC9B","ignoreList":[]}
@@ -3,7 +3,7 @@ import { CLIArgs, Flags, Command } from '@teambit/legacy/dist/cli/command';
3
3
  import { GroupsType } from '@teambit/legacy/dist/cli/command-groups';
4
4
  import { Logger, LoggerMain } from '@teambit/logger';
5
5
  export type CommandList = Array<Command>;
6
- export type OnStart = (hasWorkspace: boolean, currentCommand: string) => Promise<void>;
6
+ export type OnStart = (hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => Promise<void>;
7
7
  export type OnCommandStart = (commandName: string, args: CLIArgs, flags: Flags) => Promise<void>;
8
8
  export type OnBeforeExitFn = () => Promise<void>;
9
9
  export type OnStartSlot = SlotRegistry<OnStart>;
@@ -232,8 +232,9 @@ class CLIMain {
232
232
  }
233
233
  async invokeOnStart(hasWorkspace) {
234
234
  const onStartFns = this.onStartSlot.values();
235
- const currentCommand = process.argv[2];
236
- await (0, _pMapSeries().default)(onStartFns, onStart => onStart(hasWorkspace, currentCommand));
235
+ const foundCmd = (0, _cliParser().findCommandByArgv)(this.commands);
236
+ const currentCommandName = process.argv[2];
237
+ await (0, _pMapSeries().default)(onStartFns, onStart => onStart(hasWorkspace, currentCommandName, foundCmd));
237
238
  }
238
239
  setDefaults(command) {
239
240
  command.alias = command.alias || '';
@@ -247,6 +248,9 @@ class CLIMain {
247
248
  if (command.loader === undefined) {
248
249
  command.loader = true;
249
250
  }
251
+ if (command.loadAspects === undefined) {
252
+ command.loadAspects = true;
253
+ }
250
254
  if (command.helpUrl && !isFullUrl(command.helpUrl)) {
251
255
  command.helpUrl = `https://bit.dev/${command.helpUrl}`;
252
256
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_harmony","data","require","_cli","_logger","_interopRequireDefault","_pMapSeries","_commandGroups","_consumer","_logger2","_lodash","_cli2","_getCommandId","_legacyCommandAdapter","_cliParser","_completion","_cli3","_help","_version","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","CLIMain","constructor","commandsSlot","onStartSlot","onCommandStartSlot","onBeforeExitSlot","logger","clone","groups","register","commands","forEach","command","setDefaults","cmd","unregister","commandName","toArray","aspectId","filteredCommands","filter","getCommandId","name","map","set","values","flat","getCommand","find","registerGroup","description","consoleWarning","registerOnStart","onStartFn","registerOnCommandStart","onCommandStartFn","registerOnBeforeExit","onBeforeExitFn","legacyLogger","registerOnBeforeExitFn","run","hasWorkspace","invokeOnStart","CliParser","CLIParser","parse","onStartFns","currentCommand","process","argv","pMapSeries","onStart","alias","extendedDescription","group","options","private","trim","loader","undefined","helpUrl","isFullUrl","provider","loggerMain","config","createLogger","CLIAspect","id","cliMain","legacyRegistry","buildRegistry","ensureWorkspaceAndScope","legacyCommands","legacyCommandsAdapters","LegacyCommandAdapter","cliGenerateCmd","CliGenerateCmd","cliCmd","CliCmd","helpCmd","HelpCmd","push","CompletionCmd","VersionCmd","exports","LoggerAspect","MainRuntime","Slot","withType","addRuntime","loadConsumerIfExist","err","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport { buildRegistry } from '@teambit/legacy/dist/cli';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Flags, Command } from '@teambit/legacy/dist/cli/command';\nimport pMapSeries from 'p-map-series';\nimport { groups, GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { clone } from 'lodash';\nimport { CLIAspect, MainRuntime } from './cli.aspect';\nimport { getCommandId } from './get-command-id';\nimport { LegacyCommandAdapter } from './legacy-command-adapter';\nimport { CLIParser } from './cli-parser';\nimport { CompletionCmd } from './completion.cmd';\nimport { CliCmd, CliGenerateCmd } from './cli.cmd';\nimport { HelpCmd } from './help.cmd';\nimport { VersionCmd } from './version.cmd';\n\nexport type CommandList = Array<Command>;\nexport type OnStart = (hasWorkspace: boolean, currentCommand: string) => Promise<void>;\nexport type OnCommandStart = (commandName: string, args: CLIArgs, flags: Flags) => Promise<void>;\nexport type OnBeforeExitFn = () => Promise<void>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\nexport type OnCommandStartSlot = SlotRegistry<OnCommandStart>;\nexport type CommandsSlot = SlotRegistry<CommandList>;\nexport type OnBeforeExitSlot = SlotRegistry<OnBeforeExitFn>;\n\nexport class CLIMain {\n public groups: GroupsType = clone(groups); // if it's not cloned, it is cached across loadBit() instances\n constructor(\n private commandsSlot: CommandsSlot,\n private onStartSlot: OnStartSlot,\n readonly onCommandStartSlot: OnCommandStartSlot,\n private onBeforeExitSlot: OnBeforeExitSlot,\n private logger: Logger\n ) {}\n\n /**\n * registers a new command in to the CLI.\n */\n register(...commands: CommandList) {\n commands.forEach((command) => {\n this.setDefaults(command);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n command.commands!.forEach((cmd) => this.setDefaults(cmd));\n });\n this.commandsSlot.register(commands);\n }\n\n /**\n * helpful for having the same command name in different environments (e.g. legacy and non-legacy).\n * for example `cli.unregister('tag');` removes the \"bit tag\" command.\n */\n unregister(commandName: string) {\n this.commandsSlot.toArray().forEach(([aspectId, commands]) => {\n const filteredCommands = commands.filter((command) => {\n return getCommandId(command.name) !== commandName;\n });\n this.commandsSlot.map.set(aspectId, filteredCommands);\n });\n }\n\n /**\n * list of all registered commands. (legacy and new).\n */\n get commands(): CommandList {\n return this.commandsSlot.values().flat();\n }\n\n /**\n * get an instance of a registered command. (useful for aspects to modify and extend existing commands)\n */\n getCommand(name: string): Command | undefined {\n return this.commands.find((command) => getCommandId(command.name) === name);\n }\n\n /**\n * when running `bit help`, commands are grouped by categories.\n * this method helps registering a new group by providing its name and a description.\n * the name is what needs to be assigned to the `group` property of the Command interface.\n * the description is what shown in the `bit help` output.\n */\n registerGroup(name: string, description: string) {\n if (this.groups[name]) {\n this.logger.consoleWarning(`CLI group \"${name}\" is already registered`);\n } else {\n this.groups[name] = description;\n }\n }\n\n /**\n * onStart is when bootstrapping the CLI. (it happens before onCommandStart)\n */\n registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\n return this;\n }\n\n /**\n * onCommandStart is when a command is about to start and we have the command object and the parsed args and flags\n * already. (it happens after onStart)\n */\n registerOnCommandStart(onCommandStartFn: OnCommandStart) {\n this.onCommandStartSlot.register(onCommandStartFn);\n return this;\n }\n\n /**\n * This will register a function to be called before the process exits.\n * This will run only for \"regular\" exits\n * e.g.\n * yes - command run and finished successfully\n * yes - command run and failed gracefully (code 1)\n * not SIGKILL (kill -9)\n * not SIGINT (Ctrl+C)\n * not SIGTERM (kill)\n * not uncaughtException\n * not unhandledRejection\n *\n * @param onBeforeExitFn\n * @returns\n */\n registerOnBeforeExit(onBeforeExitFn: OnBeforeExitFn) {\n this.onBeforeExitSlot.register(onBeforeExitFn);\n legacyLogger.registerOnBeforeExitFn(onBeforeExitFn);\n return this;\n }\n\n /**\n * execute commands registered to this aspect.\n */\n async run(hasWorkspace: boolean) {\n await this.invokeOnStart(hasWorkspace);\n const CliParser = new CLIParser(this.commands, this.groups, this.onCommandStartSlot);\n await CliParser.parse();\n }\n\n private async invokeOnStart(hasWorkspace: boolean) {\n const onStartFns = this.onStartSlot.values();\n const currentCommand = process.argv[2];\n await pMapSeries(onStartFns, (onStart) => onStart(hasWorkspace, currentCommand));\n }\n\n private setDefaults(command: Command) {\n command.alias = command.alias || '';\n command.description = command.description || '';\n command.extendedDescription = command.extendedDescription || '';\n command.group = command.group || 'ungrouped';\n command.options = command.options || [];\n command.private = command.private || false;\n command.commands = command.commands || [];\n command.name = command.name.trim();\n if (command.loader === undefined) {\n command.loader = true;\n }\n if (command.helpUrl && !isFullUrl(command.helpUrl)) {\n command.helpUrl = `https://bit.dev/${command.helpUrl}`;\n }\n }\n\n static dependencies = [LoggerAspect];\n static runtime = MainRuntime;\n static slots = [\n Slot.withType<CommandList>(),\n Slot.withType<OnStart>(),\n Slot.withType<OnCommandStart>(),\n Slot.withType<OnBeforeExitFn>(),\n ];\n\n static async provider(\n [loggerMain]: [LoggerMain],\n config,\n [commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot]: [\n CommandsSlot,\n OnStartSlot,\n OnCommandStartSlot,\n OnBeforeExitSlot\n ]\n ) {\n const logger = loggerMain.createLogger(CLIAspect.id);\n const cliMain = new CLIMain(commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot, logger);\n const legacyRegistry = buildRegistry();\n await ensureWorkspaceAndScope();\n const legacyCommands = legacyRegistry.commands;\n const legacyCommandsAdapters = legacyCommands.map((command) => new LegacyCommandAdapter(command, cliMain));\n const cliGenerateCmd = new CliGenerateCmd(cliMain);\n const cliCmd = new CliCmd(cliMain);\n const helpCmd = new HelpCmd(cliMain);\n cliCmd.commands.push(cliGenerateCmd);\n cliMain.register(...legacyCommandsAdapters, new CompletionCmd(), cliCmd, helpCmd, new VersionCmd());\n return cliMain;\n }\n}\n\nCLIAspect.addRuntime(CLIMain);\n\n/**\n * kind of a hack.\n * in the legacy, this is running at the beginning and it take care of issues when Bit files are missing,\n * such as \".bit\".\n * (to make this process better, you can easily remove it and run the e2e-tests. you'll see some failing)\n */\nasync function ensureWorkspaceAndScope() {\n try {\n await loadConsumerIfExist();\n } catch (err) {\n // do nothing. it could fail for example with ScopeNotFound error, which is taken care of in \"bit init\".\n }\n}\n\nfunction isFullUrl(url: string) {\n return url.startsWith('http://') || url.startsWith('https://');\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_harmony","data","require","_cli","_logger","_interopRequireDefault","_pMapSeries","_commandGroups","_consumer","_logger2","_lodash","_cli2","_getCommandId","_legacyCommandAdapter","_cliParser","_completion","_cli3","_help","_version","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","CLIMain","constructor","commandsSlot","onStartSlot","onCommandStartSlot","onBeforeExitSlot","logger","clone","groups","register","commands","forEach","command","setDefaults","cmd","unregister","commandName","toArray","aspectId","filteredCommands","filter","getCommandId","name","map","set","values","flat","getCommand","find","registerGroup","description","consoleWarning","registerOnStart","onStartFn","registerOnCommandStart","onCommandStartFn","registerOnBeforeExit","onBeforeExitFn","legacyLogger","registerOnBeforeExitFn","run","hasWorkspace","invokeOnStart","CliParser","CLIParser","parse","onStartFns","foundCmd","findCommandByArgv","currentCommandName","process","argv","pMapSeries","onStart","alias","extendedDescription","group","options","private","trim","loader","undefined","loadAspects","helpUrl","isFullUrl","provider","loggerMain","config","createLogger","CLIAspect","id","cliMain","legacyRegistry","buildRegistry","ensureWorkspaceAndScope","legacyCommands","legacyCommandsAdapters","LegacyCommandAdapter","cliGenerateCmd","CliGenerateCmd","cliCmd","CliCmd","helpCmd","HelpCmd","push","CompletionCmd","VersionCmd","exports","LoggerAspect","MainRuntime","Slot","withType","addRuntime","loadConsumerIfExist","err","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport { buildRegistry } from '@teambit/legacy/dist/cli';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Flags, Command } from '@teambit/legacy/dist/cli/command';\nimport pMapSeries from 'p-map-series';\nimport { groups, GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { clone } from 'lodash';\nimport { CLIAspect, MainRuntime } from './cli.aspect';\nimport { getCommandId } from './get-command-id';\nimport { LegacyCommandAdapter } from './legacy-command-adapter';\nimport { CLIParser, findCommandByArgv } from './cli-parser';\nimport { CompletionCmd } from './completion.cmd';\nimport { CliCmd, CliGenerateCmd } from './cli.cmd';\nimport { HelpCmd } from './help.cmd';\nimport { VersionCmd } from './version.cmd';\n\nexport type CommandList = Array<Command>;\nexport type OnStart = (hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => Promise<void>;\nexport type OnCommandStart = (commandName: string, args: CLIArgs, flags: Flags) => Promise<void>;\nexport type OnBeforeExitFn = () => Promise<void>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\nexport type OnCommandStartSlot = SlotRegistry<OnCommandStart>;\nexport type CommandsSlot = SlotRegistry<CommandList>;\nexport type OnBeforeExitSlot = SlotRegistry<OnBeforeExitFn>;\n\nexport class CLIMain {\n public groups: GroupsType = clone(groups); // if it's not cloned, it is cached across loadBit() instances\n constructor(\n private commandsSlot: CommandsSlot,\n private onStartSlot: OnStartSlot,\n readonly onCommandStartSlot: OnCommandStartSlot,\n private onBeforeExitSlot: OnBeforeExitSlot,\n private logger: Logger\n ) {}\n\n /**\n * registers a new command in to the CLI.\n */\n register(...commands: CommandList) {\n commands.forEach((command) => {\n this.setDefaults(command);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n command.commands!.forEach((cmd) => this.setDefaults(cmd));\n });\n this.commandsSlot.register(commands);\n }\n\n /**\n * helpful for having the same command name in different environments (e.g. legacy and non-legacy).\n * for example `cli.unregister('tag');` removes the \"bit tag\" command.\n */\n unregister(commandName: string) {\n this.commandsSlot.toArray().forEach(([aspectId, commands]) => {\n const filteredCommands = commands.filter((command) => {\n return getCommandId(command.name) !== commandName;\n });\n this.commandsSlot.map.set(aspectId, filteredCommands);\n });\n }\n\n /**\n * list of all registered commands. (legacy and new).\n */\n get commands(): CommandList {\n return this.commandsSlot.values().flat();\n }\n\n /**\n * get an instance of a registered command. (useful for aspects to modify and extend existing commands)\n */\n getCommand(name: string): Command | undefined {\n return this.commands.find((command) => getCommandId(command.name) === name);\n }\n\n /**\n * when running `bit help`, commands are grouped by categories.\n * this method helps registering a new group by providing its name and a description.\n * the name is what needs to be assigned to the `group` property of the Command interface.\n * the description is what shown in the `bit help` output.\n */\n registerGroup(name: string, description: string) {\n if (this.groups[name]) {\n this.logger.consoleWarning(`CLI group \"${name}\" is already registered`);\n } else {\n this.groups[name] = description;\n }\n }\n\n /**\n * onStart is when bootstrapping the CLI. (it happens before onCommandStart)\n */\n registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\n return this;\n }\n\n /**\n * onCommandStart is when a command is about to start and we have the command object and the parsed args and flags\n * already. (it happens after onStart)\n */\n registerOnCommandStart(onCommandStartFn: OnCommandStart) {\n this.onCommandStartSlot.register(onCommandStartFn);\n return this;\n }\n\n /**\n * This will register a function to be called before the process exits.\n * This will run only for \"regular\" exits\n * e.g.\n * yes - command run and finished successfully\n * yes - command run and failed gracefully (code 1)\n * not SIGKILL (kill -9)\n * not SIGINT (Ctrl+C)\n * not SIGTERM (kill)\n * not uncaughtException\n * not unhandledRejection\n *\n * @param onBeforeExitFn\n * @returns\n */\n registerOnBeforeExit(onBeforeExitFn: OnBeforeExitFn) {\n this.onBeforeExitSlot.register(onBeforeExitFn);\n legacyLogger.registerOnBeforeExitFn(onBeforeExitFn);\n return this;\n }\n\n /**\n * execute commands registered to this aspect.\n */\n async run(hasWorkspace: boolean) {\n await this.invokeOnStart(hasWorkspace);\n const CliParser = new CLIParser(this.commands, this.groups, this.onCommandStartSlot);\n await CliParser.parse();\n }\n\n private async invokeOnStart(hasWorkspace: boolean) {\n const onStartFns = this.onStartSlot.values();\n const foundCmd = findCommandByArgv(this.commands);\n const currentCommandName = process.argv[2];\n await pMapSeries(onStartFns, (onStart) => onStart(hasWorkspace, currentCommandName, foundCmd));\n }\n\n private setDefaults(command: Command) {\n command.alias = command.alias || '';\n command.description = command.description || '';\n command.extendedDescription = command.extendedDescription || '';\n command.group = command.group || 'ungrouped';\n command.options = command.options || [];\n command.private = command.private || false;\n command.commands = command.commands || [];\n command.name = command.name.trim();\n if (command.loader === undefined) {\n command.loader = true;\n }\n if (command.loadAspects === undefined) {\n command.loadAspects = true;\n }\n if (command.helpUrl && !isFullUrl(command.helpUrl)) {\n command.helpUrl = `https://bit.dev/${command.helpUrl}`;\n }\n }\n\n static dependencies = [LoggerAspect];\n static runtime = MainRuntime;\n static slots = [\n Slot.withType<CommandList>(),\n Slot.withType<OnStart>(),\n Slot.withType<OnCommandStart>(),\n Slot.withType<OnBeforeExitFn>(),\n ];\n\n static async provider(\n [loggerMain]: [LoggerMain],\n config,\n [commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot]: [\n CommandsSlot,\n OnStartSlot,\n OnCommandStartSlot,\n OnBeforeExitSlot\n ]\n ) {\n const logger = loggerMain.createLogger(CLIAspect.id);\n const cliMain = new CLIMain(commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot, logger);\n const legacyRegistry = buildRegistry();\n await ensureWorkspaceAndScope();\n const legacyCommands = legacyRegistry.commands;\n const legacyCommandsAdapters = legacyCommands.map((command) => new LegacyCommandAdapter(command, cliMain));\n const cliGenerateCmd = new CliGenerateCmd(cliMain);\n const cliCmd = new CliCmd(cliMain);\n const helpCmd = new HelpCmd(cliMain);\n cliCmd.commands.push(cliGenerateCmd);\n cliMain.register(...legacyCommandsAdapters, new CompletionCmd(), cliCmd, helpCmd, new VersionCmd());\n return cliMain;\n }\n}\n\nCLIAspect.addRuntime(CLIMain);\n\n/**\n * kind of a hack.\n * in the legacy, this is running at the beginning and it take care of issues when Bit files are missing,\n * such as \".bit\".\n * (to make this process better, you can easily remove it and run the e2e-tests. you'll see some failing)\n */\nasync function ensureWorkspaceAndScope() {\n try {\n await loadConsumerIfExist();\n } catch (err) {\n // do nothing. it could fail for example with ScopeNotFound error, which is taken care of in \"bit init\".\n }\n}\n\nfunction isFullUrl(url: string) {\n return url.startsWith('http://') || url.startsWith('https://');\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ export declare class LegacyCommandAdapter implements Command {
14
14
  private?: boolean;
15
15
  skipWorkspace?: boolean;
16
16
  helpUrl?: string;
17
+ loadAspects?: boolean;
17
18
  _packageManagerArgs?: string[];
18
19
  constructor(cmd: LegacyCommand, cliExtension: CLIMain);
19
20
  private action;
@@ -21,6 +21,7 @@ class LegacyCommandAdapter {
21
21
  _defineProperty(this, "private", void 0);
22
22
  _defineProperty(this, "skipWorkspace", void 0);
23
23
  _defineProperty(this, "helpUrl", void 0);
24
+ _defineProperty(this, "loadAspects", void 0);
24
25
  _defineProperty(this, "_packageManagerArgs", void 0);
25
26
  this.name = cmd.name;
26
27
  this.description = cmd.description;
@@ -32,6 +33,7 @@ class LegacyCommandAdapter {
32
33
  this.group = cmd.group;
33
34
  this.loader = cmd.loader;
34
35
  this.private = cmd.private;
36
+ this.loadAspects = false;
35
37
  this.commands = (cmd.commands || []).map(sub => new LegacyCommandAdapter(sub, cliExtension));
36
38
  }
37
39
  async action(params, options) {
@@ -1 +1 @@
1
- {"version":3,"names":["LegacyCommandAdapter","constructor","cmd","cliExtension","_defineProperty","name","description","helpUrl","options","opts","alias","extendedDescription","skipWorkspace","group","loader","private","commands","map","sub","action","params","res","_packageManagerArgs","data","code","__code","undefined","report","actionResult","json","JSON","parse","exports"],"sources":["legacy-command-adapter.ts"],"sourcesContent":["import { CommandOptions, LegacyCommand } from '@teambit/legacy/dist/cli/legacy-command';\nimport type { Command, GenericObject } from '@teambit/legacy/dist/cli/command';\nimport { CLIMain } from './cli.main.runtime';\n\nexport class LegacyCommandAdapter implements Command {\n alias: string;\n name: string;\n description: string;\n options: CommandOptions;\n extendedDescription?: string;\n group?: string;\n loader?: boolean;\n commands: Command[];\n private?: boolean;\n skipWorkspace?: boolean;\n helpUrl?: string;\n _packageManagerArgs?: string[];\n constructor(private cmd: LegacyCommand, cliExtension: CLIMain) {\n this.name = cmd.name;\n this.description = cmd.description;\n this.helpUrl = cmd.helpUrl;\n this.options = cmd.opts || [];\n this.alias = cmd.alias;\n this.extendedDescription = cmd.extendedDescription;\n this.skipWorkspace = cmd.skipWorkspace;\n this.group = cmd.group;\n this.loader = cmd.loader;\n this.private = cmd.private;\n this.commands = (cmd.commands || []).map((sub) => new LegacyCommandAdapter(sub, cliExtension));\n }\n\n private async action(params: any, options: { [key: string]: any }): Promise<ActionResult> {\n const res = await this.cmd.action(params, options, this._packageManagerArgs);\n let data = res;\n let code = 0;\n if (res && res.__code !== undefined) {\n data = res.data;\n code = res.__code;\n }\n const report = this.cmd.report(data, params, options);\n return {\n code,\n report,\n };\n }\n\n async report(params: any, options: { [key: string]: any }): Promise<{ data: string; code: number }> {\n const actionResult = await this.action(params, options);\n return { data: actionResult.report, code: actionResult.code };\n }\n\n async json(params: any, options: { [key: string]: any }): Promise<GenericObject> {\n const actionResult = await this.action(params, options);\n return {\n data: JSON.parse(actionResult.report),\n code: actionResult.code,\n };\n }\n}\n\ntype ActionResult = {\n code: number;\n report: string;\n};\n"],"mappings":";;;;;;;;;AAIO,MAAMA,oBAAoB,CAAoB;EAanDC,WAAWA,CAASC,GAAkB,EAAEC,YAAqB,EAAE;IAAA,KAA3CD,GAAkB,GAAlBA,GAAkB;IAAAE,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACpC,IAAI,CAACC,IAAI,GAAGH,GAAG,CAACG,IAAI;IACpB,IAAI,CAACC,WAAW,GAAGJ,GAAG,CAACI,WAAW;IAClC,IAAI,CAACC,OAAO,GAAGL,GAAG,CAACK,OAAO;IAC1B,IAAI,CAACC,OAAO,GAAGN,GAAG,CAACO,IAAI,IAAI,EAAE;IAC7B,IAAI,CAACC,KAAK,GAAGR,GAAG,CAACQ,KAAK;IACtB,IAAI,CAACC,mBAAmB,GAAGT,GAAG,CAACS,mBAAmB;IAClD,IAAI,CAACC,aAAa,GAAGV,GAAG,CAACU,aAAa;IACtC,IAAI,CAACC,KAAK,GAAGX,GAAG,CAACW,KAAK;IACtB,IAAI,CAACC,MAAM,GAAGZ,GAAG,CAACY,MAAM;IACxB,IAAI,CAACC,OAAO,GAAGb,GAAG,CAACa,OAAO;IAC1B,IAAI,CAACC,QAAQ,GAAG,CAACd,GAAG,CAACc,QAAQ,IAAI,EAAE,EAAEC,GAAG,CAAEC,GAAG,IAAK,IAAIlB,oBAAoB,CAACkB,GAAG,EAAEf,YAAY,CAAC,CAAC;EAChG;EAEA,MAAcgB,MAAMA,CAACC,MAAW,EAAEZ,OAA+B,EAAyB;IACxF,MAAMa,GAAG,GAAG,MAAM,IAAI,CAACnB,GAAG,CAACiB,MAAM,CAACC,MAAM,EAAEZ,OAAO,EAAE,IAAI,CAACc,mBAAmB,CAAC;IAC5E,IAAIC,IAAI,GAAGF,GAAG;IACd,IAAIG,IAAI,GAAG,CAAC;IACZ,IAAIH,GAAG,IAAIA,GAAG,CAACI,MAAM,KAAKC,SAAS,EAAE;MACnCH,IAAI,GAAGF,GAAG,CAACE,IAAI;MACfC,IAAI,GAAGH,GAAG,CAACI,MAAM;IACnB;IACA,MAAME,MAAM,GAAG,IAAI,CAACzB,GAAG,CAACyB,MAAM,CAACJ,IAAI,EAAEH,MAAM,EAAEZ,OAAO,CAAC;IACrD,OAAO;MACLgB,IAAI;MACJG;IACF,CAAC;EACH;EAEA,MAAMA,MAAMA,CAACP,MAAW,EAAEZ,OAA+B,EAA2C;IAClG,MAAMoB,YAAY,GAAG,MAAM,IAAI,CAACT,MAAM,CAACC,MAAM,EAAEZ,OAAO,CAAC;IACvD,OAAO;MAAEe,IAAI,EAAEK,YAAY,CAACD,MAAM;MAAEH,IAAI,EAAEI,YAAY,CAACJ;IAAK,CAAC;EAC/D;EAEA,MAAMK,IAAIA,CAACT,MAAW,EAAEZ,OAA+B,EAA0B;IAC/E,MAAMoB,YAAY,GAAG,MAAM,IAAI,CAACT,MAAM,CAACC,MAAM,EAAEZ,OAAO,CAAC;IACvD,OAAO;MACLe,IAAI,EAAEO,IAAI,CAACC,KAAK,CAACH,YAAY,CAACD,MAAM,CAAC;MACrCH,IAAI,EAAEI,YAAY,CAACJ;IACrB,CAAC;EACH;AACF;AAACQ,OAAA,CAAAhC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["LegacyCommandAdapter","constructor","cmd","cliExtension","_defineProperty","name","description","helpUrl","options","opts","alias","extendedDescription","skipWorkspace","group","loader","private","loadAspects","commands","map","sub","action","params","res","_packageManagerArgs","data","code","__code","undefined","report","actionResult","json","JSON","parse","exports"],"sources":["legacy-command-adapter.ts"],"sourcesContent":["import { CommandOptions, LegacyCommand } from '@teambit/legacy/dist/cli/legacy-command';\nimport type { Command, GenericObject } from '@teambit/legacy/dist/cli/command';\nimport { CLIMain } from './cli.main.runtime';\n\nexport class LegacyCommandAdapter implements Command {\n alias: string;\n name: string;\n description: string;\n options: CommandOptions;\n extendedDescription?: string;\n group?: string;\n loader?: boolean;\n commands: Command[];\n private?: boolean;\n skipWorkspace?: boolean;\n helpUrl?: string;\n loadAspects?: boolean;\n _packageManagerArgs?: string[];\n constructor(private cmd: LegacyCommand, cliExtension: CLIMain) {\n this.name = cmd.name;\n this.description = cmd.description;\n this.helpUrl = cmd.helpUrl;\n this.options = cmd.opts || [];\n this.alias = cmd.alias;\n this.extendedDescription = cmd.extendedDescription;\n this.skipWorkspace = cmd.skipWorkspace;\n this.group = cmd.group;\n this.loader = cmd.loader;\n this.private = cmd.private;\n this.loadAspects = false;\n this.commands = (cmd.commands || []).map((sub) => new LegacyCommandAdapter(sub, cliExtension));\n }\n\n private async action(params: any, options: { [key: string]: any }): Promise<ActionResult> {\n const res = await this.cmd.action(params, options, this._packageManagerArgs);\n let data = res;\n let code = 0;\n if (res && res.__code !== undefined) {\n data = res.data;\n code = res.__code;\n }\n const report = this.cmd.report(data, params, options);\n return {\n code,\n report,\n };\n }\n\n async report(params: any, options: { [key: string]: any }): Promise<{ data: string; code: number }> {\n const actionResult = await this.action(params, options);\n return { data: actionResult.report, code: actionResult.code };\n }\n\n async json(params: any, options: { [key: string]: any }): Promise<GenericObject> {\n const actionResult = await this.action(params, options);\n return {\n data: JSON.parse(actionResult.report),\n code: actionResult.code,\n };\n }\n}\n\ntype ActionResult = {\n code: number;\n report: string;\n};\n"],"mappings":";;;;;;;;;AAIO,MAAMA,oBAAoB,CAAoB;EAcnDC,WAAWA,CAASC,GAAkB,EAAEC,YAAqB,EAAE;IAAA,KAA3CD,GAAkB,GAAlBA,GAAkB;IAAAE,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACpC,IAAI,CAACC,IAAI,GAAGH,GAAG,CAACG,IAAI;IACpB,IAAI,CAACC,WAAW,GAAGJ,GAAG,CAACI,WAAW;IAClC,IAAI,CAACC,OAAO,GAAGL,GAAG,CAACK,OAAO;IAC1B,IAAI,CAACC,OAAO,GAAGN,GAAG,CAACO,IAAI,IAAI,EAAE;IAC7B,IAAI,CAACC,KAAK,GAAGR,GAAG,CAACQ,KAAK;IACtB,IAAI,CAACC,mBAAmB,GAAGT,GAAG,CAACS,mBAAmB;IAClD,IAAI,CAACC,aAAa,GAAGV,GAAG,CAACU,aAAa;IACtC,IAAI,CAACC,KAAK,GAAGX,GAAG,CAACW,KAAK;IACtB,IAAI,CAACC,MAAM,GAAGZ,GAAG,CAACY,MAAM;IACxB,IAAI,CAACC,OAAO,GAAGb,GAAG,CAACa,OAAO;IAC1B,IAAI,CAACC,WAAW,GAAG,KAAK;IACxB,IAAI,CAACC,QAAQ,GAAG,CAACf,GAAG,CAACe,QAAQ,IAAI,EAAE,EAAEC,GAAG,CAAEC,GAAG,IAAK,IAAInB,oBAAoB,CAACmB,GAAG,EAAEhB,YAAY,CAAC,CAAC;EAChG;EAEA,MAAciB,MAAMA,CAACC,MAAW,EAAEb,OAA+B,EAAyB;IACxF,MAAMc,GAAG,GAAG,MAAM,IAAI,CAACpB,GAAG,CAACkB,MAAM,CAACC,MAAM,EAAEb,OAAO,EAAE,IAAI,CAACe,mBAAmB,CAAC;IAC5E,IAAIC,IAAI,GAAGF,GAAG;IACd,IAAIG,IAAI,GAAG,CAAC;IACZ,IAAIH,GAAG,IAAIA,GAAG,CAACI,MAAM,KAAKC,SAAS,EAAE;MACnCH,IAAI,GAAGF,GAAG,CAACE,IAAI;MACfC,IAAI,GAAGH,GAAG,CAACI,MAAM;IACnB;IACA,MAAME,MAAM,GAAG,IAAI,CAAC1B,GAAG,CAAC0B,MAAM,CAACJ,IAAI,EAAEH,MAAM,EAAEb,OAAO,CAAC;IACrD,OAAO;MACLiB,IAAI;MACJG;IACF,CAAC;EACH;EAEA,MAAMA,MAAMA,CAACP,MAAW,EAAEb,OAA+B,EAA2C;IAClG,MAAMqB,YAAY,GAAG,MAAM,IAAI,CAACT,MAAM,CAACC,MAAM,EAAEb,OAAO,CAAC;IACvD,OAAO;MAAEgB,IAAI,EAAEK,YAAY,CAACD,MAAM;MAAEH,IAAI,EAAEI,YAAY,CAACJ;IAAK,CAAC;EAC/D;EAEA,MAAMK,IAAIA,CAACT,MAAW,EAAEb,OAA+B,EAA0B;IAC/E,MAAMqB,YAAY,GAAG,MAAM,IAAI,CAACT,MAAM,CAACC,MAAM,EAAEb,OAAO,CAAC;IACvD,OAAO;MACLgB,IAAI,EAAEO,IAAI,CAACC,KAAK,CAACH,YAAY,CAACD,MAAM,CAAC;MACrCH,IAAI,EAAEI,YAAY,CAACJ;IACrB,CAAC;EACH;AACF;AAACQ,OAAA,CAAAjC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.863/dist/cli.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.863/dist/cli.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.865/dist/cli.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.865/dist/cli.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -102,7 +102,7 @@ class YargsAdapter {
102
102
  group: GLOBAL_GROUP
103
103
  };
104
104
  globalOptions['safe-mode'] = {
105
- describe: 'bootstrap the bare-minimum with only the CLI aspect. useful mainly for low-level commands when bit refuses to load',
105
+ describe: 'useful when it fails to load normally. it skips loading aspects from workspace.jsonc, and for legacy-commands it initializes only the CLI aspect',
106
106
  group: GLOBAL_GROUP
107
107
  };
108
108
  return globalOptions;
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","data","require","_lodash","_commandRunner","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GLOBAL_GROUP","exports","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","onCommandStartSlot","command","name","describe","description","aliases","alias","builder","yargs","options","optionsToBuilder","option","arg","positional","examples","example","cmd","handler","argv","enteredArgs","getArgsFromCommandName","argsValues","map","a","flags","reduce","acc","current","val","_packageManagerArgs","commandRunner","CommandRunner","runCommand","opt","desc","optName","split","group","type","includes","requiresArg","globalOptions","getGlobalOptions","remoteOp","TOKEN_FLAG","log","commandName","commandSplit","shift","existArg","trimmed","trim","startsWith","endsWith","Error","withoutBrackets","slice","camelCase"],"sources":["yargs-adapter.ts"],"sourcesContent":["import { Command } from '@teambit/legacy/dist/cli/command';\nimport { Arguments, CommandModule, Argv, Options } from 'yargs';\nimport { TOKEN_FLAG } from '@teambit/legacy/dist/constants';\nimport { camelCase } from 'lodash';\nimport { CommandRunner } from './command-runner';\nimport { OnCommandStartSlot } from './cli.main.runtime';\n\nexport const GLOBAL_GROUP = 'Global';\nexport const STANDARD_GROUP = 'Options';\n\nexport class YargsAdapter implements CommandModule {\n command: string;\n describe?: string;\n aliases?: string;\n constructor(private commanderCommand: Command, private onCommandStartSlot: OnCommandStartSlot) {\n this.command = commanderCommand.name;\n this.describe = commanderCommand.description;\n this.aliases = commanderCommand.alias;\n }\n\n builder(yargs: Argv) {\n const options = YargsAdapter.optionsToBuilder(this.commanderCommand);\n yargs.option(options);\n this.commanderCommand.arguments?.forEach((arg) => {\n yargs.positional(arg.name, { description: arg.description });\n });\n this.commanderCommand.examples?.forEach((example) => {\n yargs.example(example.cmd, example.description);\n });\n\n return yargs;\n }\n\n handler(argv: Arguments) {\n const enteredArgs = getArgsFromCommandName(this.commanderCommand.name);\n const argsValues = enteredArgs.map((a) => argv[a]) as any[];\n // a workaround to get a flag syntax such as \"--all [version]\" work with yargs.\n const flags = Object.keys(argv).reduce((acc, current) => {\n if (current === '_' || current === '$0' || current === '--') return acc;\n // const flagName = current.split(' ')[0];\n const val = typeof argv[current] === 'string' && !argv[current] ? true : argv[current];\n acc[current] = val;\n return acc;\n }, {});\n this.commanderCommand._packageManagerArgs = (argv['--'] || []) as string[];\n\n const commandRunner = new CommandRunner(this.commanderCommand, argsValues, flags, this.onCommandStartSlot);\n return commandRunner.runCommand();\n }\n\n get positional() {\n return this.commanderCommand.arguments;\n }\n\n static optionsToBuilder(command: Command): { [key: string]: Options } {\n const option = command.options.reduce((acc, [alias, opt, desc]) => {\n const optName = opt.split(' ')[0];\n acc[optName] = {\n alias,\n describe: desc,\n group: STANDARD_GROUP,\n type: opt.includes(' ') ? 'string' : 'boolean',\n requiresArg: opt.includes('<'),\n } as Options;\n return acc;\n }, {});\n const globalOptions = YargsAdapter.getGlobalOptions(command);\n\n return { ...option, ...globalOptions };\n }\n\n static getGlobalOptions(command: Command): Record<string, any> {\n const globalOptions: Record<string, any> = {};\n if (command.remoteOp) {\n globalOptions[TOKEN_FLAG] = {\n describe: 'authentication token',\n group: GLOBAL_GROUP,\n };\n }\n globalOptions.log = {\n describe:\n 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',\n group: GLOBAL_GROUP,\n };\n globalOptions['safe-mode'] = {\n describe:\n 'bootstrap the bare-minimum with only the CLI aspect. useful mainly for low-level commands when bit refuses to load',\n group: GLOBAL_GROUP,\n };\n return globalOptions;\n }\n}\n\nfunction getArgsFromCommandName(commandName: string) {\n const commandSplit = commandName.split(' ');\n commandSplit.shift(); // remove the first element, it's the command-name\n\n return commandSplit.map((existArg) => {\n const trimmed = existArg.trim();\n if ((!trimmed.startsWith('<') && !trimmed.startsWith('[')) || (!trimmed.endsWith('>') && !trimmed.endsWith(']'))) {\n throw new Error(`expect arg \"${trimmed}\" of \"${commandName}\" to be wrapped with \"[]\" or \"<>\"`);\n }\n // remove the opening and closing brackets\n const withoutBrackets = trimmed.slice(1, -1);\n\n return camelCase(withoutBrackets);\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_constants","data","require","_lodash","_commandRunner","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GLOBAL_GROUP","exports","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","onCommandStartSlot","command","name","describe","description","aliases","alias","builder","yargs","options","optionsToBuilder","option","arg","positional","examples","example","cmd","handler","argv","enteredArgs","getArgsFromCommandName","argsValues","map","a","flags","reduce","acc","current","val","_packageManagerArgs","commandRunner","CommandRunner","runCommand","opt","desc","optName","split","group","type","includes","requiresArg","globalOptions","getGlobalOptions","remoteOp","TOKEN_FLAG","log","commandName","commandSplit","shift","existArg","trimmed","trim","startsWith","endsWith","Error","withoutBrackets","slice","camelCase"],"sources":["yargs-adapter.ts"],"sourcesContent":["import { Command } from '@teambit/legacy/dist/cli/command';\nimport { Arguments, CommandModule, Argv, Options } from 'yargs';\nimport { TOKEN_FLAG } from '@teambit/legacy/dist/constants';\nimport { camelCase } from 'lodash';\nimport { CommandRunner } from './command-runner';\nimport { OnCommandStartSlot } from './cli.main.runtime';\n\nexport const GLOBAL_GROUP = 'Global';\nexport const STANDARD_GROUP = 'Options';\n\nexport class YargsAdapter implements CommandModule {\n command: string;\n describe?: string;\n aliases?: string;\n constructor(private commanderCommand: Command, private onCommandStartSlot: OnCommandStartSlot) {\n this.command = commanderCommand.name;\n this.describe = commanderCommand.description;\n this.aliases = commanderCommand.alias;\n }\n\n builder(yargs: Argv) {\n const options = YargsAdapter.optionsToBuilder(this.commanderCommand);\n yargs.option(options);\n this.commanderCommand.arguments?.forEach((arg) => {\n yargs.positional(arg.name, { description: arg.description });\n });\n this.commanderCommand.examples?.forEach((example) => {\n yargs.example(example.cmd, example.description);\n });\n\n return yargs;\n }\n\n handler(argv: Arguments) {\n const enteredArgs = getArgsFromCommandName(this.commanderCommand.name);\n const argsValues = enteredArgs.map((a) => argv[a]) as any[];\n // a workaround to get a flag syntax such as \"--all [version]\" work with yargs.\n const flags = Object.keys(argv).reduce((acc, current) => {\n if (current === '_' || current === '$0' || current === '--') return acc;\n // const flagName = current.split(' ')[0];\n const val = typeof argv[current] === 'string' && !argv[current] ? true : argv[current];\n acc[current] = val;\n return acc;\n }, {});\n this.commanderCommand._packageManagerArgs = (argv['--'] || []) as string[];\n\n const commandRunner = new CommandRunner(this.commanderCommand, argsValues, flags, this.onCommandStartSlot);\n return commandRunner.runCommand();\n }\n\n get positional() {\n return this.commanderCommand.arguments;\n }\n\n static optionsToBuilder(command: Command): { [key: string]: Options } {\n const option = command.options.reduce((acc, [alias, opt, desc]) => {\n const optName = opt.split(' ')[0];\n acc[optName] = {\n alias,\n describe: desc,\n group: STANDARD_GROUP,\n type: opt.includes(' ') ? 'string' : 'boolean',\n requiresArg: opt.includes('<'),\n } as Options;\n return acc;\n }, {});\n const globalOptions = YargsAdapter.getGlobalOptions(command);\n\n return { ...option, ...globalOptions };\n }\n\n static getGlobalOptions(command: Command): Record<string, any> {\n const globalOptions: Record<string, any> = {};\n if (command.remoteOp) {\n globalOptions[TOKEN_FLAG] = {\n describe: 'authentication token',\n group: GLOBAL_GROUP,\n };\n }\n globalOptions.log = {\n describe:\n 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',\n group: GLOBAL_GROUP,\n };\n globalOptions['safe-mode'] = {\n describe:\n 'useful when it fails to load normally. it skips loading aspects from workspace.jsonc, and for legacy-commands it initializes only the CLI aspect',\n group: GLOBAL_GROUP,\n };\n return globalOptions;\n }\n}\n\nfunction getArgsFromCommandName(commandName: string) {\n const commandSplit = commandName.split(' ');\n commandSplit.shift(); // remove the first element, it's the command-name\n\n return commandSplit.map((existArg) => {\n const trimmed = existArg.trim();\n if ((!trimmed.startsWith('<') && !trimmed.startsWith('[')) || (!trimmed.endsWith('>') && !trimmed.endsWith(']'))) {\n throw new Error(`expect arg \"${trimmed}\" of \"${commandName}\" to be wrapped with \"[]\" or \"<>\"`);\n }\n // remove the opening and closing brackets\n const withoutBrackets = trimmed.slice(1, -1);\n\n return camelCase(withoutBrackets);\n });\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/cli",
3
- "version": "0.0.863",
3
+ "version": "0.0.865",
4
4
  "homepage": "https://bit.cloud/teambit/harmony/cli",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.harmony",
8
8
  "name": "cli",
9
- "version": "0.0.863"
9
+ "version": "0.0.865"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -17,7 +17,7 @@
17
17
  "pad-right": "0.2.2",
18
18
  "@teambit/harmony": "0.4.6",
19
19
  "@teambit/bit-error": "0.0.404",
20
- "@teambit/logger": "0.0.956"
20
+ "@teambit/logger": "0.0.958"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/didyoumean": "1.2.0",