@teambit/harmony.content.cli-reference 1.95.65 → 1.95.68

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.
@@ -33,11 +33,21 @@
33
33
  "reset-hard",
34
34
  "delete all Bit files and directories, including Bit configuration, tracking and model data. Useful for re-start using Bit from scratch"
35
35
  ],
36
+ [
37
+ "",
38
+ "reset-scope",
39
+ "removes local scope (.bit or .git/bit). snaps that were not exported will be lost. workspace left intact"
40
+ ],
36
41
  [
37
42
  "d",
38
43
  "default-directory <default-directory>",
39
44
  "set up default directory to import components into"
40
45
  ],
46
+ [
47
+ "",
48
+ "default-scope <default-scope>",
49
+ "set up default scope for all components in the workspace"
50
+ ],
41
51
  [
42
52
  "p",
43
53
  "package-manager <package-manager>",
@@ -65,52 +75,6 @@
65
75
  "private": false,
66
76
  "skipWorkspace": true
67
77
  },
68
- {
69
- "name": "list [remote-scope]",
70
- "alias": "ls",
71
- "options": [
72
- [
73
- "i",
74
- "ids",
75
- "show only component ids unformatted"
76
- ],
77
- [
78
- "s",
79
- "scope",
80
- "show only components stored in the local scope, including indirect dependencies"
81
- ],
82
- [
83
- "b",
84
- "bare",
85
- "DEPRECATED. use --raw instead"
86
- ],
87
- [
88
- "r",
89
- "raw",
90
- "show raw output (only components ids, no styling)"
91
- ],
92
- [
93
- "o",
94
- "outdated",
95
- "show latest versions from remotes"
96
- ],
97
- [
98
- "j",
99
- "json",
100
- "show the output in JSON format"
101
- ],
102
- [
103
- "n",
104
- "namespace <string>",
105
- "show only specified namespace by using wildcards"
106
- ]
107
- ],
108
- "description": "list components on a workspace, local scope or a remote scope.",
109
- "extendedDescription": "https://bit.dev/docs/reference/cli-reference#list",
110
- "group": "discover",
111
- "private": false,
112
- "skipWorkspace": true
113
- },
114
78
  {
115
79
  "name": "config",
116
80
  "alias": "",
@@ -256,7 +220,7 @@
256
220
  "private": true
257
221
  },
258
222
  {
259
- "name": "dependents <id>",
223
+ "name": "dependents <component-name>",
260
224
  "alias": "",
261
225
  "options": [],
262
226
  "description": "EXPERIMENTAL. show dependents of the given component",
@@ -264,21 +228,6 @@
264
228
  "group": "info",
265
229
  "private": false
266
230
  },
267
- {
268
- "name": "dependencies <id>",
269
- "alias": "",
270
- "options": [
271
- [
272
- "d",
273
- "debug",
274
- "show the immediate dependencies and how their version was determined"
275
- ]
276
- ],
277
- "description": "EXPERIMENTAL. show dependencies (direct and indirect) of the given component",
278
- "extendedDescription": "",
279
- "group": "info",
280
- "private": false
281
- },
282
231
  {
283
232
  "name": "_log <path> <args>",
284
233
  "alias": "",
@@ -365,21 +314,6 @@
365
314
  "private": true,
366
315
  "internal": true
367
316
  },
368
- {
369
- "name": "inject-conf [id]",
370
- "alias": "",
371
- "options": [
372
- [
373
- "f",
374
- "force",
375
- "force injecting even if there are config files changes"
376
- ]
377
- ],
378
- "description": "injecting components configuration",
379
- "extendedDescription": "",
380
- "group": "ungrouped",
381
- "private": true
382
- },
383
317
  {
384
318
  "name": "_scope <path> <args>",
385
319
  "alias": "",
@@ -390,36 +324,6 @@
390
324
  "private": true,
391
325
  "internal": true
392
326
  },
393
- {
394
- "name": "ci-update <id> [scopePath]",
395
- "alias": "",
396
- "options": [
397
- [
398
- "d",
399
- "directory [file]",
400
- "directory to run ci-update"
401
- ],
402
- [
403
- "k",
404
- "keep",
405
- "keep test environment after run (default false)"
406
- ],
407
- [
408
- "c",
409
- "no-cache",
410
- "ignore component cache when creating dist file"
411
- ],
412
- [
413
- "o",
414
- "output [file]",
415
- "save ci results to file system"
416
- ]
417
- ],
418
- "description": "run an update for build and test of a certain bit-component",
419
- "extendedDescription": "",
420
- "group": "ungrouped",
421
- "private": true
422
- },
423
327
  {
424
328
  "name": "cat-scope [scopePath]",
425
329
  "alias": "",
@@ -515,21 +419,11 @@
515
419
  "main <file>",
516
420
  "define entry point for the components"
517
421
  ],
518
- [
519
- "t",
520
- "tests <file>/\"<file>,<file>\"",
521
- "specify test files to track. use quotation marks to list files or use a glob pattern"
522
- ],
523
422
  [
524
423
  "n",
525
424
  "namespace <namespace>",
526
425
  "organize component in a namespace"
527
426
  ],
528
- [
529
- "e",
530
- "exclude <file>/\"<file>,<file>\"",
531
- "exclude file from being tracked. use quotation marks to list files or use a glob pattern"
532
- ],
533
427
  [
534
428
  "o",
535
429
  "override <boolean>",
@@ -547,22 +441,7 @@
547
441
  "private": false
548
442
  },
549
443
  {
550
- "name": "untrack [ids...]",
551
- "alias": "u",
552
- "options": [
553
- [
554
- "a",
555
- "all",
556
- "revert add for all tracked components"
557
- ]
558
- ],
559
- "description": "DEPRECATED (use \"bit remove\" instead). untrack a new component(s)\n https://legacy-docs.bit.dev/docs/add-and-isolate-components#untracking-components\n you can use a pattern for multiple ids, such as bit untrack \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
560
- "extendedDescription": "",
561
- "group": "ungrouped",
562
- "private": true
563
- },
564
- {
565
- "name": "untag [id] [version]",
444
+ "name": "untag [component-name] [component-version]",
566
445
  "alias": "",
567
446
  "options": [
568
447
  [
@@ -581,67 +460,20 @@
581
460
  "revert the tag even if used as a dependency. WARNING: components that depend on this tag will corrupt"
582
461
  ]
583
462
  ],
584
- "description": "revert versions tagged for component(s)",
463
+ "description": "revert tagged or snapped versions for component(s)",
585
464
  "extendedDescription": "https://bit.dev/docs/components/tags#undoing-a-tag\nyou can use a pattern for multiple ids, such as bit untag \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
586
465
  "group": "development",
587
- "private": false
466
+ "private": true
588
467
  },
589
468
  {
590
- "name": "move <existing-dir> <new-dir>",
469
+ "name": "move <current-component-dir> <new-component-dir>",
591
470
  "alias": "mv",
592
- "options": [
593
- [
594
- "c",
595
- "component",
596
- "move component files that are spread over multiple directories to one directory. synopsis: `move <component-id> <directory>`"
597
- ]
598
- ],
471
+ "options": [],
599
472
  "description": "move a component to a different filesystem path",
600
473
  "extendedDescription": "move files or directories of component(s)\n https://bit.dev/docs/workspace/moving-components",
601
474
  "group": "development",
602
475
  "private": false
603
476
  },
604
- {
605
- "name": "remove <ids...>",
606
- "alias": "rm",
607
- "options": [
608
- [
609
- "r",
610
- "remote",
611
- "remove a component from a remote scope"
612
- ],
613
- [
614
- "t",
615
- "track",
616
- "keep tracking component (default = false)"
617
- ],
618
- [
619
- "d",
620
- "delete-files",
621
- "DEPRECATED (this is now the default). delete local component files"
622
- ],
623
- [
624
- "",
625
- "keep-files",
626
- "keep component files (just untrack the component)"
627
- ],
628
- [
629
- "f",
630
- "force",
631
- "removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt"
632
- ],
633
- [
634
- "s",
635
- "silent",
636
- "skip confirmation"
637
- ]
638
- ],
639
- "description": "remove component(s) from your workspace, or a remote scope",
640
- "extendedDescription": "https://bit.dev/docs/components/removing-components\nyou can use a pattern for multiple ids, such as bit remove \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
641
- "group": "collaborate",
642
- "private": false,
643
- "skipWorkspace": true
644
- },
645
477
  {
646
478
  "name": "_delete <path> <args>",
647
479
  "alias": "",
@@ -652,26 +484,6 @@
652
484
  "private": true,
653
485
  "internal": true
654
486
  },
655
- {
656
- "name": "_deprecate <path> <args>",
657
- "alias": "",
658
- "options": [],
659
- "description": "deprecate a component from a scope",
660
- "extendedDescription": "",
661
- "group": "ungrouped",
662
- "private": true,
663
- "internal": true
664
- },
665
- {
666
- "name": "_undeprecate <path> <args>",
667
- "alias": "",
668
- "options": [],
669
- "description": "undeprecate a component from a scope",
670
- "extendedDescription": "",
671
- "group": "ungrouped",
672
- "private": true,
673
- "internal": true
674
- },
675
487
  {
676
488
  "name": "_latest <path> <args>",
677
489
  "alias": "",
@@ -682,76 +494,6 @@
682
494
  "private": true,
683
495
  "internal": true
684
496
  },
685
- {
686
- "name": "checkout [values...]",
687
- "alias": "U",
688
- "options": [
689
- [
690
- "i",
691
- "interactive-merge",
692
- "when a component is modified and the merge process found conflicts, display options to resolve them"
693
- ],
694
- [
695
- "o",
696
- "ours",
697
- "in case of a conflict, override the used version with the current modification"
698
- ],
699
- [
700
- "t",
701
- "theirs",
702
- "in case of a conflict, override the current modification with the specified version"
703
- ],
704
- [
705
- "m",
706
- "manual",
707
- "in case of a conflict, leave the files with a conflict state to resolve them manually later"
708
- ],
709
- [
710
- "r",
711
- "reset",
712
- "remove local changes"
713
- ],
714
- [
715
- "a",
716
- "all",
717
- "all components"
718
- ],
719
- [
720
- "v",
721
- "verbose",
722
- "showing verbose output for inspection"
723
- ],
724
- [
725
- "",
726
- "skip-npm-install",
727
- "DEPRECATED. use \"--skip-dependency-installation\" instead"
728
- ],
729
- [
730
- "",
731
- "skip-dependency-installation",
732
- "do not install packages of the imported components"
733
- ],
734
- [
735
- "",
736
- "ignore-package-json",
737
- "do not generate package.json for the imported component(s). (it automatically enables skip-npm-install and save-dependencies-as-components flags)"
738
- ],
739
- [
740
- "",
741
- "conf [path]",
742
- "write the configuration file (bit.json) and the envs configuration files (use --conf without path to write to the default dir)"
743
- ],
744
- [
745
- "",
746
- "ignore-dist",
747
- "do not write dist files (when exist)"
748
- ]
749
- ],
750
- "description": "switch between component versions or remove local changes",
751
- "extendedDescription": "\n `bit checkout <version> [ids...]` => checkout the specified ids (or all components when --all is used) to the specified version\n `bit checkout latest [ids...]` => checkout the specified ids (or all components when --all is used) to their latest versions\n `bit checkout [ids...] --reset` => remove local modifications from the specified ids (or all components when --all is used)\n you can use a pattern for multiple ids, such as bit checkout 0.0.1 \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
752
- "group": "development",
753
- "private": false
754
- },
755
497
  {
756
498
  "name": "diff [values...]",
757
499
  "alias": "",
@@ -767,7 +509,7 @@
767
509
  "show tables instead of plain text for dependencies diff"
768
510
  ]
769
511
  ],
770
- "description": "show diff between components files",
512
+ "description": "show the diff between the components' source files and config",
771
513
  "extendedDescription": "bit diff => compare all modified components to their model version\n bit diff [ids...] => compare the specified components against their modified states\n bit diff [id] [version] => compare the specified version to used or modified files\n bit diff [id] [version] [to_version] => compare the specified version files to to_version files\n you can use a pattern for multiple ids, such as bit diff \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
772
514
  "group": "development",
773
515
  "private": false
@@ -798,11 +540,11 @@
798
540
  ],
799
541
  [
800
542
  "",
801
- "machine-name <string>",
543
+ "machine-name <name>",
802
544
  "specify machine-name to pair with the token (useful for CI to avoid accidentally revoke the token)"
803
545
  ]
804
546
  ],
805
- "description": "log the CLI into Bit Cloud",
547
+ "description": "log in to Bit cloud",
806
548
  "extendedDescription": "",
807
549
  "group": "general",
808
550
  "private": false,
@@ -825,11 +567,6 @@
825
567
  "v",
826
568
  "verbose",
827
569
  "showing logs for the migration process"
828
- ],
829
- [
830
- "h",
831
- "harmony",
832
- "migrate workspace from legacy to Harmony"
833
570
  ]
834
571
  ],
835
572
  "description": "migrate scope to the current version",
@@ -997,23 +734,13 @@
997
734
  "private": false
998
735
  },
999
736
  {
1000
- "name": "use [ids...]",
1001
- "alias": "",
1002
- "options": [],
1003
- "description": "set up aspects in the workspace/scope config",
1004
- "extendedDescription": "",
1005
- "group": "collaborate",
1006
- "private": false,
1007
- "remoteOp": true
1008
- },
1009
- {
1010
- "name": "show <id>",
737
+ "name": "show <component-name>",
1011
738
  "alias": "",
1012
739
  "options": [
1013
740
  [
1014
741
  "j",
1015
742
  "json",
1016
- "return the component data in json format"
743
+ "return the component data in a json format"
1017
744
  ],
1018
745
  [
1019
746
  "l",
@@ -1028,34 +755,25 @@
1028
755
  [
1029
756
  "c",
1030
757
  "compare",
1031
- "compare current file system component to latest tagged component [default=latest]. only works in legacy."
758
+ "compare current file system component to the latest tagged component [default=latest]. only works in legacy."
1032
759
  ]
1033
760
  ],
1034
- "description": "show a component",
761
+ "description": "display the component's essential information",
1035
762
  "extendedDescription": "",
1036
763
  "group": "info",
1037
- "private": false
1038
- },
1039
- {
1040
- "name": "globals",
1041
- "alias": "",
1042
- "options": [
1043
- [
1044
- "j",
1045
- "json",
1046
- "json format"
1047
- ]
1048
- ],
1049
- "description": "list all globals",
1050
- "extendedDescription": "",
1051
- "group": "workspace",
1052
- "private": false
764
+ "private": false,
765
+ "arguments": [
766
+ {
767
+ "name": "component-name",
768
+ "description": "component name or component id"
769
+ }
770
+ ]
1053
771
  },
1054
772
  {
1055
773
  "name": "envs",
1056
774
  "alias": "env",
1057
775
  "options": [],
1058
- "description": "list all components envs",
776
+ "description": "list all components maintained by the workspace and their corresponding envs",
1059
777
  "extendedDescription": "",
1060
778
  "group": "development",
1061
779
  "private": false,
@@ -1070,36 +788,102 @@
1070
788
  "private": false
1071
789
  },
1072
790
  {
1073
- "name": "get <name>",
791
+ "name": "get <component-name>",
1074
792
  "alias": "",
1075
793
  "options": [],
1076
- "description": "show component's env details",
794
+ "description": "show information about a component's env",
1077
795
  "extendedDescription": "",
1078
796
  "group": "development",
1079
- "private": false
797
+ "private": false,
798
+ "arguments": [
799
+ {
800
+ "name": "component-name",
801
+ "description": "the 'component name' or 'component id' of the component its env you'd like to inspect"
802
+ }
803
+ ]
1080
804
  },
1081
805
  {
1082
- "name": "set <pattern> <env>",
806
+ "name": "set <component-pattern> <env>",
1083
807
  "options": [],
1084
- "description": "set an environment for component(s)",
1085
- "extendedDescription": "you can use a `<pattern>` for multiple component ids, such as `bit env set \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n",
1086
- "group": "development"
808
+ "description": "Sets one or more components with a development environment (env)",
809
+ "group": "development",
810
+ "arguments": [
811
+ {
812
+ "name": "component-pattern",
813
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
814
+ },
815
+ {
816
+ "name": "env",
817
+ "description": "the env's component id (include version for non-core envs. e.g, `teambit.community/envs/community-react@1.95.13`)"
818
+ }
819
+ ],
820
+ "examples": [
821
+ {
822
+ "cmd": "set ui/button teambit.react/react",
823
+ "description": "configures 'ui/button' to use the 'teambit.react/react' env"
824
+ },
825
+ {
826
+ "cmd": "set ui/button teambit.community/envs/community-mdx@1.95.16",
827
+ "description": "configures 'ui/button' to use the (non-core) 'teambit.community/envs/community-mdx@1.95.16' env"
828
+ },
829
+ {
830
+ "cmd": "set \"ui/**\" teambit.react/react",
831
+ "description": "configures all components that have the 'ui' namespace to use the teambit.react/react env"
832
+ }
833
+ ]
1087
834
  },
1088
835
  {
1089
- "name": "unset <component>",
836
+ "name": "unset <component-pattern>",
1090
837
  "options": [],
1091
- "description": "unset an environment from component(s)",
1092
- "extendedDescription": "you can use a `<pattern>` for multiple component ids, such as `bit env unset \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n",
1093
- "group": "development"
838
+ "description": "un-sets an env from components that were previously set by \"bit env set\" or by a component template",
839
+ "extendedDescription": "keep in mind that this doesn't remove envs that are set in the variants.\nin only removes envs that appear in the .bitmap file, which were previously configured via \"bit env set\".\nthe purpose of this command is to remove the specific settings and let the the variants in workspace.jsonc to control the env.\nyou can use a `<pattern>` for multiple component ids, such as `bit env unset \"org.scope/utils/**\"`.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nuse `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.\n",
840
+ "group": "development",
841
+ "arguments": [
842
+ {
843
+ "name": "component-pattern",
844
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components. \nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
845
+ }
846
+ ]
1094
847
  },
1095
848
  {
1096
- "name": "replace <old-env> <new-env>",
849
+ "name": "replace <current-env> <new-env>",
1097
850
  "options": [],
1098
851
  "description": "replace an existing env with another env for all components using the old env",
1099
- "group": "development"
852
+ "group": "development",
853
+ "arguments": [
854
+ {
855
+ "name": "current-env",
856
+ "description": "the component id of the current env"
857
+ },
858
+ {
859
+ "name": "new-env",
860
+ "description": "the component id of the new env"
861
+ }
862
+ ],
863
+ "examples": [
864
+ {
865
+ "cmd": "replace teambit.harmony/aspect teambit.harmony/node",
866
+ "description": "components configured to use the 'aspect' env will be configured to use the 'node' env, instead"
867
+ }
868
+ ]
1100
869
  }
1101
870
  ]
1102
871
  },
872
+ {
873
+ "name": "globals",
874
+ "alias": "",
875
+ "options": [
876
+ [
877
+ "j",
878
+ "json",
879
+ "json format"
880
+ ]
881
+ ],
882
+ "description": "list all globals",
883
+ "extendedDescription": "",
884
+ "group": "workspace",
885
+ "private": false
886
+ },
1103
887
  {
1104
888
  "name": "start [type] [pattern]",
1105
889
  "alias": "c",
@@ -1111,7 +895,7 @@
1111
895
  ],
1112
896
  [
1113
897
  "p",
1114
- "port [number]",
898
+ "port [port-number]",
1115
899
  "port of the UI server."
1116
900
  ],
1117
901
  [
@@ -1122,7 +906,7 @@
1122
906
  [
1123
907
  "v",
1124
908
  "verbose",
1125
- "showing verbose output for inspection and prints stack trace"
909
+ "show verbose output for inspection and prints stack trace"
1126
910
  ],
1127
911
  [
1128
912
  "",
@@ -1135,7 +919,7 @@
1135
919
  "skip the auto-compilation before starting the web-server"
1136
920
  ]
1137
921
  ],
1138
- "description": "Start a dev environment for a workspace or a specific component",
922
+ "description": "run the ui/development server",
1139
923
  "extendedDescription": "",
1140
924
  "group": "development",
1141
925
  "private": false
@@ -1153,29 +937,49 @@
1153
937
  "name": "scope <sub-command>",
1154
938
  "alias": "",
1155
939
  "options": [],
1156
- "description": "EXPERIMENTAL. manage scope-name",
940
+ "description": "EXPERIMENTAL. manage the scope-name for components",
1157
941
  "extendedDescription": "",
1158
942
  "group": "development",
1159
943
  "private": false,
1160
944
  "commands": [
1161
945
  {
1162
- "name": "set <scope-name> [pattern]",
946
+ "name": "set <scope-name> [component-pattern]",
1163
947
  "options": [],
1164
- "description": "set the default-scope",
1165
- "extendedDescription": "set a new scope in the workspace.jsonc.\nif \"pattern\" is provided, the default-scope will be set to the new components matching the criteria.\n\nyou can use a `<pattern>` for multiple component ids, such as `bit scope set scope-name \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n",
1166
- "group": "development"
948
+ "description": "Sets components with a default-scope. If no component is specified, sets the workspace with a default scope",
949
+ "extendedDescription": "default scopes for components are set in the bitmap file. the default scope for a workspace is set in the workspace.jsonc. a component is set with a scope (as oppose to default scope) only once it is versioned.'\n\nyou can use a `<pattern>` for multiple component ids, such as `bit scope set scope-name \"org.scope/utils/**\"`.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nuse `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.\n",
950
+ "group": "development",
951
+ "arguments": [
952
+ {
953
+ "name": "scope-name",
954
+ "description": "the scope name to use as the default scope"
955
+ },
956
+ {
957
+ "name": "component-pattern",
958
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components. \nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
959
+ }
960
+ ]
1167
961
  },
1168
962
  {
1169
- "name": "rename <old-name> <new-name>",
963
+ "name": "rename <current-scope-name> <new-scope-name>",
1170
964
  "options": [
1171
965
  [
1172
966
  "r",
1173
967
  "refactor",
1174
- "change the source code of all components using the original scope-name with the new scope-name"
968
+ "update the import statements in all dependent components to the new package name (that contains the new scope name)"
1175
969
  ]
1176
970
  ],
1177
- "description": "rename a scope for components using the old-name, optionally change the dependencies source-code",
1178
- "group": "development"
971
+ "description": "Renames the scope name for all components with the specified 'current scope name'",
972
+ "group": "development",
973
+ "arguments": [
974
+ {
975
+ "name": "current-scope-name",
976
+ "description": "the scope name to be replaced by another scope name"
977
+ },
978
+ {
979
+ "name": "new-scope-name",
980
+ "description": "a new scope name to replace the current scope name"
981
+ }
982
+ ]
1179
983
  },
1180
984
  {
1181
985
  "name": "fork <original-scope> <new-scope>",
@@ -1225,10 +1029,16 @@
1225
1029
  "install all missing peer dependencies"
1226
1030
  ]
1227
1031
  ],
1228
- "description": "install development workspace dependencies",
1229
- "extendedDescription": "",
1032
+ "description": "installs workspace dependencies",
1033
+ "extendedDescription": "when no package is specified, all workspace dependencies are installed and all workspace components are imported.",
1230
1034
  "group": "development",
1231
- "private": false
1035
+ "private": false,
1036
+ "arguments": [
1037
+ {
1038
+ "name": "packages...",
1039
+ "description": "a list of packages to install (separated by spaces)"
1040
+ }
1041
+ ]
1232
1042
  },
1233
1043
  {
1234
1044
  "name": "update",
@@ -1270,7 +1080,7 @@
1270
1080
  ]
1271
1081
  ],
1272
1082
  "description": "eject components configuration (create a `component.json` file)",
1273
- "extendedDescription": "you can use a `<pattern>` for multiple component ids, such as `bit eject-conf \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n",
1083
+ "extendedDescription": "you can use a `<pattern>` for multiple component ids, such as `bit eject-conf \"org.scope/utils/**\"`.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nuse `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.\n",
1274
1084
  "group": "development",
1275
1085
  "private": false
1276
1086
  },
@@ -1279,7 +1089,7 @@
1279
1089
  "alias": "",
1280
1090
  "options": [],
1281
1091
  "description": "manage capsules",
1282
- "extendedDescription": "a capsule is a directory contains the component code, isolated from the workspace.\nnormally, capsules are created during the build process, the component files are copied and the packages are installed\nvia the configured package-manager. the purpose is to compile/test them in isolation to make sure they will work for\nother users after publishing/exporting them.",
1092
+ "extendedDescription": "a capsule is a directory containing the component code, isolated from the workspace.\nnormally, capsules are created during the build process, the component files are copied and the packages are installed\nvia the configured package-manager. the purpose is to compile/test them in isolation to make sure they will work for\nother users after publishing/exporting them.",
1283
1093
  "group": "capsules",
1284
1094
  "private": false,
1285
1095
  "commands": [
@@ -1293,13 +1103,13 @@
1293
1103
  "json format"
1294
1104
  ]
1295
1105
  ],
1296
- "description": "list all capsules",
1106
+ "description": "list the capsules generated for this workspace",
1297
1107
  "extendedDescription": "",
1298
1108
  "group": "capsules",
1299
1109
  "private": false
1300
1110
  },
1301
1111
  {
1302
- "name": "create [componentIds...]",
1112
+ "name": "create [component-id...]",
1303
1113
  "alias": "",
1304
1114
  "options": [
1305
1115
  [
@@ -1343,7 +1153,7 @@
1343
1153
  "npm, yarn or pnpm, default to npm"
1344
1154
  ]
1345
1155
  ],
1346
- "description": "create capsules",
1156
+ "description": "create capsules for components",
1347
1157
  "extendedDescription": "",
1348
1158
  "group": "capsules",
1349
1159
  "private": false
@@ -1377,7 +1187,7 @@
1377
1187
  [
1378
1188
  "v",
1379
1189
  "verbose",
1380
- "showing npm verbose output for inspection and prints stack trace"
1190
+ "show npm verbose output for inspection and print the stack trace"
1381
1191
  ],
1382
1192
  [
1383
1193
  "",
@@ -1390,13 +1200,13 @@
1390
1200
  "EXPERIMENTAL. show errors/warnings for types. options are [file, project] to investigate only changed file or entire project. defaults to project"
1391
1201
  ]
1392
1202
  ],
1393
- "description": "watch a set of components",
1203
+ "description": "automatically recompile modified components (on save)",
1394
1204
  "extendedDescription": "",
1395
1205
  "group": "development",
1396
1206
  "private": false
1397
1207
  },
1398
1208
  {
1399
- "name": "link [ids...]",
1209
+ "name": "link [component-names...]",
1400
1210
  "alias": "",
1401
1211
  "options": [
1402
1212
  [
@@ -1425,10 +1235,32 @@
1425
1235
  "skip fetch missing objects from remotes before linking"
1426
1236
  ]
1427
1237
  ],
1428
- "description": "link components and core aspects",
1238
+ "description": "create links in the node_modules directory, to core aspects and to components in the workspace",
1429
1239
  "extendedDescription": "https://bit.dev/docs/workspace/component-links",
1430
1240
  "group": "development",
1431
- "private": false
1241
+ "private": false,
1242
+ "arguments": [
1243
+ {
1244
+ "name": "component-names...",
1245
+ "description": "names or IDs of the components to link"
1246
+ }
1247
+ ]
1248
+ },
1249
+ {
1250
+ "name": "use <component-id>",
1251
+ "alias": "",
1252
+ "options": [],
1253
+ "description": "set aspects in the workspace/scope config to make them loadable by the workspace/scope",
1254
+ "extendedDescription": "",
1255
+ "group": "collaborate",
1256
+ "private": false,
1257
+ "remoteOp": true,
1258
+ "arguments": [
1259
+ {
1260
+ "name": "component-id",
1261
+ "description": "the component ID of the aspect"
1262
+ }
1263
+ ]
1432
1264
  },
1433
1265
  {
1434
1266
  "name": "pattern <pattern>",
@@ -1441,48 +1273,75 @@
1441
1273
  ]
1442
1274
  ],
1443
1275
  "description": "list the component ids matching the given pattern",
1444
- "extendedDescription": "",
1276
+ "extendedDescription": "this command helps validating a pattern before using it in other commands.\na pattern can be a simple component-id or component-name. e.g. \"ui/button\".\na pattern can be used with wildcards for multiple component ids, e.g. \"org.scope/utils/**\".\nto enter multiple patterns, separate them by a comma, e.g. \"ui/*, lib/*\"\nto exclude, use \"!\". e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nthe matching algorithm is done by multimatch (@see https://github.com/sindresorhus/multimatch)\n",
1445
1277
  "group": "development",
1446
- "private": false
1278
+ "private": false,
1279
+ "examples": [
1280
+ {
1281
+ "cmd": "bit pattern \"**\"",
1282
+ "description": "matches all components"
1283
+ },
1284
+ {
1285
+ "cmd": "bit pattern \"*/ui/*\"",
1286
+ "description": "matches components with any scope-name and the \"ui\" namespace. e.g. \"ui/button\" but not \"ui/elements/button\""
1287
+ },
1288
+ {
1289
+ "cmd": "bit pattern \"*/ui/**\"",
1290
+ "description": "matches components that their namespace starts with \"ui/\" e.g. \"ui/button\", \"ui/elements/button\""
1291
+ },
1292
+ {
1293
+ "cmd": "bit pattern \"bar, foo\"",
1294
+ "description": "matches two components: bar and foo"
1295
+ },
1296
+ {
1297
+ "cmd": "bit pattern \"my-scope.org/**\"",
1298
+ "description": "matches all components of the scope \"my-scope.org\""
1299
+ }
1300
+ ]
1447
1301
  },
1448
1302
  {
1449
- "name": "import [ids...]",
1450
- "alias": "",
1303
+ "name": "checkout <to> [component-pattern]",
1304
+ "alias": "U",
1451
1305
  "options": [
1452
1306
  [
1453
- "p",
1454
- "path <path>",
1455
- "import components into a specific directory"
1307
+ "i",
1308
+ "interactive-merge",
1309
+ "when a component is modified and the merge process found conflicts, display options to resolve them"
1456
1310
  ],
1457
1311
  [
1458
1312
  "o",
1459
- "objects",
1460
- "import components objects only, don't write the components to the file system. This is a default behavior for import with no id"
1313
+ "ours",
1314
+ "in case of a conflict, override the used version with the current modification"
1461
1315
  ],
1462
1316
  [
1463
- "d",
1464
- "display-dependencies",
1465
- "display the imported dependencies"
1317
+ "t",
1318
+ "theirs",
1319
+ "in case of a conflict, override the current modification with the specified version"
1466
1320
  ],
1467
1321
  [
1468
- "O",
1469
- "override",
1470
- "override local changes"
1322
+ "m",
1323
+ "manual",
1324
+ "in case of a conflict, leave the files with a conflict state to resolve them manually later"
1325
+ ],
1326
+ [
1327
+ "r",
1328
+ "reset",
1329
+ "revert changes that were not snapped/tagged"
1330
+ ],
1331
+ [
1332
+ "a",
1333
+ "all",
1334
+ "all components"
1471
1335
  ],
1472
1336
  [
1473
1337
  "v",
1474
1338
  "verbose",
1475
1339
  "showing verbose output for inspection"
1476
1340
  ],
1477
- [
1478
- "j",
1479
- "json",
1480
- "return the output as JSON"
1481
- ],
1482
1341
  [
1483
1342
  "",
1484
- "conf",
1485
- "write the configuration file (component.json) of the component (harmony components only)"
1343
+ "reset",
1344
+ "DEPRECATED. run \"bit checkout reset\" instead"
1486
1345
  ],
1487
1346
  [
1488
1347
  "",
@@ -1493,367 +1352,174 @@
1493
1352
  "",
1494
1353
  "skip-dependency-installation",
1495
1354
  "do not install packages of the imported components"
1355
+ ]
1356
+ ],
1357
+ "description": "switch between component versions or remove local changes",
1358
+ "extendedDescription": "\n `bit checkout <version> [component-pattern]` => checkout the specified ids (or all components when --all is used) to the specified version\n `bit checkout head [component-pattern]` => checkout to the last snap/tag, omit [component-pattern] to checkout head for all\n `bit checkout reset [component-pattern]` => remove local modifications from the specified ids (or all components when --all is used)",
1359
+ "group": "development",
1360
+ "private": false,
1361
+ "arguments": [
1362
+ {
1363
+ "name": "to",
1364
+ "description": "permitted values: [head, reset, specific-version]. 'head' - last snap/tag. 'reset' - removes local changes"
1365
+ },
1366
+ {
1367
+ "name": "component-pattern",
1368
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
1369
+ }
1370
+ ]
1371
+ },
1372
+ {
1373
+ "name": "remove <component-pattern>",
1374
+ "alias": "rm",
1375
+ "options": [
1376
+ [
1377
+ "",
1378
+ "soft",
1379
+ "EXPERIMENTAL. mark the component as deleted. after tag/snap and export the remote will be updated"
1496
1380
  ],
1497
1381
  [
1498
- "m",
1499
- "merge [strategy]",
1500
- "merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\""
1382
+ "r",
1383
+ "remote",
1384
+ "remove a component completely from a remote scope (Careful! this is a permanent change. prefer --soft and tag+export)"
1501
1385
  ],
1502
1386
  [
1503
- "",
1504
- "dependencies",
1505
- "EXPERIMENTAL. import all dependencies and write them to the workspace"
1387
+ "t",
1388
+ "track",
1389
+ "keep tracking component in .bitmap (default = false), helps transform a tagged-component to new"
1506
1390
  ],
1507
1391
  [
1508
- "",
1509
- "dependents",
1510
- "EXPERIMENTAL. import component dependents to allow auto-tag updating them upon tag"
1392
+ "d",
1393
+ "delete-files",
1394
+ "DEPRECATED (this is now the default). delete local component files"
1511
1395
  ],
1512
1396
  [
1513
1397
  "",
1514
- "skip-lane",
1515
- "EXPERIMENTAL. when checked out to a lane, do not import the component into the lane, save it on main"
1398
+ "keep-files",
1399
+ "keep component files (just untrack the component)"
1516
1400
  ],
1517
1401
  [
1518
- "",
1519
- "all-history",
1520
- "relevant for fetching all components objects. avoid optimizations, fetch all history versions, always"
1402
+ "f",
1403
+ "force",
1404
+ "removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt"
1405
+ ],
1406
+ [
1407
+ "s",
1408
+ "silent",
1409
+ "skip confirmation"
1521
1410
  ]
1522
1411
  ],
1523
- "description": "import components into your workspace",
1524
- "extendedDescription": "https://bit.dev/docs/components/importing-components\nyou can use a pattern for multiple ids, such as bit import \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
1412
+ "description": "remove component(s) from the workspace, or a remote scope",
1413
+ "extendedDescription": "",
1525
1414
  "group": "collaborate",
1526
1415
  "private": false,
1527
- "remoteOp": true
1416
+ "remoteOp": true,
1417
+ "skipWorkspace": true,
1418
+ "arguments": [
1419
+ {
1420
+ "name": "component-pattern",
1421
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
1422
+ }
1423
+ ]
1528
1424
  },
1529
1425
  {
1530
- "name": "create <templateName> <componentNames...>",
1426
+ "name": "insights [names...]",
1531
1427
  "alias": "",
1532
1428
  "options": [
1533
1429
  [
1534
- "n",
1535
- "namespace <string>",
1536
- "sets the component's namespace and nested dirs inside the scope"
1537
- ],
1538
- [
1539
- "s",
1540
- "scope <string>",
1541
- "sets the component's scope-name. if not entered, the default-scope will be used"
1542
- ],
1543
- [
1544
- "a",
1545
- "aspect <string>",
1546
- "aspect-id of the template. helpful when multiple aspects use the same template name"
1547
- ],
1548
- [
1549
- "p",
1550
- "path <string>",
1551
- "relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`"
1430
+ "l",
1431
+ "list",
1432
+ "list all insights"
1552
1433
  ],
1553
1434
  [
1554
- "e",
1555
- "env <string>",
1556
- "set the component's environment. (overrides the env from variants and the template)"
1435
+ "j",
1436
+ "json",
1437
+ "return the insights in json format"
1557
1438
  ]
1558
1439
  ],
1559
- "description": "create a new component from a template",
1440
+ "description": "Insights on component graph",
1560
1441
  "extendedDescription": "",
1561
1442
  "group": "development",
1562
- "private": false
1443
+ "private": true
1563
1444
  },
1564
1445
  {
1565
- "name": "templates",
1446
+ "name": "component-issues",
1566
1447
  "alias": "",
1567
1448
  "options": [
1568
1449
  [
1569
- "s",
1570
- "show-all",
1571
- "show hidden templates"
1450
+ "j",
1451
+ "json",
1452
+ "json format"
1572
1453
  ]
1573
1454
  ],
1574
- "description": "list templates for \"bit create\" and \"bit new\"",
1575
- "extendedDescription": "list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)",
1455
+ "description": "list available component-issues",
1456
+ "extendedDescription": "",
1576
1457
  "group": "development",
1577
1458
  "private": false
1578
1459
  },
1579
1460
  {
1580
- "name": "new <templateName> <workspaceName>",
1581
- "alias": "",
1461
+ "name": "tag [component-patterns...]",
1462
+ "alias": "t",
1582
1463
  "options": [
1583
1464
  [
1584
- "a",
1585
- "aspect <string>",
1586
- "aspect-id of the template. mandatory for non-core aspects. helpful for core aspects in case of a name collision"
1465
+ "m",
1466
+ "message <message>",
1467
+ "a log message describing latest changes"
1587
1468
  ],
1588
1469
  [
1589
- "d",
1590
- "default-scope <string>",
1591
- "set defaultScope in the new workspace.jsonc"
1470
+ "",
1471
+ "unmodified",
1472
+ "include unmodified components (by default, only new and modified components are tagged)"
1592
1473
  ],
1593
1474
  [
1594
1475
  "",
1595
- "standalone",
1596
- "DEPRECATED. use --skip-git instead"
1476
+ "editor [editor]",
1477
+ "EXPERIMENTAL. open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim)."
1597
1478
  ],
1598
1479
  [
1599
- "s",
1600
- "skip-git",
1601
- "skip generation of Git repository"
1480
+ "v",
1481
+ "ver <version>",
1482
+ "tag with the given version"
1602
1483
  ],
1603
1484
  [
1604
- "e",
1605
- "empty",
1606
- "empty workspace with no components (relevant for templates that add components by default)"
1485
+ "l",
1486
+ "increment <level>",
1487
+ "options are: [major, premajor, minor, preminor, patch, prepatch, prerelease], default to patch"
1607
1488
  ],
1608
1489
  [
1609
1490
  "",
1610
- "load-from <string>",
1611
- "path to the workspace containing the template. helpful during a development of a workspace-template"
1612
- ]
1613
- ],
1614
- "description": "Create a new workspace from a template",
1615
- "extendedDescription": "",
1616
- "group": "start",
1617
- "private": false
1618
- },
1619
- {
1620
- "name": "build [pattern]",
1621
- "alias": "",
1622
- "options": [
1491
+ "prerelease-id <id>",
1492
+ "prerelease identifier (e.g. \"dev\" to get \"1.0.0-dev.1\")"
1493
+ ],
1623
1494
  [
1624
- "a",
1625
- "all",
1626
- "build all components, not only modified and new"
1495
+ "p",
1496
+ "patch",
1497
+ "syntactic sugar for \"--increment patch\""
1627
1498
  ],
1628
1499
  [
1629
- "d",
1630
- "dev",
1631
- "run the pipeline in dev mode"
1500
+ "",
1501
+ "minor",
1502
+ "syntactic sugar for \"--increment minor\""
1632
1503
  ],
1633
1504
  [
1634
1505
  "",
1635
- "install",
1636
- "install core aspects in capsules"
1506
+ "major",
1507
+ "syntactic sugar for \"--increment major\""
1637
1508
  ],
1638
1509
  [
1639
1510
  "",
1640
- "reuse-capsules",
1641
- "avoid deleting the capsules root-dir before starting the build"
1642
- ],
1643
- [
1644
- "",
1645
- "tasks <string>",
1646
- "build the specified task(s) only. for multiple tasks, separate by a comma and wrap with quotes.\nspecify the task-name (e.g. \"TypescriptCompiler\") or the task-aspect-id (e.g. teambit.compilation/compiler)"
1647
- ],
1648
- [
1649
- "",
1650
- "cache-packages-on-capsule-root",
1651
- "set the package-manager cache on the capsule root"
1652
- ],
1653
- [
1654
- "",
1655
- "list-tasks <string>",
1656
- "list tasks of an env or a component-id for each one of the pipelines: build, tag and snap"
1657
- ]
1658
- ],
1659
- "description": "run set of tasks for build",
1660
- "extendedDescription": "",
1661
- "group": "development",
1662
- "private": false
1663
- },
1664
- {
1665
- "name": "artifacts <pattern...>",
1666
- "alias": "",
1667
- "options": [
1668
- [
1669
- "",
1670
- "aspect <aspect-id>",
1671
- "show/download only artifacts generated by this aspect-id"
1672
- ],
1673
- [
1674
- "",
1675
- "task <task-id>",
1676
- "show/download only artifacts generated by this task-id"
1677
- ],
1678
- [
1679
- "",
1680
- "files <glob>",
1681
- "show/download only artifacts matching the given files or the glob pattern (wrap glob patterns in quotes)"
1682
- ],
1683
- [
1684
- "",
1685
- "out-dir <string>",
1686
- "download the files to the specified dir"
1687
- ]
1688
- ],
1689
- "description": "EXPERIMENTAL. list and download components artifacts",
1690
- "extendedDescription": "artifacts are created on isolated capsules during tag or snap commands.\nexample of artifacts are dists files generated by a compiler, a JUnit.xml file generated by a tester\nand a package.tgz file generated by pkg aspect.\n",
1691
- "group": "development",
1692
- "private": false
1693
- },
1694
- {
1695
- "name": "pack <componentId> [scopePath]",
1696
- "alias": "",
1697
- "options": [
1698
- [
1699
- "d",
1700
- "out-dir <out-dir>",
1701
- "directory to put the result tar file"
1702
- ],
1703
- [
1704
- "o",
1705
- "override",
1706
- "override existing pack file"
1707
- ],
1708
- [
1709
- "k",
1710
- "keep",
1711
- "should keep isolated environment [default = false]"
1712
- ],
1713
- [
1714
- "p",
1715
- "prefix",
1716
- "keep custom (binding) prefix"
1717
- ],
1718
- [
1719
- "j",
1720
- "json",
1721
- "return the output as JSON"
1722
- ]
1723
- ],
1724
- "description": "create tar for npm publish",
1725
- "extendedDescription": "",
1726
- "group": "collaborate",
1727
- "private": false
1728
- },
1729
- {
1730
- "name": "publish <componentId>",
1731
- "alias": "",
1732
- "options": [
1733
- [
1734
- "d",
1735
- "dry-run",
1736
- "npm publish --dry-run"
1737
- ],
1738
- [
1739
- "",
1740
- "allow-staged",
1741
- "allow publish components that were not exported yet (not recommended)"
1742
- ],
1743
- [
1744
- "j",
1745
- "json",
1746
- "return the output as JSON"
1747
- ]
1748
- ],
1749
- "description": "publish components to npm (npm publish)",
1750
- "extendedDescription": "",
1751
- "group": "collaborate",
1752
- "private": true
1753
- },
1754
- {
1755
- "name": "refactor <sub-command>",
1756
- "alias": "",
1757
- "options": [],
1758
- "description": "EXPERIMENTAL. source code refactoring / codemod",
1759
- "extendedDescription": "",
1760
- "group": "development",
1761
- "private": false,
1762
- "commands": [
1763
- {
1764
- "name": "dependency-name <old-id> <new-id>",
1765
- "alias": "",
1766
- "options": [],
1767
- "description": "replace the dependency's old package-name with a new one in the code",
1768
- "extendedDescription": "the `<old-id>` and `<new-id>` arguments can be either a component-id or a package-name.",
1769
- "group": "development",
1770
- "private": false
1771
- }
1772
- ]
1773
- },
1774
- {
1775
- "name": "component-issues",
1776
- "alias": "",
1777
- "options": [
1778
- [
1779
- "j",
1780
- "json",
1781
- "json format"
1782
- ]
1783
- ],
1784
- "description": "list available component-issues",
1785
- "extendedDescription": "",
1786
- "group": "development",
1787
- "private": false
1788
- },
1789
- {
1790
- "name": "insights [names...]",
1791
- "alias": "",
1792
- "options": [
1793
- [
1794
- "l",
1795
- "list",
1796
- "list all insights"
1797
- ],
1798
- [
1799
- "j",
1800
- "json",
1801
- "return the insights in json format"
1802
- ]
1803
- ],
1804
- "description": "Insights on component graph",
1805
- "extendedDescription": "",
1806
- "group": "development",
1807
- "private": true
1808
- },
1809
- {
1810
- "name": "tag [id...]",
1811
- "alias": "t",
1812
- "options": [
1813
- [
1814
- "m",
1815
- "message <message>",
1816
- "log message describing the user changes"
1817
- ],
1818
- [
1819
- "",
1820
- "unmodified",
1821
- "include unmodified components (by default, only new and modified components are tagged)"
1822
- ],
1823
- [
1824
- "",
1825
- "editor [editor]",
1826
- "EXPERIMENTAL. open an editor to edit the tag messages per component, optionally specify the editor-name, default to vim"
1827
- ],
1828
- [
1829
- "v",
1830
- "ver <version>",
1831
- "tag with the given version"
1832
- ],
1833
- [
1834
- "p",
1835
- "patch",
1836
- "increment the patch version number"
1837
- ],
1838
- [
1839
- "",
1840
- "minor",
1841
- "increment the minor version number"
1842
- ],
1843
- [
1844
- "",
1845
- "major",
1846
- "increment the major version number"
1511
+ "pre-release [identifier]",
1512
+ "syntactic sugar for \"--increment prerelease\" and `--prerelease-id <identifier>`"
1847
1513
  ],
1848
1514
  [
1849
1515
  "",
1850
1516
  "snapped",
1851
- "tag components that their head is a snap (not a tag)"
1517
+ "EXPERIMENTAL. tag components that their head is a snap (not a tag)"
1852
1518
  ],
1853
1519
  [
1854
1520
  "",
1855
- "pre-release [identifier]",
1856
- "EXPERIMENTAL. increment a pre-release version (e.g. 1.0.0-dev.1)"
1521
+ "unmerged",
1522
+ "EXPERIMENTAL. complete a merge process by tagging the unmerged components"
1857
1523
  ],
1858
1524
  [
1859
1525
  "",
@@ -1893,7 +1559,7 @@
1893
1559
  [
1894
1560
  "i",
1895
1561
  "ignore-issues [issues]",
1896
- "ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[MissingPackagesDependenciesOnFs, MissingComponents, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingLinks, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, MissingCustomModuleResolutionLinks, ImportNonMainFiles, CustomModuleResolutionUsed, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\"."
1562
+ "ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[MissingPackagesDependenciesOnFs, MissingComponents, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, ImportNonMainFiles, CustomModuleResolutionUsed, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\"."
1897
1563
  ],
1898
1564
  [
1899
1565
  "I",
@@ -1926,26 +1592,43 @@
1926
1592
  "DEPRECATED. use --disable-tag-pipeline instead"
1927
1593
  ]
1928
1594
  ],
1929
- "description": "record component changes and lock versions",
1930
- "extendedDescription": "if no ids are provided, it will tag all new and modified components.\nif component ids are entered, you can specify a version per id using \"@\" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major\nhttps://bit.dev/components/tags\nyou can use a pattern for multiple ids, such as bit tag \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
1595
+ "description": "create an immutable and exportable component snapshot, tagged with a release version.",
1596
+ "extendedDescription": "if no patterns are provided, it will tag all new and modified components.\nif patterns are entered, you can specify a version per pattern using \"@\" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major",
1931
1597
  "group": "development",
1932
1598
  "private": false,
1933
- "remoteOp": true
1599
+ "remoteOp": true,
1600
+ "arguments": [
1601
+ {
1602
+ "name": "component-patterns...",
1603
+ "description": "a list of component names, IDs or patterns (separated by space). run \"bit pattern --help\" to get more data about patterns. By default, all modified are tagged."
1604
+ }
1605
+ ],
1606
+ "examples": [
1607
+ {
1608
+ "cmd": "tag --ver 1.0.0",
1609
+ "description": "tag all components to version 1.0.0"
1610
+ }
1611
+ ]
1934
1612
  },
1935
1613
  {
1936
- "name": "snap [id]",
1614
+ "name": "snap [component-pattern]",
1937
1615
  "alias": "",
1938
1616
  "options": [
1939
1617
  [
1940
1618
  "m",
1941
1619
  "message <message>",
1942
- "log message describing the user changes"
1620
+ "log message describing the latest changes"
1943
1621
  ],
1944
1622
  [
1945
1623
  "",
1946
1624
  "unmodified",
1947
1625
  "include unmodified components (by default, only new and modified components are snapped)"
1948
1626
  ],
1627
+ [
1628
+ "",
1629
+ "unmerged",
1630
+ "EXPERIMENTAL. complete a merge process by snapping the unmerged components"
1631
+ ],
1949
1632
  [
1950
1633
  "",
1951
1634
  "build",
@@ -1974,7 +1657,7 @@
1974
1657
  [
1975
1658
  "i",
1976
1659
  "ignore-issues [issues]",
1977
- "ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[MissingPackagesDependenciesOnFs, MissingComponents, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingLinks, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, MissingCustomModuleResolutionLinks, ImportNonMainFiles, CustomModuleResolutionUsed, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\"."
1660
+ "ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[MissingPackagesDependenciesOnFs, MissingComponents, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, ImportNonMainFiles, CustomModuleResolutionUsed, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\"."
1978
1661
  ],
1979
1662
  [
1980
1663
  "a",
@@ -1987,10 +1670,56 @@
1987
1670
  "DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-snap even if tests are failing and even when component has not changed"
1988
1671
  ]
1989
1672
  ],
1990
- "description": "record component changes.\nhttps://bit.dev/components/snaps\nyou can use a pattern for multiple ids, such as bit snap \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
1991
- "extendedDescription": "",
1673
+ "description": "EXPERIMENTAL. create an immutable and exportable component snapshot (no release version)",
1674
+ "extendedDescription": "https://bit.dev/components/snaps\nyou can use a pattern for multiple ids, such as bit snap \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
1992
1675
  "group": "ungrouped",
1993
- "private": true
1676
+ "private": true,
1677
+ "arguments": [
1678
+ {
1679
+ "name": "component-pattern",
1680
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes. By default, all new and modified components are snapped."
1681
+ }
1682
+ ]
1683
+ },
1684
+ {
1685
+ "name": "reset [component-pattern]",
1686
+ "alias": "",
1687
+ "options": [
1688
+ [
1689
+ "a",
1690
+ "all",
1691
+ "revert tag/snap for all tagged/snapped components"
1692
+ ],
1693
+ [
1694
+ "",
1695
+ "head",
1696
+ "revert the head tag/snap only (by default, all local tags/snaps are reverted)"
1697
+ ],
1698
+ [
1699
+ "",
1700
+ "soft",
1701
+ "revert only soft-tags (components tagged with --soft flag)"
1702
+ ],
1703
+ [
1704
+ "f",
1705
+ "force",
1706
+ "revert the tag even if used as a dependency. WARNING: components that depend on this tag will corrupt"
1707
+ ]
1708
+ ],
1709
+ "description": "revert tagged or snapped versions for component(s)",
1710
+ "extendedDescription": "https://bit.dev/docs/components/tags#undoing-a-tag",
1711
+ "group": "development",
1712
+ "private": false,
1713
+ "arguments": [
1714
+ {
1715
+ "name": "component-pattern",
1716
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
1717
+ },
1718
+ {
1719
+ "name": "component-version",
1720
+ "description": "the version to untag (semver for tags. hash for snaps)"
1721
+ }
1722
+ ]
1994
1723
  },
1995
1724
  {
1996
1725
  "name": "merge [values...]",
@@ -2031,6 +1760,16 @@
2031
1760
  "build",
2032
1761
  "in case of snap during the merge, run the build-pipeline (similar to bit snap --build)"
2033
1762
  ],
1763
+ [
1764
+ "",
1765
+ "verbose",
1766
+ "show details of components that were not merged legitimately"
1767
+ ],
1768
+ [
1769
+ "",
1770
+ "skip-dependency-installation",
1771
+ "do not install packages of the imported components"
1772
+ ],
2034
1773
  [
2035
1774
  "m",
2036
1775
  "message <message>",
@@ -2043,738 +1782,1506 @@
2043
1782
  "private": false
2044
1783
  },
2045
1784
  {
2046
- "name": "status",
2047
- "alias": "s",
2048
- "options": [
2049
- [
2050
- "j",
2051
- "json",
2052
- "return a json version of the component"
2053
- ],
2054
- [
2055
- "",
2056
- "strict",
2057
- "in case issues found, exit with code 1"
2058
- ]
2059
- ],
2060
- "description": "show the working area component(s) status",
2061
- "extendedDescription": "https://bit.dev/docs/workspace/workspace-status",
2062
- "group": "development",
2063
- "private": false
2064
- },
2065
- {
2066
- "name": "compile [component...]",
1785
+ "name": "lane [lane-name]",
2067
1786
  "alias": "",
2068
1787
  "options": [
2069
1788
  [
2070
- "c",
2071
- "changed",
2072
- "compile only new and modified components"
2073
- ],
2074
- [
2075
- "v",
2076
- "verbose",
2077
- "show more data, such as, dist paths"
1789
+ "d",
1790
+ "details",
1791
+ "show more details on the state of each component in each lane"
2078
1792
  ],
2079
1793
  [
2080
1794
  "j",
2081
1795
  "json",
2082
- "return the compile results in json format"
1796
+ "show lanes details in json format"
2083
1797
  ],
2084
1798
  [
2085
- "d",
2086
- "delete-dist-dir",
2087
- "delete existing dist folder before writing new compiled files"
2088
- ]
2089
- ],
2090
- "description": "compile components in the development workspace",
2091
- "extendedDescription": "",
2092
- "group": "development",
2093
- "private": false
2094
- },
2095
- {
2096
- "name": "run <app>",
2097
- "alias": "c",
2098
- "options": [
2099
- [
2100
- "d",
2101
- "dev",
2102
- "start the application in dev mode."
1799
+ "r",
1800
+ "remote <string>",
1801
+ "show remote lanes"
2103
1802
  ],
2104
1803
  [
2105
- "v",
2106
- "verbose",
2107
- "showing verbose output for inspection and prints stack trace"
1804
+ "",
1805
+ "merged",
1806
+ "show merged lanes"
2108
1807
  ],
2109
1808
  [
2110
1809
  "",
2111
- "skip-watch",
2112
- "avoid running the watch process that compiles components in the background"
2113
- ]
2114
- ],
2115
- "description": "run an application",
2116
- "extendedDescription": "",
2117
- "group": "apps",
2118
- "private": false
2119
- },
2120
- {
2121
- "name": "app-list",
2122
- "alias": "",
2123
- "options": [
2124
- [
2125
- "j",
2126
- "json",
2127
- "return the component data in json format"
1810
+ "not-merged",
1811
+ "show not merged lanes"
2128
1812
  ]
2129
1813
  ],
2130
- "description": "DEPRECATED. use \"bit app list\"",
2131
- "extendedDescription": "",
2132
- "group": "apps",
2133
- "private": true
2134
- },
2135
- {
2136
- "name": "app <sub-command>",
2137
- "alias": "",
2138
- "options": [],
2139
- "description": "manage applications",
1814
+ "description": "show lanes details\nhttps://bit.dev/docs/components/lanes",
2140
1815
  "extendedDescription": "",
2141
- "group": "apps",
2142
- "private": false,
1816
+ "group": "ungrouped",
1817
+ "private": true,
1818
+ "remoteOp": true,
1819
+ "skipWorkspace": true,
2143
1820
  "commands": [
2144
1821
  {
2145
1822
  "name": "list",
2146
1823
  "alias": "",
2147
1824
  "options": [
1825
+ [
1826
+ "d",
1827
+ "details",
1828
+ "show more details on the state of each component in each lane"
1829
+ ],
2148
1830
  [
2149
1831
  "j",
2150
1832
  "json",
2151
- "return the component data in json format"
1833
+ "show lanes details in a json format"
1834
+ ],
1835
+ [
1836
+ "r",
1837
+ "remote <remote-scope-name>",
1838
+ "show remote lanes"
1839
+ ],
1840
+ [
1841
+ "",
1842
+ "merged",
1843
+ "show merged lanes"
1844
+ ],
1845
+ [
1846
+ "",
1847
+ "not-merged",
1848
+ "show lanes that are not merged"
2152
1849
  ]
2153
1850
  ],
2154
- "description": "list all registered applications",
1851
+ "description": "list lanes",
2155
1852
  "extendedDescription": "",
2156
- "group": "apps",
2157
- "private": false
2158
- }
2159
- ]
2160
- },
2161
- {
2162
- "name": "test [pattern]",
2163
- "alias": "at",
2164
- "options": [
2165
- [
2166
- "w",
2167
- "watch",
2168
- "start the tester in watch mode."
2169
- ],
2170
- [
2171
- "d",
2172
- "debug",
2173
- "start the tester in debug mode."
2174
- ],
2175
- [
2176
- "a",
2177
- "all",
2178
- "test all components, not only new and modified"
2179
- ],
2180
- [
2181
- "",
2182
- "junit <filepath>",
2183
- "write tests results as JUnit XML format into the specified file path"
2184
- ],
2185
- [
2186
- "",
2187
- "coverage",
2188
- "show code coverage data"
2189
- ],
2190
- [
2191
- "e",
2192
- "env <id>",
2193
- "test only the given env"
2194
- ],
2195
- [
2196
- "s",
2197
- "scope <scope>",
2198
- "name of the scope to test"
2199
- ]
2200
- ],
2201
- "description": "test set of components in your workspace",
2202
- "extendedDescription": "",
2203
- "group": "development",
2204
- "private": false
2205
- },
2206
- {
2207
- "name": "schema <pattern>",
2208
- "alias": "",
2209
- "options": [
2210
- [
2211
- "j",
2212
- "json",
2213
- "return the component data in json format"
2214
- ]
2215
- ],
2216
- "description": "shows the API schema of a certain component.",
2217
- "extendedDescription": "you can use a `<pattern>` for multiple component ids, such as `bit schema \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n",
2218
- "group": "development",
2219
- "private": false
2220
- },
2221
- {
2222
- "name": "check-types [pattern]",
2223
- "alias": "",
2224
- "options": [
2225
- [
2226
- "a",
2227
- "all",
2228
- "check-types for all components, not only modified and new"
2229
- ],
2230
- [
2231
- "",
2232
- "strict",
2233
- "in case issues found, exit with code 1"
2234
- ]
2235
- ],
2236
- "description": "check typescript types",
2237
- "extendedDescription": "",
2238
- "group": "development",
2239
- "private": false
2240
- },
2241
- {
2242
- "name": "aspect <sub-command>",
2243
- "alias": "",
2244
- "options": [],
2245
- "description": "EXPERIMENTAL. manage aspects",
2246
- "extendedDescription": "",
2247
- "group": "development",
2248
- "private": false,
2249
- "commands": [
1853
+ "group": "ungrouped",
1854
+ "private": true,
1855
+ "remoteOp": true,
1856
+ "skipWorkspace": true
1857
+ },
2250
1858
  {
2251
- "name": "list [pattern]",
1859
+ "name": "switch <lane>",
2252
1860
  "alias": "",
2253
1861
  "options": [
2254
1862
  [
2255
- "d",
2256
- "debug",
2257
- "show the origins were the aspects were taken from"
1863
+ "n",
1864
+ "alias <string>",
1865
+ "relevant when the specified lane is a remote late. name a local lane differently than the remote lane"
1866
+ ],
1867
+ [
1868
+ "m",
1869
+ "merge [strategy]",
1870
+ "merge local changes with the checked out version. strategy should be \"theirs\", \"ours\" or \"manual\""
1871
+ ],
1872
+ [
1873
+ "a",
1874
+ "get-all",
1875
+ "checkout all components in a lane include ones that do not exist in the workspace"
1876
+ ],
1877
+ [
1878
+ "",
1879
+ "skip-dependency-installation",
1880
+ "do not install packages of the imported components"
1881
+ ],
1882
+ [
1883
+ "j",
1884
+ "json",
1885
+ "return the output as JSON"
2258
1886
  ]
2259
1887
  ],
2260
- "description": "list all aspects configured on component(s)",
2261
- "extendedDescription": "you can use a `<pattern>` for multiple component ids, such as `bit aspect list \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n",
2262
- "group": "development",
2263
- "private": false
1888
+ "description": "switch to the specified lane",
1889
+ "extendedDescription": "",
1890
+ "group": "ungrouped",
1891
+ "private": true
2264
1892
  },
2265
1893
  {
2266
- "name": "get <component-id>",
1894
+ "name": "show <lane-name>",
2267
1895
  "alias": "",
2268
1896
  "options": [
2269
- [
2270
- "d",
2271
- "debug",
2272
- "show the origins were the aspects were taken from"
2273
- ],
2274
1897
  [
2275
1898
  "j",
2276
1899
  "json",
2277
- "format as json"
1900
+ "show the lane details in json format"
1901
+ ],
1902
+ [
1903
+ "r",
1904
+ "remote <string>",
1905
+ "show remote lanes"
2278
1906
  ]
2279
1907
  ],
2280
- "description": "show aspects' data and configuration of the given component",
1908
+ "description": "show lane details",
2281
1909
  "extendedDescription": "",
2282
- "group": "development",
2283
- "private": false
1910
+ "group": "ungrouped",
1911
+ "private": true,
1912
+ "remoteOp": true,
1913
+ "skipWorkspace": true
2284
1914
  },
2285
1915
  {
2286
- "name": "set <pattern> <aspect-id> [config]",
1916
+ "name": "create <lane-name>",
1917
+ "alias": "",
1918
+ "options": [
1919
+ [
1920
+ "",
1921
+ "remote-scope <scope-name>",
1922
+ "remote scope where this lane will be exported to, default to the defaultScope (can be changed later with \"bit lane change-scope\")"
1923
+ ],
1924
+ [
1925
+ "",
1926
+ "alias <name>",
1927
+ "a local alias to refer to this lane, defaults to the <lane-name> (can be added later with \"bit lane alias\")"
1928
+ ]
1929
+ ],
1930
+ "description": "creates a new lane and switches to it",
1931
+ "extendedDescription": "a lane created from main (default-lane) is empty until components are snapped.\na lane created from another lane has all the components of the original lane.",
1932
+ "group": "ungrouped",
1933
+ "private": true,
1934
+ "arguments": [
1935
+ {
1936
+ "name": "lane-name",
1937
+ "description": "the name for the new lane"
1938
+ }
1939
+ ]
1940
+ },
1941
+ {
1942
+ "name": "remove <lanes...>",
1943
+ "alias": "",
1944
+ "options": [
1945
+ [
1946
+ "r",
1947
+ "remote",
1948
+ "remove a remote lane (in the lane arg, use remote/lane-id syntax)"
1949
+ ],
1950
+ [
1951
+ "f",
1952
+ "force",
1953
+ "removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt"
1954
+ ],
1955
+ [
1956
+ "s",
1957
+ "silent",
1958
+ "skip confirmation"
1959
+ ]
1960
+ ],
1961
+ "description": "remove lanes",
1962
+ "extendedDescription": "",
1963
+ "group": "ungrouped",
1964
+ "private": true,
1965
+ "arguments": [
1966
+ {
1967
+ "name": "lanes...",
1968
+ "description": "A list of lane names, separated by spaces"
1969
+ }
1970
+ ]
1971
+ },
1972
+ {
1973
+ "name": "change-scope <lane-name> <remote-scope-name>",
2287
1974
  "alias": "",
2288
1975
  "options": [],
2289
- "description": "set an aspect to component(s) with optional config.",
2290
- "extendedDescription": "enter the config as stringified JSON (e.g. '{\"foo\":\"bar\"}' ).\nif no config entered, the aspect will be set with empty config ({}).\nyou can use a `<pattern>` for multiple component ids, such as `bit aspect set \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n",
2291
- "group": "development",
2292
- "private": false
1976
+ "description": "changes the remote scope of a lane",
1977
+ "extendedDescription": "",
1978
+ "group": "ungrouped",
1979
+ "private": true
2293
1980
  },
2294
1981
  {
2295
- "name": "unset <pattern> <aspect-id>",
1982
+ "name": "alias <lane-name> <alias>",
2296
1983
  "alias": "",
2297
1984
  "options": [],
2298
- "description": "unset an aspect from component(s).",
2299
- "extendedDescription": "you can use a `<pattern>` for multiple component ids, such as `bit aspect unset \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n",
2300
- "group": "development",
2301
- "private": false
1985
+ "description": "adds an alias to a lane",
1986
+ "extendedDescription": "an alias is a name that can be used to refer to a lane. it is saved locally and never reach the remote.\nit is useful when having multiple lanes with the same name, but with different remote scopes.",
1987
+ "group": "ungrouped",
1988
+ "private": true
1989
+ },
1990
+ {
1991
+ "name": "rename <current-name> <new-name>",
1992
+ "alias": "",
1993
+ "options": [],
1994
+ "description": "EXPERIMENTAL. change the lane-name locally and on the remote (if exported)",
1995
+ "extendedDescription": "",
1996
+ "group": "ungrouped",
1997
+ "private": true
1998
+ },
1999
+ {
2000
+ "name": "diff [values...]",
2001
+ "alias": "",
2002
+ "options": [
2003
+ [
2004
+ "",
2005
+ "pattern <component-pattern>",
2006
+ "EXPERIMENTAL. show lane-diff for the specified component-pattern only"
2007
+ ]
2008
+ ],
2009
+ "description": "show diff between lanes",
2010
+ "extendedDescription": "bit lane diff => diff between the current lane and default lane. (only inside workspace).\nbit lane diff to => diff between the current lane (or default-lane when in scope) and \"to\" lane.\nbit lane diff from to => diff between \"from\" lane and \"to\" lane.",
2011
+ "group": "ungrouped",
2012
+ "private": true,
2013
+ "remoteOp": true,
2014
+ "skipWorkspace": true
2015
+ },
2016
+ {
2017
+ "name": "add-readme <component-name> [lane-name]",
2018
+ "alias": "",
2019
+ "options": [],
2020
+ "description": "EXPERIMENTAL. adds a readme component to a lane",
2021
+ "extendedDescription": "",
2022
+ "group": "ungrouped",
2023
+ "private": true,
2024
+ "skipWorkspace": false,
2025
+ "arguments": [
2026
+ {
2027
+ "name": "component-id",
2028
+ "description": "the component name or id of the component to use as the lane's readme"
2029
+ },
2030
+ {
2031
+ "name": "lane-name",
2032
+ "description": "the lane to attach the readme to (defaults to the current lane)"
2033
+ }
2034
+ ]
2035
+ },
2036
+ {
2037
+ "name": "remove-readme [laneName]",
2038
+ "alias": "",
2039
+ "options": [],
2040
+ "description": "EXPERIMENTAL. remove lane readme component",
2041
+ "extendedDescription": "",
2042
+ "group": "ungrouped",
2043
+ "private": true,
2044
+ "skipWorkspace": false
2045
+ },
2046
+ {
2047
+ "name": "import <lane>",
2048
+ "alias": "",
2049
+ "options": [
2050
+ [
2051
+ "",
2052
+ "skip-dependency-installation",
2053
+ "do not install packages of the imported components"
2054
+ ]
2055
+ ],
2056
+ "description": "import a remote lane to your workspace",
2057
+ "extendedDescription": "",
2058
+ "group": "ungrouped",
2059
+ "private": true,
2060
+ "arguments": [
2061
+ {
2062
+ "name": "lane",
2063
+ "description": "the remote lane name"
2064
+ }
2065
+ ]
2066
+ },
2067
+ {
2068
+ "name": "merge <lane> [pattern]",
2069
+ "alias": "",
2070
+ "options": [
2071
+ [
2072
+ "",
2073
+ "ours",
2074
+ "in case of a conflict, override the used version with the current modification"
2075
+ ],
2076
+ [
2077
+ "",
2078
+ "theirs",
2079
+ "in case of a conflict, override the current modification with the specified version"
2080
+ ],
2081
+ [
2082
+ "",
2083
+ "manual",
2084
+ "in case of a conflict, leave the files with a conflict state to resolve them manually later"
2085
+ ],
2086
+ [
2087
+ "",
2088
+ "workspace",
2089
+ "merge only components in a lane that exist in the workspace"
2090
+ ],
2091
+ [
2092
+ "",
2093
+ "no-snap",
2094
+ "do not auto snap in case the merge completed without conflicts"
2095
+ ],
2096
+ [
2097
+ "",
2098
+ "build",
2099
+ "in case of snap during the merge, run the build-pipeline (similar to bit snap --build)"
2100
+ ],
2101
+ [
2102
+ "m",
2103
+ "message <message>",
2104
+ "override the default message for the auto snap"
2105
+ ],
2106
+ [
2107
+ "",
2108
+ "keep-readme",
2109
+ "skip deleting the lane readme component after merging"
2110
+ ],
2111
+ [
2112
+ "",
2113
+ "no-squash",
2114
+ "EXPERIMENTAL. relevant for merging lanes into main, which by default squash."
2115
+ ],
2116
+ [
2117
+ "",
2118
+ "ignore-config-changes",
2119
+ "allow merging when component are modified due to config changes (such as dependencies) only and not files"
2120
+ ],
2121
+ [
2122
+ "",
2123
+ "verbose",
2124
+ "show details of components that were not merged legitimately"
2125
+ ],
2126
+ [
2127
+ "",
2128
+ "skip-dependency-installation",
2129
+ "do not install packages of the imported components"
2130
+ ],
2131
+ [
2132
+ "",
2133
+ "remote",
2134
+ "relevant when the target-lane locally is differ than the remote and you want the remote"
2135
+ ],
2136
+ [
2137
+ "",
2138
+ "include-deps",
2139
+ "EXPERIMENTAL. relevant for \"--pattern\" and \"--workspace\". merge also dependencies of the given components"
2140
+ ],
2141
+ [
2142
+ "",
2143
+ "resolve-unrelated [merge-strategy]",
2144
+ "EXPERIMENTAL. relevant when a component on a lane and the component on main has nothing in common. merge-strategy can be \"ours\" (default) or \"theirs\""
2145
+ ]
2146
+ ],
2147
+ "description": "merge a local or a remote lane",
2148
+ "extendedDescription": "if the <lane> exists locally, it will be merged from the local lane.\notherwise, it will fetch the lane from the remote and merge it.\nin case the <lane> exists locally but you want to merge the remote version of it, use --remote flag",
2149
+ "private": true,
2150
+ "remoteOp": true,
2151
+ "arguments": [
2152
+ {
2153
+ "name": "lane",
2154
+ "description": "lane-name or lane-id (if not exists locally) to merge to the current lane"
2155
+ },
2156
+ {
2157
+ "name": "pattern",
2158
+ "description": "EXPERIMENTAL. partially merge the lane with the specified component-pattern"
2159
+ }
2160
+ ]
2161
+ }
2162
+ ]
2163
+ },
2164
+ {
2165
+ "name": "switch <lane>",
2166
+ "alias": "",
2167
+ "options": [
2168
+ [
2169
+ "n",
2170
+ "alias <string>",
2171
+ "relevant when the specified lane is a remote late. name a local lane differently than the remote lane"
2172
+ ],
2173
+ [
2174
+ "m",
2175
+ "merge [strategy]",
2176
+ "merge local changes with the checked out version. strategy should be \"theirs\", \"ours\" or \"manual\""
2177
+ ],
2178
+ [
2179
+ "a",
2180
+ "get-all",
2181
+ "checkout all components in a lane include ones that do not exist in the workspace"
2182
+ ],
2183
+ [
2184
+ "",
2185
+ "skip-dependency-installation",
2186
+ "do not install packages of the imported components"
2187
+ ],
2188
+ [
2189
+ "j",
2190
+ "json",
2191
+ "return the output as JSON"
2192
+ ]
2193
+ ],
2194
+ "description": "switch to the specified lane",
2195
+ "extendedDescription": "",
2196
+ "group": "ungrouped",
2197
+ "private": true
2198
+ },
2199
+ {
2200
+ "name": "dependencies <sub-command>",
2201
+ "alias": "deps",
2202
+ "options": [],
2203
+ "description": "manage dependencies",
2204
+ "extendedDescription": "",
2205
+ "group": "info",
2206
+ "private": false,
2207
+ "commands": [
2208
+ {
2209
+ "name": "get <component-name>",
2210
+ "alias": "",
2211
+ "options": [
2212
+ [
2213
+ "t",
2214
+ "tree",
2215
+ "EXPERIMENTAL. render dependencies as a tree, similar to \"npm ls\""
2216
+ ]
2217
+ ],
2218
+ "description": "show direct and indirect dependencies of the given component",
2219
+ "extendedDescription": "",
2220
+ "group": "info",
2221
+ "private": false,
2222
+ "arguments": [
2223
+ {
2224
+ "name": "component-name",
2225
+ "description": "component name or component id"
2226
+ }
2227
+ ]
2228
+ },
2229
+ {
2230
+ "name": "remove <component-pattern> <package...>",
2231
+ "alias": "",
2232
+ "options": [],
2233
+ "description": "remove a dependency to component(s)",
2234
+ "extendedDescription": "",
2235
+ "group": "info",
2236
+ "private": false,
2237
+ "arguments": [
2238
+ {
2239
+ "name": "component-pattern",
2240
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
2241
+ },
2242
+ {
2243
+ "name": "package",
2244
+ "description": "package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will remove all lodash instances of any version"
2245
+ }
2246
+ ]
2247
+ },
2248
+ {
2249
+ "name": "debug <component-name>",
2250
+ "alias": "",
2251
+ "options": [],
2252
+ "description": "show the immediate dependencies and how their versions were determined",
2253
+ "extendedDescription": "",
2254
+ "group": "info",
2255
+ "private": false,
2256
+ "arguments": [
2257
+ {
2258
+ "name": "component-name",
2259
+ "description": "component name or component id"
2260
+ }
2261
+ ]
2262
+ },
2263
+ {
2264
+ "name": "set <component-pattern> <package...>",
2265
+ "alias": "",
2266
+ "options": [
2267
+ [
2268
+ "d",
2269
+ "dev",
2270
+ "add to the devDependencies"
2271
+ ],
2272
+ [
2273
+ "p",
2274
+ "peer",
2275
+ "add to the peerDependencies"
2276
+ ]
2277
+ ],
2278
+ "description": "set a dependency to component(s)",
2279
+ "extendedDescription": "",
2280
+ "group": "info",
2281
+ "private": false,
2282
+ "arguments": [
2283
+ {
2284
+ "name": "component-pattern",
2285
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
2286
+ },
2287
+ {
2288
+ "name": "package",
2289
+ "description": "package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will be resolved to the latest"
2290
+ }
2291
+ ]
2292
+ }
2293
+ ]
2294
+ },
2295
+ {
2296
+ "name": "list [remote-scope]",
2297
+ "alias": "ls",
2298
+ "options": [
2299
+ [
2300
+ "i",
2301
+ "ids",
2302
+ "show only component ids unformatted"
2303
+ ],
2304
+ [
2305
+ "s",
2306
+ "scope",
2307
+ "show only components stored in the local scope, including indirect dependencies"
2308
+ ],
2309
+ [
2310
+ "o",
2311
+ "outdated",
2312
+ "show latest versions from remotes"
2313
+ ],
2314
+ [
2315
+ "j",
2316
+ "json",
2317
+ "show the output in JSON format"
2318
+ ],
2319
+ [
2320
+ "n",
2321
+ "namespace <string>",
2322
+ "show only specified namespace by using wildcards"
2323
+ ]
2324
+ ],
2325
+ "description": "list components on a workspace, local scope or a remote scope.",
2326
+ "extendedDescription": "https://bit.dev/docs/reference/cli-reference#list",
2327
+ "group": "discover",
2328
+ "private": false,
2329
+ "remoteOp": true,
2330
+ "skipWorkspace": true
2331
+ },
2332
+ {
2333
+ "name": "import [component-patterns...]",
2334
+ "alias": "",
2335
+ "options": [
2336
+ [
2337
+ "p",
2338
+ "path <path>",
2339
+ "import components into a specific directory (a relative path in the workspace)"
2340
+ ],
2341
+ [
2342
+ "o",
2343
+ "objects",
2344
+ "import components objects to the local scope without checkout (without writing them to the file system). This is a default behavior for import with no id argument"
2345
+ ],
2346
+ [
2347
+ "d",
2348
+ "display-dependencies",
2349
+ "display the imported dependencies"
2350
+ ],
2351
+ [
2352
+ "O",
2353
+ "override",
2354
+ "override local changes"
2355
+ ],
2356
+ [
2357
+ "v",
2358
+ "verbose",
2359
+ "show verbose output for inspection"
2360
+ ],
2361
+ [
2362
+ "j",
2363
+ "json",
2364
+ "return the output as JSON"
2365
+ ],
2366
+ [
2367
+ "",
2368
+ "conf",
2369
+ "write the configuration file (component.json) of the component"
2370
+ ],
2371
+ [
2372
+ "",
2373
+ "skip-npm-install",
2374
+ "DEPRECATED. use \"--skip-dependency-installation\" instead"
2375
+ ],
2376
+ [
2377
+ "",
2378
+ "skip-dependency-installation",
2379
+ "do not install packages of the imported components"
2380
+ ],
2381
+ [
2382
+ "m",
2383
+ "merge [strategy]",
2384
+ "merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\""
2385
+ ],
2386
+ [
2387
+ "",
2388
+ "dependencies",
2389
+ "EXPERIMENTAL. import all dependencies and write them to the workspace"
2390
+ ],
2391
+ [
2392
+ "",
2393
+ "dependents",
2394
+ "EXPERIMENTAL. import the components' dependents. this enables changes to propagate from (modified) components to their dependents"
2395
+ ],
2396
+ [
2397
+ "",
2398
+ "save-in-lane",
2399
+ "EXPERIMENTAL. when checked out to a lane and the component is not on the remote-lane, save it in the lane (default to save on main)"
2400
+ ],
2401
+ [
2402
+ "",
2403
+ "all-history",
2404
+ "relevant for fetching all components objects. avoid optimizations, fetch all history versions, always"
2405
+ ]
2406
+ ],
2407
+ "description": "import components from their remote scopes to the local workspace",
2408
+ "extendedDescription": "https://bit.dev/docs/components/importing-components\nyou can use a pattern for multiple ids, such as bit import \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
2409
+ "group": "collaborate",
2410
+ "private": false,
2411
+ "remoteOp": true,
2412
+ "arguments": [
2413
+ {
2414
+ "name": "component-patterns...",
2415
+ "description": "component IDs or component patterns (separated by space). Use patterns to import groups of components using a common scope or namespace. E.g., \"utils/*\" (wrap with double quotes)"
2416
+ }
2417
+ ]
2418
+ },
2419
+ {
2420
+ "name": "create <template-name> <component-names...>",
2421
+ "alias": "",
2422
+ "options": [
2423
+ [
2424
+ "n",
2425
+ "namespace <string>",
2426
+ "sets the component's namespace and nested dirs inside the scope"
2427
+ ],
2428
+ [
2429
+ "s",
2430
+ "scope <string>",
2431
+ "sets the component's scope-name. if not entered, the default-scope will be used"
2432
+ ],
2433
+ [
2434
+ "a",
2435
+ "aspect <string>",
2436
+ "aspect-id of the template. helpful when multiple aspects use the same template name"
2437
+ ],
2438
+ [
2439
+ "p",
2440
+ "path <string>",
2441
+ "relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`"
2442
+ ],
2443
+ [
2444
+ "e",
2445
+ "env <string>",
2446
+ "set the component's environment. (overrides the env from variants and the template)"
2447
+ ]
2448
+ ],
2449
+ "description": "create a new component (source files and config) using a template.",
2450
+ "extendedDescription": "",
2451
+ "group": "development",
2452
+ "private": false,
2453
+ "arguments": [
2454
+ {
2455
+ "name": "template-name",
2456
+ "description": "the template for generating the component \n(run 'bit templates' for a list of available templates)"
2457
+ },
2458
+ {
2459
+ "name": "component-names...",
2460
+ "description": "a list of component names to generate"
2461
+ }
2462
+ ],
2463
+ "examples": [
2464
+ {
2465
+ "cmd": "bit create react ui/button",
2466
+ "description": "creates a component named 'ui/button' using the 'react' template"
2467
+ },
2468
+ {
2469
+ "cmd": "bit create react ui/button pages/register",
2470
+ "description": "creates two components, 'ui/button' and 'pages/register', using the 'react' template"
2471
+ },
2472
+ {
2473
+ "cmd": "bit create react ui/button --scope my-org.my-scope",
2474
+ "description": "creates a component named 'ui/button' and sets it scope to 'my-org.my-scope'. \nby default, the scope is the `defaultScope` value, configured in your `workspace.jsonc`."
2475
+ },
2476
+ {
2477
+ "cmd": "bit create react ui/button --env teambit.community/envs/community-react@1.95.13",
2478
+ "description": "creates a component named 'ui/button' and sets it to use the 'community-react' env. \n(the template's default env is 'teambit.react/react')."
2479
+ }
2480
+ ]
2481
+ },
2482
+ {
2483
+ "name": "templates",
2484
+ "alias": "",
2485
+ "options": [
2486
+ [
2487
+ "s",
2488
+ "show-all",
2489
+ "show hidden templates"
2490
+ ]
2491
+ ],
2492
+ "description": "list templates for \"bit create\" and \"bit new\"",
2493
+ "extendedDescription": "list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)",
2494
+ "group": "development",
2495
+ "private": false
2496
+ },
2497
+ {
2498
+ "name": "new <template-name> <workspace-name>",
2499
+ "alias": "",
2500
+ "options": [
2501
+ [
2502
+ "a",
2503
+ "aspect <aspect-id>",
2504
+ "aspect-id of the template. mandatory for non-core aspects. helpful for core aspects in case of a name collision"
2505
+ ],
2506
+ [
2507
+ "d",
2508
+ "default-scope <scope-name>",
2509
+ "set defaultScope in the new workspace.jsonc"
2510
+ ],
2511
+ [
2512
+ "",
2513
+ "standalone",
2514
+ "DEPRECATED. use --skip-git instead"
2515
+ ],
2516
+ [
2517
+ "s",
2518
+ "skip-git",
2519
+ "skip generation of Git repository"
2520
+ ],
2521
+ [
2522
+ "e",
2523
+ "empty",
2524
+ "empty workspace with no components (relevant for templates that add components by default)"
2525
+ ],
2526
+ [
2527
+ "",
2528
+ "load-from <path-to-template>",
2529
+ "path to the workspace containing the template. helpful during a development of a workspace-template"
2530
+ ]
2531
+ ],
2532
+ "description": "create a new workspace from a template",
2533
+ "extendedDescription": "",
2534
+ "group": "start",
2535
+ "private": false,
2536
+ "arguments": [
2537
+ {
2538
+ "name": "template-name",
2539
+ "description": "the name of the workspace template (run 'bit templates', outside of a workspace, to get a list of available templates)"
2302
2540
  },
2303
2541
  {
2304
- "name": "update <aspect-id> [pattern]",
2305
- "alias": "",
2306
- "options": [],
2307
- "description": "update a version of an aspect",
2308
- "extendedDescription": "default to all components using the aspect, unless \"pattern\" is provided.\nyou can use a `<pattern>` for multiple component ids, such as `bit aspect update <aspect-id> \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n\nexamples:\n\"bit aspect update scope.org/aspect '**/ui/**'\" - update \"ui\" components that use scope.org/aspect to the latest version\n\"bit aspect update scope.org/aspect@2.0.0\" - updates all components using scope.org/aspect to version 2.0.0.",
2309
- "group": "development",
2310
- "private": false
2542
+ "name": "workspace-name",
2543
+ "description": "the name for the new workspace and workspace directory"
2311
2544
  }
2312
2545
  ]
2313
2546
  },
2314
2547
  {
2315
- "name": "clear-cache",
2316
- "alias": "cc",
2548
+ "name": "build [component-pattern]",
2549
+ "alias": "",
2317
2550
  "options": [
2318
2551
  [
2319
- "r",
2320
- "remote <remote-name>",
2321
- "clear memory cache from a remote scope"
2552
+ "a",
2553
+ "all",
2554
+ "build all components, not only modified and new"
2555
+ ],
2556
+ [
2557
+ "d",
2558
+ "dev",
2559
+ "run the pipeline in dev mode"
2560
+ ],
2561
+ [
2562
+ "",
2563
+ "install",
2564
+ "install core aspects in capsules"
2565
+ ],
2566
+ [
2567
+ "",
2568
+ "reuse-capsules",
2569
+ "avoid deleting the capsules root-dir before starting the build"
2570
+ ],
2571
+ [
2572
+ "",
2573
+ "tasks <string>",
2574
+ "build the specified task(s) only. for multiple tasks, separate by a comma and wrap with quotes.\nspecify the task-name (e.g. \"TypescriptCompiler\") or the task-aspect-id (e.g. teambit.compilation/compiler)"
2575
+ ],
2576
+ [
2577
+ "",
2578
+ "cache-packages-on-capsule-root",
2579
+ "set the package-manager cache on the capsule root"
2580
+ ],
2581
+ [
2582
+ "",
2583
+ "list-tasks <string>",
2584
+ "list tasks of an env or a component-id for each one of the pipelines: build, tag and snap"
2322
2585
  ]
2323
2586
  ],
2324
- "description": "clears Bit's cache from current working machine",
2325
- "extendedDescription": "The following gets removed by this command:\n1) V8 compiled code (generated the first time Bit is loaded by v8-compile-cache package)\n2) components cache on the filesystem (mainly the dependencies graph and docs)\n3) scope's index file, which maps the component-id:object-hash\nhttps://bit.dev/docs/workspace/clearing-cache",
2326
- "group": "general",
2587
+ "description": "run set of tasks for build",
2588
+ "extendedDescription": "",
2589
+ "group": "development",
2327
2590
  "private": false,
2328
- "skipWorkspace": true
2591
+ "arguments": [
2592
+ {
2593
+ "name": "component-pattern",
2594
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
2595
+ }
2596
+ ]
2329
2597
  },
2330
2598
  {
2331
- "name": "log <id>",
2599
+ "name": "artifacts <component-pattern>",
2332
2600
  "alias": "",
2333
2601
  "options": [
2334
2602
  [
2335
- "r",
2336
- "remote",
2337
- "show log of a remote component"
2603
+ "",
2604
+ "aspect <aspect-id>",
2605
+ "show/download only artifacts generated by this aspect-id"
2338
2606
  ],
2339
2607
  [
2340
2608
  "",
2341
- "parents",
2342
- "EXPERIMENTAL. show parents and lanes data"
2609
+ "task <task-id>",
2610
+ "show/download only artifacts generated by this task-id"
2611
+ ],
2612
+ [
2613
+ "",
2614
+ "files <glob>",
2615
+ "show/download only artifacts matching the given files or the glob pattern (wrap glob patterns in quotes)"
2616
+ ],
2617
+ [
2618
+ "",
2619
+ "out-dir <string>",
2620
+ "download the files to the specified dir"
2343
2621
  ]
2344
2622
  ],
2345
- "description": "show components(s) version history",
2346
- "extendedDescription": "https://bit.dev/docs/reference/cli-reference#log",
2347
- "group": "info",
2623
+ "description": "EXPERIMENTAL. list and download components artifacts",
2624
+ "extendedDescription": "artifacts are created on isolated capsules during tag or snap commands.\nexample of artifacts are dists files generated by a compiler, a JUnit.xml file generated by a tester\nand a package.tgz file generated by pkg aspect.\n",
2625
+ "group": "development",
2348
2626
  "private": false,
2349
- "remoteOp": true,
2350
- "skipWorkspace": true
2627
+ "arguments": [
2628
+ {
2629
+ "name": "component-pattern",
2630
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
2631
+ }
2632
+ ]
2351
2633
  },
2352
2634
  {
2353
- "name": "deprecate <id>",
2354
- "alias": "d",
2635
+ "name": "pack <componentId> [scopePath]",
2636
+ "alias": "",
2637
+ "options": [
2638
+ [
2639
+ "d",
2640
+ "out-dir <out-dir>",
2641
+ "directory to put the result tar file"
2642
+ ],
2643
+ [
2644
+ "o",
2645
+ "override",
2646
+ "override existing pack file"
2647
+ ],
2648
+ [
2649
+ "k",
2650
+ "keep",
2651
+ "should keep isolated environment [default = false]"
2652
+ ],
2653
+ [
2654
+ "p",
2655
+ "prefix",
2656
+ "keep custom (binding) prefix"
2657
+ ],
2658
+ [
2659
+ "j",
2660
+ "json",
2661
+ "return the output as JSON"
2662
+ ]
2663
+ ],
2664
+ "description": "create tar for npm publish",
2665
+ "extendedDescription": "",
2666
+ "group": "collaborate",
2667
+ "private": false
2668
+ },
2669
+ {
2670
+ "name": "publish <component-pattern>",
2671
+ "alias": "",
2355
2672
  "options": [
2673
+ [
2674
+ "d",
2675
+ "dry-run",
2676
+ "npm publish --dry-run"
2677
+ ],
2356
2678
  [
2357
2679
  "",
2358
- "new-id <string>",
2359
- "if replaced by another component, enter the new component id"
2680
+ "allow-staged",
2681
+ "allow publish components that were not exported yet (not recommended)"
2682
+ ],
2683
+ [
2684
+ "j",
2685
+ "json",
2686
+ "return the output as JSON"
2360
2687
  ]
2361
2688
  ],
2362
- "description": "deprecate a component",
2689
+ "description": "publish components to npm (npm publish)",
2363
2690
  "extendedDescription": "",
2364
2691
  "group": "collaborate",
2365
- "private": false,
2366
- "remoteOp": true,
2367
- "skipWorkspace": true
2692
+ "private": true,
2693
+ "arguments": [
2694
+ {
2695
+ "name": "component-pattern",
2696
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
2697
+ }
2698
+ ]
2368
2699
  },
2369
2700
  {
2370
- "name": "undeprecate <id>",
2701
+ "name": "refactor <sub-command>",
2371
2702
  "alias": "",
2372
2703
  "options": [],
2373
- "description": "undeprecate a deprecated component (local/remote)",
2704
+ "description": "EXPERIMENTAL. source code refactoring / codemod",
2374
2705
  "extendedDescription": "",
2375
- "group": "collaborate",
2706
+ "group": "development",
2376
2707
  "private": false,
2377
- "remoteOp": true,
2378
- "skipWorkspace": true
2708
+ "commands": [
2709
+ {
2710
+ "name": "dependency-name <old-id> <new-id>",
2711
+ "alias": "",
2712
+ "options": [],
2713
+ "description": "replace the dependency's old package-name with a new one in the code",
2714
+ "extendedDescription": "the `<old-id>` and `<new-id>` arguments can be either a component-id or a package-name.",
2715
+ "group": "development",
2716
+ "private": false
2717
+ }
2718
+ ]
2379
2719
  },
2380
2720
  {
2381
- "name": "rename <source-name> <target-name>",
2382
- "alias": "",
2721
+ "name": "status",
2722
+ "alias": "s",
2383
2723
  "options": [
2384
2724
  [
2385
- "s",
2386
- "scope <string>",
2387
- "default scope for the newly created component"
2725
+ "j",
2726
+ "json",
2727
+ "return a json version of the component"
2388
2728
  ],
2389
2729
  [
2390
- "p",
2391
- "path <string>",
2392
- "relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`"
2730
+ "",
2731
+ "verbose",
2732
+ "show full snap hashes"
2393
2733
  ],
2394
2734
  [
2395
- "r",
2396
- "refactor",
2397
- "change the source code of all components using this component with the new package-name"
2735
+ "",
2736
+ "strict",
2737
+ "in case issues found, exit with code 1"
2398
2738
  ]
2399
2739
  ],
2400
- "description": "EXPERIMENTAL. rename component. if tagged/exported, create a new component and deprecate the source-component",
2401
- "extendedDescription": "the `<target-name>` should include the component-name only, without the scope-name.\nto assign a default-scope to this component, please use \"--scope\" flag",
2402
- "group": "collaborate",
2403
- "private": false,
2404
- "remoteOp": true,
2405
- "skipWorkspace": true
2740
+ "description": "present the current status of components in the workspace, and notifies when issues are detected",
2741
+ "extendedDescription": "",
2742
+ "group": "development",
2743
+ "private": false
2406
2744
  },
2407
2745
  {
2408
- "name": "fork <source-id> [target-name]",
2746
+ "name": "compile [component-names...]",
2409
2747
  "alias": "",
2410
2748
  "options": [
2411
2749
  [
2412
- "s",
2413
- "scope <string>",
2414
- "default scope for the newly created component"
2750
+ "c",
2751
+ "changed",
2752
+ "compile only new and modified components"
2415
2753
  ],
2416
2754
  [
2417
- "p",
2418
- "path <string>",
2419
- "relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`"
2755
+ "v",
2756
+ "verbose",
2757
+ "show more data, such as, dist paths"
2420
2758
  ],
2421
2759
  [
2422
- "r",
2423
- "refactor",
2424
- "change the source code of all components using the original component with the new package-name"
2760
+ "j",
2761
+ "json",
2762
+ "return the compile results in json format"
2763
+ ],
2764
+ [
2765
+ "d",
2766
+ "delete-dist-dir",
2767
+ "delete existing dist folder before writing new compiled files"
2425
2768
  ]
2426
2769
  ],
2427
- "description": "EXPERIMENTAL. create a new component out of an existing one",
2428
- "extendedDescription": "note that [target-name] is the name only without the scope.\nto set the default-scope, please use --scope flag",
2429
- "group": "collaborate",
2770
+ "description": "compile components in the workspace",
2771
+ "extendedDescription": "",
2772
+ "group": "development",
2430
2773
  "private": false,
2431
- "remoteOp": true,
2432
- "skipWorkspace": true
2774
+ "arguments": [
2775
+ {
2776
+ "name": "component-names...",
2777
+ "description": "a list of component names or component IDs (defaults to all components)"
2778
+ }
2779
+ ]
2433
2780
  },
2434
2781
  {
2435
- "name": "lane [name]",
2436
- "alias": "",
2782
+ "name": "run <app-name>",
2783
+ "alias": "c",
2437
2784
  "options": [
2438
2785
  [
2439
2786
  "d",
2440
- "details",
2441
- "show more details on the state of each component in each lane"
2787
+ "dev",
2788
+ "start the application in dev mode."
2789
+ ],
2790
+ [
2791
+ "v",
2792
+ "verbose",
2793
+ "showing verbose output for inspection and prints stack trace"
2794
+ ],
2795
+ [
2796
+ "",
2797
+ "skip-watch",
2798
+ "avoid running the watch process that compiles components in the background"
2442
2799
  ],
2800
+ [
2801
+ "",
2802
+ "ssr",
2803
+ "run app in server side rendering mode."
2804
+ ]
2805
+ ],
2806
+ "description": "run an app (independent of bit's dev server)",
2807
+ "extendedDescription": "",
2808
+ "group": "apps",
2809
+ "private": false,
2810
+ "arguments": [
2811
+ {
2812
+ "name": "app-name",
2813
+ "description": "the app's name is registered by the app (run 'bit app list' to list the names of the available apps)"
2814
+ }
2815
+ ]
2816
+ },
2817
+ {
2818
+ "name": "app-list",
2819
+ "alias": "",
2820
+ "options": [
2443
2821
  [
2444
2822
  "j",
2445
2823
  "json",
2446
- "show lanes details in json format"
2447
- ],
2448
- [
2449
- "r",
2450
- "remote <string>",
2451
- "show remote lanes"
2452
- ],
2453
- [
2454
- "",
2455
- "merged",
2456
- "show merged lanes"
2457
- ],
2458
- [
2459
- "",
2460
- "not-merged",
2461
- "show not merged lanes"
2824
+ "return the component data in json format"
2462
2825
  ]
2463
2826
  ],
2464
- "description": "show lanes details\nhttps://bit.dev/docs/components/lanes",
2827
+ "description": "DEPRECATED. use \"bit app list\"",
2465
2828
  "extendedDescription": "",
2466
- "group": "ungrouped",
2467
- "private": true,
2468
- "remoteOp": true,
2469
- "skipWorkspace": true,
2829
+ "group": "apps",
2830
+ "private": true
2831
+ },
2832
+ {
2833
+ "name": "app <sub-command>",
2834
+ "alias": "",
2835
+ "options": [],
2836
+ "description": "Manages apps",
2837
+ "extendedDescription": "",
2838
+ "group": "apps",
2839
+ "private": false,
2470
2840
  "commands": [
2471
2841
  {
2472
2842
  "name": "list",
2473
2843
  "alias": "",
2474
2844
  "options": [
2475
- [
2476
- "d",
2477
- "details",
2478
- "show more details on the state of each component in each lane"
2479
- ],
2480
2845
  [
2481
2846
  "j",
2482
2847
  "json",
2483
- "show lanes details in json format"
2484
- ],
2485
- [
2486
- "r",
2487
- "remote <string>",
2488
- "show remote lanes"
2489
- ],
2490
- [
2491
- "",
2492
- "merged",
2493
- "show merged lanes"
2494
- ],
2495
- [
2496
- "",
2497
- "not-merged",
2498
- "show not merged lanes"
2848
+ "return the component data in json format"
2499
2849
  ]
2500
2850
  ],
2501
- "description": "list lanes",
2851
+ "description": "list all registered apps",
2502
2852
  "extendedDescription": "",
2503
- "group": "ungrouped",
2504
- "private": true,
2505
- "remoteOp": true,
2506
- "skipWorkspace": true
2853
+ "group": "apps",
2854
+ "private": false
2507
2855
  },
2508
2856
  {
2509
- "name": "switch <lane>",
2510
- "alias": "",
2857
+ "name": "run <app-name>",
2858
+ "alias": "c",
2511
2859
  "options": [
2512
2860
  [
2513
- "n",
2514
- "alias <string>",
2515
- "relevant when the specified lane is a remote late. name a local lane differently than the remote lane"
2516
- ],
2517
- [
2518
- "m",
2519
- "merge [strategy]",
2520
- "merge local changes with the checked out version. strategy should be \"theirs\", \"ours\" or \"manual\""
2861
+ "d",
2862
+ "dev",
2863
+ "start the application in dev mode."
2521
2864
  ],
2522
2865
  [
2523
- "a",
2524
- "get-all",
2525
- "checkout all components in a lane include ones that do not exist in the workspace"
2866
+ "v",
2867
+ "verbose",
2868
+ "showing verbose output for inspection and prints stack trace"
2526
2869
  ],
2527
2870
  [
2528
2871
  "",
2529
- "skip-dependency-installation",
2530
- "do not install packages of the imported components"
2872
+ "skip-watch",
2873
+ "avoid running the watch process that compiles components in the background"
2531
2874
  ],
2532
2875
  [
2533
- "j",
2534
- "json",
2535
- "return the output as JSON"
2876
+ "",
2877
+ "ssr",
2878
+ "run app in server side rendering mode."
2536
2879
  ]
2537
2880
  ],
2538
- "description": "switch to the specified lane",
2881
+ "description": "run an app (independent of bit's dev server)",
2539
2882
  "extendedDescription": "",
2540
- "group": "ungrouped",
2541
- "private": true
2542
- },
2883
+ "group": "apps",
2884
+ "private": false,
2885
+ "arguments": [
2886
+ {
2887
+ "name": "app-name",
2888
+ "description": "the app's name is registered by the app (run 'bit app list' to list the names of the available apps)"
2889
+ }
2890
+ ]
2891
+ }
2892
+ ]
2893
+ },
2894
+ {
2895
+ "name": "test [component-pattern]",
2896
+ "alias": "at",
2897
+ "options": [
2898
+ [
2899
+ "w",
2900
+ "watch",
2901
+ "start the tester in watch mode."
2902
+ ],
2903
+ [
2904
+ "d",
2905
+ "debug",
2906
+ "start the tester in debug mode."
2907
+ ],
2908
+ [
2909
+ "a",
2910
+ "all",
2911
+ "test all components, not only new and modified"
2912
+ ],
2913
+ [
2914
+ "",
2915
+ "junit <filepath>",
2916
+ "write tests results as JUnit XML format into the specified file path"
2917
+ ],
2918
+ [
2919
+ "",
2920
+ "coverage",
2921
+ "show code coverage data"
2922
+ ],
2923
+ [
2924
+ "e",
2925
+ "env <id>",
2926
+ "test only the given env"
2927
+ ],
2928
+ [
2929
+ "s",
2930
+ "scope <scope-name>",
2931
+ "DEPRECATED. (use the pattern instead, e.g. \"scopeName/**\"). name of the scope to test"
2932
+ ]
2933
+ ],
2934
+ "description": "test components in the workspace",
2935
+ "extendedDescription": "",
2936
+ "group": "development",
2937
+ "private": false,
2938
+ "arguments": [
2543
2939
  {
2544
- "name": "show <name>",
2545
- "alias": "",
2546
- "options": [
2547
- [
2548
- "j",
2549
- "json",
2550
- "show the lane details in json format"
2551
- ],
2552
- [
2553
- "r",
2554
- "remote <string>",
2555
- "show remote lanes"
2556
- ]
2557
- ],
2558
- "description": "show lane details",
2559
- "extendedDescription": "",
2560
- "group": "ungrouped",
2561
- "private": true,
2562
- "remoteOp": true,
2563
- "skipWorkspace": true
2564
- },
2940
+ "name": "component-pattern",
2941
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
2942
+ }
2943
+ ]
2944
+ },
2945
+ {
2946
+ "name": "schema <pattern>",
2947
+ "alias": "",
2948
+ "options": [
2949
+ [
2950
+ "j",
2951
+ "json",
2952
+ "return the component data in json format"
2953
+ ]
2954
+ ],
2955
+ "description": "shows the API schema of a certain component.",
2956
+ "extendedDescription": "you can use a `<pattern>` for multiple component ids, such as `bit schema \"org.scope/utils/**\"`.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nuse `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.\n",
2957
+ "group": "development",
2958
+ "private": false
2959
+ },
2960
+ {
2961
+ "name": "check-types [component-pattern]",
2962
+ "alias": "",
2963
+ "options": [
2964
+ [
2965
+ "a",
2966
+ "all",
2967
+ "check-types for all components, not only modified and new"
2968
+ ],
2969
+ [
2970
+ "",
2971
+ "strict",
2972
+ "in case issues found, exit with code 1"
2973
+ ]
2974
+ ],
2975
+ "description": "check typescript types",
2976
+ "extendedDescription": "",
2977
+ "group": "development",
2978
+ "private": false,
2979
+ "arguments": [
2565
2980
  {
2566
- "name": "create <name>",
2567
- "alias": "",
2568
- "options": [
2569
- [
2570
- "",
2571
- "remote-scope <string>",
2572
- "remote scope where this lane will be exported to, default to the defaultScope (can be changed later with \"bit lane change-scope\")"
2573
- ],
2574
- [
2575
- "",
2576
- "alias <string>",
2577
- "a local alias to refer to this lane, default to the <name> (can be added later with \"bit lane alias\")"
2578
- ]
2579
- ],
2580
- "description": "create and switch to a new lane",
2581
- "extendedDescription": "a lane created from main (default-lane) is empty until components are snapped.\na lane created from another lane has all the components of the original lane.",
2582
- "group": "ungrouped",
2583
- "private": true
2584
- },
2981
+ "name": "component-pattern",
2982
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components.\nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
2983
+ }
2984
+ ]
2985
+ },
2986
+ {
2987
+ "name": "aspect <sub-command>",
2988
+ "alias": "",
2989
+ "options": [],
2990
+ "description": "EXPERIMENTAL. manage aspects",
2991
+ "extendedDescription": "",
2992
+ "group": "development",
2993
+ "private": false,
2994
+ "commands": [
2585
2995
  {
2586
- "name": "merge <lane>",
2996
+ "name": "list [pattern]",
2587
2997
  "alias": "",
2588
2998
  "options": [
2589
2999
  [
2590
- "",
2591
- "remote <name>",
2592
- "remote scope name"
2593
- ],
2594
- [
2595
- "",
2596
- "ours",
2597
- "in case of a conflict, override the used version with the current modification"
2598
- ],
2599
- [
2600
- "",
2601
- "theirs",
2602
- "in case of a conflict, override the current modification with the specified version"
2603
- ],
2604
- [
2605
- "",
2606
- "manual",
2607
- "in case of a conflict, leave the files with a conflict state to resolve them manually later"
2608
- ],
2609
- [
2610
- "",
2611
- "existing",
2612
- "checkout only components in a lane that exist in the workspace"
2613
- ],
2614
- [
2615
- "",
2616
- "no-snap",
2617
- "do not auto snap in case the merge completed without conflicts"
2618
- ],
2619
- [
2620
- "",
2621
- "build",
2622
- "in case of snap during the merge, run the build-pipeline (similar to bit snap --build)"
2623
- ],
2624
- [
2625
- "m",
2626
- "message <message>",
2627
- "override the default message for the auto snap"
2628
- ],
2629
- [
2630
- "",
2631
- "keep-readme",
2632
- "skip deleting the lane readme component after merging"
3000
+ "d",
3001
+ "debug",
3002
+ "show the origins were the aspects were taken from"
2633
3003
  ]
2634
3004
  ],
2635
- "description": "merge a local or a remote lane",
3005
+ "description": "list all aspects configured on component(s)",
2636
3006
  "extendedDescription": "",
2637
- "group": "ungrouped",
2638
- "private": true,
2639
- "remoteOp": true
3007
+ "group": "development",
3008
+ "private": false,
3009
+ "arguments": [
3010
+ {
3011
+ "name": "pattern",
3012
+ "description": "component name, component id, or component pattern. use component pattern to select multiple components. \nuse comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
3013
+ }
3014
+ ]
2640
3015
  },
2641
3016
  {
2642
- "name": "remove <lane...>",
3017
+ "name": "get <component-name>",
2643
3018
  "alias": "",
2644
3019
  "options": [
2645
3020
  [
2646
- "r",
2647
- "remote",
2648
- "remove a remote lane (in the lane arg, use remote/lane-id syntax)"
2649
- ],
2650
- [
2651
- "f",
2652
- "force",
2653
- "removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt"
3021
+ "d",
3022
+ "debug",
3023
+ "show the origins were the aspects were taken from"
2654
3024
  ],
2655
3025
  [
2656
- "s",
2657
- "silent",
2658
- "skip confirmation"
3026
+ "j",
3027
+ "json",
3028
+ "format as json"
2659
3029
  ]
2660
3030
  ],
2661
- "description": "remove lanes",
3031
+ "description": "list the aspects set on a component, as well as their config and data",
2662
3032
  "extendedDescription": "",
2663
- "group": "ungrouped",
2664
- "private": true
3033
+ "group": "development",
3034
+ "private": false,
3035
+ "arguments": [
3036
+ {
3037
+ "name": "component-name",
3038
+ "description": "the component name or component id"
3039
+ }
3040
+ ]
2665
3041
  },
2666
3042
  {
2667
- "name": "change-scope <lane-name> <remote-scope>",
3043
+ "name": "set <pattern> <aspect-id> [config]",
2668
3044
  "alias": "",
2669
- "options": [],
2670
- "description": "change the remote scope of a lane",
3045
+ "options": [
3046
+ [
3047
+ "m",
3048
+ "merge",
3049
+ "merge with an existing config if exits. (by default, it replaces the config)"
3050
+ ]
3051
+ ],
3052
+ "description": "set components with an aspect to extend their development tools, metadata and (possibly) artifacts",
2671
3053
  "extendedDescription": "",
2672
- "group": "ungrouped",
2673
- "private": true
3054
+ "group": "development",
3055
+ "private": false,
3056
+ "arguments": [
3057
+ {
3058
+ "name": "pattern",
3059
+ "description": "the components to extend. use component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\". wrap the pattern with quotes"
3060
+ },
3061
+ {
3062
+ "name": "aspect-id",
3063
+ "description": "the aspect's component id"
3064
+ },
3065
+ {
3066
+ "name": "config",
3067
+ "description": "the aspect config. enter the config as a stringified JSON (e.g. '{\"foo\":\"bar\"}' ). when no config is provided, an aspect is set with an empty config ({})."
3068
+ }
3069
+ ]
2674
3070
  },
2675
3071
  {
2676
- "name": "alias <lane-name> <alias>",
3072
+ "name": "unset <pattern> <aspect-id>",
2677
3073
  "alias": "",
2678
3074
  "options": [],
2679
- "description": "add an alias to a lane",
2680
- "extendedDescription": "an alias is a name that can be used to refer to a lane. it is saved locally and never reach the remote.\nit is useful when having multiple lanes with the same name, but with different remote scopes.",
2681
- "group": "ungrouped",
2682
- "private": true
3075
+ "description": "unset an aspect from component(s).",
3076
+ "extendedDescription": "",
3077
+ "group": "development",
3078
+ "private": false,
3079
+ "arguments": [
3080
+ {
3081
+ "name": "pattern",
3082
+ "description": "the components to target. use component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\". wrap the pattern with quotes"
3083
+ },
3084
+ {
3085
+ "name": "aspect-id",
3086
+ "description": "the aspect's component id"
3087
+ }
3088
+ ]
2683
3089
  },
2684
3090
  {
2685
- "name": "rename <current-name> <new-name>",
3091
+ "name": "update <aspect-id> [pattern]",
2686
3092
  "alias": "",
2687
3093
  "options": [],
2688
- "description": "EXPERIMENTAL. change the lane-name locally and on the remote (if exported)",
3094
+ "description": "update a version of an aspect",
2689
3095
  "extendedDescription": "",
2690
- "group": "ungrouped",
2691
- "private": true
2692
- },
3096
+ "group": "development",
3097
+ "private": false,
3098
+ "arguments": [
3099
+ {
3100
+ "name": "aspect-id",
3101
+ "description": "the aspect's component id. optionally, add a version (id@version), otherwise, it finds the latest version on the remote"
3102
+ },
3103
+ {
3104
+ "name": "pattern",
3105
+ "description": "the components to update (defaults to all components). use component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\". wrap the pattern with quotes"
3106
+ }
3107
+ ],
3108
+ "examples": [
3109
+ {
3110
+ "cmd": "update scope.org/aspect '**/ui/**'",
3111
+ "description": "update \"ui\" components that use scope.org/aspect to use its latest version"
3112
+ },
3113
+ {
3114
+ "cmd": "bit aspect update scope.org/aspect@2.0.0",
3115
+ "description": "update all components that use scope.org/aspect to version 2.0.0 (of this aspect)."
3116
+ }
3117
+ ]
3118
+ }
3119
+ ]
3120
+ },
3121
+ {
3122
+ "name": "clear-cache",
3123
+ "alias": "cc",
3124
+ "options": [
3125
+ [
3126
+ "r",
3127
+ "remote <remote-name>",
3128
+ "clear memory cache from a remote scope"
3129
+ ]
3130
+ ],
3131
+ "description": "clears Bit's cache from current working machine",
3132
+ "extendedDescription": "The following gets removed by this command:\n1) V8 compiled code (generated the first time Bit is loaded by v8-compile-cache package)\n2) components cache on the filesystem (mainly the dependencies graph and docs)\n3) scope's index file, which maps the component-id:object-hash\nhttps://bit.dev/docs/workspace/clearing-cache",
3133
+ "group": "general",
3134
+ "private": false,
3135
+ "skipWorkspace": true
3136
+ },
3137
+ {
3138
+ "name": "log <id>",
3139
+ "alias": "",
3140
+ "options": [
3141
+ [
3142
+ "r",
3143
+ "remote",
3144
+ "show log of a remote component"
3145
+ ],
3146
+ [
3147
+ "",
3148
+ "parents",
3149
+ "EXPERIMENTAL. show parents and lanes data"
3150
+ ],
3151
+ [
3152
+ "j",
3153
+ "json",
3154
+ "json format"
3155
+ ]
3156
+ ],
3157
+ "description": "show components(s) version history",
3158
+ "extendedDescription": "https://bit.dev/docs/reference/cli-reference#log",
3159
+ "group": "info",
3160
+ "private": false,
3161
+ "remoteOp": true,
3162
+ "skipWorkspace": true,
3163
+ "arguments": [
2693
3164
  {
2694
- "name": "diff [values...]",
2695
- "alias": "",
2696
- "options": [],
2697
- "description": "show diff between lanes",
2698
- "extendedDescription": "bit lane diff => diff between the current lane and default lane. (only inside workspace).\nbit lane diff to => diff between the current lane (or default-lane when in scope) and \"to\" lane.\nbit lane diff from to => diff between \"from\" lane and \"to\" lane.",
2699
- "group": "ungrouped",
2700
- "private": true,
2701
- "remoteOp": true,
2702
- "skipWorkspace": true
2703
- },
3165
+ "name": "id",
3166
+ "description": "component-id or component-name"
3167
+ }
3168
+ ]
3169
+ },
3170
+ {
3171
+ "name": "deprecate <component-name>",
3172
+ "alias": "d",
3173
+ "options": [
3174
+ [
3175
+ "",
3176
+ "new-id <string>",
3177
+ "if replaced by another component, enter the new component id"
3178
+ ]
3179
+ ],
3180
+ "description": "deprecate a component",
3181
+ "extendedDescription": "",
3182
+ "group": "collaborate",
3183
+ "private": false,
3184
+ "remoteOp": true,
3185
+ "skipWorkspace": true,
3186
+ "arguments": [
2704
3187
  {
2705
- "name": "add-readme <componentId> [laneName]",
2706
- "alias": "",
2707
- "options": [],
2708
- "description": "EXPERIMENTAL. add lane readme component",
2709
- "extendedDescription": "",
2710
- "group": "ungrouped",
2711
- "private": true,
2712
- "skipWorkspace": false
2713
- },
3188
+ "name": "component-name",
3189
+ "description": "component name or component id"
3190
+ }
3191
+ ]
3192
+ },
3193
+ {
3194
+ "name": "undeprecate <id>",
3195
+ "alias": "",
3196
+ "options": [],
3197
+ "description": "undeprecate a deprecated component (local/remote)",
3198
+ "extendedDescription": "",
3199
+ "group": "collaborate",
3200
+ "private": false,
3201
+ "remoteOp": true,
3202
+ "skipWorkspace": true
3203
+ },
3204
+ {
3205
+ "name": "rename <current-name> <new-name>",
3206
+ "alias": "",
3207
+ "options": [
3208
+ [
3209
+ "s",
3210
+ "scope <scope-name>",
3211
+ "default scope for the newly created component"
3212
+ ],
3213
+ [
3214
+ "p",
3215
+ "path <relative-path>",
3216
+ "relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`"
3217
+ ],
3218
+ [
3219
+ "r",
3220
+ "refactor",
3221
+ "update the import/require statements in all dependent components (in the same workspace)"
3222
+ ]
3223
+ ],
3224
+ "description": "EXPERIMENTAL. rename component. if tagged/exported, create a new component and deprecate the original component",
3225
+ "extendedDescription": "",
3226
+ "group": "collaborate",
3227
+ "private": false,
3228
+ "remoteOp": true,
3229
+ "skipWorkspace": true,
3230
+ "arguments": [
2714
3231
  {
2715
- "name": "remove-readme [laneName]",
2716
- "alias": "",
2717
- "options": [],
2718
- "description": "EXPERIMENTAL. remove lane readme component",
2719
- "extendedDescription": "",
2720
- "group": "ungrouped",
2721
- "private": true,
2722
- "skipWorkspace": false
3232
+ "name": "current-name",
3233
+ "description": "the current component name (without its scope name)"
2723
3234
  },
2724
3235
  {
2725
- "name": "import <lane>",
2726
- "alias": "",
2727
- "options": [
2728
- [
2729
- "",
2730
- "skip-dependency-installation",
2731
- "do not install packages of the imported components"
2732
- ]
2733
- ],
2734
- "description": "import a remote lane to your workspace",
2735
- "extendedDescription": "",
2736
- "group": "ungrouped",
2737
- "private": true
3236
+ "name": "new-name",
3237
+ "description": "the new component name (without its scope name)"
2738
3238
  }
2739
3239
  ]
2740
3240
  },
2741
3241
  {
2742
- "name": "switch <lane>",
3242
+ "name": "fork <source-component-id> [target-component-name]",
2743
3243
  "alias": "",
2744
3244
  "options": [
2745
3245
  [
2746
- "n",
2747
- "alias <string>",
2748
- "relevant when the specified lane is a remote late. name a local lane differently than the remote lane"
3246
+ "s",
3247
+ "scope <string>",
3248
+ "default scope for the new component"
2749
3249
  ],
2750
3250
  [
2751
- "m",
2752
- "merge [strategy]",
2753
- "merge local changes with the checked out version. strategy should be \"theirs\", \"ours\" or \"manual\""
3251
+ "p",
3252
+ "path <string>",
3253
+ "relative path in the workspace for the new component. by default the path is `<scope>/<namespace>/<name>`"
2754
3254
  ],
2755
3255
  [
2756
- "a",
2757
- "get-all",
2758
- "checkout all components in a lane include ones that do not exist in the workspace"
3256
+ "r",
3257
+ "refactor",
3258
+ "update the import/require statements in all dependent components (in the same workspace)"
2759
3259
  ],
2760
3260
  [
2761
3261
  "",
2762
3262
  "skip-dependency-installation",
2763
3263
  "do not install packages of the imported components"
2764
- ],
2765
- [
2766
- "j",
2767
- "json",
2768
- "return the output as JSON"
2769
3264
  ]
2770
3265
  ],
2771
- "description": "switch to the specified lane",
3266
+ "description": "EXPERIMENTAL. create a new component out of an existing one (copies source files and config)",
2772
3267
  "extendedDescription": "",
2773
- "group": "ungrouped",
2774
- "private": true
3268
+ "group": "collaborate",
3269
+ "private": false,
3270
+ "remoteOp": true,
3271
+ "skipWorkspace": true,
3272
+ "arguments": [
3273
+ {
3274
+ "name": "source-component-id",
3275
+ "description": "the component id of the source component"
3276
+ },
3277
+ {
3278
+ "name": "target-component-name",
3279
+ "description": "the name for the new component (component name without scope). to set a different scope, use the '--scope' flag"
3280
+ }
3281
+ ]
2775
3282
  },
2776
3283
  {
2777
- "name": "eject <pattern>",
3284
+ "name": "eject <component-pattern>",
2778
3285
  "alias": "E",
2779
3286
  "options": [
2780
3287
  [
@@ -2793,10 +3300,16 @@
2793
3300
  "keep the component files in the workspace intact"
2794
3301
  ]
2795
3302
  ],
2796
- "description": "replaces the components from the local scope with the corresponding packages",
2797
- "extendedDescription": "you can use a `<pattern>` for multiple component ids, such as `bit eject \"org.scope/utils/**\"`. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nalways wrap the pattern with quotes to avoid collision with shell commands.\nto validate the pattern before running this command, run `bit pattern <pattern>`.\n",
3303
+ "description": "replace components maintained in the workspace with their corresponding packages",
3304
+ "extendedDescription": "",
2798
3305
  "group": "development",
2799
- "private": false
3306
+ "private": false,
3307
+ "arguments": [
3308
+ {
3309
+ "name": "component-pattern",
3310
+ "description": "component name, component id, or component pattern.\nuse component pattern to select multiple components. use comma to separate patterns and \"!\" to exclude. e.g. \"ui/**, !ui/button\"\nwrap the pattern with quotes"
3311
+ }
3312
+ ]
2800
3313
  },
2801
3314
  {
2802
3315
  "name": "resume-export <export-id> <remotes...>",
@@ -2809,48 +3322,28 @@
2809
3322
  "remoteOp": true
2810
3323
  },
2811
3324
  {
2812
- "name": "export [remote] [id...]",
3325
+ "name": "export [component-patterns...]",
2813
3326
  "alias": "e",
2814
3327
  "options": [
2815
3328
  [
2816
3329
  "e",
2817
3330
  "eject",
2818
- "replaces the exported components from the local scope with the corresponding packages"
3331
+ "replace the exported components with their corresponding packages (to use these components without further maintaining them)"
2819
3332
  ],
2820
3333
  [
2821
3334
  "a",
2822
3335
  "all",
2823
- "export all components include non-staged"
2824
- ],
2825
- [
2826
- "d",
2827
- "include-dependencies",
2828
- "LEGACY ONLY. include the component's dependencies as part of the export to the remote scope"
2829
- ],
2830
- [
2831
- "s",
2832
- "set-current-scope",
2833
- "LEGACY ONLY. ensure the component's remote scope is set according to the target location"
2834
- ],
2835
- [
2836
- "r",
2837
- "rewire",
2838
- "LEGACY ONLY. when exporting to a different or new scope, replace import/require statements in the source code to match the new scope"
2839
- ],
2840
- [
2841
- "f",
2842
- "force",
2843
- "force changing a component remote without asking for a confirmation"
3336
+ "export all components, including non-staged (useful when components in the remote scope are corrupted or missing)"
2844
3337
  ],
2845
3338
  [
2846
3339
  "",
2847
3340
  "all-versions",
2848
- "export not only staged versions but all of them"
3341
+ "export not only staged versions but all of them (useful when versions in the remote scope are corrupted or missing)"
2849
3342
  ],
2850
3343
  [
2851
3344
  "",
2852
3345
  "origin-directly",
2853
- "HARMONY ONLY. avoid export to the central hub, instead, export directly to the original scopes. not recommended!"
3346
+ "EXPERIMENTAL. avoid export to the central hub, instead, export directly to the original scopes. not recommended!"
2854
3347
  ],
2855
3348
  [
2856
3349
  "",
@@ -2868,11 +3361,17 @@
2868
3361
  "show output in json format"
2869
3362
  ]
2870
3363
  ],
2871
- "description": "Export components to a remote scope",
2872
- "extendedDescription": "bit export => export all staged components to their current scope, if checked out to a lane, export the lane as well\n`bit export [id...]` => export the given ids to their current scope\n\nhttps://bit.dev/docs/components/exporting-components\nyou can use a pattern for multiple ids, such as bit export remote-scope \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
3364
+ "description": "export components from the workspace to remote scopes",
3365
+ "extendedDescription": "bit export => export all staged components to their current scope, if checked out to a lane, export the lane as well\n `bit export [id...]` => export the given ids to their current scope\n you can use a pattern for multiple ids, such as bit export remote-scope \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
2873
3366
  "group": "collaborate",
2874
3367
  "private": false,
2875
- "remoteOp": true
3368
+ "remoteOp": true,
3369
+ "arguments": [
3370
+ {
3371
+ "name": "component-patterns...",
3372
+ "description": "component IDs, component names, or component patterns (separated by space). Use patterns to export groups of components using a common scope or namespace. E.g., \"utils/*\" (wrap with double quotes)"
3373
+ }
3374
+ ]
2876
3375
  },
2877
3376
  {
2878
3377
  "name": "update-dependencies <data>",
@@ -2908,6 +3407,11 @@
2908
3407
  "email <string>",
2909
3408
  "email to be saved as part of the version log"
2910
3409
  ],
3410
+ [
3411
+ "",
3412
+ "lane <lane-id>",
3413
+ "helps to fetch the components from the lane scope (relevant for --multiple)"
3414
+ ],
2911
3415
  [
2912
3416
  "",
2913
3417
  "skip-new-scope-validation",