@teambit/harmony.content.cli-reference 1.95.54 → 1.95.57

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.
@@ -469,47 +469,6 @@
469
469
  "group": "development",
470
470
  "private": false
471
471
  },
472
- {
473
- "name": "remove <component-ids...>",
474
- "alias": "rm",
475
- "options": [
476
- [
477
- "r",
478
- "remote",
479
- "remove a component from a remote scope"
480
- ],
481
- [
482
- "t",
483
- "track",
484
- "keep tracking component in .bitmap (default = false), helps transform a tagged-component to new"
485
- ],
486
- [
487
- "d",
488
- "delete-files",
489
- "DEPRECATED (this is now the default). delete local component files"
490
- ],
491
- [
492
- "",
493
- "keep-files",
494
- "keep component files (just untrack the component)"
495
- ],
496
- [
497
- "f",
498
- "force",
499
- "removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt"
500
- ],
501
- [
502
- "s",
503
- "silent",
504
- "skip confirmation"
505
- ]
506
- ],
507
- "description": "remove component(s) from the workspace, or a remote scope",
508
- "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)",
509
- "group": "collaborate",
510
- "private": false,
511
- "skipWorkspace": true
512
- },
513
472
  {
514
473
  "name": "_delete <path> <args>",
515
474
  "alias": "",
@@ -839,21 +798,6 @@
839
798
  "group": "general",
840
799
  "private": false
841
800
  },
842
- {
843
- "name": "globals",
844
- "alias": "",
845
- "options": [
846
- [
847
- "j",
848
- "json",
849
- "json format"
850
- ]
851
- ],
852
- "description": "list all globals",
853
- "extendedDescription": "",
854
- "group": "workspace",
855
- "private": false
856
- },
857
801
  {
858
802
  "name": "show <component-name>",
859
803
  "alias": "",
@@ -990,6 +934,21 @@
990
934
  }
991
935
  ]
992
936
  },
937
+ {
938
+ "name": "globals",
939
+ "alias": "",
940
+ "options": [
941
+ [
942
+ "j",
943
+ "json",
944
+ "json format"
945
+ ]
946
+ ],
947
+ "description": "list all globals",
948
+ "extendedDescription": "",
949
+ "group": "workspace",
950
+ "private": false
951
+ },
993
952
  {
994
953
  "name": "start [type] [pattern]",
995
954
  "alias": "c",
@@ -1406,849 +1365,993 @@
1406
1365
  ]
1407
1366
  },
1408
1367
  {
1409
- "name": "dependencies <sub-command>",
1410
- "alias": "deps",
1411
- "options": [],
1412
- "description": "manage dependencies",
1413
- "extendedDescription": "",
1414
- "group": "info",
1415
- "private": false,
1416
- "commands": [
1417
- {
1418
- "name": "get <component-name>",
1419
- "alias": "",
1420
- "options": [
1421
- [
1422
- "t",
1423
- "tree",
1424
- "EXPERIMENTAL. render dependencies as a tree, similar to \"npm ls\""
1425
- ]
1426
- ],
1427
- "description": "show direct and indirect dependencies of the given component",
1428
- "extendedDescription": "",
1429
- "group": "info",
1430
- "private": false,
1431
- "arguments": [
1432
- {
1433
- "name": "component-name",
1434
- "description": "component name or component id"
1435
- }
1436
- ]
1437
- },
1438
- {
1439
- "name": "debug <component-name>",
1440
- "alias": "",
1441
- "options": [],
1442
- "description": "show the immediate dependencies and how their versions were determined",
1443
- "extendedDescription": "",
1444
- "group": "info",
1445
- "private": false,
1446
- "arguments": [
1447
- {
1448
- "name": "component-name",
1449
- "description": "component name or component id"
1450
- }
1451
- ]
1452
- },
1453
- {
1454
- "name": "set <component-pattern> <package...>",
1455
- "alias": "",
1456
- "options": [
1457
- [
1458
- "d",
1459
- "dev",
1460
- "add to the devDependencies"
1461
- ],
1462
- [
1463
- "p",
1464
- "peer",
1465
- "add to the peerDependencies"
1466
- ]
1467
- ],
1468
- "description": "set a dependency to component(s)",
1469
- "extendedDescription": "",
1470
- "group": "info",
1471
- "private": false,
1472
- "arguments": [
1473
- {
1474
- "name": "component-pattern",
1475
- "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"
1476
- },
1477
- {
1478
- "name": "package",
1479
- "description": "package name with version, e.g. \"lodash@1.0.0\""
1480
- }
1481
- ]
1482
- }
1483
- ]
1484
- },
1485
- {
1486
- "name": "list [remote-scope]",
1487
- "alias": "ls",
1368
+ "name": "remove <component-pattern>",
1369
+ "alias": "rm",
1488
1370
  "options": [
1489
1371
  [
1490
- "i",
1491
- "ids",
1492
- "show only component ids unformatted"
1372
+ "r",
1373
+ "remote",
1374
+ "remove a component from a remote scope"
1493
1375
  ],
1494
1376
  [
1495
- "s",
1496
- "scope",
1497
- "show only components stored in the local scope, including indirect dependencies"
1377
+ "t",
1378
+ "track",
1379
+ "keep tracking component in .bitmap (default = false), helps transform a tagged-component to new"
1498
1380
  ],
1499
1381
  [
1500
- "o",
1501
- "outdated",
1502
- "show latest versions from remotes"
1382
+ "d",
1383
+ "delete-files",
1384
+ "DEPRECATED (this is now the default). delete local component files"
1503
1385
  ],
1504
1386
  [
1505
- "j",
1506
- "json",
1507
- "show the output in JSON format"
1387
+ "",
1388
+ "keep-files",
1389
+ "keep component files (just untrack the component)"
1508
1390
  ],
1509
1391
  [
1510
- "n",
1511
- "namespace <string>",
1512
- "show only specified namespace by using wildcards"
1392
+ "f",
1393
+ "force",
1394
+ "removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt"
1395
+ ],
1396
+ [
1397
+ "s",
1398
+ "silent",
1399
+ "skip confirmation"
1513
1400
  ]
1514
1401
  ],
1515
- "description": "list components on a workspace, local scope or a remote scope.",
1516
- "extendedDescription": "https://bit.dev/docs/reference/cli-reference#list",
1517
- "group": "discover",
1402
+ "description": "remove component(s) from the workspace, or a remote scope",
1403
+ "extendedDescription": "",
1404
+ "group": "collaborate",
1518
1405
  "private": false,
1519
1406
  "remoteOp": true,
1520
- "skipWorkspace": true
1407
+ "skipWorkspace": true,
1408
+ "arguments": [
1409
+ {
1410
+ "name": "component-pattern",
1411
+ "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"
1412
+ }
1413
+ ]
1521
1414
  },
1522
1415
  {
1523
- "name": "import [component-patterns...]",
1416
+ "name": "insights [names...]",
1524
1417
  "alias": "",
1525
1418
  "options": [
1526
1419
  [
1527
- "p",
1528
- "path <path>",
1529
- "import components into a specific directory (a relative path in the workspace)"
1420
+ "l",
1421
+ "list",
1422
+ "list all insights"
1530
1423
  ],
1531
1424
  [
1532
- "o",
1533
- "objects",
1534
- "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"
1535
- ],
1425
+ "j",
1426
+ "json",
1427
+ "return the insights in json format"
1428
+ ]
1429
+ ],
1430
+ "description": "Insights on component graph",
1431
+ "extendedDescription": "",
1432
+ "group": "development",
1433
+ "private": true
1434
+ },
1435
+ {
1436
+ "name": "component-issues",
1437
+ "alias": "",
1438
+ "options": [
1536
1439
  [
1537
- "d",
1538
- "display-dependencies",
1539
- "display the imported dependencies"
1440
+ "j",
1441
+ "json",
1442
+ "json format"
1443
+ ]
1444
+ ],
1445
+ "description": "list available component-issues",
1446
+ "extendedDescription": "",
1447
+ "group": "development",
1448
+ "private": false
1449
+ },
1450
+ {
1451
+ "name": "tag [component-patterns...]",
1452
+ "alias": "t",
1453
+ "options": [
1454
+ [
1455
+ "m",
1456
+ "message <message>",
1457
+ "a log message describing latest changes"
1540
1458
  ],
1541
1459
  [
1542
- "O",
1543
- "override",
1544
- "override local changes"
1460
+ "",
1461
+ "unmodified",
1462
+ "include unmodified components (by default, only new and modified components are tagged)"
1545
1463
  ],
1546
1464
  [
1547
- "v",
1548
- "verbose",
1549
- "show verbose output for inspection"
1465
+ "",
1466
+ "editor [editor]",
1467
+ "EXPERIMENTAL. open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim)."
1550
1468
  ],
1551
1469
  [
1552
- "j",
1553
- "json",
1554
- "return the output as JSON"
1470
+ "v",
1471
+ "ver <version>",
1472
+ "tag with the given version"
1473
+ ],
1474
+ [
1475
+ "l",
1476
+ "increment <level>",
1477
+ "options are: [major, premajor, minor, preminor, patch, prepatch, prerelease], default to patch"
1555
1478
  ],
1556
1479
  [
1557
1480
  "",
1558
- "conf",
1559
- "write the configuration file (component.json) of the component"
1481
+ "prerelease-id <id>",
1482
+ "prerelease identifier (e.g. \"dev\" to get \"1.0.0-dev.1\")"
1483
+ ],
1484
+ [
1485
+ "p",
1486
+ "patch",
1487
+ "syntactic sugar for \"--increment patch\""
1560
1488
  ],
1561
1489
  [
1562
1490
  "",
1563
- "skip-npm-install",
1564
- "DEPRECATED. use \"--skip-dependency-installation\" instead"
1491
+ "minor",
1492
+ "syntactic sugar for \"--increment minor\""
1565
1493
  ],
1566
1494
  [
1567
1495
  "",
1568
- "skip-dependency-installation",
1569
- "do not install packages of the imported components"
1496
+ "major",
1497
+ "syntactic sugar for \"--increment major\""
1570
1498
  ],
1571
1499
  [
1572
- "m",
1573
- "merge [strategy]",
1574
- "merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\""
1500
+ "",
1501
+ "pre-release [identifier]",
1502
+ "syntactic sugar for \"--increment prerelease\" and `--prerelease-id <identifier>`"
1575
1503
  ],
1576
1504
  [
1577
1505
  "",
1578
- "dependencies",
1579
- "EXPERIMENTAL. import all dependencies and write them to the workspace"
1506
+ "snapped",
1507
+ "EXPERIMENTAL. tag components that their head is a snap (not a tag)"
1580
1508
  ],
1581
1509
  [
1582
1510
  "",
1583
- "dependents",
1584
- "EXPERIMENTAL. import the components' dependents. this enables changes to propagate from (modified) components to their dependents"
1511
+ "unmerged",
1512
+ "EXPERIMENTAL. complete a merge process by tagging the unmerged components"
1585
1513
  ],
1586
1514
  [
1587
1515
  "",
1588
- "save-in-lane",
1589
- "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)"
1516
+ "skip-tests",
1517
+ "skip running component tests during tag process"
1590
1518
  ],
1591
1519
  [
1592
1520
  "",
1593
- "all-history",
1594
- "relevant for fetching all components objects. avoid optimizations, fetch all history versions, always"
1595
- ]
1596
- ],
1597
- "description": "import components from their remote scopes to the local workspace",
1598
- "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)",
1599
- "group": "collaborate",
1600
- "private": false,
1601
- "remoteOp": true,
1602
- "arguments": [
1603
- {
1604
- "name": "component-patterns...",
1605
- "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)"
1606
- }
1607
- ]
1608
- },
1609
- {
1610
- "name": "create <template-name> <component-names...>",
1611
- "alias": "",
1612
- "options": [
1521
+ "skip-auto-tag",
1522
+ "skip auto tagging dependents"
1523
+ ],
1613
1524
  [
1614
- "n",
1615
- "namespace <string>",
1616
- "sets the component's namespace and nested dirs inside the scope"
1525
+ "",
1526
+ "soft",
1527
+ "do not persist. only keep note of the changes to be made"
1617
1528
  ],
1618
1529
  [
1619
- "s",
1620
- "scope <string>",
1621
- "sets the component's scope-name. if not entered, the default-scope will be used"
1530
+ "",
1531
+ "persist",
1532
+ "persist the changes generated by --soft tag"
1533
+ ],
1534
+ [
1535
+ "",
1536
+ "disable-tag-pipeline",
1537
+ "skip the tag pipeline to avoid publishing the components"
1538
+ ],
1539
+ [
1540
+ "",
1541
+ "force-deploy",
1542
+ "run the tag pipeline although the build failed"
1543
+ ],
1544
+ [
1545
+ "",
1546
+ "increment-by <number>",
1547
+ "(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3."
1548
+ ],
1549
+ [
1550
+ "i",
1551
+ "ignore-issues [issues]",
1552
+ "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 \"*\"."
1553
+ ],
1554
+ [
1555
+ "I",
1556
+ "ignore-newest-version",
1557
+ "ignore existing of newer versions (default = false)"
1558
+ ],
1559
+ [
1560
+ "b",
1561
+ "build",
1562
+ "EXPERIMENTAL. not needed for now. run the pipeline build and complete the tag"
1622
1563
  ],
1623
1564
  [
1624
1565
  "a",
1625
- "aspect <string>",
1626
- "aspect-id of the template. helpful when multiple aspects use the same template name"
1566
+ "all [version]",
1567
+ "DEPRECATED (not needed anymore, it is the default now). tag all new and modified components"
1627
1568
  ],
1628
1569
  [
1629
- "p",
1630
- "path <string>",
1631
- "relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`"
1570
+ "s",
1571
+ "scope [version]",
1572
+ "DEPRECATED (use \"--unmodified\" instead). tag all components of the current scope"
1632
1573
  ],
1633
1574
  [
1634
- "e",
1635
- "env <string>",
1636
- "set the component's environment. (overrides the env from variants and the template)"
1575
+ "f",
1576
+ "force",
1577
+ "DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-tag even if tests are failing and even when component has not changed"
1578
+ ],
1579
+ [
1580
+ "",
1581
+ "disable-deploy-pipeline",
1582
+ "DEPRECATED. use --disable-tag-pipeline instead"
1637
1583
  ]
1638
1584
  ],
1639
- "description": "create a new component (source files and config) using a template.",
1640
- "extendedDescription": "",
1585
+ "description": "create an immutable and exportable component snapshot, tagged with a release version.",
1586
+ "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",
1641
1587
  "group": "development",
1642
1588
  "private": false,
1589
+ "remoteOp": true,
1643
1590
  "arguments": [
1644
1591
  {
1645
- "name": "template-name",
1646
- "description": "the template for generating the component \n(run 'bit templates' for a list of available templates)"
1647
- },
1648
- {
1649
- "name": "component-names...",
1650
- "description": "a list of component names to generate"
1592
+ "name": "component-patterns...",
1593
+ "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."
1651
1594
  }
1652
1595
  ],
1653
1596
  "examples": [
1654
1597
  {
1655
- "cmd": "bit create react ui/button",
1656
- "description": "creates a component named 'ui/button' using the 'react' template"
1657
- },
1658
- {
1659
- "cmd": "bit create react ui/button pages/register",
1660
- "description": "creates two components, 'ui/button' and 'pages/register', using the 'react' template"
1661
- },
1662
- {
1663
- "cmd": "bit create react ui/button --scope my-org.my-scope",
1664
- "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`."
1665
- },
1666
- {
1667
- "cmd": "bit create react ui/button --env teambit.community/envs/community-react@1.95.13",
1668
- "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')."
1598
+ "cmd": "tag --ver 1.0.0",
1599
+ "description": "tag all components to version 1.0.0"
1669
1600
  }
1670
1601
  ]
1671
1602
  },
1672
1603
  {
1673
- "name": "templates",
1604
+ "name": "snap [component-pattern]",
1674
1605
  "alias": "",
1675
1606
  "options": [
1676
1607
  [
1677
- "s",
1678
- "show-all",
1679
- "show hidden templates"
1680
- ]
1681
- ],
1682
- "description": "list templates for \"bit create\" and \"bit new\"",
1683
- "extendedDescription": "list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)",
1684
- "group": "development",
1685
- "private": false
1686
- },
1687
- {
1688
- "name": "new <template-name> <workspace-name>",
1689
- "alias": "",
1690
- "options": [
1608
+ "m",
1609
+ "message <message>",
1610
+ "log message describing the latest changes"
1611
+ ],
1691
1612
  [
1692
- "a",
1693
- "aspect <aspect-id>",
1694
- "aspect-id of the template. mandatory for non-core aspects. helpful for core aspects in case of a name collision"
1613
+ "",
1614
+ "unmodified",
1615
+ "include unmodified components (by default, only new and modified components are snapped)"
1695
1616
  ],
1696
1617
  [
1697
- "d",
1698
- "default-scope <scope-name>",
1699
- "set defaultScope in the new workspace.jsonc"
1618
+ "",
1619
+ "unmerged",
1620
+ "EXPERIMENTAL. complete a merge process by snapping the unmerged components"
1700
1621
  ],
1701
1622
  [
1702
1623
  "",
1703
- "standalone",
1704
- "DEPRECATED. use --skip-git instead"
1624
+ "build",
1625
+ "Harmony only. run the pipeline build and complete the tag"
1705
1626
  ],
1706
1627
  [
1707
- "s",
1708
- "skip-git",
1709
- "skip generation of Git repository"
1628
+ "",
1629
+ "skip-tests",
1630
+ "skip running component tests during snap process"
1710
1631
  ],
1711
1632
  [
1712
- "e",
1713
- "empty",
1714
- "empty workspace with no components (relevant for templates that add components by default)"
1633
+ "",
1634
+ "skip-auto-snap",
1635
+ "skip auto snapping dependents"
1715
1636
  ],
1716
1637
  [
1717
1638
  "",
1718
- "load-from <path-to-template>",
1719
- "path to the workspace containing the template. helpful during a development of a workspace-template"
1639
+ "disable-snap-pipeline",
1640
+ "skip the snap pipeline"
1641
+ ],
1642
+ [
1643
+ "",
1644
+ "force-deploy",
1645
+ "Harmony only. run the deploy pipeline although the build failed"
1646
+ ],
1647
+ [
1648
+ "i",
1649
+ "ignore-issues [issues]",
1650
+ "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 \"*\"."
1651
+ ],
1652
+ [
1653
+ "a",
1654
+ "all",
1655
+ "DEPRECATED (not needed anymore, it is the default now). snap all new and modified components"
1656
+ ],
1657
+ [
1658
+ "f",
1659
+ "force",
1660
+ "DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-snap even if tests are failing and even when component has not changed"
1720
1661
  ]
1721
1662
  ],
1722
- "description": "create a new workspace from a template",
1723
- "extendedDescription": "",
1724
- "group": "start",
1725
- "private": false,
1663
+ "description": "EXPERIMENTAL. create an immutable and exportable component snapshot (no release version)",
1664
+ "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)",
1665
+ "group": "ungrouped",
1666
+ "private": true,
1726
1667
  "arguments": [
1727
1668
  {
1728
- "name": "template-name",
1729
- "description": "the name of the workspace template (run 'bit templates', outside of a workspace, to get a list of available templates)"
1730
- },
1731
- {
1732
- "name": "workspace-name",
1733
- "description": "the name for the new workspace and workspace directory"
1669
+ "name": "component-pattern",
1670
+ "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."
1734
1671
  }
1735
1672
  ]
1736
1673
  },
1737
1674
  {
1738
- "name": "build [component-pattern]",
1675
+ "name": "reset [component-pattern]",
1739
1676
  "alias": "",
1740
1677
  "options": [
1741
1678
  [
1742
1679
  "a",
1743
1680
  "all",
1744
- "build all components, not only modified and new"
1745
- ],
1746
- [
1747
- "d",
1748
- "dev",
1749
- "run the pipeline in dev mode"
1750
- ],
1751
- [
1752
- "",
1753
- "install",
1754
- "install core aspects in capsules"
1755
- ],
1756
- [
1757
- "",
1758
- "reuse-capsules",
1759
- "avoid deleting the capsules root-dir before starting the build"
1681
+ "revert tag/snap for all tagged/snapped components"
1760
1682
  ],
1761
1683
  [
1762
1684
  "",
1763
- "tasks <string>",
1764
- "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)"
1685
+ "head",
1686
+ "revert the head tag/snap only (by default, all local tags/snaps are reverted)"
1765
1687
  ],
1766
1688
  [
1767
1689
  "",
1768
- "cache-packages-on-capsule-root",
1769
- "set the package-manager cache on the capsule root"
1690
+ "soft",
1691
+ "revert only soft-tags (components tagged with --soft flag)"
1770
1692
  ],
1771
1693
  [
1772
- "",
1773
- "list-tasks <string>",
1774
- "list tasks of an env or a component-id for each one of the pipelines: build, tag and snap"
1694
+ "f",
1695
+ "force",
1696
+ "revert the tag even if used as a dependency. WARNING: components that depend on this tag will corrupt"
1775
1697
  ]
1776
1698
  ],
1777
- "description": "run set of tasks for build",
1778
- "extendedDescription": "",
1699
+ "description": "revert tagged or snapped versions for component(s)",
1700
+ "extendedDescription": "https://bit.dev/docs/components/tags#undoing-a-tag",
1779
1701
  "group": "development",
1780
1702
  "private": false,
1781
1703
  "arguments": [
1782
1704
  {
1783
1705
  "name": "component-pattern",
1784
1706
  "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"
1707
+ },
1708
+ {
1709
+ "name": "component-version",
1710
+ "description": "the version to untag (semver for tags. hash for snaps)"
1785
1711
  }
1786
1712
  ]
1787
1713
  },
1788
1714
  {
1789
- "name": "artifacts <component-pattern>",
1715
+ "name": "merge [values...]",
1790
1716
  "alias": "",
1791
1717
  "options": [
1792
1718
  [
1793
1719
  "",
1794
- "aspect <aspect-id>",
1795
- "show/download only artifacts generated by this aspect-id"
1720
+ "ours",
1721
+ "in case of a conflict, override the used version with the current modification"
1796
1722
  ],
1797
1723
  [
1798
1724
  "",
1799
- "task <task-id>",
1800
- "show/download only artifacts generated by this task-id"
1725
+ "theirs",
1726
+ "in case of a conflict, override the current modification with the specified version"
1801
1727
  ],
1802
1728
  [
1803
1729
  "",
1804
- "files <glob>",
1805
- "show/download only artifacts matching the given files or the glob pattern (wrap glob patterns in quotes)"
1730
+ "manual",
1731
+ "in case of a conflict, leave the files with a conflict state to resolve them manually later"
1806
1732
  ],
1807
1733
  [
1808
1734
  "",
1809
- "out-dir <string>",
1810
- "download the files to the specified dir"
1811
- ]
1812
- ],
1813
- "description": "EXPERIMENTAL. list and download components artifacts",
1814
- "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",
1815
- "group": "development",
1816
- "private": false,
1817
- "arguments": [
1818
- {
1819
- "name": "component-pattern",
1820
- "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"
1821
- }
1822
- ]
1823
- },
1824
- {
1825
- "name": "pack <componentId> [scopePath]",
1826
- "alias": "",
1827
- "options": [
1828
- [
1829
- "d",
1830
- "out-dir <out-dir>",
1831
- "directory to put the result tar file"
1735
+ "abort",
1736
+ "EXPERIMENTAL. in case of an unresolved merge, revert to the state before the merge began"
1832
1737
  ],
1833
1738
  [
1834
- "o",
1835
- "override",
1836
- "override existing pack file"
1739
+ "",
1740
+ "resolve",
1741
+ "EXPERIMENTAL. mark an unresolved merge as resolved and create a new snap with the changes"
1837
1742
  ],
1838
1743
  [
1839
- "k",
1840
- "keep",
1841
- "should keep isolated environment [default = false]"
1744
+ "",
1745
+ "no-snap",
1746
+ "EXPERIMENTAL. do not auto snap in case the merge completed without conflicts"
1842
1747
  ],
1843
1748
  [
1844
- "p",
1845
- "prefix",
1846
- "keep custom (binding) prefix"
1749
+ "",
1750
+ "build",
1751
+ "in case of snap during the merge, run the build-pipeline (similar to bit snap --build)"
1847
1752
  ],
1848
1753
  [
1849
- "j",
1850
- "json",
1851
- "return the output as JSON"
1852
- ]
1853
- ],
1854
- "description": "create tar for npm publish",
1855
- "extendedDescription": "",
1856
- "group": "collaborate",
1857
- "private": false
1858
- },
1859
- {
1860
- "name": "publish <component-pattern>",
1861
- "alias": "",
1862
- "options": [
1863
- [
1864
- "d",
1865
- "dry-run",
1866
- "npm publish --dry-run"
1754
+ "",
1755
+ "verbose",
1756
+ "show details of components that were not merged legitimately"
1867
1757
  ],
1868
1758
  [
1869
1759
  "",
1870
- "allow-staged",
1871
- "allow publish components that were not exported yet (not recommended)"
1760
+ "skip-dependency-installation",
1761
+ "do not install packages of the imported components"
1872
1762
  ],
1873
1763
  [
1874
- "j",
1875
- "json",
1876
- "return the output as JSON"
1877
- ]
1878
- ],
1879
- "description": "publish components to npm (npm publish)",
1880
- "extendedDescription": "",
1881
- "group": "collaborate",
1882
- "private": true,
1883
- "arguments": [
1884
- {
1885
- "name": "component-pattern",
1886
- "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"
1887
- }
1888
- ]
1889
- },
1890
- {
1891
- "name": "refactor <sub-command>",
1892
- "alias": "",
1893
- "options": [],
1894
- "description": "EXPERIMENTAL. source code refactoring / codemod",
1895
- "extendedDescription": "",
1896
- "group": "development",
1897
- "private": false,
1898
- "commands": [
1899
- {
1900
- "name": "dependency-name <old-id> <new-id>",
1901
- "alias": "",
1902
- "options": [],
1903
- "description": "replace the dependency's old package-name with a new one in the code",
1904
- "extendedDescription": "the `<old-id>` and `<new-id>` arguments can be either a component-id or a package-name.",
1905
- "group": "development",
1906
- "private": false
1907
- }
1908
- ]
1909
- },
1910
- {
1911
- "name": "component-issues",
1912
- "alias": "",
1913
- "options": [
1914
- [
1915
- "j",
1916
- "json",
1917
- "json format"
1764
+ "m",
1765
+ "message <message>",
1766
+ "EXPERIMENTAL. override the default message for the auto snap"
1918
1767
  ]
1919
1768
  ],
1920
- "description": "list available component-issues",
1921
- "extendedDescription": "",
1769
+ "description": "merge changes of different component versions",
1770
+ "extendedDescription": "merge changes of different component versions\n `bit merge <version> [ids...]` => merge changes of the given version into the checked out version\n `bit merge [ids...]` => EXPERIMENTAL. merge changes of the remote head into local, optionally use '--abort' or '--resolve'\n you can use a pattern for multiple ids, such as bit merge 0.0.1 \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
1922
1771
  "group": "development",
1923
1772
  "private": false
1924
1773
  },
1925
1774
  {
1926
- "name": "insights [names...]",
1775
+ "name": "lane [lane-name]",
1927
1776
  "alias": "",
1928
1777
  "options": [
1929
1778
  [
1930
- "l",
1931
- "list",
1932
- "list all insights"
1779
+ "d",
1780
+ "details",
1781
+ "show more details on the state of each component in each lane"
1933
1782
  ],
1934
1783
  [
1935
1784
  "j",
1936
1785
  "json",
1937
- "return the insights in json format"
1938
- ]
1939
- ],
1940
- "description": "Insights on component graph",
1941
- "extendedDescription": "",
1942
- "group": "development",
1943
- "private": true
1944
- },
1945
- {
1946
- "name": "tag [component-patterns...]",
1947
- "alias": "t",
1948
- "options": [
1949
- [
1950
- "m",
1951
- "message <message>",
1952
- "a log message describing latest changes"
1953
- ],
1954
- [
1955
- "",
1956
- "unmodified",
1957
- "include unmodified components (by default, only new and modified components are tagged)"
1958
- ],
1959
- [
1960
- "",
1961
- "editor [editor]",
1962
- "EXPERIMENTAL. open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim)."
1963
- ],
1964
- [
1965
- "v",
1966
- "ver <version>",
1967
- "tag with the given version"
1968
- ],
1969
- [
1970
- "l",
1971
- "increment <level>",
1972
- "options are: [major, premajor, minor, preminor, patch, prepatch, prerelease], default to patch"
1973
- ],
1974
- [
1975
- "",
1976
- "prerelease-id <id>",
1977
- "prerelease identifier (e.g. \"dev\" to get \"1.0.0-dev.1\")"
1978
- ],
1979
- [
1980
- "p",
1981
- "patch",
1982
- "syntactic sugar for \"--increment patch\""
1983
- ],
1984
- [
1985
- "",
1986
- "minor",
1987
- "syntactic sugar for \"--increment minor\""
1988
- ],
1989
- [
1990
- "",
1991
- "major",
1992
- "syntactic sugar for \"--increment major\""
1993
- ],
1994
- [
1995
- "",
1996
- "pre-release [identifier]",
1997
- "syntactic sugar for \"--increment prerelease\" and `--prerelease-id <identifier>`"
1998
- ],
1999
- [
2000
- "",
2001
- "snapped",
2002
- "EXPERIMENTAL. tag components that their head is a snap (not a tag)"
1786
+ "show lanes details in json format"
2003
1787
  ],
2004
1788
  [
2005
- "",
2006
- "unmerged",
2007
- "EXPERIMENTAL. complete a merge process by tagging the unmerged components"
1789
+ "r",
1790
+ "remote <string>",
1791
+ "show remote lanes"
2008
1792
  ],
2009
1793
  [
2010
1794
  "",
2011
- "skip-tests",
2012
- "skip running component tests during tag process"
1795
+ "merged",
1796
+ "show merged lanes"
2013
1797
  ],
2014
1798
  [
2015
1799
  "",
2016
- "skip-auto-tag",
2017
- "skip auto tagging dependents"
2018
- ],
2019
- [
2020
- "",
2021
- "soft",
2022
- "do not persist. only keep note of the changes to be made"
2023
- ],
2024
- [
2025
- "",
2026
- "persist",
2027
- "persist the changes generated by --soft tag"
2028
- ],
2029
- [
2030
- "",
2031
- "disable-tag-pipeline",
2032
- "skip the tag pipeline to avoid publishing the components"
2033
- ],
2034
- [
2035
- "",
2036
- "force-deploy",
2037
- "run the tag pipeline although the build failed"
2038
- ],
2039
- [
2040
- "",
2041
- "increment-by <number>",
2042
- "(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3."
2043
- ],
2044
- [
2045
- "i",
2046
- "ignore-issues [issues]",
2047
- "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 \"*\"."
2048
- ],
2049
- [
2050
- "I",
2051
- "ignore-newest-version",
2052
- "ignore existing of newer versions (default = false)"
2053
- ],
2054
- [
2055
- "b",
2056
- "build",
2057
- "EXPERIMENTAL. not needed for now. run the pipeline build and complete the tag"
2058
- ],
2059
- [
2060
- "a",
2061
- "all [version]",
2062
- "DEPRECATED (not needed anymore, it is the default now). tag all new and modified components"
2063
- ],
2064
- [
2065
- "s",
2066
- "scope [version]",
2067
- "DEPRECATED (use \"--unmodified\" instead). tag all components of the current scope"
2068
- ],
2069
- [
2070
- "f",
2071
- "force",
2072
- "DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-tag even if tests are failing and even when component has not changed"
2073
- ],
2074
- [
2075
- "",
2076
- "disable-deploy-pipeline",
2077
- "DEPRECATED. use --disable-tag-pipeline instead"
1800
+ "not-merged",
1801
+ "show not merged lanes"
2078
1802
  ]
2079
1803
  ],
2080
- "description": "create an immutable and exportable component snapshot, tagged with a release version.",
2081
- "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",
2082
- "group": "development",
2083
- "private": false,
1804
+ "description": "show lanes details\nhttps://bit.dev/docs/components/lanes",
1805
+ "extendedDescription": "",
1806
+ "group": "ungrouped",
1807
+ "private": true,
2084
1808
  "remoteOp": true,
2085
- "arguments": [
1809
+ "skipWorkspace": true,
1810
+ "commands": [
2086
1811
  {
2087
- "name": "component-patterns...",
2088
- "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."
2089
- }
2090
- ],
2091
- "examples": [
1812
+ "name": "list",
1813
+ "alias": "",
1814
+ "options": [
1815
+ [
1816
+ "d",
1817
+ "details",
1818
+ "show more details on the state of each component in each lane"
1819
+ ],
1820
+ [
1821
+ "j",
1822
+ "json",
1823
+ "show lanes details in a json format"
1824
+ ],
1825
+ [
1826
+ "r",
1827
+ "remote <remote-scope-name>",
1828
+ "show remote lanes"
1829
+ ],
1830
+ [
1831
+ "",
1832
+ "merged",
1833
+ "show merged lanes"
1834
+ ],
1835
+ [
1836
+ "",
1837
+ "not-merged",
1838
+ "show lanes that are not merged"
1839
+ ]
1840
+ ],
1841
+ "description": "list lanes",
1842
+ "extendedDescription": "",
1843
+ "group": "ungrouped",
1844
+ "private": true,
1845
+ "remoteOp": true,
1846
+ "skipWorkspace": true
1847
+ },
2092
1848
  {
2093
- "cmd": "tag --ver 1.0.0",
2094
- "description": "tag all components to version 1.0.0"
1849
+ "name": "switch <lane>",
1850
+ "alias": "",
1851
+ "options": [
1852
+ [
1853
+ "n",
1854
+ "alias <string>",
1855
+ "relevant when the specified lane is a remote late. name a local lane differently than the remote lane"
1856
+ ],
1857
+ [
1858
+ "m",
1859
+ "merge [strategy]",
1860
+ "merge local changes with the checked out version. strategy should be \"theirs\", \"ours\" or \"manual\""
1861
+ ],
1862
+ [
1863
+ "a",
1864
+ "get-all",
1865
+ "checkout all components in a lane include ones that do not exist in the workspace"
1866
+ ],
1867
+ [
1868
+ "",
1869
+ "skip-dependency-installation",
1870
+ "do not install packages of the imported components"
1871
+ ],
1872
+ [
1873
+ "j",
1874
+ "json",
1875
+ "return the output as JSON"
1876
+ ]
1877
+ ],
1878
+ "description": "switch to the specified lane",
1879
+ "extendedDescription": "",
1880
+ "group": "ungrouped",
1881
+ "private": true
1882
+ },
1883
+ {
1884
+ "name": "show <lane-name>",
1885
+ "alias": "",
1886
+ "options": [
1887
+ [
1888
+ "j",
1889
+ "json",
1890
+ "show the lane details in json format"
1891
+ ],
1892
+ [
1893
+ "r",
1894
+ "remote <string>",
1895
+ "show remote lanes"
1896
+ ]
1897
+ ],
1898
+ "description": "show lane details",
1899
+ "extendedDescription": "",
1900
+ "group": "ungrouped",
1901
+ "private": true,
1902
+ "remoteOp": true,
1903
+ "skipWorkspace": true
1904
+ },
1905
+ {
1906
+ "name": "create <lane-name>",
1907
+ "alias": "",
1908
+ "options": [
1909
+ [
1910
+ "",
1911
+ "remote-scope <scope-name>",
1912
+ "remote scope where this lane will be exported to, default to the defaultScope (can be changed later with \"bit lane change-scope\")"
1913
+ ],
1914
+ [
1915
+ "",
1916
+ "alias <name>",
1917
+ "a local alias to refer to this lane, defaults to the <lane-name> (can be added later with \"bit lane alias\")"
1918
+ ]
1919
+ ],
1920
+ "description": "creates a new lane and switches to it",
1921
+ "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.",
1922
+ "group": "ungrouped",
1923
+ "private": true,
1924
+ "arguments": [
1925
+ {
1926
+ "name": "lane-name",
1927
+ "description": "the name for the new lane"
1928
+ }
1929
+ ]
1930
+ },
1931
+ {
1932
+ "name": "remove <lanes...>",
1933
+ "alias": "",
1934
+ "options": [
1935
+ [
1936
+ "r",
1937
+ "remote",
1938
+ "remove a remote lane (in the lane arg, use remote/lane-id syntax)"
1939
+ ],
1940
+ [
1941
+ "f",
1942
+ "force",
1943
+ "removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt"
1944
+ ],
1945
+ [
1946
+ "s",
1947
+ "silent",
1948
+ "skip confirmation"
1949
+ ]
1950
+ ],
1951
+ "description": "remove lanes",
1952
+ "extendedDescription": "",
1953
+ "group": "ungrouped",
1954
+ "private": true,
1955
+ "arguments": [
1956
+ {
1957
+ "name": "lanes...",
1958
+ "description": "A list of lane names, separated by spaces"
1959
+ }
1960
+ ]
1961
+ },
1962
+ {
1963
+ "name": "change-scope <lane-name> <remote-scope-name>",
1964
+ "alias": "",
1965
+ "options": [],
1966
+ "description": "changes the remote scope of a lane",
1967
+ "extendedDescription": "",
1968
+ "group": "ungrouped",
1969
+ "private": true
1970
+ },
1971
+ {
1972
+ "name": "alias <lane-name> <alias>",
1973
+ "alias": "",
1974
+ "options": [],
1975
+ "description": "adds an alias to a lane",
1976
+ "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.",
1977
+ "group": "ungrouped",
1978
+ "private": true
1979
+ },
1980
+ {
1981
+ "name": "rename <current-name> <new-name>",
1982
+ "alias": "",
1983
+ "options": [],
1984
+ "description": "EXPERIMENTAL. change the lane-name locally and on the remote (if exported)",
1985
+ "extendedDescription": "",
1986
+ "group": "ungrouped",
1987
+ "private": true
1988
+ },
1989
+ {
1990
+ "name": "diff [values...]",
1991
+ "alias": "",
1992
+ "options": [
1993
+ [
1994
+ "",
1995
+ "pattern <component-pattern>",
1996
+ "EXPERIMENTAL. show lane-diff for the specified component-pattern only"
1997
+ ]
1998
+ ],
1999
+ "description": "show diff between lanes",
2000
+ "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.",
2001
+ "group": "ungrouped",
2002
+ "private": true,
2003
+ "remoteOp": true,
2004
+ "skipWorkspace": true
2005
+ },
2006
+ {
2007
+ "name": "add-readme <component-name> [lane-name]",
2008
+ "alias": "",
2009
+ "options": [],
2010
+ "description": "EXPERIMENTAL. adds a readme component to a lane",
2011
+ "extendedDescription": "",
2012
+ "group": "ungrouped",
2013
+ "private": true,
2014
+ "skipWorkspace": false,
2015
+ "arguments": [
2016
+ {
2017
+ "name": "component-id",
2018
+ "description": "the component name or id of the component to use as the lane's readme"
2019
+ },
2020
+ {
2021
+ "name": "lane-name",
2022
+ "description": "the lane to attach the readme to (defaults to the current lane)"
2023
+ }
2024
+ ]
2025
+ },
2026
+ {
2027
+ "name": "remove-readme [laneName]",
2028
+ "alias": "",
2029
+ "options": [],
2030
+ "description": "EXPERIMENTAL. remove lane readme component",
2031
+ "extendedDescription": "",
2032
+ "group": "ungrouped",
2033
+ "private": true,
2034
+ "skipWorkspace": false
2035
+ },
2036
+ {
2037
+ "name": "import <lane>",
2038
+ "alias": "",
2039
+ "options": [
2040
+ [
2041
+ "",
2042
+ "skip-dependency-installation",
2043
+ "do not install packages of the imported components"
2044
+ ]
2045
+ ],
2046
+ "description": "import a remote lane to your workspace",
2047
+ "extendedDescription": "",
2048
+ "group": "ungrouped",
2049
+ "private": true,
2050
+ "arguments": [
2051
+ {
2052
+ "name": "lane",
2053
+ "description": "the remote lane name"
2054
+ }
2055
+ ]
2056
+ },
2057
+ {
2058
+ "name": "merge <lane> [pattern]",
2059
+ "alias": "",
2060
+ "options": [
2061
+ [
2062
+ "",
2063
+ "ours",
2064
+ "in case of a conflict, override the used version with the current modification"
2065
+ ],
2066
+ [
2067
+ "",
2068
+ "theirs",
2069
+ "in case of a conflict, override the current modification with the specified version"
2070
+ ],
2071
+ [
2072
+ "",
2073
+ "manual",
2074
+ "in case of a conflict, leave the files with a conflict state to resolve them manually later"
2075
+ ],
2076
+ [
2077
+ "",
2078
+ "workspace",
2079
+ "merge only components in a lane that exist in the workspace"
2080
+ ],
2081
+ [
2082
+ "",
2083
+ "no-snap",
2084
+ "do not auto snap in case the merge completed without conflicts"
2085
+ ],
2086
+ [
2087
+ "",
2088
+ "build",
2089
+ "in case of snap during the merge, run the build-pipeline (similar to bit snap --build)"
2090
+ ],
2091
+ [
2092
+ "m",
2093
+ "message <message>",
2094
+ "override the default message for the auto snap"
2095
+ ],
2096
+ [
2097
+ "",
2098
+ "keep-readme",
2099
+ "skip deleting the lane readme component after merging"
2100
+ ],
2101
+ [
2102
+ "",
2103
+ "squash",
2104
+ "EXPERIMENTAL. squash multiple snaps. keep the last one only"
2105
+ ],
2106
+ [
2107
+ "",
2108
+ "verbose",
2109
+ "show details of components that were not merged legitimately"
2110
+ ],
2111
+ [
2112
+ "",
2113
+ "skip-dependency-installation",
2114
+ "do not install packages of the imported components"
2115
+ ],
2116
+ [
2117
+ "",
2118
+ "remote",
2119
+ "relevant when the target-lane locally is differ than the remote and you want the remote"
2120
+ ],
2121
+ [
2122
+ "",
2123
+ "include-deps",
2124
+ "EXPERIMENTAL. relevant for \"--pattern\" and \"--workspace\". merge also dependencies of the given components"
2125
+ ]
2126
+ ],
2127
+ "description": "merge a local or a remote lane",
2128
+ "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",
2129
+ "private": true,
2130
+ "remoteOp": true,
2131
+ "arguments": [
2132
+ {
2133
+ "name": "lane",
2134
+ "description": "lane-name or lane-id (if not exists locally) to merge to the current lane"
2135
+ },
2136
+ {
2137
+ "name": "pattern",
2138
+ "description": "EXPERIMENTAL. partially merge the lane with the specified component-pattern"
2139
+ }
2140
+ ]
2095
2141
  }
2096
2142
  ]
2097
2143
  },
2098
2144
  {
2099
- "name": "snap [component-pattern]",
2145
+ "name": "switch <lane>",
2100
2146
  "alias": "",
2101
2147
  "options": [
2102
2148
  [
2103
- "m",
2104
- "message <message>",
2105
- "log message describing the latest changes"
2106
- ],
2107
- [
2108
- "",
2109
- "unmodified",
2110
- "include unmodified components (by default, only new and modified components are snapped)"
2111
- ],
2112
- [
2113
- "",
2114
- "unmerged",
2115
- "EXPERIMENTAL. complete a merge process by snapping the unmerged components"
2116
- ],
2117
- [
2118
- "",
2119
- "build",
2120
- "Harmony only. run the pipeline build and complete the tag"
2121
- ],
2122
- [
2123
- "",
2124
- "skip-tests",
2125
- "skip running component tests during snap process"
2126
- ],
2127
- [
2128
- "",
2129
- "skip-auto-snap",
2130
- "skip auto snapping dependents"
2131
- ],
2132
- [
2133
- "",
2134
- "disable-snap-pipeline",
2135
- "skip the snap pipeline"
2136
- ],
2137
- [
2138
- "",
2139
- "force-deploy",
2140
- "Harmony only. run the deploy pipeline although the build failed"
2149
+ "n",
2150
+ "alias <string>",
2151
+ "relevant when the specified lane is a remote late. name a local lane differently than the remote lane"
2141
2152
  ],
2142
2153
  [
2143
- "i",
2144
- "ignore-issues [issues]",
2145
- "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 \"*\"."
2154
+ "m",
2155
+ "merge [strategy]",
2156
+ "merge local changes with the checked out version. strategy should be \"theirs\", \"ours\" or \"manual\""
2146
2157
  ],
2147
2158
  [
2148
2159
  "a",
2149
- "all",
2150
- "DEPRECATED (not needed anymore, it is the default now). snap all new and modified components"
2160
+ "get-all",
2161
+ "checkout all components in a lane include ones that do not exist in the workspace"
2151
2162
  ],
2152
2163
  [
2153
- "f",
2154
- "force",
2155
- "DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-snap even if tests are failing and even when component has not changed"
2164
+ "",
2165
+ "skip-dependency-installation",
2166
+ "do not install packages of the imported components"
2167
+ ],
2168
+ [
2169
+ "j",
2170
+ "json",
2171
+ "return the output as JSON"
2156
2172
  ]
2157
2173
  ],
2158
- "description": "EXPERIMENTAL. create an immutable and exportable component snapshot (no release version)",
2159
- "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)",
2174
+ "description": "switch to the specified lane",
2175
+ "extendedDescription": "",
2160
2176
  "group": "ungrouped",
2161
- "private": true,
2162
- "arguments": [
2177
+ "private": true
2178
+ },
2179
+ {
2180
+ "name": "dependencies <sub-command>",
2181
+ "alias": "deps",
2182
+ "options": [],
2183
+ "description": "manage dependencies",
2184
+ "extendedDescription": "",
2185
+ "group": "info",
2186
+ "private": false,
2187
+ "commands": [
2163
2188
  {
2164
- "name": "component-pattern",
2165
- "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."
2189
+ "name": "get <component-name>",
2190
+ "alias": "",
2191
+ "options": [
2192
+ [
2193
+ "t",
2194
+ "tree",
2195
+ "EXPERIMENTAL. render dependencies as a tree, similar to \"npm ls\""
2196
+ ]
2197
+ ],
2198
+ "description": "show direct and indirect dependencies of the given component",
2199
+ "extendedDescription": "",
2200
+ "group": "info",
2201
+ "private": false,
2202
+ "arguments": [
2203
+ {
2204
+ "name": "component-name",
2205
+ "description": "component name or component id"
2206
+ }
2207
+ ]
2208
+ },
2209
+ {
2210
+ "name": "remove <component-pattern> <package...>",
2211
+ "alias": "",
2212
+ "options": [],
2213
+ "description": "remove a dependency to component(s)",
2214
+ "extendedDescription": "",
2215
+ "group": "info",
2216
+ "private": false,
2217
+ "arguments": [
2218
+ {
2219
+ "name": "component-pattern",
2220
+ "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"
2221
+ },
2222
+ {
2223
+ "name": "package",
2224
+ "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"
2225
+ }
2226
+ ]
2227
+ },
2228
+ {
2229
+ "name": "debug <component-name>",
2230
+ "alias": "",
2231
+ "options": [],
2232
+ "description": "show the immediate dependencies and how their versions were determined",
2233
+ "extendedDescription": "",
2234
+ "group": "info",
2235
+ "private": false,
2236
+ "arguments": [
2237
+ {
2238
+ "name": "component-name",
2239
+ "description": "component name or component id"
2240
+ }
2241
+ ]
2242
+ },
2243
+ {
2244
+ "name": "set <component-pattern> <package...>",
2245
+ "alias": "",
2246
+ "options": [
2247
+ [
2248
+ "d",
2249
+ "dev",
2250
+ "add to the devDependencies"
2251
+ ],
2252
+ [
2253
+ "p",
2254
+ "peer",
2255
+ "add to the peerDependencies"
2256
+ ]
2257
+ ],
2258
+ "description": "set a dependency to component(s)",
2259
+ "extendedDescription": "",
2260
+ "group": "info",
2261
+ "private": false,
2262
+ "arguments": [
2263
+ {
2264
+ "name": "component-pattern",
2265
+ "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"
2266
+ },
2267
+ {
2268
+ "name": "package",
2269
+ "description": "package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will be resolved to the latest"
2270
+ }
2271
+ ]
2166
2272
  }
2167
2273
  ]
2168
2274
  },
2169
2275
  {
2170
- "name": "reset [component-pattern]",
2171
- "alias": "",
2276
+ "name": "list [remote-scope]",
2277
+ "alias": "ls",
2172
2278
  "options": [
2173
2279
  [
2174
- "a",
2175
- "all",
2176
- "revert tag/snap for all tagged/snapped components"
2280
+ "i",
2281
+ "ids",
2282
+ "show only component ids unformatted"
2177
2283
  ],
2178
2284
  [
2179
- "",
2180
- "head",
2181
- "revert the head tag/snap only (by default, all local tags/snaps are reverted)"
2285
+ "s",
2286
+ "scope",
2287
+ "show only components stored in the local scope, including indirect dependencies"
2182
2288
  ],
2183
2289
  [
2184
- "",
2185
- "soft",
2186
- "revert only soft-tags (components tagged with --soft flag)"
2290
+ "o",
2291
+ "outdated",
2292
+ "show latest versions from remotes"
2187
2293
  ],
2188
2294
  [
2189
- "f",
2190
- "force",
2191
- "revert the tag even if used as a dependency. WARNING: components that depend on this tag will corrupt"
2295
+ "j",
2296
+ "json",
2297
+ "show the output in JSON format"
2298
+ ],
2299
+ [
2300
+ "n",
2301
+ "namespace <string>",
2302
+ "show only specified namespace by using wildcards"
2192
2303
  ]
2193
2304
  ],
2194
- "description": "revert tagged or snapped versions for component(s)",
2195
- "extendedDescription": "https://bit.dev/docs/components/tags#undoing-a-tag",
2196
- "group": "development",
2305
+ "description": "list components on a workspace, local scope or a remote scope.",
2306
+ "extendedDescription": "https://bit.dev/docs/reference/cli-reference#list",
2307
+ "group": "discover",
2197
2308
  "private": false,
2198
- "arguments": [
2199
- {
2200
- "name": "component-pattern",
2201
- "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"
2202
- },
2203
- {
2204
- "name": "component-version",
2205
- "description": "the version to untag (semver for tags. hash for snaps)"
2206
- }
2207
- ]
2309
+ "remoteOp": true,
2310
+ "skipWorkspace": true
2208
2311
  },
2209
2312
  {
2210
- "name": "merge [values...]",
2313
+ "name": "import [component-patterns...]",
2211
2314
  "alias": "",
2212
2315
  "options": [
2213
2316
  [
2214
- "",
2215
- "ours",
2216
- "in case of a conflict, override the used version with the current modification"
2317
+ "p",
2318
+ "path <path>",
2319
+ "import components into a specific directory (a relative path in the workspace)"
2217
2320
  ],
2218
2321
  [
2219
- "",
2220
- "theirs",
2221
- "in case of a conflict, override the current modification with the specified version"
2322
+ "o",
2323
+ "objects",
2324
+ "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"
2222
2325
  ],
2223
2326
  [
2224
- "",
2225
- "manual",
2226
- "in case of a conflict, leave the files with a conflict state to resolve them manually later"
2327
+ "d",
2328
+ "display-dependencies",
2329
+ "display the imported dependencies"
2227
2330
  ],
2228
2331
  [
2229
- "",
2230
- "abort",
2231
- "EXPERIMENTAL. in case of an unresolved merge, revert to the state before the merge began"
2332
+ "O",
2333
+ "override",
2334
+ "override local changes"
2232
2335
  ],
2233
2336
  [
2234
- "",
2235
- "resolve",
2236
- "EXPERIMENTAL. mark an unresolved merge as resolved and create a new snap with the changes"
2337
+ "v",
2338
+ "verbose",
2339
+ "show verbose output for inspection"
2237
2340
  ],
2238
2341
  [
2239
- "",
2240
- "no-snap",
2241
- "EXPERIMENTAL. do not auto snap in case the merge completed without conflicts"
2342
+ "j",
2343
+ "json",
2344
+ "return the output as JSON"
2242
2345
  ],
2243
2346
  [
2244
2347
  "",
2245
- "build",
2246
- "in case of snap during the merge, run the build-pipeline (similar to bit snap --build)"
2348
+ "conf",
2349
+ "write the configuration file (component.json) of the component"
2247
2350
  ],
2248
2351
  [
2249
2352
  "",
2250
- "verbose",
2251
- "show details of components that were not merged legitimately"
2353
+ "skip-npm-install",
2354
+ "DEPRECATED. use \"--skip-dependency-installation\" instead"
2252
2355
  ],
2253
2356
  [
2254
2357
  "",
@@ -2257,230 +2360,211 @@
2257
2360
  ],
2258
2361
  [
2259
2362
  "m",
2260
- "message <message>",
2261
- "EXPERIMENTAL. override the default message for the auto snap"
2262
- ]
2263
- ],
2264
- "description": "merge changes of different component versions",
2265
- "extendedDescription": "merge changes of different component versions\n `bit merge <version> [ids...]` => merge changes of the given version into the checked out version\n `bit merge [ids...]` => EXPERIMENTAL. merge changes of the remote head into local, optionally use '--abort' or '--resolve'\n you can use a pattern for multiple ids, such as bit merge 0.0.1 \"utils/*\". (wrap the pattern with quotes to avoid collision with shell commands)",
2266
- "group": "development",
2267
- "private": false
2268
- },
2269
- {
2270
- "name": "status",
2271
- "alias": "s",
2272
- "options": [
2273
- [
2274
- "j",
2275
- "json",
2276
- "return a json version of the component"
2363
+ "merge [strategy]",
2364
+ "merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\""
2277
2365
  ],
2278
2366
  [
2279
2367
  "",
2280
- "verbose",
2281
- "show full snap hashes"
2368
+ "dependencies",
2369
+ "EXPERIMENTAL. import all dependencies and write them to the workspace"
2282
2370
  ],
2283
2371
  [
2284
2372
  "",
2285
- "strict",
2286
- "in case issues found, exit with code 1"
2287
- ]
2288
- ],
2289
- "description": "present the current status of components in the workspace, and notifies when issues are detected",
2290
- "extendedDescription": "",
2291
- "group": "development",
2292
- "private": false
2293
- },
2294
- {
2295
- "name": "compile [component-names...]",
2296
- "alias": "",
2297
- "options": [
2298
- [
2299
- "c",
2300
- "changed",
2301
- "compile only new and modified components"
2302
- ],
2303
- [
2304
- "v",
2305
- "verbose",
2306
- "show more data, such as, dist paths"
2373
+ "dependents",
2374
+ "EXPERIMENTAL. import the components' dependents. this enables changes to propagate from (modified) components to their dependents"
2307
2375
  ],
2308
2376
  [
2309
- "j",
2310
- "json",
2311
- "return the compile results in json format"
2377
+ "",
2378
+ "save-in-lane",
2379
+ "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)"
2312
2380
  ],
2313
2381
  [
2314
- "d",
2315
- "delete-dist-dir",
2316
- "delete existing dist folder before writing new compiled files"
2382
+ "",
2383
+ "all-history",
2384
+ "relevant for fetching all components objects. avoid optimizations, fetch all history versions, always"
2317
2385
  ]
2318
2386
  ],
2319
- "description": "compile components in the workspace",
2320
- "extendedDescription": "",
2321
- "group": "development",
2387
+ "description": "import components from their remote scopes to the local workspace",
2388
+ "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)",
2389
+ "group": "collaborate",
2322
2390
  "private": false,
2391
+ "remoteOp": true,
2323
2392
  "arguments": [
2324
2393
  {
2325
- "name": "component-names...",
2326
- "description": "a list of component names or component IDs (defaults to all components)"
2394
+ "name": "component-patterns...",
2395
+ "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)"
2327
2396
  }
2328
2397
  ]
2329
2398
  },
2330
2399
  {
2331
- "name": "run <app-name>",
2332
- "alias": "c",
2400
+ "name": "create <template-name> <component-names...>",
2401
+ "alias": "",
2333
2402
  "options": [
2334
2403
  [
2335
- "d",
2336
- "dev",
2337
- "start the application in dev mode."
2404
+ "n",
2405
+ "namespace <string>",
2406
+ "sets the component's namespace and nested dirs inside the scope"
2338
2407
  ],
2339
2408
  [
2340
- "v",
2341
- "verbose",
2342
- "showing verbose output for inspection and prints stack trace"
2409
+ "s",
2410
+ "scope <string>",
2411
+ "sets the component's scope-name. if not entered, the default-scope will be used"
2343
2412
  ],
2344
2413
  [
2345
- "",
2346
- "skip-watch",
2347
- "avoid running the watch process that compiles components in the background"
2414
+ "a",
2415
+ "aspect <string>",
2416
+ "aspect-id of the template. helpful when multiple aspects use the same template name"
2348
2417
  ],
2349
2418
  [
2350
- "",
2351
- "ssr",
2352
- "run app in server side rendering mode."
2419
+ "p",
2420
+ "path <string>",
2421
+ "relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`"
2422
+ ],
2423
+ [
2424
+ "e",
2425
+ "env <string>",
2426
+ "set the component's environment. (overrides the env from variants and the template)"
2353
2427
  ]
2354
2428
  ],
2355
- "description": "run an app (independent of bit's dev server)",
2429
+ "description": "create a new component (source files and config) using a template.",
2356
2430
  "extendedDescription": "",
2357
- "group": "apps",
2431
+ "group": "development",
2358
2432
  "private": false,
2359
2433
  "arguments": [
2360
2434
  {
2361
- "name": "app-name",
2362
- "description": "the app's name is registered by the app (run 'bit app list' to list the names of the available apps)"
2435
+ "name": "template-name",
2436
+ "description": "the template for generating the component \n(run 'bit templates' for a list of available templates)"
2437
+ },
2438
+ {
2439
+ "name": "component-names...",
2440
+ "description": "a list of component names to generate"
2441
+ }
2442
+ ],
2443
+ "examples": [
2444
+ {
2445
+ "cmd": "bit create react ui/button",
2446
+ "description": "creates a component named 'ui/button' using the 'react' template"
2447
+ },
2448
+ {
2449
+ "cmd": "bit create react ui/button pages/register",
2450
+ "description": "creates two components, 'ui/button' and 'pages/register', using the 'react' template"
2451
+ },
2452
+ {
2453
+ "cmd": "bit create react ui/button --scope my-org.my-scope",
2454
+ "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`."
2455
+ },
2456
+ {
2457
+ "cmd": "bit create react ui/button --env teambit.community/envs/community-react@1.95.13",
2458
+ "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')."
2363
2459
  }
2364
2460
  ]
2365
2461
  },
2366
2462
  {
2367
- "name": "app-list",
2463
+ "name": "templates",
2368
2464
  "alias": "",
2369
2465
  "options": [
2370
2466
  [
2371
- "j",
2372
- "json",
2373
- "return the component data in json format"
2467
+ "s",
2468
+ "show-all",
2469
+ "show hidden templates"
2374
2470
  ]
2375
2471
  ],
2376
- "description": "DEPRECATED. use \"bit app list\"",
2377
- "extendedDescription": "",
2378
- "group": "apps",
2379
- "private": true
2472
+ "description": "list templates for \"bit create\" and \"bit new\"",
2473
+ "extendedDescription": "list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)",
2474
+ "group": "development",
2475
+ "private": false
2380
2476
  },
2381
2477
  {
2382
- "name": "app <sub-command>",
2478
+ "name": "new <template-name> <workspace-name>",
2383
2479
  "alias": "",
2384
- "options": [],
2385
- "description": "Manages apps",
2480
+ "options": [
2481
+ [
2482
+ "a",
2483
+ "aspect <aspect-id>",
2484
+ "aspect-id of the template. mandatory for non-core aspects. helpful for core aspects in case of a name collision"
2485
+ ],
2486
+ [
2487
+ "d",
2488
+ "default-scope <scope-name>",
2489
+ "set defaultScope in the new workspace.jsonc"
2490
+ ],
2491
+ [
2492
+ "",
2493
+ "standalone",
2494
+ "DEPRECATED. use --skip-git instead"
2495
+ ],
2496
+ [
2497
+ "s",
2498
+ "skip-git",
2499
+ "skip generation of Git repository"
2500
+ ],
2501
+ [
2502
+ "e",
2503
+ "empty",
2504
+ "empty workspace with no components (relevant for templates that add components by default)"
2505
+ ],
2506
+ [
2507
+ "",
2508
+ "load-from <path-to-template>",
2509
+ "path to the workspace containing the template. helpful during a development of a workspace-template"
2510
+ ]
2511
+ ],
2512
+ "description": "create a new workspace from a template",
2386
2513
  "extendedDescription": "",
2387
- "group": "apps",
2514
+ "group": "start",
2388
2515
  "private": false,
2389
- "commands": [
2516
+ "arguments": [
2390
2517
  {
2391
- "name": "list",
2392
- "alias": "",
2393
- "options": [
2394
- [
2395
- "j",
2396
- "json",
2397
- "return the component data in json format"
2398
- ]
2399
- ],
2400
- "description": "list all registered apps",
2401
- "extendedDescription": "",
2402
- "group": "apps",
2403
- "private": false
2518
+ "name": "template-name",
2519
+ "description": "the name of the workspace template (run 'bit templates', outside of a workspace, to get a list of available templates)"
2404
2520
  },
2405
2521
  {
2406
- "name": "run <app-name>",
2407
- "alias": "c",
2408
- "options": [
2409
- [
2410
- "d",
2411
- "dev",
2412
- "start the application in dev mode."
2413
- ],
2414
- [
2415
- "v",
2416
- "verbose",
2417
- "showing verbose output for inspection and prints stack trace"
2418
- ],
2419
- [
2420
- "",
2421
- "skip-watch",
2422
- "avoid running the watch process that compiles components in the background"
2423
- ],
2424
- [
2425
- "",
2426
- "ssr",
2427
- "run app in server side rendering mode."
2428
- ]
2429
- ],
2430
- "description": "run an app (independent of bit's dev server)",
2431
- "extendedDescription": "",
2432
- "group": "apps",
2433
- "private": false,
2434
- "arguments": [
2435
- {
2436
- "name": "app-name",
2437
- "description": "the app's name is registered by the app (run 'bit app list' to list the names of the available apps)"
2438
- }
2439
- ]
2522
+ "name": "workspace-name",
2523
+ "description": "the name for the new workspace and workspace directory"
2440
2524
  }
2441
2525
  ]
2442
2526
  },
2443
2527
  {
2444
- "name": "test [component-pattern]",
2445
- "alias": "at",
2528
+ "name": "build [component-pattern]",
2529
+ "alias": "",
2446
2530
  "options": [
2447
2531
  [
2448
- "w",
2449
- "watch",
2450
- "start the tester in watch mode."
2532
+ "a",
2533
+ "all",
2534
+ "build all components, not only modified and new"
2451
2535
  ],
2452
2536
  [
2453
2537
  "d",
2454
- "debug",
2455
- "start the tester in debug mode."
2538
+ "dev",
2539
+ "run the pipeline in dev mode"
2456
2540
  ],
2457
2541
  [
2458
- "a",
2459
- "all",
2460
- "test all components, not only new and modified"
2542
+ "",
2543
+ "install",
2544
+ "install core aspects in capsules"
2461
2545
  ],
2462
2546
  [
2463
2547
  "",
2464
- "junit <filepath>",
2465
- "write tests results as JUnit XML format into the specified file path"
2548
+ "reuse-capsules",
2549
+ "avoid deleting the capsules root-dir before starting the build"
2466
2550
  ],
2467
2551
  [
2468
2552
  "",
2469
- "coverage",
2470
- "show code coverage data"
2553
+ "tasks <string>",
2554
+ "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)"
2471
2555
  ],
2472
2556
  [
2473
- "e",
2474
- "env <id>",
2475
- "test only the given env"
2557
+ "",
2558
+ "cache-packages-on-capsule-root",
2559
+ "set the package-manager cache on the capsule root"
2476
2560
  ],
2477
2561
  [
2478
- "s",
2479
- "scope <scope-name>",
2480
- "DEPRECATED. (use the pattern instead, e.g. \"scopeName/**\"). name of the scope to test"
2562
+ "",
2563
+ "list-tasks <string>",
2564
+ "list tasks of an env or a component-id for each one of the pipelines: build, tag and snap"
2481
2565
  ]
2482
2566
  ],
2483
- "description": "test components in the workspace",
2567
+ "description": "run set of tasks for build",
2484
2568
  "extendedDescription": "",
2485
2569
  "group": "development",
2486
2570
  "private": false,
@@ -2492,37 +2576,32 @@
2492
2576
  ]
2493
2577
  },
2494
2578
  {
2495
- "name": "schema <pattern>",
2579
+ "name": "artifacts <component-pattern>",
2496
2580
  "alias": "",
2497
2581
  "options": [
2498
2582
  [
2499
- "j",
2500
- "json",
2501
- "return the component data in json format"
2502
- ]
2503
- ],
2504
- "description": "shows the API schema of a certain component.",
2505
- "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",
2506
- "group": "development",
2507
- "private": false
2508
- },
2509
- {
2510
- "name": "check-types [component-pattern]",
2511
- "alias": "",
2512
- "options": [
2583
+ "",
2584
+ "aspect <aspect-id>",
2585
+ "show/download only artifacts generated by this aspect-id"
2586
+ ],
2513
2587
  [
2514
- "a",
2515
- "all",
2516
- "check-types for all components, not only modified and new"
2588
+ "",
2589
+ "task <task-id>",
2590
+ "show/download only artifacts generated by this task-id"
2517
2591
  ],
2518
2592
  [
2519
2593
  "",
2520
- "strict",
2521
- "in case issues found, exit with code 1"
2594
+ "files <glob>",
2595
+ "show/download only artifacts matching the given files or the glob pattern (wrap glob patterns in quotes)"
2596
+ ],
2597
+ [
2598
+ "",
2599
+ "out-dir <string>",
2600
+ "download the files to the specified dir"
2522
2601
  ]
2523
2602
  ],
2524
- "description": "check typescript types",
2525
- "extendedDescription": "",
2603
+ "description": "EXPERIMENTAL. list and download components artifacts",
2604
+ "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",
2526
2605
  "group": "development",
2527
2606
  "private": false,
2528
2607
  "arguments": [
@@ -2533,707 +2612,653 @@
2533
2612
  ]
2534
2613
  },
2535
2614
  {
2536
- "name": "aspect <sub-command>",
2615
+ "name": "pack <componentId> [scopePath]",
2537
2616
  "alias": "",
2538
- "options": [],
2539
- "description": "EXPERIMENTAL. manage aspects",
2540
- "extendedDescription": "",
2541
- "group": "development",
2542
- "private": false,
2543
- "commands": [
2544
- {
2545
- "name": "list [pattern]",
2546
- "alias": "",
2547
- "options": [
2548
- [
2549
- "d",
2550
- "debug",
2551
- "show the origins were the aspects were taken from"
2552
- ]
2553
- ],
2554
- "description": "list all aspects configured on component(s)",
2555
- "extendedDescription": "",
2556
- "group": "development",
2557
- "private": false,
2558
- "arguments": [
2559
- {
2560
- "name": "pattern",
2561
- "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"
2562
- }
2563
- ]
2564
- },
2565
- {
2566
- "name": "get <component-name>",
2567
- "alias": "",
2568
- "options": [
2569
- [
2570
- "d",
2571
- "debug",
2572
- "show the origins were the aspects were taken from"
2573
- ],
2574
- [
2575
- "j",
2576
- "json",
2577
- "format as json"
2578
- ]
2579
- ],
2580
- "description": "list the aspects set on a component, as well as their config and data",
2581
- "extendedDescription": "",
2582
- "group": "development",
2583
- "private": false,
2584
- "arguments": [
2585
- {
2586
- "name": "component-name",
2587
- "description": "the component name or component id"
2588
- }
2589
- ]
2590
- },
2591
- {
2592
- "name": "set <pattern> <aspect-id> [config]",
2593
- "alias": "",
2594
- "options": [
2595
- [
2596
- "m",
2597
- "merge",
2598
- "merge with an existing config if exits. (by default, it replaces the config)"
2599
- ]
2600
- ],
2601
- "description": "set components with an aspect to extend their development tools, metadata and (possibly) artifacts",
2602
- "extendedDescription": "",
2603
- "group": "development",
2604
- "private": false,
2605
- "arguments": [
2606
- {
2607
- "name": "pattern",
2608
- "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"
2609
- },
2610
- {
2611
- "name": "aspect-id",
2612
- "description": "the aspect's component id"
2613
- },
2614
- {
2615
- "name": "config",
2616
- "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 ({})."
2617
- }
2618
- ]
2619
- },
2620
- {
2621
- "name": "unset <pattern> <aspect-id>",
2622
- "alias": "",
2623
- "options": [],
2624
- "description": "unset an aspect from component(s).",
2625
- "extendedDescription": "",
2626
- "group": "development",
2627
- "private": false,
2628
- "arguments": [
2629
- {
2630
- "name": "pattern",
2631
- "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"
2632
- },
2633
- {
2634
- "name": "aspect-id",
2635
- "description": "the aspect's component id"
2636
- }
2637
- ]
2638
- },
2639
- {
2640
- "name": "update <aspect-id> [pattern]",
2641
- "alias": "",
2642
- "options": [],
2643
- "description": "update a version of an aspect",
2644
- "extendedDescription": "",
2645
- "group": "development",
2646
- "private": false,
2647
- "arguments": [
2648
- {
2649
- "name": "aspect-id",
2650
- "description": "the aspect's component id. optionally, add a version (id@version), otherwise, it finds the latest version on the remote"
2651
- },
2652
- {
2653
- "name": "pattern",
2654
- "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"
2655
- }
2656
- ],
2657
- "examples": [
2658
- {
2659
- "cmd": "update scope.org/aspect '**/ui/**'",
2660
- "description": "update \"ui\" components that use scope.org/aspect to use its latest version"
2661
- },
2662
- {
2663
- "cmd": "bit aspect update scope.org/aspect@2.0.0",
2664
- "description": "update all components that use scope.org/aspect to version 2.0.0 (of this aspect)."
2665
- }
2666
- ]
2667
- }
2668
- ]
2669
- },
2670
- {
2671
- "name": "clear-cache",
2672
- "alias": "cc",
2673
2617
  "options": [
2674
2618
  [
2675
- "r",
2676
- "remote <remote-name>",
2677
- "clear memory cache from a remote scope"
2619
+ "d",
2620
+ "out-dir <out-dir>",
2621
+ "directory to put the result tar file"
2622
+ ],
2623
+ [
2624
+ "o",
2625
+ "override",
2626
+ "override existing pack file"
2627
+ ],
2628
+ [
2629
+ "k",
2630
+ "keep",
2631
+ "should keep isolated environment [default = false]"
2632
+ ],
2633
+ [
2634
+ "p",
2635
+ "prefix",
2636
+ "keep custom (binding) prefix"
2637
+ ],
2638
+ [
2639
+ "j",
2640
+ "json",
2641
+ "return the output as JSON"
2678
2642
  ]
2679
2643
  ],
2680
- "description": "clears Bit's cache from current working machine",
2681
- "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",
2682
- "group": "general",
2683
- "private": false,
2684
- "skipWorkspace": true
2644
+ "description": "create tar for npm publish",
2645
+ "extendedDescription": "",
2646
+ "group": "collaborate",
2647
+ "private": false
2685
2648
  },
2686
2649
  {
2687
- "name": "log <id>",
2650
+ "name": "publish <component-pattern>",
2688
2651
  "alias": "",
2689
2652
  "options": [
2690
2653
  [
2691
- "r",
2692
- "remote",
2693
- "show log of a remote component"
2654
+ "d",
2655
+ "dry-run",
2656
+ "npm publish --dry-run"
2694
2657
  ],
2695
2658
  [
2696
2659
  "",
2697
- "parents",
2698
- "EXPERIMENTAL. show parents and lanes data"
2660
+ "allow-staged",
2661
+ "allow publish components that were not exported yet (not recommended)"
2699
2662
  ],
2700
2663
  [
2701
2664
  "j",
2702
2665
  "json",
2703
- "json format"
2666
+ "return the output as JSON"
2704
2667
  ]
2705
2668
  ],
2706
- "description": "show components(s) version history",
2707
- "extendedDescription": "https://bit.dev/docs/reference/cli-reference#log",
2708
- "group": "info",
2709
- "private": false,
2710
- "remoteOp": true,
2711
- "skipWorkspace": true,
2669
+ "description": "publish components to npm (npm publish)",
2670
+ "extendedDescription": "",
2671
+ "group": "collaborate",
2672
+ "private": true,
2712
2673
  "arguments": [
2713
2674
  {
2714
- "name": "id",
2715
- "description": "component-id or component-name"
2675
+ "name": "component-pattern",
2676
+ "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"
2716
2677
  }
2717
2678
  ]
2718
2679
  },
2719
2680
  {
2720
- "name": "deprecate <component-name>",
2721
- "alias": "d",
2722
- "options": [
2723
- [
2724
- "",
2725
- "new-id <string>",
2726
- "if replaced by another component, enter the new component id"
2727
- ]
2728
- ],
2729
- "description": "deprecate a component",
2681
+ "name": "refactor <sub-command>",
2682
+ "alias": "",
2683
+ "options": [],
2684
+ "description": "EXPERIMENTAL. source code refactoring / codemod",
2730
2685
  "extendedDescription": "",
2731
- "group": "collaborate",
2686
+ "group": "development",
2732
2687
  "private": false,
2733
- "remoteOp": true,
2734
- "skipWorkspace": true,
2735
- "arguments": [
2688
+ "commands": [
2736
2689
  {
2737
- "name": "component-name",
2738
- "description": "component name or component id"
2690
+ "name": "dependency-name <old-id> <new-id>",
2691
+ "alias": "",
2692
+ "options": [],
2693
+ "description": "replace the dependency's old package-name with a new one in the code",
2694
+ "extendedDescription": "the `<old-id>` and `<new-id>` arguments can be either a component-id or a package-name.",
2695
+ "group": "development",
2696
+ "private": false
2739
2697
  }
2740
2698
  ]
2741
2699
  },
2742
2700
  {
2743
- "name": "undeprecate <id>",
2744
- "alias": "",
2745
- "options": [],
2746
- "description": "undeprecate a deprecated component (local/remote)",
2701
+ "name": "status",
2702
+ "alias": "s",
2703
+ "options": [
2704
+ [
2705
+ "j",
2706
+ "json",
2707
+ "return a json version of the component"
2708
+ ],
2709
+ [
2710
+ "",
2711
+ "verbose",
2712
+ "show full snap hashes"
2713
+ ],
2714
+ [
2715
+ "",
2716
+ "strict",
2717
+ "in case issues found, exit with code 1"
2718
+ ]
2719
+ ],
2720
+ "description": "present the current status of components in the workspace, and notifies when issues are detected",
2747
2721
  "extendedDescription": "",
2748
- "group": "collaborate",
2749
- "private": false,
2750
- "remoteOp": true,
2751
- "skipWorkspace": true
2722
+ "group": "development",
2723
+ "private": false
2752
2724
  },
2753
2725
  {
2754
- "name": "rename <current-name> <new-name>",
2726
+ "name": "compile [component-names...]",
2755
2727
  "alias": "",
2756
2728
  "options": [
2757
2729
  [
2758
- "s",
2759
- "scope <scope-name>",
2760
- "default scope for the newly created component"
2730
+ "c",
2731
+ "changed",
2732
+ "compile only new and modified components"
2761
2733
  ],
2762
2734
  [
2763
- "p",
2764
- "path <relative-path>",
2765
- "relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`"
2735
+ "v",
2736
+ "verbose",
2737
+ "show more data, such as, dist paths"
2766
2738
  ],
2767
2739
  [
2768
- "r",
2769
- "refactor",
2770
- "update the import/require statements in all dependent components (in the same workspace)"
2740
+ "j",
2741
+ "json",
2742
+ "return the compile results in json format"
2743
+ ],
2744
+ [
2745
+ "d",
2746
+ "delete-dist-dir",
2747
+ "delete existing dist folder before writing new compiled files"
2771
2748
  ]
2772
2749
  ],
2773
- "description": "EXPERIMENTAL. rename component. if tagged/exported, create a new component and deprecate the original component",
2750
+ "description": "compile components in the workspace",
2774
2751
  "extendedDescription": "",
2775
- "group": "collaborate",
2752
+ "group": "development",
2776
2753
  "private": false,
2777
- "remoteOp": true,
2778
- "skipWorkspace": true,
2779
2754
  "arguments": [
2780
2755
  {
2781
- "name": "current-name",
2782
- "description": "the current component name (without its scope name)"
2783
- },
2784
- {
2785
- "name": "new-name",
2786
- "description": "the new component name (without its scope name)"
2756
+ "name": "component-names...",
2757
+ "description": "a list of component names or component IDs (defaults to all components)"
2787
2758
  }
2788
2759
  ]
2789
2760
  },
2790
2761
  {
2791
- "name": "fork <source-component-id> [target-component-name]",
2792
- "alias": "",
2762
+ "name": "run <app-name>",
2763
+ "alias": "c",
2793
2764
  "options": [
2794
2765
  [
2795
- "s",
2796
- "scope <string>",
2797
- "default scope for the new component"
2766
+ "d",
2767
+ "dev",
2768
+ "start the application in dev mode."
2798
2769
  ],
2799
2770
  [
2800
- "p",
2801
- "path <string>",
2802
- "relative path in the workspace for the new component. by default the path is `<scope>/<namespace>/<name>`"
2771
+ "v",
2772
+ "verbose",
2773
+ "showing verbose output for inspection and prints stack trace"
2803
2774
  ],
2804
2775
  [
2805
- "r",
2806
- "refactor",
2807
- "update the import/require statements in all dependent components (in the same workspace)"
2776
+ "",
2777
+ "skip-watch",
2778
+ "avoid running the watch process that compiles components in the background"
2808
2779
  ],
2809
2780
  [
2810
2781
  "",
2811
- "skip-dependency-installation",
2812
- "do not install packages of the imported components"
2782
+ "ssr",
2783
+ "run app in server side rendering mode."
2813
2784
  ]
2814
2785
  ],
2815
- "description": "EXPERIMENTAL. create a new component out of an existing one (copies source files and config)",
2786
+ "description": "run an app (independent of bit's dev server)",
2816
2787
  "extendedDescription": "",
2817
- "group": "collaborate",
2788
+ "group": "apps",
2818
2789
  "private": false,
2819
- "remoteOp": true,
2820
- "skipWorkspace": true,
2821
2790
  "arguments": [
2822
2791
  {
2823
- "name": "source-component-id",
2824
- "description": "the component id of the source component"
2825
- },
2826
- {
2827
- "name": "target-component-name",
2828
- "description": "the name for the new component (component name without scope). to set a different scope, use the '--scope' flag"
2792
+ "name": "app-name",
2793
+ "description": "the app's name is registered by the app (run 'bit app list' to list the names of the available apps)"
2829
2794
  }
2830
2795
  ]
2831
2796
  },
2832
2797
  {
2833
- "name": "lane [lane-name]",
2798
+ "name": "app-list",
2834
2799
  "alias": "",
2835
2800
  "options": [
2836
- [
2837
- "d",
2838
- "details",
2839
- "show more details on the state of each component in each lane"
2840
- ],
2841
2801
  [
2842
2802
  "j",
2843
2803
  "json",
2844
- "show lanes details in json format"
2845
- ],
2846
- [
2847
- "r",
2848
- "remote <string>",
2849
- "show remote lanes"
2850
- ],
2851
- [
2852
- "",
2853
- "merged",
2854
- "show merged lanes"
2855
- ],
2856
- [
2857
- "",
2858
- "not-merged",
2859
- "show not merged lanes"
2804
+ "return the component data in json format"
2860
2805
  ]
2861
2806
  ],
2862
- "description": "show lanes details\nhttps://bit.dev/docs/components/lanes",
2807
+ "description": "DEPRECATED. use \"bit app list\"",
2863
2808
  "extendedDescription": "",
2864
- "group": "ungrouped",
2865
- "private": true,
2866
- "remoteOp": true,
2867
- "skipWorkspace": true,
2809
+ "group": "apps",
2810
+ "private": true
2811
+ },
2812
+ {
2813
+ "name": "app <sub-command>",
2814
+ "alias": "",
2815
+ "options": [],
2816
+ "description": "Manages apps",
2817
+ "extendedDescription": "",
2818
+ "group": "apps",
2819
+ "private": false,
2868
2820
  "commands": [
2869
2821
  {
2870
2822
  "name": "list",
2871
2823
  "alias": "",
2872
- "options": [
2873
- [
2874
- "d",
2875
- "details",
2876
- "show more details on the state of each component in each lane"
2877
- ],
2878
- [
2879
- "j",
2880
- "json",
2881
- "show lanes details in a json format"
2882
- ],
2883
- [
2884
- "r",
2885
- "remote <remote-scope-name>",
2886
- "show remote lanes"
2887
- ],
2888
- [
2889
- "",
2890
- "merged",
2891
- "show merged lanes"
2892
- ],
2893
- [
2894
- "",
2895
- "not-merged",
2896
- "show lanes that are not merged"
2897
- ]
2898
- ],
2899
- "description": "list lanes",
2900
- "extendedDescription": "",
2901
- "group": "ungrouped",
2902
- "private": true,
2903
- "remoteOp": true,
2904
- "skipWorkspace": true
2905
- },
2906
- {
2907
- "name": "switch <lane>",
2908
- "alias": "",
2909
- "options": [
2910
- [
2911
- "n",
2912
- "alias <string>",
2913
- "relevant when the specified lane is a remote late. name a local lane differently than the remote lane"
2914
- ],
2915
- [
2916
- "m",
2917
- "merge [strategy]",
2918
- "merge local changes with the checked out version. strategy should be \"theirs\", \"ours\" or \"manual\""
2919
- ],
2920
- [
2921
- "a",
2922
- "get-all",
2923
- "checkout all components in a lane include ones that do not exist in the workspace"
2924
- ],
2925
- [
2926
- "",
2927
- "skip-dependency-installation",
2928
- "do not install packages of the imported components"
2929
- ],
2930
- [
2931
- "j",
2932
- "json",
2933
- "return the output as JSON"
2934
- ]
2935
- ],
2936
- "description": "switch to the specified lane",
2937
- "extendedDescription": "",
2938
- "group": "ungrouped",
2939
- "private": true
2940
- },
2941
- {
2942
- "name": "show <lane-name>",
2943
- "alias": "",
2944
2824
  "options": [
2945
2825
  [
2946
2826
  "j",
2947
2827
  "json",
2948
- "show the lane details in json format"
2949
- ],
2950
- [
2951
- "r",
2952
- "remote <string>",
2953
- "show remote lanes"
2828
+ "return the component data in json format"
2954
2829
  ]
2955
2830
  ],
2956
- "description": "show lane details",
2831
+ "description": "list all registered apps",
2957
2832
  "extendedDescription": "",
2958
- "group": "ungrouped",
2959
- "private": true,
2960
- "remoteOp": true,
2961
- "skipWorkspace": true
2962
- },
2963
- {
2964
- "name": "create <lane-name>",
2965
- "alias": "",
2966
- "options": [
2967
- [
2968
- "",
2969
- "remote-scope <scope-name>",
2970
- "remote scope where this lane will be exported to, default to the defaultScope (can be changed later with \"bit lane change-scope\")"
2971
- ],
2972
- [
2973
- "",
2974
- "alias <name>",
2975
- "a local alias to refer to this lane, defaults to the <lane-name> (can be added later with \"bit lane alias\")"
2976
- ]
2977
- ],
2978
- "description": "creates a new lane and switches to it",
2979
- "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.",
2980
- "group": "ungrouped",
2981
- "private": true,
2982
- "arguments": [
2983
- {
2984
- "name": "lane-name",
2985
- "description": "the name for the new lane"
2986
- }
2987
- ]
2833
+ "group": "apps",
2834
+ "private": false
2988
2835
  },
2989
2836
  {
2990
- "name": "merge <lane> [pattern]",
2991
- "alias": "",
2837
+ "name": "run <app-name>",
2838
+ "alias": "c",
2992
2839
  "options": [
2993
2840
  [
2994
- "",
2995
- "remote <scope-name>",
2996
- "remote scope name"
2997
- ],
2998
- [
2999
- "",
3000
- "ours",
3001
- "in case of a conflict, override the used version with the current modification"
3002
- ],
3003
- [
3004
- "",
3005
- "theirs",
3006
- "in case of a conflict, override the current modification with the specified version"
3007
- ],
3008
- [
3009
- "",
3010
- "manual",
3011
- "in case of a conflict, leave the files with a conflict state to resolve them manually later"
3012
- ],
3013
- [
3014
- "",
3015
- "workspace",
3016
- "merge only components in a lane that exist in the workspace"
3017
- ],
3018
- [
3019
- "",
3020
- "no-snap",
3021
- "do not auto snap in case the merge completed without conflicts"
3022
- ],
3023
- [
3024
- "",
3025
- "build",
3026
- "in case of snap during the merge, run the build-pipeline (similar to bit snap --build)"
3027
- ],
3028
- [
3029
- "m",
3030
- "message <message>",
3031
- "override the default message for the auto snap"
3032
- ],
3033
- [
3034
- "",
3035
- "keep-readme",
3036
- "skip deleting the lane readme component after merging"
3037
- ],
3038
- [
3039
- "",
3040
- "squash",
3041
- "EXPERIMENTAL. squash multiple snaps. keep the last one only"
2841
+ "d",
2842
+ "dev",
2843
+ "start the application in dev mode."
3042
2844
  ],
3043
2845
  [
3044
- "",
2846
+ "v",
3045
2847
  "verbose",
3046
- "show details of components that were not merged legitimately"
2848
+ "showing verbose output for inspection and prints stack trace"
3047
2849
  ],
3048
2850
  [
3049
2851
  "",
3050
- "skip-dependency-installation",
3051
- "do not install packages of the imported components"
2852
+ "skip-watch",
2853
+ "avoid running the watch process that compiles components in the background"
3052
2854
  ],
3053
2855
  [
3054
2856
  "",
3055
- "include-deps",
3056
- "EXPERIMENTAL. relevant for \"--pattern\" and \"--workspace\". merge also dependencies of the given components"
2857
+ "ssr",
2858
+ "run app in server side rendering mode."
3057
2859
  ]
3058
2860
  ],
3059
- "description": "merge a local or a remote lane",
2861
+ "description": "run an app (independent of bit's dev server)",
3060
2862
  "extendedDescription": "",
3061
- "group": "ungrouped",
3062
- "private": true,
3063
- "remoteOp": true,
2863
+ "group": "apps",
2864
+ "private": false,
3064
2865
  "arguments": [
3065
2866
  {
3066
- "name": "lane",
3067
- "description": "lane-name to merge to the current lane"
3068
- },
3069
- {
3070
- "name": "pattern",
3071
- "description": "EXPERIMENTAL. partially merge the lane with the specified component-pattern"
2867
+ "name": "app-name",
2868
+ "description": "the app's name is registered by the app (run 'bit app list' to list the names of the available apps)"
3072
2869
  }
3073
2870
  ]
3074
- },
2871
+ }
2872
+ ]
2873
+ },
2874
+ {
2875
+ "name": "test [component-pattern]",
2876
+ "alias": "at",
2877
+ "options": [
2878
+ [
2879
+ "w",
2880
+ "watch",
2881
+ "start the tester in watch mode."
2882
+ ],
2883
+ [
2884
+ "d",
2885
+ "debug",
2886
+ "start the tester in debug mode."
2887
+ ],
2888
+ [
2889
+ "a",
2890
+ "all",
2891
+ "test all components, not only new and modified"
2892
+ ],
2893
+ [
2894
+ "",
2895
+ "junit <filepath>",
2896
+ "write tests results as JUnit XML format into the specified file path"
2897
+ ],
2898
+ [
2899
+ "",
2900
+ "coverage",
2901
+ "show code coverage data"
2902
+ ],
2903
+ [
2904
+ "e",
2905
+ "env <id>",
2906
+ "test only the given env"
2907
+ ],
2908
+ [
2909
+ "s",
2910
+ "scope <scope-name>",
2911
+ "DEPRECATED. (use the pattern instead, e.g. \"scopeName/**\"). name of the scope to test"
2912
+ ]
2913
+ ],
2914
+ "description": "test components in the workspace",
2915
+ "extendedDescription": "",
2916
+ "group": "development",
2917
+ "private": false,
2918
+ "arguments": [
3075
2919
  {
3076
- "name": "remove <lanes...>",
2920
+ "name": "component-pattern",
2921
+ "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"
2922
+ }
2923
+ ]
2924
+ },
2925
+ {
2926
+ "name": "schema <pattern>",
2927
+ "alias": "",
2928
+ "options": [
2929
+ [
2930
+ "j",
2931
+ "json",
2932
+ "return the component data in json format"
2933
+ ]
2934
+ ],
2935
+ "description": "shows the API schema of a certain component.",
2936
+ "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",
2937
+ "group": "development",
2938
+ "private": false
2939
+ },
2940
+ {
2941
+ "name": "check-types [component-pattern]",
2942
+ "alias": "",
2943
+ "options": [
2944
+ [
2945
+ "a",
2946
+ "all",
2947
+ "check-types for all components, not only modified and new"
2948
+ ],
2949
+ [
2950
+ "",
2951
+ "strict",
2952
+ "in case issues found, exit with code 1"
2953
+ ]
2954
+ ],
2955
+ "description": "check typescript types",
2956
+ "extendedDescription": "",
2957
+ "group": "development",
2958
+ "private": false,
2959
+ "arguments": [
2960
+ {
2961
+ "name": "component-pattern",
2962
+ "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"
2963
+ }
2964
+ ]
2965
+ },
2966
+ {
2967
+ "name": "aspect <sub-command>",
2968
+ "alias": "",
2969
+ "options": [],
2970
+ "description": "EXPERIMENTAL. manage aspects",
2971
+ "extendedDescription": "",
2972
+ "group": "development",
2973
+ "private": false,
2974
+ "commands": [
2975
+ {
2976
+ "name": "list [pattern]",
3077
2977
  "alias": "",
3078
2978
  "options": [
3079
2979
  [
3080
- "r",
3081
- "remote",
3082
- "remove a remote lane (in the lane arg, use remote/lane-id syntax)"
3083
- ],
3084
- [
3085
- "f",
3086
- "force",
3087
- "removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt"
3088
- ],
3089
- [
3090
- "s",
3091
- "silent",
3092
- "skip confirmation"
2980
+ "d",
2981
+ "debug",
2982
+ "show the origins were the aspects were taken from"
3093
2983
  ]
3094
2984
  ],
3095
- "description": "remove lanes",
2985
+ "description": "list all aspects configured on component(s)",
3096
2986
  "extendedDescription": "",
3097
- "group": "ungrouped",
3098
- "private": true,
2987
+ "group": "development",
2988
+ "private": false,
3099
2989
  "arguments": [
3100
2990
  {
3101
- "name": "lanes...",
3102
- "description": "A list of lane names, separated by spaces"
2991
+ "name": "pattern",
2992
+ "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"
3103
2993
  }
3104
2994
  ]
3105
2995
  },
3106
2996
  {
3107
- "name": "change-scope <lane-name> <remote-scope-name>",
3108
- "alias": "",
3109
- "options": [],
3110
- "description": "changes the remote scope of a lane",
3111
- "extendedDescription": "",
3112
- "group": "ungrouped",
3113
- "private": true
3114
- },
3115
- {
3116
- "name": "alias <lane-name> <alias>",
3117
- "alias": "",
3118
- "options": [],
3119
- "description": "adds an alias to a lane",
3120
- "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.",
3121
- "group": "ungrouped",
3122
- "private": true
3123
- },
3124
- {
3125
- "name": "rename <current-name> <new-name>",
2997
+ "name": "get <component-name>",
3126
2998
  "alias": "",
3127
- "options": [],
3128
- "description": "EXPERIMENTAL. change the lane-name locally and on the remote (if exported)",
2999
+ "options": [
3000
+ [
3001
+ "d",
3002
+ "debug",
3003
+ "show the origins were the aspects were taken from"
3004
+ ],
3005
+ [
3006
+ "j",
3007
+ "json",
3008
+ "format as json"
3009
+ ]
3010
+ ],
3011
+ "description": "list the aspects set on a component, as well as their config and data",
3129
3012
  "extendedDescription": "",
3130
- "group": "ungrouped",
3131
- "private": true
3013
+ "group": "development",
3014
+ "private": false,
3015
+ "arguments": [
3016
+ {
3017
+ "name": "component-name",
3018
+ "description": "the component name or component id"
3019
+ }
3020
+ ]
3132
3021
  },
3133
3022
  {
3134
- "name": "diff [values...]",
3023
+ "name": "set <pattern> <aspect-id> [config]",
3135
3024
  "alias": "",
3136
3025
  "options": [
3137
3026
  [
3138
- "",
3139
- "pattern <component-pattern>",
3140
- "EXPERIMENTAL. show lane-diff for the specified component-pattern only"
3027
+ "m",
3028
+ "merge",
3029
+ "merge with an existing config if exits. (by default, it replaces the config)"
3141
3030
  ]
3142
3031
  ],
3143
- "description": "show diff between lanes",
3144
- "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.",
3145
- "group": "ungrouped",
3146
- "private": true,
3147
- "remoteOp": true,
3148
- "skipWorkspace": true
3149
- },
3150
- {
3151
- "name": "add-readme <component-name> [lane-name]",
3152
- "alias": "",
3153
- "options": [],
3154
- "description": "EXPERIMENTAL. adds a readme component to a lane",
3032
+ "description": "set components with an aspect to extend their development tools, metadata and (possibly) artifacts",
3155
3033
  "extendedDescription": "",
3156
- "group": "ungrouped",
3157
- "private": true,
3158
- "skipWorkspace": false,
3034
+ "group": "development",
3035
+ "private": false,
3159
3036
  "arguments": [
3160
3037
  {
3161
- "name": "component-id",
3162
- "description": "the component name or id of the component to use as the lane's readme"
3038
+ "name": "pattern",
3039
+ "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"
3163
3040
  },
3164
3041
  {
3165
- "name": "lane-name",
3166
- "description": "the lane to attach the readme to (defaults to the current lane)"
3042
+ "name": "aspect-id",
3043
+ "description": "the aspect's component id"
3044
+ },
3045
+ {
3046
+ "name": "config",
3047
+ "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 ({})."
3167
3048
  }
3168
3049
  ]
3169
3050
  },
3170
3051
  {
3171
- "name": "remove-readme [laneName]",
3052
+ "name": "unset <pattern> <aspect-id>",
3172
3053
  "alias": "",
3173
3054
  "options": [],
3174
- "description": "EXPERIMENTAL. remove lane readme component",
3055
+ "description": "unset an aspect from component(s).",
3175
3056
  "extendedDescription": "",
3176
- "group": "ungrouped",
3177
- "private": true,
3178
- "skipWorkspace": false
3057
+ "group": "development",
3058
+ "private": false,
3059
+ "arguments": [
3060
+ {
3061
+ "name": "pattern",
3062
+ "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"
3063
+ },
3064
+ {
3065
+ "name": "aspect-id",
3066
+ "description": "the aspect's component id"
3067
+ }
3068
+ ]
3179
3069
  },
3180
3070
  {
3181
- "name": "import <lane>",
3071
+ "name": "update <aspect-id> [pattern]",
3182
3072
  "alias": "",
3183
- "options": [
3184
- [
3185
- "",
3186
- "skip-dependency-installation",
3187
- "do not install packages of the imported components"
3188
- ]
3189
- ],
3190
- "description": "import a remote lane to your workspace",
3073
+ "options": [],
3074
+ "description": "update a version of an aspect",
3191
3075
  "extendedDescription": "",
3192
- "group": "ungrouped",
3193
- "private": true,
3076
+ "group": "development",
3077
+ "private": false,
3194
3078
  "arguments": [
3195
3079
  {
3196
- "name": "lane",
3197
- "description": "the remote lane name"
3080
+ "name": "aspect-id",
3081
+ "description": "the aspect's component id. optionally, add a version (id@version), otherwise, it finds the latest version on the remote"
3082
+ },
3083
+ {
3084
+ "name": "pattern",
3085
+ "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"
3086
+ }
3087
+ ],
3088
+ "examples": [
3089
+ {
3090
+ "cmd": "update scope.org/aspect '**/ui/**'",
3091
+ "description": "update \"ui\" components that use scope.org/aspect to use its latest version"
3092
+ },
3093
+ {
3094
+ "cmd": "bit aspect update scope.org/aspect@2.0.0",
3095
+ "description": "update all components that use scope.org/aspect to version 2.0.0 (of this aspect)."
3198
3096
  }
3199
3097
  ]
3200
3098
  }
3201
3099
  ]
3202
3100
  },
3203
3101
  {
3204
- "name": "switch <lane>",
3102
+ "name": "clear-cache",
3103
+ "alias": "cc",
3104
+ "options": [
3105
+ [
3106
+ "r",
3107
+ "remote <remote-name>",
3108
+ "clear memory cache from a remote scope"
3109
+ ]
3110
+ ],
3111
+ "description": "clears Bit's cache from current working machine",
3112
+ "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",
3113
+ "group": "general",
3114
+ "private": false,
3115
+ "skipWorkspace": true
3116
+ },
3117
+ {
3118
+ "name": "log <id>",
3205
3119
  "alias": "",
3206
3120
  "options": [
3207
3121
  [
3208
- "n",
3209
- "alias <string>",
3210
- "relevant when the specified lane is a remote late. name a local lane differently than the remote lane"
3122
+ "r",
3123
+ "remote",
3124
+ "show log of a remote component"
3211
3125
  ],
3212
3126
  [
3213
- "m",
3214
- "merge [strategy]",
3215
- "merge local changes with the checked out version. strategy should be \"theirs\", \"ours\" or \"manual\""
3127
+ "",
3128
+ "parents",
3129
+ "EXPERIMENTAL. show parents and lanes data"
3216
3130
  ],
3217
3131
  [
3218
- "a",
3219
- "get-all",
3220
- "checkout all components in a lane include ones that do not exist in the workspace"
3132
+ "j",
3133
+ "json",
3134
+ "json format"
3135
+ ]
3136
+ ],
3137
+ "description": "show components(s) version history",
3138
+ "extendedDescription": "https://bit.dev/docs/reference/cli-reference#log",
3139
+ "group": "info",
3140
+ "private": false,
3141
+ "remoteOp": true,
3142
+ "skipWorkspace": true,
3143
+ "arguments": [
3144
+ {
3145
+ "name": "id",
3146
+ "description": "component-id or component-name"
3147
+ }
3148
+ ]
3149
+ },
3150
+ {
3151
+ "name": "deprecate <component-name>",
3152
+ "alias": "d",
3153
+ "options": [
3154
+ [
3155
+ "",
3156
+ "new-id <string>",
3157
+ "if replaced by another component, enter the new component id"
3158
+ ]
3159
+ ],
3160
+ "description": "deprecate a component",
3161
+ "extendedDescription": "",
3162
+ "group": "collaborate",
3163
+ "private": false,
3164
+ "remoteOp": true,
3165
+ "skipWorkspace": true,
3166
+ "arguments": [
3167
+ {
3168
+ "name": "component-name",
3169
+ "description": "component name or component id"
3170
+ }
3171
+ ]
3172
+ },
3173
+ {
3174
+ "name": "undeprecate <id>",
3175
+ "alias": "",
3176
+ "options": [],
3177
+ "description": "undeprecate a deprecated component (local/remote)",
3178
+ "extendedDescription": "",
3179
+ "group": "collaborate",
3180
+ "private": false,
3181
+ "remoteOp": true,
3182
+ "skipWorkspace": true
3183
+ },
3184
+ {
3185
+ "name": "rename <current-name> <new-name>",
3186
+ "alias": "",
3187
+ "options": [
3188
+ [
3189
+ "s",
3190
+ "scope <scope-name>",
3191
+ "default scope for the newly created component"
3192
+ ],
3193
+ [
3194
+ "p",
3195
+ "path <relative-path>",
3196
+ "relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`"
3197
+ ],
3198
+ [
3199
+ "r",
3200
+ "refactor",
3201
+ "update the import/require statements in all dependent components (in the same workspace)"
3202
+ ]
3203
+ ],
3204
+ "description": "EXPERIMENTAL. rename component. if tagged/exported, create a new component and deprecate the original component",
3205
+ "extendedDescription": "",
3206
+ "group": "collaborate",
3207
+ "private": false,
3208
+ "remoteOp": true,
3209
+ "skipWorkspace": true,
3210
+ "arguments": [
3211
+ {
3212
+ "name": "current-name",
3213
+ "description": "the current component name (without its scope name)"
3214
+ },
3215
+ {
3216
+ "name": "new-name",
3217
+ "description": "the new component name (without its scope name)"
3218
+ }
3219
+ ]
3220
+ },
3221
+ {
3222
+ "name": "fork <source-component-id> [target-component-name]",
3223
+ "alias": "",
3224
+ "options": [
3225
+ [
3226
+ "s",
3227
+ "scope <string>",
3228
+ "default scope for the new component"
3229
+ ],
3230
+ [
3231
+ "p",
3232
+ "path <string>",
3233
+ "relative path in the workspace for the new component. by default the path is `<scope>/<namespace>/<name>`"
3234
+ ],
3235
+ [
3236
+ "r",
3237
+ "refactor",
3238
+ "update the import/require statements in all dependent components (in the same workspace)"
3221
3239
  ],
3222
3240
  [
3223
3241
  "",
3224
3242
  "skip-dependency-installation",
3225
3243
  "do not install packages of the imported components"
3226
- ],
3227
- [
3228
- "j",
3229
- "json",
3230
- "return the output as JSON"
3231
3244
  ]
3232
3245
  ],
3233
- "description": "switch to the specified lane",
3246
+ "description": "EXPERIMENTAL. create a new component out of an existing one (copies source files and config)",
3234
3247
  "extendedDescription": "",
3235
- "group": "ungrouped",
3236
- "private": true
3248
+ "group": "collaborate",
3249
+ "private": false,
3250
+ "remoteOp": true,
3251
+ "skipWorkspace": true,
3252
+ "arguments": [
3253
+ {
3254
+ "name": "source-component-id",
3255
+ "description": "the component id of the source component"
3256
+ },
3257
+ {
3258
+ "name": "target-component-name",
3259
+ "description": "the name for the new component (component name without scope). to set a different scope, use the '--scope' flag"
3260
+ }
3261
+ ]
3237
3262
  },
3238
3263
  {
3239
3264
  "name": "eject <component-pattern>",