@teambit/harmony.content.cli-reference 2.0.197 → 2.0.198

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli-reference.mdx CHANGED
@@ -1,37 +1,47 @@
1
- ---
2
- id: cli-all
3
- title: CLI Commands
4
- ---
5
-
6
1
  # CLI Reference
7
2
 
8
- Commands that are marked as workspace only must be executed inside a workspace. Commands that are marked as not workspace only, can be executed from anywhere and will run on a remote server.
3
+ Run the following to list all available Bit commands (alternatively, use the `-h` alias, instead of `--help`):
4
+
5
+ ```sh
6
+ bit --help
7
+ ```
8
+
9
+ Run the following to get help on a specific command:
10
+
11
+ ```sh
12
+ bit COMMAND --help
13
+ ```
14
+
15
+ Run the following to get help on a specific sub-command:
16
+
17
+ ```sh
18
+ bit COMMAND SUB_COMMAND --help
19
+ ```
9
20
 
10
21
  ## add
11
22
 
12
23
  **Alias**: `a`
13
- **Workspace only**: yes
14
- **Description**: add any subset of files to be tracked as a component(s)
15
- all flags support glob patterns and {PARENT} {FILE_NAME} annotations
16
- https://bit.dev/reference/components/adding-components
24
+ **Description**: Add any subset of files to be tracked as a component(s).
25
+ Learn the recommended workflow for tracking directories as components, in the link below.
17
26
 
18
27
  `bit add [path...]`
19
28
 
20
- | **Option** | **Option alias** | **Description** |
21
- | ---------------------------------- | :--------------: | ---------------------------------------------------------------------------------------- |
22
- | `--id <name>` | `-i` | manually set component id |
23
- | `--main <file>` | `-m` | define entry point for the components |
24
- | `--tests <file>/"<file>,<file>"` | `-t` | specify test files to track. use quotation marks to list files or use a glob pattern |
25
- | `--namespace <namespace>` | `-n` | organize component in a namespace |
26
- | `--exclude <file>/"<file>,<file>"` | `-e` | exclude file from being tracked. use quotation marks to list files or use a glob pattern |
27
- | `--override <boolean>` | `-o` | override existing component if exists (default = false) |
29
+ | **Option** | **Option alias** | **Description** |
30
+ | ------------------------- | :--------------: | ----------------------------------------------------------------------------------------------- |
31
+ | `--id <name>` | `-i` | manually set component id |
32
+ | `--main <file>` | `-m` | define component entry point |
33
+ | `--namespace <namespace>` | `-n` | organize component in a namespace |
34
+ | `--override <boolean>` | `-o` | override existing component if exists (default = false) |
35
+ | `--scope <string>` | `-s` | sets the component's scope. if not entered, the default-scope from workspace.jsonc will be used |
36
+ | `--env <string>` | `-e` | set the component's environment. (overrides the env from variants if exists) |
37
+ | `--json` | `-j` | output as json format |
28
38
 
29
39
  ---
30
40
 
31
41
  ## app
32
42
 
33
- **Workspace only**: yes
34
- **Description**: manage applications
43
+ **Alias**: `apps`
44
+ **Description**: Manages apps
35
45
 
36
46
  `bit app <sub-command>`
37
47
 
@@ -39,23 +49,43 @@ Commands that are marked as workspace only must be executed inside a workspace.
39
49
 
40
50
  **Usage**: `app list`
41
51
 
42
- **Description**: list all registered applications
52
+ **Description**: list all registered apps
43
53
 
44
54
  | **Option** | **Option alias** | **Description** |
45
55
  | ---------- | :--------------: | ---------------------------------------- |
46
56
  | `--json` | `-j` | return the component data in json format |
47
57
 
58
+ ### app run
59
+
60
+ **Usage**: `app run <app-name>`
61
+
62
+ **Description**: locally run an app component (independent of bit's dev server)
63
+
64
+ | **Arg** | **Description** |
65
+ | ---------- | :--------------------------------------------------------------------------------------------------: |
66
+ | `app-name` | the app's name is registered by the app (run 'bit app list' to list the names of the available apps) |
67
+
68
+ | **Option** | **Option alias** | **Description** |
69
+ | ---------------------- | :--------------: | -------------------------------------------------------- |
70
+ | `--dev` | `-d` | start the application in dev mode. |
71
+ | `--port [port-number]` | `-p` | port to run the app on |
72
+ | `--verbose` | `-v` | show verbose output for inspection and print stack trace |
73
+ | `--watch` | `-w` | watch and compile your components upon changes |
74
+
48
75
  ---
49
76
 
50
77
  ## artifacts
51
78
 
52
- **Workspace only**: yes
53
- **Description**: EXPERIMENTAL. list and download components artifacts.
79
+ **Description**: list and download component artifacts
54
80
  artifacts are created on isolated capsules during tag or snap commands.
55
81
  example of artifacts are dists files generated by a compiler, a JUnit.xml file generated by a tester
56
82
  and a package.tgz file generated by pkg aspect.
57
83
 
58
- `bit artifacts <pattern...>`
84
+ `bit artifacts <component-pattern>`
85
+
86
+ | **Arg** | **Description** |
87
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
88
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
59
89
 
60
90
  | **Option** | **Option alias** | **Description** |
61
91
  | ---------------------- | :--------------: | -------------------------------------------------------------------------------------------------------- |
@@ -68,8 +98,7 @@ and a package.tgz file generated by pkg aspect.
68
98
 
69
99
  ## aspect
70
100
 
71
- **Workspace only**: yes
72
- **Description**: EXPERIMENTAL. manage aspects
101
+ **Description**: manage aspects
73
102
 
74
103
  `bit aspect <sub-command>`
75
104
 
@@ -77,98 +106,114 @@ and a package.tgz file generated by pkg aspect.
77
106
 
78
107
  **Usage**: `aspect list [pattern]`
79
108
 
80
- **Description**: list all aspects configured on component(s)
81
- you can use a `<pattern>` for multiple component ids, such as `bit aspect list "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
82
- always wrap the pattern with quotes to avoid collision with shell commands.
83
- to validate the pattern before running this command, run `bit pattern <pattern>`.
109
+ **Description**: list all aspects configured on component(s)
110
+
111
+ | **Arg** | **Description** |
112
+ | --------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
113
+ | `pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
84
114
 
85
- | **Option** | **Option alias** | **Description** |
86
- | ---------- | :--------------: | ------------------------------------------------- |
87
- | `--debug` | `-d` | show the origins were the aspects were taken from |
115
+ | **Option** | **Option alias** | **Description** |
116
+ | ---------- | :--------------: | -------------------------------------------------- |
117
+ | `--debug` | `-d` | show the origins where the aspects were taken from |
88
118
 
89
119
  ### aspect get
90
120
 
91
- **Usage**: `aspect get <component-id>`
121
+ **Usage**: `aspect get <component-name>`
92
122
 
93
- **Description**: show aspects' data and configuration of the given component
123
+ **Description**: list the aspects set on a component, as well as their configs and data
94
124
 
95
- | **Option** | **Option alias** | **Description** |
96
- | ---------- | :--------------: | ------------------------------------------------- |
97
- | `--debug` | `-d` | show the origins were the aspects were taken from |
98
- | `--json` | `-j` | format as json |
125
+ | **Arg** | **Description** |
126
+ | ---------------- | :-----------------------------------------------------: |
127
+ | `component-name` | the component name or component id to fetch aspects for |
128
+
129
+ | **Option** | **Option alias** | **Description** |
130
+ | ---------- | :--------------: | -------------------------------------------------- |
131
+ | `--debug` | `-d` | show the origins where the aspects were taken from |
132
+ | `--json` | `-j` | format as json |
99
133
 
100
134
  ### aspect set
101
135
 
102
136
  **Usage**: `aspect set <pattern> <aspect-id> [config]`
103
137
 
104
- **Description**: set an aspect to component(s) with optional config.
105
- enter the config as stringified JSON (e.g. '{"foo":"bar"}' ).
106
- if no config entered, the aspect will be set with empty config ({}).
107
- you can use a `<pattern>` for multiple component ids, such as `bit aspect set "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
108
- always wrap the pattern with quotes to avoid collision with shell commands.
109
- to validate the pattern before running this command, run `bit pattern <pattern>`.
138
+ **Description**: set components with an aspect to extend their development tools, metadata and (possibly) artifacts
139
+
140
+ | **Arg** | **Description** |
141
+ | ----------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
142
+ | `pattern` | the components to extend. component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
143
+ | `aspect-id` | the aspect's component id |
144
+ | `config` | 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 ({}). |
145
+
146
+ | **Option** | **Option alias** | **Description** |
147
+ | ---------- | :--------------: | ---------------------------------------------------------------------------------------------- |
148
+ | `--merge` | `-m` | merge with an existing config if exits. (by default, it replaces overlapping existing configs) |
110
149
 
111
150
  ### aspect unset
112
151
 
113
152
  **Usage**: `aspect unset <pattern> <aspect-id>`
114
153
 
115
- **Description**: unset an aspect from component(s).
116
- you can use a `<pattern>` for multiple component ids, such as `bit aspect unset "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
117
- always wrap the pattern with quotes to avoid collision with shell commands.
118
- to validate the pattern before running this command, run `bit pattern <pattern>`.
154
+ **Description**: unset an aspect from component(s).
155
+
156
+ | **Arg** | **Description** |
157
+ | ----------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
158
+ | `pattern` | the components to target. component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
159
+ | `aspect-id` | the aspect's component id |
119
160
 
120
161
  ### aspect update
121
162
 
122
163
  **Usage**: `aspect update <aspect-id> [pattern]`
123
164
 
124
- **Description**: update a version of an aspect
125
- default to all components using the aspect, unless "pattern" is provided.
126
- you can use a `<pattern>` for multiple component ids, such as `bit aspect update <aspect-id> "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
127
- always wrap the pattern with quotes to avoid collision with shell commands.
128
- to validate the pattern before running this command, run `bit pattern <pattern>`.
165
+ **Description**: update a version of an aspect for all or specified components
129
166
 
130
- examples:
131
- "bit aspect update scope.org/aspect '**/ui/**'" - update "ui" components that use scope.org/aspect to the latest version
132
- "bit aspect update scope.org/aspect@2.0.0" - updates all components using scope.org/aspect to version 2.0.0.
167
+ | **Arg** | **Description** |
168
+ | ----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
169
+ | `aspect-id` | the aspect's component id. optionally, add a version (id@version), otherwise will use the latest version from the remote |
170
+ | `pattern` | the components to update (defaults to all components). component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
133
171
 
134
172
  ---
135
173
 
136
174
  ## build
137
175
 
138
- **Workspace only**: yes
139
- **Description**: run set of tasks for build
176
+ **Description**: run set of tasks for build.
177
+ by default, only new and modified components are built
178
+
179
+ `bit build [component-pattern]`
140
180
 
141
- `bit build [pattern]`
181
+ | **Arg** | **Description** |
182
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
183
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
142
184
 
143
- | **Option** | **Option alias** | **Description** |
144
- | ----------------------------------------------------------------------------------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------- |
145
- | `--all` | `-a` | build all components, not only modified and new |
146
- | `--dev` | `-d` | run the pipeline in dev mode |
147
- | `--install` | | install core aspects in capsules |
148
- | `--reuse-capsules` | | avoid deleting the capsules root-dir before starting the build |
149
- | `--tasks <string>` | | build the specified task(s) only. for multiple tasks, separate by a comma and wrap with quotes. |
150
- | specify the task-name (e.g. "TypescriptCompiler") or the task-aspect-id (e.g. teambit.compilation/compiler) |
151
- | `--cache-packages-on-capsule-root` | | set the package-manager cache on the capsule root |
152
- | `--list-tasks <string>` | | list tasks of an env or a component-id for each one of the pipelines: build, tag and snap |
185
+ | **Option** | **Option alias** | **Description** |
186
+ | ---------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
187
+ | `--all` | `-a` | DEPRECATED. use --unmodified |
188
+ | `--unmodified` | `-u` | include unmodified components (by default, only new and modified components are built) |
189
+ | `--dev` | `-d` | run the pipeline in dev mode |
190
+ | `--install` | | install core aspects in capsules |
191
+ | `--reuse-capsules` | | avoid deleting the capsules root-dir before starting the build |
192
+ | `--tasks <string>` | | build the specified task(s) only. for multiple tasks, separate by a comma and wrap with quotes. specify the task-name (e.g. "TypescriptCompiler") or the task-aspect-id (e.g. teambit.compilation/compiler) |
193
+ | `--cache-packages-on-capsule-root` | | set the package-manager cache on the capsule root |
194
+ | `--list-tasks <string>` | | list tasks of an env or a component-id for each one of the pipelines: build, tag and snap |
195
+ | `--skip-tests` | | skip running component tests during build process |
196
+ | `--fail-fast` | | stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed) |
197
+ | `--include-snap` | | EXPERIMENTAL. include snap pipeline tasks. Warning: this may deploy/publish if you have such tasks |
198
+ | `--include-tag` | | EXPERIMENTAL. include tag pipeline tasks. Warning: this may deploy/publish if you have such tasks |
153
199
 
154
200
  ---
155
201
 
156
202
  ## capsule
157
203
 
158
- **Workspace only**: yes
159
- **Description**: manage capsules.
160
- a capsule is a directory contains the component code, isolated from the workspace.
204
+ **Description**: manage capsules
205
+ a capsule is a directory containing the component code, isolated from the workspace.
161
206
  normally, capsules are created during the build process, the component files are copied and the packages are installed
162
207
  via the configured package-manager. the purpose is to compile/test them in isolation to make sure they will work for
163
208
  other users after publishing/exporting them.
164
209
 
165
- `bit capsule <sub-command>`
210
+ `bit capsule`
166
211
 
167
212
  ### capsule list
168
213
 
169
214
  **Usage**: `capsule list`
170
215
 
171
- **Description**: list all capsules
216
+ **Description**: list the capsules generated for this workspace
172
217
 
173
218
  | **Option** | **Option alias** | **Description** |
174
219
  | ---------- | :--------------: | --------------- |
@@ -176,9 +221,9 @@ other users after publishing/exporting them.
176
221
 
177
222
  ### capsule create
178
223
 
179
- **Usage**: `capsule create [componentIds...]`
224
+ **Usage**: `capsule create [component-id...]`
180
225
 
181
- **Description**: create capsules
226
+ **Description**: create capsules for components
182
227
 
183
228
  | **Option** | **Option alias** | **Description** |
184
229
  | -------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------- |
@@ -187,6 +232,7 @@ other users after publishing/exporting them.
187
232
  | `--always-new` | `-a` | create new environment for capsule |
188
233
  | `--seeders-only` | `-s` | create capsules for the seeders only (not for the entire graph) |
189
234
  | `--id <name>` | `-i` | reuse capsule of certain name |
235
+ | `--use-hash` | | whether to use hash function (of base dir) as capsules root dir name |
190
236
  | `--json` | `-j` | json format |
191
237
  | `--install-packages` | `-d` | install packages by the package-manager |
192
238
  | `--package-manager <name>` | `-p` | npm, yarn or pnpm, default to npm |
@@ -195,21 +241,29 @@ other users after publishing/exporting them.
195
241
 
196
242
  **Usage**: `capsule delete`
197
243
 
198
- **Description**: delete capsules. with no args, only workspace's capsules are deleted
244
+ **Description**: delete capsules
245
+ with no args, only workspace's capsules are deleted
199
246
 
200
247
  | **Option** | **Option alias** | **Description** |
201
248
  | ----------------- | :--------------: | ------------------------------------------------- |
202
249
  | `--scope-aspects` | | delete scope-aspects capsules |
203
250
  | `--all` | `-a` | delete all capsules for all workspaces and scopes |
204
251
 
252
+ | **Option** | **Option alias** | **Description** |
253
+ | ---------- | :--------------: | --------------- |
254
+ | `--json` | `-j` | json format |
255
+
205
256
  ---
206
257
 
207
258
  ## check-types
208
259
 
209
- **Workspace only**: yes
210
260
  **Description**: check typescript types
211
261
 
212
- `bit check-types [pattern]`
262
+ `bit check-types [component-pattern]`
263
+
264
+ | **Arg** | **Description** |
265
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
266
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
213
267
 
214
268
  | **Option** | **Option alias** | **Description** |
215
269
  | ---------- | :--------------: | --------------------------------------------------------- |
@@ -221,43 +275,44 @@ other users after publishing/exporting them.
221
275
  ## checkout
222
276
 
223
277
  **Alias**: `U`
224
- **Workspace only**: yes
225
- **Description**: switch between component versions or remove local changes
226
- `bit checkout <version> [ids...]` => checkout the specified ids (or all components when --all is used) to the specified version
227
- `bit checkout latest [ids...]` => checkout the specified ids (or all components when --all is used) to their latest versions
228
- `bit checkout [ids...] --reset` => remove local modifications from the specified ids (or all components when --all is used)
229
- you can use a pattern for multiple ids, such as bit checkout 0.0.1 "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
230
-
231
- `bit checkout [values...]`
232
-
233
- | **Option** | **Option alias** | **Description** |
234
- | -------------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------- |
235
- | `--interactive-merge` | `-i` | when a component is modified and the merge process found conflicts, display options to resolve them |
236
- | `--ours` | `-o` | in case of a conflict, override the used version with the current modification |
237
- | `--theirs` | `-t` | in case of a conflict, override the current modification with the specified version |
238
- | `--manual` | `-m` | in case of a conflict, leave the files with a conflict state to resolve them manually later |
239
- | `--reset` | `-r` | remove local changes |
240
- | `--all` | `-a` | all components |
241
- | `--verbose` | `-v` | showing verbose output for inspection |
242
- | `--skip-npm-install` | | DEPRECATED. use "--skip-dependency-installation" instead |
243
- | `--skip-dependency-installation` | | do not install packages of the imported components |
244
- | `--ignore-package-json` | | do not generate package.json for the imported component(s). (it automatically enables skip-npm-install and save-dependencies-as-components flags) |
245
- | `--conf [path]` | | write the configuration file (bit.json) and the envs configuration files (use --conf without path to write to the default dir) |
246
- | `--ignore-dist` | | do not write dist files (when exist) |
278
+ **Description**: switch between component versions or remove local changes
279
+
280
+ `bit checkout <version> [component-pattern]` => checkout the specified ids (or all components when --all is used) to the specified version
281
+ `bit checkout head [component-pattern]` => checkout to the last snap/tag (use --latest if you only want semver tags), omit [component-pattern] to checkout head for all
282
+ `bit checkout latest [component-pattern]` => checkout to the latest satisfying semver tag, omit [component-pattern] to checkout latest for all
283
+ `bit checkout reset [component-pattern]` => remove local modifications from the specified ids (or all components when --all is used). also, if a component dir is deleted from the filesystem, it'll be restored
284
+ when on a lane, "checkout head" only checks out components on this lane. to update main components, run "bit lane merge main"
285
+
286
+ `bit checkout <to> [component-pattern]`
287
+
288
+ | **Arg** | **Description** |
289
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
290
+ | `to` | permitted values: [head, latest, reset, specific-version]. 'head' - last snap/tag. 'latest' - semver latest tag. 'reset' - removes local changes |
291
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
292
+
293
+ | **Option** | **Option alias** | **Description** |
294
+ | --------------------------------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------- |
295
+ | `--interactive-merge` | `-i` | when a component is modified and the merge process found conflicts, display options to resolve them |
296
+ | `--auto-merge-resolve <merge-strategy>` | | in case of merge conflict, resolve according to the provided strategy: [ours, theirs, manual] |
297
+ | `--manual` | | same as "--auto-merge-resolve manual". in case of merge conflict, write the files with the conflict markers |
298
+ | `--all` | `-a` | all components |
299
+ | `--workspace-only` | `-e` | only relevant for 'bit checkout head' when on a lane. don't import components from the remote lane that are not already in the workspace |
300
+ | `--verbose` | `-v` | showing verbose output for inspection |
301
+ | `--skip-dependency-installation` | `-x` | do not auto-install dependencies of the imported components |
302
+ | `--force-ours` | | do not merge, preserve local files as is |
303
+ | `--force-theirs` | | do not merge, just overwrite with incoming files |
247
304
 
248
305
  ---
249
306
 
250
307
  ## clear-cache
251
308
 
252
309
  **Alias**: `cc`
253
- **Workspace only**: no
254
310
  **Description**: clears Bit's cache from current working machine
255
311
  The following gets removed by this command:
256
312
 
257
313
  1. V8 compiled code (generated the first time Bit is loaded by v8-compile-cache package)
258
- 2. components cache on the filesystem (mainly the dependencies graph and reference)
259
- 3. scope's index file, which maps the component-id:object-hash
260
- https://bit.dev/reference/workspace/clearing-cache
314
+ 2. components cache on the filesystem (mainly the dependencies graph and docs)
315
+ 3. scope's index file, which maps the component-id:object-hash
261
316
 
262
317
  `bit clear-cache`
263
318
 
@@ -269,7 +324,6 @@ The following gets removed by this command:
269
324
 
270
325
  ## cli
271
326
 
272
- **Workspace only**: yes
273
327
  **Description**: EXPERIMENTAL. enters bit cli program and generates commands list
274
328
 
275
329
  `bit cli`
@@ -278,20 +332,25 @@ The following gets removed by this command:
278
332
 
279
333
  **Usage**: `cli generate`
280
334
 
281
- **Description**: EXPERIMENTAL. generate an .md file with all commands details
335
+ **Description**: generate an .md file with all commands details
282
336
 
283
337
  | **Option** | **Option alias** | **Description** |
284
338
  | ------------ | :--------------: | ------------------------------------------------------------------------------------------------------------------------------ |
285
339
  | `--metadata` | | metadata/front-matter to place at the top of the .md file, enter as an object e.g. --metadata.id=cli --metadata.title=commands |
340
+ | `--docs` | | generate the cli-reference.docs.mdx file |
341
+ | `--json` | `-j` | output the commands info as JSON |
286
342
 
287
343
  ---
288
344
 
289
345
  ## compile
290
346
 
291
- **Workspace only**: yes
292
- **Description**: compile components in the development workspace
347
+ **Description**: compile components in the workspace
293
348
 
294
- `bit compile [component...]`
349
+ `bit compile [component-names...]`
350
+
351
+ | **Arg** | **Description** |
352
+ | -------------------- | :---------------------------------------------------------------------: |
353
+ | `component-names...` | a list of component names or component IDs (defaults to all components) |
295
354
 
296
355
  | **Option** | **Option alias** | **Description** |
297
356
  | ------------------- | :--------------: | ------------------------------------------------------------- |
@@ -304,31 +363,16 @@ The following gets removed by this command:
304
363
 
305
364
  ## completion
306
365
 
307
- **Workspace only**: yes
308
366
  **Description**: enable bash/zsh-completion shortcuts for commands and options
309
367
 
310
368
  `bit completion`
311
369
 
312
370
  ---
313
371
 
314
- ## component-issues
315
-
316
- **Workspace only**: yes
317
- **Description**: list available component-issues
318
-
319
- `bit component-issues`
320
-
321
- | **Option** | **Option alias** | **Description** |
322
- | ---------- | :--------------: | --------------- |
323
- | `--json` | `-j` | json format |
324
-
325
- ---
326
-
327
372
  ## config
328
373
 
329
- **Workspace only**: yes
330
- **Description**: global config management.
331
- https://bit.dev/reference/config/bit-config
374
+ **Description**: global config management
375
+ https://bit.dev/reference/config/bit-config
332
376
 
333
377
  `bit config`
334
378
 
@@ -336,7 +380,9 @@ The following gets removed by this command:
336
380
 
337
381
  **Usage**: `config set <key> <val>`
338
382
 
339
- **Description**: set a global configuration
383
+ **Description**: set a global configuration
384
+ to set temporary configuration by env variable, prefix with "BIT*CONFIG", replace "." with "*" and change to upper case.
385
+ for example, "user.token" becomes "BIT_CONFIG_USER_TOKEN"
340
386
 
341
387
  ### config del
342
388
 
@@ -348,7 +394,7 @@ The following gets removed by this command:
348
394
 
349
395
  **Usage**: `config get <key>`
350
396
 
351
- **Description**: get a global configuration
397
+ **Description**: get a value from global configuration
352
398
 
353
399
  ### config list
354
400
 
@@ -360,132 +406,279 @@ The following gets removed by this command:
360
406
 
361
407
  ## create
362
408
 
363
- **Workspace only**: yes
364
- **Description**: create a new component from a template
409
+ **Description**: create a new component (source files and config) using a template.
410
+
411
+ `bit create <template-name> <component-names...>`
365
412
 
366
- `bit create <templateName> <componentNames...>`
413
+ | **Arg** | **Description** |
414
+ | -------------------- | :-----------------------------------------------------------------------------------------------: |
415
+ | `template-name` | the template for generating the component (run 'bit templates' for a list of available templates) |
416
+ | `component-names...` | a list of component names to generate |
367
417
 
368
418
  | **Option** | **Option alias** | **Description** |
369
419
  | ---------------------- | :--------------: | ----------------------------------------------------------------------------------- |
370
420
  | `--namespace <string>` | `-n` | sets the component's namespace and nested dirs inside the scope |
371
421
  | `--scope <string>` | `-s` | sets the component's scope-name. if not entered, the default-scope will be used |
372
422
  | `--aspect <string>` | `-a` | aspect-id of the template. helpful when multiple aspects use the same template name |
423
+ | `--template <string>` | `-t` | env-id of the template. alias for --aspect. |
373
424
  | `--path <string>` | `-p` | relative path in the workspace. by default the path is `<scope>/<namespace>/<name>` |
374
425
  | `--env <string>` | `-e` | set the component's environment. (overrides the env from variants and the template) |
375
426
 
376
427
  ---
377
428
 
378
- ## dependencies
429
+ ## delete
379
430
 
380
- **Workspace only**: yes
381
- **Description**: EXPERIMENTAL. show dependencies (direct and indirect) of the given component
431
+ **Description**: mark components as deleted on the remote
432
+ to remove components from your local workspace only, use "bit remove" command.
433
+ this command marks the components as deleted, and after snap/tag and export they will be marked as deleted from the remote scope as well.
382
434
 
383
- `bit dependencies <id>`
435
+ `bit delete <component-pattern>`
384
436
 
385
- | **Option** | **Option alias** | **Description** |
386
- | ---------- | :--------------: | -------------------------------------------------------------------- |
387
- | `--debug` | `-d` | show the immediate dependencies and how their version was determined |
437
+ | **Arg** | **Description** |
438
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
439
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
440
+
441
+ | **Option** | **Option alias** | **Description** |
442
+ | --------------- | :--------------: | -------------------------------------------------------------------------------------------------------------------------------------- |
443
+ | `--lane` | | when on a lane, delete the component from this lane only. avoid merging it to main or other lanes |
444
+ | `--update-main` | | EXPERIMENTAL. delete component/s on the main lane after merging this lane into main |
445
+ | `--silent` | `-s` | skip confirmation |
446
+ | `--hard` | | NOT-RECOMMENDED. delete a component completely from a remote scope. careful! this is a permanent change that could corrupt dependents. |
447
+ | `--force` | `-f` | relevant for --hard. allow the deletion even if used as a dependency. WARNING: components that depend on this component will corrupt |
388
448
 
389
449
  ---
390
450
 
391
451
  ## dependents
392
452
 
393
- **Workspace only**: yes
394
- **Description**: EXPERIMENTAL. show dependents of the given component
453
+ **Description**: show dependents of the given component
395
454
 
396
- `bit dependents <id>`
455
+ `bit dependents <component-name>`
397
456
 
398
457
  ---
399
458
 
400
459
  ## deprecate
401
460
 
402
461
  **Alias**: `d`
403
- **Workspace only**: no
404
462
  **Description**: deprecate a component
405
463
 
406
- `bit deprecate <id>`
464
+ `bit deprecate <component-name>`
465
+
466
+ | **Arg** | **Description** |
467
+ | ---------------- | :----------------------------: |
468
+ | `component-name` | component name or component id |
469
+
470
+ | **Option** | **Option alias** | **Description** |
471
+ | ------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------------------------- |
472
+ | `--new-id <string>` | | if replaced by another component, enter the new component id. alternatively use "bit rename --deprecate" to do this automatically |
473
+ | `--range <string>` | | enter a Semver range to deprecate specific versions. see https://www.npmjs.com/package/semver#ranges for the range syntax |
474
+
475
+ ---
476
+
477
+ ## deps
478
+
479
+ **Alias**: `dependencies`
480
+ **Description**: manage dependencies
481
+
482
+ `bit deps <sub-command>`
483
+
484
+ ### deps get
485
+
486
+ **Usage**: `deps get <component-name>`
487
+
488
+ **Description**: show direct and indirect dependencies of the given component
489
+
490
+ | **Arg** | **Description** |
491
+ | ---------------- | :----------------------------: |
492
+ | `component-name` | component name or component id |
493
+
494
+ | **Option** | **Option alias** | **Description** |
495
+ | ---------- | :--------------: | ---------------------------------------------------------------- |
496
+ | `--scope` | | get the data from the scope instead of the workspace |
497
+ | `--tree` | `-t` | EXPERIMENTAL. render dependencies as a tree, similar to "npm ls" |
498
+
499
+ ### deps remove
500
+
501
+ **Usage**: `deps remove <component-pattern> <package...>`
502
+
503
+ **Description**: remove a dependency to component(s)
504
+
505
+ | **Arg** | **Description** |
506
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
507
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
508
+ | `package...` | 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 |
509
+
510
+ | **Option** | **Option alias** | **Description** |
511
+ | ---------- | :--------------: | ---------------------------- |
512
+ | `--dev` | `-d` | remove from devDependencies |
513
+ | `--peer` | `-p` | remove from peerDependencies |
514
+
515
+ ### deps unset
516
+
517
+ **Usage**: `deps unset <component-pattern> <package...>`
518
+
519
+ **Description**: unset a dependency to component(s) that was previously set by "bit deps set"
520
+
521
+ | **Arg** | **Description** |
522
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
523
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
524
+ | `package...` | 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 |
525
+
526
+ | **Option** | **Option alias** | **Description** |
527
+ | ---------- | :--------------: | --------------------------- |
528
+ | `--dev` | `-d` | unset from devDependencies |
529
+ | `--peer` | `-p` | unset from peerDependencies |
530
+
531
+ ### deps debug
532
+
533
+ **Usage**: `deps debug <component-name>`
534
+
535
+ **Description**: show the immediate dependencies and how their versions were determined
536
+
537
+ | **Arg** | **Description** |
538
+ | ---------------- | :----------------------------: |
539
+ | `component-name` | component name or component id |
540
+
541
+ ### deps set
542
+
543
+ **Usage**: `deps set <component-pattern> <package...>`
544
+
545
+ **Description**: set a dependency to component(s)
546
+
547
+ | **Arg** | **Description** |
548
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
549
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
550
+ | `package...` | package name with or without a version, e.g. "lodash@1.0.0" or just "lodash" which will be resolved to the latest |
551
+
552
+ | **Option** | **Option alias** | **Description** |
553
+ | ------------ | :--------------: | ------------------------------- |
554
+ | `--dev` | `-d` | add to the devDependencies |
555
+ | `--optional` | `-o` | add to the optionalDependencies |
556
+ | `--peer` | `-p` | add to the peerDependencies |
557
+
558
+ ### deps reset
559
+
560
+ **Usage**: `deps reset <component-pattern>`
561
+
562
+ **Description**: reset dependencies to the default values (revert any previously "bit deps set")
563
+
564
+ | **Arg** | **Description** |
565
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
566
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
567
+
568
+ ### deps eject
569
+
570
+ **Usage**: `deps eject <component-pattern>`
571
+
572
+ **Description**: write dependencies that were previously set via "bit deps set" into .bitmap
573
+
574
+ | **Arg** | **Description** |
575
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
576
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
577
+
578
+ ### deps blame
579
+
580
+ **Usage**: `deps blame <component-name> <dependency-name>`
581
+
582
+ **Description**: EXPERIMENTAL. find out which snap/tag changed a dependency version
583
+
584
+ | **Arg** | **Description** |
585
+ | ----------------- | :---------------------------------------------------------------------------: |
586
+ | `dependency-name` | package-name. for components, you can use either component-id or package-name |
587
+
588
+ ### deps usage
589
+
590
+ **Usage**: `deps usage <dependency-name>`
591
+
592
+ **Description**: EXPERIMENTAL. find components that use the specified dependency
407
593
 
408
- | **Option** | **Option alias** | **Description** |
409
- | ------------------- | :--------------: | ------------------------------------------------------------ |
410
- | `--new-id <string>` | | if replaced by another component, enter the new component id |
594
+ | **Arg** | **Description** |
595
+ | ----------------- | :------------------------------------------------------------------------------------------------------------------------------------------: |
596
+ | `dependency-name` | package-name. for components, you can use either component-id or package-name. if version is specified, it will search for the exact version |
597
+
598
+ | **Option** | **Option alias** | **Description** |
599
+ | ------------------ | :--------------: | ----------------------------------------- |
600
+ | `--depth <number>` | | max display depth of the dependency graph |
411
601
 
412
602
  ---
413
603
 
414
604
  ## diff
415
605
 
416
- **Workspace only**: yes
417
- **Description**: show diff between components files
418
- bit diff => compare all modified components to their model version
419
- bit diff [ids...] => compare the specified components against their modified states
420
- bit diff [id] [version] => compare the specified version to used or modified files
421
- bit diff [id] [version] [to_version] => compare the specified version files to to_version files
422
- you can use a pattern for multiple ids, such as bit diff "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
606
+ **Description**: show the diff between the components' current source files and config, and their latest snapshot or tag
607
+
608
+ `bit diff [component-pattern] [version] [to-version]`
423
609
 
424
- `bit diff [values...]`
610
+ | **Arg** | **Description** |
611
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
612
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
613
+ | `version` | specific version to compare against |
614
+ | `to-version` | specific version to compare to |
425
615
 
426
616
  | **Option** | **Option alias** | **Description** |
427
617
  | ----------- | :--------------: | ------------------------------------------------------- |
428
- | `--verbose` | `-v` | show a more verbose output when possible |
618
+ | `--verbose` | `-v` | show a more verbose output where possible |
429
619
  | `--table` | `-t` | show tables instead of plain text for dependencies diff |
430
620
 
431
621
  ---
432
622
 
433
623
  ## doctor
434
624
 
435
- **Workspace only**: yes
436
625
  **Description**: diagnose a bit workspace
437
626
 
438
627
  `bit doctor [diagnosis-name]`
439
628
 
440
- | **Option** | **Option alias** | **Description** |
441
- | ------------------- | :--------------: | ------------------------------- |
442
- | `--json` | `-j` | return diagnoses in json format |
443
- | `--list` | | list all available diagnoses |
444
- | `--save [filePath]` | `-s` | save diagnoses to a file |
629
+ | **Option** | **Option alias** | **Description** |
630
+ | ---------------------- | :--------------: | ---------------------------------------------- |
631
+ | `--json` | `-j` | return diagnoses in json format |
632
+ | `--list` | | list all available diagnoses |
633
+ | `--save [filePath]` | `-s` | save diagnoses to a file |
634
+ | `--archive [filePath]` | `-a` | archive the workspace including diagnosis info |
445
635
 
446
636
  ---
447
637
 
448
638
  ## eject
449
639
 
450
640
  **Alias**: `E`
451
- **Workspace only**: yes
452
- **Description**: replaces the components from the local scope with the corresponding packages
453
- you can use a `<pattern>` for multiple component ids, such as `bit eject "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
454
- always wrap the pattern with quotes to avoid collision with shell commands.
455
- to validate the pattern before running this command, run `bit pattern <pattern>`.
641
+ **Description**: remove component from the workspace and install it instead as a regular npm package.
642
+ By default the component files will be removed from the workspace
643
+
644
+ `bit eject <component-pattern>`
456
645
 
457
- `bit eject <pattern>`
646
+ | **Arg** | **Description** |
647
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
648
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
458
649
 
459
- | **Option** | **Option alias** | **Description** |
460
- | -------------- | :--------------: | --------------------------------------------------------------------------------- |
461
- | `--force` | `-f` | ignore local version. remove the components even when they are staged or modified |
462
- | `--json` | `-j` | print the results in JSON format |
463
- | `--keep-files` | | keep the component files in the workspace intact |
650
+ | **Option** | **Option alias** | **Description** |
651
+ | -------------------------------- | :--------------: | -------------------------------------------------------------------------------------------------------------------------------- |
652
+ | `--force` | `-f` | ignore local changes/versions. eject component/s even when they are staged or modified. Note: unexported tags/snaps will be lost |
653
+ | `--skip-dependency-installation` | `-x` | do not auto-install dependencies |
654
+ | `--json` | `-j` | print the results in JSON format |
655
+ | `--keep-files` | | keep the component files in the workspace intact |
464
656
 
465
657
  ---
466
658
 
467
659
  ## eject-conf
468
660
 
469
- **Workspace only**: yes
470
661
  **Description**: eject components configuration (create a `component.json` file)
471
- you can use a `<pattern>` for multiple component ids, such as `bit eject-conf "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
472
- always wrap the pattern with quotes to avoid collision with shell commands.
473
- to validate the pattern before running this command, run `bit pattern <pattern>`.
662
+ note this can be reversed at any time by snapping/tagging changes and deleting the component.json file
663
+ you can use a `<pattern>` for multiple component ids, such as `bit eject-conf "org.scope/utils/**"`.
664
+ use comma to separate patterns and '!' to exclude. e.g. 'ui/\*\*, !ui/button'
665
+ use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'.
666
+ always wrap the pattern with single quotes to avoid collision with shell commands.
667
+ use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.
474
668
 
475
669
  `bit eject-conf <pattern>`
476
670
 
477
- | **Option** | **Option alias** | **Description** |
478
- | ------------- | :--------------: | -------------------------------------- |
479
- | `--propagate` | `-p` | mark propagate true in the config file |
480
- | `--override` | `-o` | override file if exist |
671
+ | **Option** | **Option alias** | **Description** |
672
+ | ------------- | :--------------: | ----------------------------------------------------------------------------------------------------------- |
673
+ | `--propagate` | `-p` | mark propagate true in the config file, so that component.json configs will be merge with workspace configs |
674
+ | `--override` | `-o` | override file if exist |
481
675
 
482
676
  ---
483
677
 
484
678
  ## envs
485
679
 
486
680
  **Alias**: `env`
487
- **Workspace only**: yes
488
- **Description**: list all components envs
681
+ **Description**: list all components maintained by the workspace and their corresponding envs
489
682
 
490
683
  `bit envs`
491
684
 
@@ -493,91 +686,139 @@ to validate the pattern before running this command, run `bit pattern <pattern>`
493
686
 
494
687
  **Usage**: `envs list`
495
688
 
496
- **Description**: list all envs available in the workspace
689
+ **Description**: list all envs currently used in the workspace
497
690
 
498
691
  ### envs get
499
692
 
500
- **Usage**: `envs get <name>`
693
+ **Usage**: `envs get <component-name>`
501
694
 
502
- **Description**: show component's env details
695
+ **Description**: show config information from a component's env
696
+
697
+ | **Arg** | **Description** |
698
+ | ---------------- | :-------------------------------------------------------------------------------------: |
699
+ | `component-name` | the 'component name' or 'component id' of the component whose env you'd like to inspect |
700
+
701
+ | **Option** | **Option alias** | **Description** |
702
+ | --------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------ |
703
+ | `--services <string>` | | show information about the specific services only. for multiple services, separate by a comma and wrap with quotes |
503
704
 
504
705
  ### envs set
505
706
 
506
- **Usage**: `envs set <pattern> <env>`
707
+ **Usage**: `envs set <component-pattern> <env>`
708
+
709
+ **Description**: Assigns one or more components a development environment (env)
507
710
 
508
- **Description**: set an environment for component(s)
509
- you can use a `<pattern>` for multiple component ids, such as `bit env set "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
510
- always wrap the pattern with quotes to avoid collision with shell commands.
511
- to validate the pattern before running this command, run `bit pattern <pattern>`.
711
+ | **Arg** | **Description** |
712
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
713
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
714
+ | `env` | the env's component id (include version if not latest, e.g `teambit.community/envs/community-react@1.95.13`) |
512
715
 
513
716
  ### envs unset
514
717
 
515
- **Usage**: `envs unset <component>`
718
+ **Usage**: `envs unset <component-pattern>`
516
719
 
517
- **Description**: unset an environment from component(s)
518
- you can use a `<pattern>` for multiple component ids, such as `bit env unset "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
519
- always wrap the pattern with quotes to avoid collision with shell commands.
520
- to validate the pattern before running this command, run `bit pattern <pattern>`.
720
+ **Description**: un-sets an env from components that were previously set by "bit env set" or by a component template
721
+ keep in mind that this doesn't remove envs that are set via variants.
722
+ in only removes envs that appear in the .bitmap file, which were previously configured via "bit env set".
723
+ the purpose of this command is to reset previously assigned envs to either allow variants configure the env or use the base node env.
724
+ you can use a `<pattern>` for multiple component ids, such as `bit env unset "org.scope/utils/**"`.
725
+ use comma to separate patterns and '!' to exclude. e.g. 'ui/\*\*, !ui/button'
726
+ use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'.
727
+ always wrap the pattern with single quotes to avoid collision with shell commands.
728
+ use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.
729
+
730
+ | **Arg** | **Description** |
731
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
732
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
521
733
 
522
734
  ### envs replace
523
735
 
524
- **Usage**: `envs replace <old-env> <new-env>`
736
+ **Usage**: `envs replace <current-env> <new-env>`
525
737
 
526
738
  **Description**: replace an existing env with another env for all components using the old env
527
739
 
740
+ | **Arg** | **Description** |
741
+ | ------------- | :----------------------------------------: |
742
+ | `current-env` | the component id of the env to be replaced |
743
+ | `new-env` | the component id of the new env |
744
+
745
+ ### envs update
746
+
747
+ **Usage**: `envs update [env-id] [pattern]`
748
+
749
+ **Description**: update a version of an env for all components using that env
750
+
751
+ | **Arg** | **Description** |
752
+ | --------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
753
+ | `env-id` | the environment id (defaults to all envs). optionally, add a version (id@version), if no version is supplied will use the latest version on the remote. |
754
+ | `pattern` | the components to update (defaults to all components). component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
755
+
528
756
  ---
529
757
 
530
758
  ## export
531
759
 
532
760
  **Alias**: `e`
533
- **Workspace only**: yes
534
- **Description**: export components to a remote scope.
535
- bit export => export all staged components to their current scope, if checked out to a lane, export the lane as well
536
- `bit export [id...]` => export the given ids to their current scope
761
+ **Description**: export components from the workspace to remote scopes
762
+ bit export => export all staged snaps/tags of components to their remote scope. if checked out to a lane, export the lane as well
763
+ `bit export [pattern...]` => export components included by the pattern to their remote scope (we recommend not using a pattern in
764
+ most scenarios so that all changes are exported simultaneously)
765
+ you can use a pattern for multiple ids, such as bit export "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
537
766
 
538
- https://bit.dev/reference/components/exporting-components
539
- you can use a pattern for multiple ids, such as bit export remote-scope "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
767
+ `bit export [component-patterns...]`
540
768
 
541
- `bit export [remote] [id...]`
769
+ | **Arg** | **Description** |
770
+ | ----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
771
+ | `component-patterns...` | (not recommended) component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
542
772
 
543
773
  | **Option** | **Option alias** | **Description** |
544
774
  | ---------------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------------------------------- |
545
- | `--eject` | `-e` | replaces the exported components from the local scope with the corresponding packages |
546
- | `--all` | `-a` | export all components include non-staged |
547
- | `--include-dependencies` | `-d` | LEGACY ONLY. include the component's dependencies as part of the export to the remote scope |
548
- | `--set-current-scope` | `-s` | LEGACY ONLY. ensure the component's remote scope is set according to the target location |
549
- | `--rewire` | `-r` | LEGACY ONLY. when exporting to a different or new scope, replace import/require statements in the source code to match the new scope |
550
- | `--force` | `-f` | force changing a component remote without asking for a confirmation |
551
- | `--all-versions` | | export not only staged versions but all of them |
552
- | `--origin-directly` | | HARMONY ONLY. avoid export to the central hub, instead, export directly to the original scopes. not recommended! |
775
+ | `--eject` | `-e` | after export, remove the components from the workspace and install them as packages |
776
+ | `--all` | `-a` | export all components, including non-staged (useful when components in the remote scope are corrupted or missing) |
777
+ | `--all-versions` | | export not only staged versions but all of them (useful when versions in the remote scope are corrupted or missing) |
778
+ | `--origin-directly` | | EXPERIMENTAL. avoid export to the central hub, instead, export directly to the original scopes. not recommended! |
553
779
  | `--resume <string>` | | in case the previous export failed and suggested to resume with an export-id, enter the id |
780
+ | `--head-only` | | EXPERIMENTAL. in case previous export failed and locally it shows exported and only one snap/tag was created, try using this flag |
554
781
  | `--ignore-missing-artifacts` | | EXPERIMENTAL. don't throw an error when artifact files are missing. not recommended, unless you're sure the artifacts are in the remote |
782
+ | `--fork-lane-new-scope` | | allow exporting a forked lane into a different scope than the original scope |
783
+ | `--open-browser` | | open a browser once the export is completed in the cloud job url |
784
+ | `--json` | `-j` | show output in json format |
555
785
 
556
786
  ---
557
787
 
558
788
  ## fork
559
789
 
560
- **Workspace only**: no
561
- **Description**: EXPERIMENTAL. create a new component out of an existing one
562
- note that [target-name] is the name only without the scope.
563
- to set the default-scope, please use --scope flag
790
+ **Description**: create a new component forked from an existing one (copies source files and configs)
564
791
 
565
- `bit fork <source-id> [target-name]`
792
+ `bit fork <source-component-id> [target-component-name]`
566
793
 
567
- | **Option** | **Option alias** | **Description** |
568
- | ------------------ | :--------------: | ----------------------------------------------------------------------------------------------- |
569
- | `--scope <string>` | `-s` | default scope for the newly created component |
570
- | `--path <string>` | `-p` | relative path in the workspace. by default the path is `<scope>/<namespace>/<name>` |
571
- | `--refactor` | `-r` | change the source code of all components using the original component with the new package-name |
794
+ | **Arg** | **Description** |
795
+ | ----------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------: |
796
+ | `source-component-id` | the component id of the source component |
797
+ | `target-component-name` | the name for the new component (component name without scope, e.g. name/spaces/my-button). to set a different scope, use the '--scope' flag |
798
+
799
+ | **Option** | **Option alias** | **Description** |
800
+ | -------------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------- |
801
+ | `--scope <string>` | `-s` | default scope for the new component |
802
+ | `--path <string>` | `-p` | relative path in the workspace for the new component. by default the path is `<scope>/<namespace>/<name>` |
803
+ | `--refactor` | `-r` | update the import/require statements in all dependent components (in the same workspace) |
804
+ | `--skip-dependency-installation` | `-x` | do not install packages of the imported components |
805
+ | `--env <string>` | `-e` | set the environment for the new component |
806
+ | `--skip-config` | | do not copy the config (aspects-config, env, etc) to the new component. helpful when it fails during aspect loading |
807
+ | `--preserve` | | avoid refactoring file and variable/class names according to the new component name |
808
+ | `--no-link` | | avoid saving a reference to the original component |
809
+ | `--ast` | | EXPERIMENTAL. use ast to transform files instead of regex |
572
810
 
573
811
  ---
574
812
 
575
813
  ## format
576
814
 
577
- **Workspace only**: yes
578
815
  **Description**: format components in the development workspace
579
816
 
580
- `bit format [component...]`
817
+ `bit format [component-pattern]`
818
+
819
+ | **Arg** | **Description** |
820
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
821
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
581
822
 
582
823
  | **Option** | **Option alias** | **Description** |
583
824
  | ----------- | :--------------: | ---------------------------------------------------------------------------- |
@@ -587,9 +828,32 @@ to set the default-scope, please use --scope flag
587
828
 
588
829
  ---
589
830
 
831
+ ## git
832
+
833
+ **Description**: perform git operations
834
+
835
+ `bit git <sub-command>`
836
+
837
+ ### git set-merge-driver
838
+
839
+ **Usage**: `git set-merge-driver`
840
+
841
+ **Description**: setup bit's git merge driver for bitmap files
842
+
843
+ | **Option** | **Option alias** | **Description** |
844
+ | ---------- | :--------------: | --------------------------------- |
845
+ | `--global` | `-g` | set the git merge driver globally |
846
+
847
+ ### git merge-bitmaps
848
+
849
+ **Usage**: `git merge-bitmaps <ancestor> <current> <other>`
850
+
851
+ **Description**: a special command to merge conflicting bitmap files during git merge
852
+
853
+ ---
854
+
590
855
  ## globals
591
856
 
592
- **Workspace only**: yes
593
857
  **Description**: list all globals
594
858
 
595
859
  `bit globals`
@@ -602,126 +866,407 @@ to set the default-scope, please use --scope flag
602
866
 
603
867
  ## graph
604
868
 
605
- **Workspace only**: yes
606
- **Description**: EXPERIMENTAL. generate an image file with the dependencies graph
869
+ **Description**: generate an image file with the workspace components' dependencies graph
607
870
 
608
871
  `bit graph [id]`
609
872
 
610
873
  | **Option** | **Option alias** | **Description** |
611
874
  | ----------------------- | :--------------: | ------------------------------------------------------------------------------------------------------ |
612
- | `--image <image>` | `-i` | image path. use one of the following extensions: [gif, png, svg, pdf] |
875
+ | `--image <image>` | `-i` | image path and format. use one of the following extensions: [gif, png, svg, pdf] |
613
876
  | `--remote [remoteName]` | `-r` | remote name (name is optional, leave empty when id is specified) |
614
877
  | `--all-versions` | | enter all components versions into the graph, not only latest |
615
878
  | `--layout <name>` | | GraphVis layout. default to "dot". options are [circo, dot, fdp, neato, osage, patchwork, sfdp, twopi] |
879
+ | `--json` | `-j` | json format |
616
880
 
617
881
  ---
618
882
 
619
883
  ## help
620
884
 
621
885
  **Alias**: `$0`
622
- **Workspace only**: yes
623
886
  **Description**: shows help
624
887
 
625
888
  `bit help`
626
889
 
890
+ | **Option** | **Option alias** | **Description** |
891
+ | ------------ | :--------------: | ---------------------- |
892
+ | `--internal` | | show internal commands |
893
+
627
894
  ---
628
895
 
629
896
  ## import
630
897
 
631
- **Workspace only**: yes
632
- **Description**: import components into your current workspace.
633
- https://bit.dev/reference/components/importing-components
634
- you can use a pattern for multiple ids, such as bit import "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
635
-
636
- `bit import [ids...]`
637
-
638
- | **Option** | **Option alias** | **Description** |
639
- | -------------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------- |
640
- | `--path <path>` | `-p` | import components into a specific directory |
641
- | `--objects` | `-o` | import components objects only, don't write the components to the file system. This is a default behavior for import with no id |
642
- | `--display-dependencies` | `-d` | display the imported dependencies |
643
- | `--override` | `-O` | override local changes |
644
- | `--verbose` | `-v` | showing verbose output for inspection |
645
- | `--json` | `-j` | return the output as JSON |
646
- | `--conf` | | write the configuration file (component.json) of the component (harmony components only) |
647
- | `--skip-npm-install` | | DEPRECATED. use "--skip-dependency-installation" instead |
648
- | `--skip-dependency-installation` | | do not install packages of the imported components |
649
- | `--merge [strategy]` | `-m` | merge local changes with the imported version. strategy should be "theirs", "ours" or "manual" |
650
- | `--dependencies` | | EXPERIMENTAL. import all dependencies and write them to the workspace |
651
- | `--dependents` | | EXPERIMENTAL. import component dependents to allow auto-tag updating them upon tag |
652
- | `--skip-lane` | | EXPERIMENTAL. when checked out to a lane, do not import the component into the lane, save it on main |
653
- | `--all-history` | | relevant for fetching all components objects. avoid optimizations, fetch all history versions, always |
898
+ **Description**: import components from their remote scopes to the local workspace
899
+
900
+ `bit import [component-patterns...]`
901
+
902
+ | **Arg** | **Description** |
903
+ | ----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
904
+ | `component-patterns...` | 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) |
905
+
906
+ | **Option** | **Option alias** | **Description** |
907
+ | -------------------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
908
+ | `--path <path>` | `-p` | import components into a specific directory (a relative path in the workspace) |
909
+ | `--objects` | `-o` | import components objects to the local scope without checkout (without writing them to the file system). This is the default behavior for import with no id argument |
910
+ | `--override` | `-O` | override local changes |
911
+ | `--verbose` | `-v` | show verbose output for inspection |
912
+ | `--json` | `-j` | return the output as JSON |
913
+ | `--skip-dependency-installation` | `-x` | do not auto-install dependencies of the imported components |
914
+ | `--skip-write-config-files` | | do not write config files (such as eslint, tsconfig, prettier, etc...) |
915
+ | `--merge [strategy]` | `-m` | merge local changes with the imported version. strategy should be "theirs", "ours" or "manual" |
916
+ | `--dependencies` | | import all dependencies (bit components only) of imported components and write them to the workspace |
917
+ | `--dependents` | | import components found while traversing from the imported components upwards to the workspace components |
918
+ | `--dependents-via <string>` | | same as --dependents except the traversal must go through the specified component. to specify multiple components, wrap with quotes and separate by a comma |
919
+ | `--dependents-dry-run` | | DEPRECATED. (this is the default now). same as --dependents, except it prints the found dependents and wait for confirmation before importing them |
920
+ | `--silent` | | no prompt for --dependents/--dependents-via flags |
921
+ | `--filter-envs <envs>` | | only import components that have the specified environment (e.g., "teambit.react/react-env") |
922
+ | `--save-in-lane` | | when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults to save on main) |
923
+ | `--all-history` | | relevant for fetching all components objects. avoid optimizations, fetch all history versions, always |
924
+ | `--fetch-deps` | | fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data |
925
+ | `--track-only` | | do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap |
926
+ | `--include-deprecated` | | when importing with patterns, include deprecated components (default to exclude them) |
654
927
 
655
928
  ---
656
929
 
657
930
  ## init
658
931
 
659
- **Workspace only**: no
660
- **Description**: initialize an empty bit scope
661
- https://bit.dev/reference/workspace/creating-workspaces#initialize-a-workspace-on-an-existing-project
932
+ **Description**: create or reinitialize an empty workspace
933
+ if the current directory is already a workspace, it validates that bit files are correct and rewrite them if needed.
662
934
 
663
935
  `bit init [path]`
664
936
 
665
- | **Option** | **Option alias** | **Description** |
666
- | ----------------------------------------- | :--------------: | -------------------------------------------------------------------------------------------------------------------------------------- |
667
- | `--bare [name]` | `-b` | initialize an empty bit bare scope |
668
- | `--shared <groupname>` | `-s` | add group write permissions to a scope properly |
669
- | `--standalone` | `-T` | do not nest component store within .git directory and do not write config data inside package.json |
670
- | `--reset` | `-r` | write missing or damaged Bit files |
671
- | `--reset-new` | | reset .bitmap file as if the components were newly added and remove all model data (objects) |
672
- | `--reset-hard` | | delete all Bit files and directories, including Bit configuration, tracking and model data. Useful for re-start using Bit from scratch |
673
- | `--default-directory <default-directory>` | `-d` | set up default directory to import components into |
674
- | `--package-manager <package-manager>` | `-p` | set up package manager (npm or yarn) |
675
- | `--force` | `-f` | force workspace initialization without clearing local objects |
676
- | `--harmony` | | DEPRECATED. no need for this flag. Harmony is the default now |
677
- | `--interactive` | `-I` | EXPERIMENTAL. start an interactive process |
937
+ | **Option** | **Option alias** | **Description** |
938
+ | ----------------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------------- |
939
+ | `--bare [name]` | `-b` | initialize an empty bit bare scope |
940
+ | `--shared <groupname>` | `-s` | add group write permissions to a scope properly |
941
+ | `--standalone` | `-T` | do not nest component store within .git directory and do not write config data inside package.json |
942
+ | `--no-package-json` | | do not generate package.json |
943
+ | `--reset` | `-r` | write missing or damaged Bit files |
944
+ | `--reset-new` | | reset .bitmap file as if the components were newly added and remove all model data (objects) |
945
+ | `--reset-lane-new` | | same as reset-new, but it only resets components belong to lanes. main components are left intact |
946
+ | `--reset-hard` | | delete all Bit files and directories, including Bit configuration, tracking and model data. Useful for re-starting workspace from scratch |
947
+ | `--reset-scope` | | removes local scope (.bit or .git/bit). tags/snaps that have not been exported will be lost. workspace is left intact |
948
+ | `--default-directory <default-directory>` | `-d` | set the default directory pattern to import/create components into |
949
+ | `--default-scope <default-scope>` | | set the default scope for components in the workspace |
950
+ | `--package-manager <package-manager>` | `-p` | set the package manager (npm or yarn) to be used in the workspace |
951
+ | `--force` | `-f` | force workspace initialization without clearing local objects |
952
+ | `--interactive` | `-I` | EXPERIMENTAL. start an interactive process |
678
953
 
679
954
  ---
680
955
 
681
956
  ## install
682
957
 
683
958
  **Alias**: `in`
684
- **Workspace only**: yes
685
- **Description**: install development workspace dependencies
959
+ **Description**: installs workspace dependencies
960
+ when no package is specified, all workspace dependencies are installed and all workspace components are imported.
686
961
 
687
962
  `bit install [packages...]`
688
963
 
689
- | **Option** | **Option alias** | **Description** |
690
- | --------------------------------------- | :--------------: | --------------------------------------------------------------- |
691
- | `--variants <variants>` | `-v` | add packages to specific variants |
692
- | `--type [lifecycleType]` | `-t` | "runtime" (default) or "peer" (dev is not a valid option) |
693
- | `--update-existing [updateExisting]` | `-u` | update existing dependencies version and types |
694
- | `--save-prefix [savePrefix]` | | set the prefix to use when adding dependency to workspace.jsonc |
695
- | `--skip-dedupe [skipDedupe]` | | do not dedupe dependencies on installation |
696
- | `--skip-import [skipImport]` | | do not import bit objects post installation |
697
- | `--add-missing-peers [addMissingPeers]` | | install all missing peer dependencies |
964
+ | **Arg** | **Description** |
965
+ | ------------- | :-------------------------------------------------: |
966
+ | `packages...` | a list of packages to install (separated by spaces) |
967
+
968
+ | **Option** | **Option alias** | **Description** |
969
+ | ---------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------ |
970
+ | `--type [lifecycleType]` | `-t` | "runtime" (default) or "peer" (dev is not a valid option) |
971
+ | `--update` | `-u` | update all dependencies to latest version according to their semver range |
972
+ | `--update-existing` | | DEPRECATED (not needed anymore, it is the default now). update existing dependencies version and types |
973
+ | `--save-prefix [savePrefix]` | | set the prefix to use when adding dependency to workspace.jsonc |
974
+ | `--skip-dedupe` | | do not dedupe dependencies on installation |
975
+ | `--skip-import` | | do not import bit objects post installation |
976
+ | `--skip-compile` | | do not compile components |
977
+ | `--skip-write-config-files` | | do not write config files (such as eslint, tsconfig, prettier, etc...) |
978
+ | `--add-missing-deps` | `-a` | install all missing dependencies |
979
+ | `--add-missing-peers` | | install all missing peer dependencies |
980
+ | `--recurring-install` | | automatically run install again if there are non loaded old envs in your workspace |
981
+ | `--no-optional [noOptional]` | | do not install optional dependencies (works with pnpm only) |
982
+ | `--lockfile-only` | | dependencies are not written to node_modules. Only the lockfile is updated |
983
+
984
+ ---
985
+
986
+ ## lane
987
+
988
+ **Alias**: `l`
989
+ **Description**: manage lanes - if no sub-command is used, runs "bit lane list"
990
+
991
+ `bit lane [sub-command]`
992
+
993
+ ### lane list
994
+
995
+ **Usage**: `lane list`
996
+
997
+ **Description**: list local or remote lanes
998
+
999
+ | **Option** | **Option alias** | **Description** |
1000
+ | ------------------------------ | :--------------: | ------------------------------------------------------------- |
1001
+ | `--details` | `-d` | show more details on the state of each component in each lane |
1002
+ | `--json` | `-j` | show lanes' details in a json format |
1003
+ | `--remote <remote-scope-name>` | `-r` | show all remote lanes from the specified scope |
1004
+ | `--merged` | | list only merged lanes |
1005
+ | `--not-merged` | | list only lanes that haven't been merged |
1006
+
1007
+ ### lane switch
1008
+
1009
+ **Usage**: `lane switch <lane>`
1010
+
1011
+ **Description**: switch to the specified lane
1012
+
1013
+ | **Arg** | **Description** |
1014
+ | ------- | :------------------------------------------------------: |
1015
+ | `lane` | lane-name or lane-id (if lane is not local) to switch to |
1016
+
1017
+ | **Option** | **Option alias** | **Description** |
1018
+ | -------------------------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1019
+ | `--alias <string>` | `-n` | relevant when the specified lane is a remote lane. create a local alias for the lane (doesnt affect the lane's name on the remote |
1020
+ | `--merge [strategy]` | `-m` | merge local changes with the checked out version. strategy should be "theirs", "ours" or "manual" |
1021
+ | `--get-all` | `-a` | checkout all components in a lane, including those not currently in the workspace |
1022
+ | `--skip-dependency-installation` | `-x` | do not install dependencies of the imported components |
1023
+ | `--pattern <component-pattern>` | `-p` | switch only the lane components matching the specified component-pattern. only works when the workspace is empty component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1024
+ | `--json` | `-j` | return the output as JSON |
1025
+
1026
+ ### lane show
1027
+
1028
+ **Usage**: `lane show [lane-name]`
1029
+
1030
+ **Description**: show lane details. if no lane specified, show the current lane
1031
+
1032
+ | **Option** | **Option alias** | **Description** |
1033
+ | ---------- | :--------------: | ---------------------------------------------------- |
1034
+ | `--json` | `-j` | show the lane details in json format |
1035
+ | `--remote` | `-r` | show details of the remote head of the provided lane |
1036
+
1037
+ ### lane create
1038
+
1039
+ **Usage**: `lane create <lane-name>`
1040
+
1041
+ **Description**: creates a new lane and switches to it
1042
+ a lane created from main (default-lane) is empty until components are snapped.
1043
+ a lane created from another lane contains all the components of the original lane.
1044
+
1045
+ | **Arg** | **Description** |
1046
+ | ----------- | :-----------------------: |
1047
+ | `lane-name` | the name for the new lane |
1048
+
1049
+ | **Option** | **Option alias** | **Description** |
1050
+ | ----------------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1051
+ | `--scope <scope-name>` | `-s` | remote scope to which this lane will be exported, default to the workspace.json's defaultScope (can be changed up to first export of the lane with "bit lane change-scope") |
1052
+ | `--remote-scope <scope-name>` | | DEPRECATED. use --scope |
1053
+ | `--alias <name>` | | a local alias to refer to this lane, defaults to the `<lane-name>` (can be added later with "bit lane alias") |
1054
+ | `--fork-lane-new-scope` | | create the new lane in a different scope than its parent lane (if created from another lane) |
1055
+
1056
+ ### lane remove
1057
+
1058
+ **Usage**: `lane remove <lanes...>`
1059
+
1060
+ **Description**: remove or delete lanes
1061
+
1062
+ | **Arg** | **Description** |
1063
+ | ---------- | :---------------------------------------: |
1064
+ | `lanes...` | A list of lane names, separated by spaces |
1065
+
1066
+ | **Option** | **Option alias** | **Description** |
1067
+ | ---------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------- |
1068
+ | `--remote` | `-r` | delete a remote lane. use remote/lane-id syntax e.g. bit lane remove owner.org/my-lane --remote. Delete is immediate, no export required |
1069
+ | `--force` | `-f` | removes/deletes the lane even when the lane is not yet merged to main |
1070
+ | `--silent` | `-s` | skip confirmation |
1071
+
1072
+ ### lane change-scope
1073
+
1074
+ **Usage**: `lane change-scope <remote-scope-name>`
1075
+
1076
+ **Description**: changes the remote scope of a lane
1077
+ NOTE: available only before the lane is exported to the remote
1078
+
1079
+ | **Option** | **Option alias** | **Description** |
1080
+ | ------------------------- | :--------------: | ------------------------------------------------------------------------------------------- |
1081
+ | `--lane-name <lane-name>` | `-l` | the name of the lane to change its remote scope. if not specified, the current lane is used |
1082
+
1083
+ ### lane alias
1084
+
1085
+ **Usage**: `lane alias <lane-name> <alias>`
1086
+
1087
+ **Description**: adds an alias to a lane
1088
+ an alias is a name that can be used locally to refer to a lane. it is saved locally and never reaches the remote.
1089
+ it is useful e.g. when having multiple lanes with the same name, but with different remote scopes.
1090
+
1091
+ ### lane rename
1092
+
1093
+ **Usage**: `lane rename <new-name>`
1094
+
1095
+ **Description**: EXPERIMENTAL. change the lane-name locally
1096
+ the remote will be updated after the next "bit export" command
1097
+
1098
+ | **Option** | **Option alias** | **Description** |
1099
+ | ------------------------- | :--------------: | -------------------------------------------------------------------------- |
1100
+ | `--lane-name <lane-name>` | `-l` | the name of the lane to rename. if not specified, the current lane is used |
1101
+
1102
+ ### lane diff
1103
+
1104
+ **Usage**: `lane diff [values...]`
1105
+
1106
+ **Description**: show diff between lanes
1107
+ bit lane diff => diff between the current lane and default lane. (only inside workspace).
1108
+ bit lane diff to => diff between the current lane (or default-lane when in scope) and "to" lane.
1109
+ bit lane diff from to => diff between "from" lane and "to" lane.
1110
+
1111
+ | **Arg** | **Description** |
1112
+ | ------- | :------------------------------: |
1113
+ | `from` | base lane for comparison |
1114
+ | `to` | lane being compared to base lane |
1115
+
1116
+ | **Option** | **Option alias** | **Description** |
1117
+ | ------------------------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1118
+ | `--pattern <component-pattern>` | | show lane-diff for components conforming to the specified component-pattern only component-pattern format: component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1119
+
1120
+ ### lane add-readme
1121
+
1122
+ **Usage**: `lane add-readme <component-name> [lane-name]`
1123
+
1124
+ **Description**: EXPERIMENTAL. sets an existing component as the readme of a lane
1125
+
1126
+ | **Arg** | **Description** |
1127
+ | -------------- | :-------------------------------------------------------------------: |
1128
+ | `component-id` | the component name or id of the component to use as the lane's readme |
1129
+ | `lane-name` | the lane to attach the readme to (defaults to the current lane) |
1130
+
1131
+ ### lane remove-readme
1132
+
1133
+ **Usage**: `lane remove-readme [laneName]`
1134
+
1135
+ **Description**: EXPERIMENTAL. remove lane readme component
1136
+
1137
+ ### lane import
1138
+
1139
+ **Usage**: `lane import <lane>`
1140
+
1141
+ **Description**: import a remote lane to your workspace and switch to that lane
1142
+
1143
+ | **Arg** | **Description** |
1144
+ | ------- | :------------------: |
1145
+ | `lane` | the remote lane name |
1146
+
1147
+ | **Option** | **Option alias** | **Description** |
1148
+ | -------------------------------- | :--------------: | -------------------------------------------------------------------------------------------------------------------------------------- |
1149
+ | `--skip-dependency-installation` | `-x` | do not install dependencies of the imported components |
1150
+ | `--pattern <component-pattern>` | `-p` | import only components from the lane that fit the specified component-pattern to the workspace. works only when the workspace is empty |
1151
+
1152
+ ### lane remove-comp
1153
+
1154
+ **Usage**: `lane remove-comp <component-pattern>`
1155
+
1156
+ **Description**: DEPRECATED. remove components when on a lane
1157
+
1158
+ | **Arg** | **Description** |
1159
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1160
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1161
+
1162
+ | **Option** | **Option alias** | **Description** |
1163
+ | ------------------ | :--------------: | ------------------------------------------------------------------------------------------------- |
1164
+ | `--workspace-only` | | do not mark the components as removed from the lane. instead, remove them from the workspace only |
1165
+ | `--update-main` | | EXPERIMENTAL. remove, i.e. delete, component/s on the main lane after merging this lane into main |
1166
+
1167
+ ### lane merge
1168
+
1169
+ **Usage**: `lane merge <lane> [pattern]`
1170
+
1171
+ **Description**: merge a local or a remote lane to the current lane
1172
+ by default, the provided lane will be fetched from the remote before merging.
1173
+ to merge the lane from the local scope without updating it first, use "--skip-fetch" flag.
1174
+
1175
+ when the current and merge candidate lanes are diverged in history and the files could be merged with no conflicts,
1176
+ these components will be snap-merged to complete the merge. use "no-snap" to opt-out, or "tag" to tag instead.
1177
+
1178
+ in case a component in both ends don't share history (no snap is found in common), the merge will require "--resolve-unrelated" flag.
1179
+ this flag keeps the history of one end and saves a reference to the other end. the decision of which end to keep is determined by the following:
1180
+
1181
+ 1. if the component exists on main, then the history linked to main will be kept.
1182
+ in this case, the strategy of "--resolve-unrelated" only determines which source-code to keep. it's not about the history.
1183
+ 2. if the component doesn't exist on main, then by default, the history of the current lane will be kept.
1184
+ unless "--resolve-unrelated" is set to "theirs", in which case the history of the other lane will be kept.
1185
+ 3. a. an edge case: if the component is deleted on the current lane, the strategy will always be "theirs".
1186
+ so then the history (and the source-code) of the other lane will be kept.
1187
+
1188
+ | **Arg** | **Description** |
1189
+ | --------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1190
+ | `lane` | lane-name or full lane-id (if remote) to merge to the current lane |
1191
+ | `pattern` | partially merge the lane - only components that match the specified component-pattern Component pattern format: component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1192
+
1193
+ | **Option** | **Option alias** | **Description** |
1194
+ | --------------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
1195
+ | `--manual` | | same as "--auto-merge-resolve manual". in case of merge conflict, write the files with the conflict markers |
1196
+ | `--auto-merge-resolve <merge-strategy>` | | in case of a merge conflict, resolve according to the provided strategy: [ours, theirs, manual] |
1197
+ | `--ours` | | DEPRECATED. use --auto-merge-resolve. in case of a conflict, keep local modifications |
1198
+ | `--theirs` | | DEPRECATED. use --auto-merge-resolve. in case of a conflict, override local with incoming changes |
1199
+ | `--workspace` | | merge only lane components that are in the current workspace |
1200
+ | `--no-snap` | | do not auto snap after merge completed without conflicts |
1201
+ | `--tag` | | auto-tag all lane components after merging into main (or tag-merge in case of snap-merge) |
1202
+ | `--build` | | in case of snap during the merge, run the build-pipeline (similar to bit snap --build) |
1203
+ | `--message <message>` | `-m` | override the default message for the auto snap |
1204
+ | `--keep-readme` | | skip deleting the lane readme component after merging |
1205
+ | `--no-squash` | | relevant for merging lanes into main, which by default squashes all lane snaps |
1206
+ | `--squash` | | EXPERIMENTAL. relevant for merging a lane into another non-main lane, which by default does not squash |
1207
+ | `--ignore-config-changes` | | allow merging when components are modified due to config changes (such as dependencies) only and not files |
1208
+ | `--verbose` | | show details of components that were not merged successfully |
1209
+ | `--skip-dependency-installation` | `-x` | do not install dependencies of the imported components |
1210
+ | `--skip-fetch` | | use the local state of target-lane if exits locally, without updating it from the remote |
1211
+ | `--include-deps` | | relevant for "--pattern" and "--workspace". merge also dependencies of the specified components |
1212
+ | `--resolve-unrelated [merge-strategy]` | | relevant when a component on a lane and the component on main have nothing in common. merge-strategy can be "ours" (default) or "theirs" |
1213
+ | `--include-non-lane-comps` | | DEPRECATED (this is now the default). when merging main, include workspace components that are not on the lane (by default only lane components are merged) |
1214
+ | `--exclude-non-lane-comps` | | when merging main into a lane, exclude workspace components that are not on the lane (by default all workspace components are merged) |
1215
+
1216
+ ### lane merge-abort
1217
+
1218
+ **Usage**: `lane merge-abort`
1219
+
1220
+ **Description**: abort the recent lane-merge. revert the lane object and checkout accordingly
1221
+ restore the lane-object to its state before the last "bit lane merge" command.
1222
+ also, checkout the workspace components according to the restored lane state
1223
+
1224
+ | **Option** | **Option alias** | **Description** |
1225
+ | -------------------------------- | :--------------: | -------------------------------------------------------- |
1226
+ | `--verbose` | | show details of components that didn't need to be merged |
1227
+ | `--silent` | `-s` | skip confirmation |
1228
+ | `--skip-dependency-installation` | `-x` | do not install packages of the imported components |
1229
+
1230
+ | **Option** | **Option alias** | **Description** |
1231
+ | ------------------------------ | :--------------: | ------------------------------------------------------------- |
1232
+ | `--details` | `-d` | show more details on the state of each component in each lane |
1233
+ | `--json` | `-j` | show lanes details in json format |
1234
+ | `--remote <remote-scope-name>` | `-r` | show all remote lanes from the specified scope |
1235
+ | `--merged` | | list only merged lanes |
1236
+ | `--not-merged` | | list only lanes that haven't been merged |
698
1237
 
699
1238
  ---
700
1239
 
701
1240
  ## link
702
1241
 
703
- **Workspace only**: yes
704
- **Description**: generate symlinks to resolve module paths for imported components.
705
- https://bit.dev/reference/workspace/component-links
1242
+ **Description**: create links in the node_modules directory, to core aspects and to components in the workspace
706
1243
 
707
- `bit link [ids...]`
1244
+ `bit link [component-names...]`
708
1245
 
709
- | **Option** | **Option alias** | **Description** |
710
- | ------------------------- | :--------------: | -------------------------------------------------------------------------------------------------------------- |
711
- | `--json` | `-j` | return the output as JSON |
712
- | `--verbose` | | verbose output |
713
- | `--rewire` | `-r` | Replace relative paths with module paths in code (e.g. "../foo" => "@bit/foo") |
714
- | `--target <dir>` | | EXPERIMENTAL. link to an external directory (similar to npm-link) so other projects could use these components |
715
- | `--skip-fetching-objects` | | skip fetch missing objects from remotes before linking |
1246
+ | **Arg** | **Description** |
1247
+ | -------------------- | :------------------------------------: |
1248
+ | `component-names...` | names or IDs of the components to link |
1249
+
1250
+ | **Option** | **Option alias** | **Description** |
1251
+ | ------------------------- | :--------------: | ------------------------------------------------------------------------------------------------ |
1252
+ | `--json` | `-j` | return the output as JSON |
1253
+ | `--verbose` | | verbose output |
1254
+ | `--rewire` | `-r` | Replace relative paths with module paths in code (e.g. "../foo" => "@bit/foo") |
1255
+ | `--target <dir>` | | link to an external directory (similar to npm-link) so other projects could use these components |
1256
+ | `--skip-fetching-objects` | | skip fetch missing objects from remotes before linking |
1257
+ | `--peers` | | link peer dependencies of the components too |
716
1258
 
717
1259
  ---
718
1260
 
719
1261
  ## lint
720
1262
 
721
- **Workspace only**: yes
722
1263
  **Description**: lint components in the development workspace
723
1264
 
724
- `bit lint [component...]`
1265
+ `bit lint [component-pattern]`
1266
+
1267
+ | **Arg** | **Description** |
1268
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1269
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
725
1270
 
726
1271
  | **Option** | **Option alias** | **Description** |
727
1272
  | ---------------------- | :--------------: | ----------------------------------------------------------------- |
@@ -735,59 +1280,75 @@ https://bit.dev/reference/workspace/component-links
735
1280
  ## list
736
1281
 
737
1282
  **Alias**: `ls`
738
- **Workspace only**: no
739
- **Description**: list components on a local or a remote scope.
740
- https://bit.dev/reference/reference/cli-reference#list
1283
+ **Description**: list components on a workspace or a remote scope (with flag).
741
1284
 
742
1285
  `bit list [remote-scope]`
743
1286
 
744
- | **Option** | **Option alias** | **Description** |
745
- | ---------------------- | :--------------: | ------------------------------------------------------------------------------- |
746
- | `--ids` | `-i` | show only component ids unformatted |
747
- | `--scope` | `-s` | show only components stored in the local scope, including indirect dependencies |
748
- | `--bare` | `-b` | DEPRECATED. use --raw instead |
749
- | `--raw` | `-r` | show raw output (only components ids, no styling) |
750
- | `--outdated` | `-o` | show latest versions from remotes |
751
- | `--json` | `-j` | show the output in JSON format |
752
- | `--namespace <string>` | `-n` | show only specified namespace by using wildcards |
1287
+ | **Option** | **Option alias** | **Description** |
1288
+ | ---------------------- | :--------------: | --------------------------------------------------------------------------------------------- |
1289
+ | `--ids` | `-i` | show only component ids, unformatted |
1290
+ | `--scope` | `-s` | show only components stored in the local scope, including indirect dependencies |
1291
+ | `--outdated` | `-o` | highlight outdated components, in comparison with their latest remote version (if one exists) |
1292
+ | `--json` | `-j` | show the output in JSON format |
1293
+ | `--namespace <string>` | `-n` | show only components in the specified namespace/s e.g. '-n ui' or '\*/ui' |
753
1294
 
754
1295
  ---
755
1296
 
756
1297
  ## log
757
1298
 
758
- **Workspace only**: no
759
- **Description**: show components(s) tag history.
760
- https://bit.dev/reference/reference/cli-reference#log
1299
+ **Description**: show components(s) version history
761
1300
 
762
1301
  `bit log <id>`
763
1302
 
764
- | **Option** | **Option alias** | **Description** |
765
- | ----------- | :--------------: | ----------------------------------------- |
766
- | `--remote` | `-r` | show log of a remote component |
767
- | `--parents` | | EXPERIMENTAL. show parents and lanes data |
1303
+ | **Arg** | **Description** |
1304
+ | ------- | :----------------------------: |
1305
+ | `id` | component-id or component-name |
1306
+
1307
+ | **Option** | **Option alias** | **Description** |
1308
+ | ---------------- | :--------------: | --------------------------------------------------------------------------------------------- |
1309
+ | `--remote` | `-r` | show log of a remote component |
1310
+ | `--parents` | | show parents and lanes data |
1311
+ | `--one-line` | `-o` | show each log entry in one line |
1312
+ | `--full-hash` | `-f` | show full hash of the snap (default to the first 9 characters for --one-line/--parents flags) |
1313
+ | `--full-message` | `-m` | show full message of the snap (default to the first line for --one-line/--parents flags) |
1314
+ | `--json` | `-j` | json format |
1315
+
1316
+ ---
1317
+
1318
+ ## log-file
1319
+
1320
+ **Description**: EXPERIMENTAL. show file history
1321
+
1322
+ `bit log-file <filepath>`
1323
+
1324
+ | **Arg** | **Description** |
1325
+ | ---------- | :---------------------------------: |
1326
+ | `filepath` | file path relative to the workspace |
1327
+
1328
+ | **Option** | **Option alias** | **Description** |
1329
+ | ------------ | :--------------: | ------------------------------- |
1330
+ | `--one-line` | `-o` | show each log entry in one line |
768
1331
 
769
1332
  ---
770
1333
 
771
1334
  ## login
772
1335
 
773
- **Workspace only**: no
774
- **Description**: log the CLI into Bit Cloud
1336
+ **Description**: log in to Bit cloud
775
1337
 
776
1338
  `bit login`
777
1339
 
778
- | **Option** | **Option alias** | **Description** |
779
- | --------------------------- | :--------------: | -------------------------------------------------------------------------------------------------- |
780
- | `--port <port>` | `-p` | port number to open for localhost server (default 8085) |
781
- | `--suppress-browser-launch` | | do not open a browser for authentication |
782
- | `--npmrc-path <path>` | | path to npmrc file to configure bit.cloud registry |
783
- | `--skip-registry-config` | | don't configure bit.cloud registry |
784
- | `--machine-name <string>` | | specify machine-name to pair with the token (useful for CI to avoid accidentally revoke the token) |
1340
+ | **Option** | **Option alias** | **Description** |
1341
+ | --------------------------- | :--------------: | ---------------------------------------------------------------------------------------------------- |
1342
+ | `--cloud-domain <domain>` | `-d` | login cloud domain (default bit.cloud) |
1343
+ | `--port <port>` | `-p` | port number to open for localhost server (default 8085) |
1344
+ | `--no-browser` | | do not open a browser for authentication |
1345
+ | `--machine-name <name>` | | specify machine-name to pair with the token (useful for CI to avoid accidentally revoking the token) |
1346
+ | `--suppress-browser-launch` | | DEPRECATE. use --no-browser instead |
785
1347
 
786
1348
  ---
787
1349
 
788
1350
  ## logout
789
1351
 
790
- **Workspace only**: yes
791
1352
  **Description**: log the CLI out of Bit
792
1353
 
793
1354
  `bit logout`
@@ -796,81 +1357,127 @@ https://bit.dev/reference/workspace/component-links
796
1357
 
797
1358
  ## merge
798
1359
 
799
- **Workspace only**: yes
800
- **Description**: merge changes of different component versions
801
- `bit merge <version> [ids...]` => merge changes of the given version into the checked out version
802
- `bit merge [ids...]` => EXPERIMENTAL. merge changes of the remote head into local, optionally use '--abort' or '--resolve'
803
- 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)
1360
+ **Description**: merge changes of the remote head into local - auto-snaps all merged components
1361
+ merge changes of the remote head into local when they are diverged. when on a lane, merge the remote head of the lane into the local
1362
+ and creates snaps for merged components that have diverged, on the lane.
1363
+ if no ids are specified, all pending-merge components will be merged. (run "bit status" to list them).
1364
+ optionally use '--abort' to revert the last merge. to revert a lane merge, use "bit lane merge-abort" command.
1365
+ you can use a pattern for multiple ids, such as bit merge "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
804
1366
 
805
- `bit merge [values...]`
1367
+ `bit merge [ids...]`
806
1368
 
807
- | **Option** | **Option alias** | **Description** |
808
- | --------------------- | :--------------: | ------------------------------------------------------------------------------------------- |
809
- | `--ours` | | in case of a conflict, override the used version with the current modification |
810
- | `--theirs` | | in case of a conflict, override the current modification with the specified version |
811
- | `--manual` | | in case of a conflict, leave the files with a conflict state to resolve them manually later |
812
- | `--abort` | | EXPERIMENTAL. in case of an unresolved merge, revert to the state before the merge began |
813
- | `--resolve` | | EXPERIMENTAL. mark an unresolved merge as resolved and create a new snap with the changes |
814
- | `--no-snap` | | EXPERIMENTAL. do not auto snap in case the merge completed without conflicts |
815
- | `--build` | | in case of snap during the merge, run the build-pipeline (similar to bit snap --build) |
816
- | `--message <message>` | `-m` | EXPERIMENTAL. override the default message for the auto snap |
1369
+ | **Option** | **Option alias** | **Description** |
1370
+ | --------------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------- |
1371
+ | `--ours` | | DEPRECATED. use --auto-merge-resolve. in case of a conflict, keep the local modification |
1372
+ | `--theirs` | | DEPRECATED. use --auto-merge-resolve. in case of a conflict, override the local modification with the specified version |
1373
+ | `--manual` | | same as "--auto-merge-resolve manual". in case of merge conflict, write the files with the conflict markers |
1374
+ | `--auto-merge-resolve <merge-strategy>` | | in case of a conflict, resolve according to the strategy: [ours, theirs, manual] |
1375
+ | `--abort` | | in case of an unresolved merge, revert to pre-merge state |
1376
+ | `--resolve` | | mark an unresolved merge as resolved and create a new snap with the changes |
1377
+ | `--no-snap` | | do not auto snap even if the merge completed without conflicts |
1378
+ | `--build` | | in case of snap during the merge, run the build-pipeline (similar to bit snap --build) |
1379
+ | `--verbose` | | show details of components that were not merged successfully |
1380
+ | `--skip-dependency-installation` | `-x` | do not install new dependencies resulting from the merge |
1381
+ | `--message <message>` | `-m` | override the default message for the auto snap |
1382
+
1383
+ ---
1384
+
1385
+ ## mini-status
1386
+
1387
+ **Alias**: `ms`
1388
+ **Description**: EXPERIMENTAL. basic status for fast execution
1389
+ shows only modified/new components with code changes. for the full status, use "bit status".
1390
+ this command only checks source code changes, it doesn't check for config/aspect/dependency changes
1391
+
1392
+ `bit mini-status [component-pattern]`
1393
+
1394
+ | **Arg** | **Description** |
1395
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1396
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1397
+
1398
+ | **Option** | **Option alias** | **Description** |
1399
+ | -------------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------ |
1400
+ | `--show-issues` | | show component issues (slows down the command) |
1401
+ | `--ignore-circular-dependencies` | `-c` | do not check for circular dependencies to get the results quicker (relevant when --show-issues flag is used) |
1402
+ | `--json` | `-j` | json format |
817
1403
 
818
1404
  ---
819
1405
 
820
1406
  ## move
821
1407
 
822
1408
  **Alias**: `mv`
823
- **Workspace only**: yes
824
- **Description**: move files or directories of component(s)
825
- https://bit.dev/reference/workspace/moving-components
1409
+ **Description**: move a component to a different filesystem path (note: this does NOT affect the component's name or scope, just its location in the workspace)
1410
+ move files or directories of component(s)
826
1411
 
827
- `bit move <existing-dir> <new-dir>`
1412
+ `bit move <current-component-dir> <new-component-dir>`
828
1413
 
829
- | **Option** | **Option alias** | **Description** |
830
- | ------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------- |
831
- | `--component` | `-c` | move component files that are spread over multiple directories to one directory. synopsis: `move <component-id> <directory>` |
1414
+ | **Arg** | **Description** |
1415
+ | ----------------------- | :--------------------------------------------------------------------------------------------: |
1416
+ | `current-component-dir` | the component's current directory (relative to the workspace root) |
1417
+ | `new-component-dir` | the new directory (relative to the workspace root) to create and move the component's files to |
832
1418
 
833
1419
  ---
834
1420
 
835
1421
  ## new
836
1422
 
837
- **Workspace only**: yes
838
- **Description**: Create a new workspace from a template
1423
+ **Description**: create a new workspace from a template
839
1424
 
840
- `bit new <templateName> <workspaceName>`
1425
+ `bit new <template-name> <workspace-name>`
841
1426
 
842
- | **Option** | **Option alias** | **Description** |
843
- | -------------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------- |
844
- | `--aspect <string>` | `-a` | aspect-id of the template. mandatory for non-core aspects. helpful for core aspects in case of a name collision |
845
- | `--default-scope <string>` | `-d` | set defaultScope in the new workspace.jsonc |
846
- | `--standalone` | | DEPRECATED. use --skip-git instead |
847
- | `--skip-git` | `-s` | skip generation of Git repository |
848
- | `--empty` | `-e` | empty workspace with no components (relevant for templates that add components by default) |
849
- | `--load-from <string>` | | path to the workspace containing the template. helpful during a development of a workspace-template |
1427
+ | **Arg** | **Description** |
1428
+ | ---------------- | :----------------------------------------------------------------------------------------------------------------------------: |
1429
+ | `template-name` | the name of the workspace template (run 'bit templates' outside of a workspace to get a list of available workspace templates) |
1430
+ | `workspace-name` | the name for the new workspace and workspace directory that will be created |
1431
+
1432
+ | **Option** | **Option alias** | **Description** |
1433
+ | -------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------- |
1434
+ | `--aspect <aspect-id>` | `-a` | id of the aspect that registered the template, mandatory for non-core aspects. helpful for core aspects in case of a name collision |
1435
+ | `--template <env-id>` | `-t` | id of the dev environment to use for the template. Alias for --env. |
1436
+ | `--env <env-id>` | | id of the dev environment to use for the template. Alias -t |
1437
+ | `--default-scope <scope-name>` | `-d` | set the default scope for the workspace. used in the generated workspace.jsonc |
1438
+ | `--standalone` | | DEPRECATED. use --skip-git instead |
1439
+ | `--skip-git` | `-s` | skip generation of Git repository in the new workspace |
1440
+ | `--empty` | `-e` | skip template's default component creation (relevant for templates that add components by default) |
1441
+ | `--load-from <path-to-template>` | | local path to the workspace containing the template. Helpful during a development of a workspace-template |
1442
+ | `--current-dir` | `-c` | create the new workspace in current directory (default is to create a new directory, inside the current dir) |
850
1443
 
851
1444
  ---
852
1445
 
853
- ## pack
1446
+ ## npmrc
1447
+
1448
+ **Description**: manage npmrc file with scope, registry, and token information from bit.cloud
854
1449
 
855
- **Workspace only**: yes
856
- **Description**: create tar for npm publish
1450
+ `bit npmrc [sub-command]`
857
1451
 
858
- `bit pack <componentId> [scopePath]`
1452
+ ### npmrc generate
859
1453
 
860
- | **Option** | **Option alias** | **Description** |
861
- | --------------------- | :--------------: | -------------------------------------------------- |
862
- | `--out-dir <out-dir>` | `-d` | directory to put the result tar file |
863
- | `--override` | `-o` | override existing pack file |
864
- | `--keep` | `-k` | should keep isolated environment [default = false] |
865
- | `--prefix` | `-p` | keep custom (binding) prefix |
866
- | `--json` | `-j` | return the output as JSON |
1454
+ **Usage**: `npmrc generate`
1455
+
1456
+ **Description**: update npmrc file with scope, registry, and token information from bit.cloud
1457
+
1458
+ | **Option** | **Option alias** | **Description** |
1459
+ | ----------- | :--------------: | -------------------------------------------------------- |
1460
+ | `--dry-run` | | show the .npmrc file content that will be written |
1461
+ | `--force` | `-f` | force update the .npmrc file even if there are conflicts |
867
1462
 
868
1463
  ---
869
1464
 
870
1465
  ## pattern
871
1466
 
872
- **Workspace only**: yes
873
- **Description**: list the component ids matching the given pattern
1467
+ **Description**: list the component ids matching the given pattern
1468
+ this command helps validating a pattern before using it in other commands.
1469
+ NOTE: always wrap the pattern with quotes to avoid collision with shell commands. depending on your shell, it might be single or double quotes.
1470
+ a pattern can be a simple component-id or component-name. e.g. 'ui/button'.
1471
+ a pattern can be used with wildcards for multiple component ids, e.g. 'org.scope/utils/**' or '**/utils/**' to capture all org/scopes.
1472
+ to enter multiple patterns, separate them by a comma, e.g. 'ui/_, lib/_'
1473
+ to exclude, use '!'. e.g. 'ui/**, !ui/button'
1474
+ the matching algorithm is from multimatch (@see https://github.com/sindresorhus/multimatch).
1475
+
1476
+ to filter by a state or attribute, prefix the pattern with "$". e.g. '$deprecated', '$modified'.
1477
+ list of supported states: [new, modified, deprecated, deleted, snappedOnMain, softTagged, codeModified].
1478
+ to filter by multi-params state/attribute, separate the params with ":", e.g. '$env:teambit.react/react'.
1479
+ list of supported multi-params states: [env].
1480
+ to match a state and another criteria, use " AND " keyword. e.g. '$modified AND teambit.workspace/\*\*'. note that the state must be first.
874
1481
 
875
1482
  `bit pattern <pattern>`
876
1483
 
@@ -880,10 +1487,22 @@ https://bit.dev/reference/workspace/component-links
880
1487
 
881
1488
  ---
882
1489
 
1490
+ ## recover
1491
+
1492
+ **Description**: EXPERIMENTAL. recover component(s) soft-deleted from the workspace, or a remote scope
1493
+
1494
+ `bit recover <component-name>`
1495
+
1496
+ | **Option** | **Option alias** | **Description** |
1497
+ | -------------------------------- | :--------------: | ---------------------------------------------------------------------- |
1498
+ | `--skip-dependency-installation` | `-x` | do not install packages in case of importing components |
1499
+ | `--skip-write-config-files` | | do not write config files (such as eslint, tsconfig, prettier, etc...) |
1500
+
1501
+ ---
1502
+
883
1503
  ## refactor
884
1504
 
885
- **Workspace only**: yes
886
- **Description**: EXPERIMENTAL. source code refactoring / codemod
1505
+ **Description**: source code refactoring / codemod
887
1506
 
888
1507
  `bit refactor <sub-command>`
889
1508
 
@@ -898,9 +1517,7 @@ the `<old-id>` and `<new-id>` arguments can be either a component-id or a packag
898
1517
 
899
1518
  ## remote
900
1519
 
901
- **Workspace only**: yes
902
- **Description**: manage set of tracked bit scope(s)
903
- https://bit.dev/reference/scope/remote-scopes
1520
+ **Description**: manage set of tracked bit scope(s)
904
1521
 
905
1522
  `bit remote`
906
1523
 
@@ -908,9 +1525,9 @@ the `<old-id>` and `<new-id>` arguments can be either a component-id or a packag
908
1525
 
909
1526
  **Usage**: `remote add <url>`
910
1527
 
911
- **Description**: add a bare-scope as a remote. supported protocols are [file, http, ssh].
912
- for example: "http://localhost:3000", "file:///tmp/local-scope", "ssh://user@127.0.0.1:/tmp/local-scope".
913
- Legacy support [file, ssh]. Harmony supports [file, http].
1528
+ **Description**: add a bare-scope as a remote
1529
+ supported protocols are [file, http].
1530
+ for example: "http://localhost:3000", "file:///tmp/local-scope"
914
1531
 
915
1532
  | **Option** | **Option alias** | **Description** |
916
1533
  | ---------- | :--------------: | ---------------------------- |
@@ -922,9 +1539,9 @@ Legacy support [file, ssh]. Harmony supports [file, http].
922
1539
 
923
1540
  **Description**: remove a tracked bit remote
924
1541
 
925
- | **Option** | **Option alias** | **Description** |
926
- | ---------- | :--------------: | --------------------------------------- |
927
- | `--global` | `-g` | remove a global configured remote scope |
1542
+ | **Option** | **Option alias** | **Description** |
1543
+ | ---------- | :--------------: | ----------------------------------------- |
1544
+ | `--global` | `-g` | remove a globally configured remote scope |
928
1545
 
929
1546
  | **Option** | **Option alias** | **Description** |
930
1547
  | ---------- | :--------------: | ------------------------------- |
@@ -935,83 +1552,206 @@ Legacy support [file, ssh]. Harmony supports [file, http].
935
1552
  ## remove
936
1553
 
937
1554
  **Alias**: `rm`
938
- **Workspace only**: no
939
- **Description**: remove a component (local/remote)
940
- https://bit.dev/reference/components/removing-components
941
- you can use a pattern for multiple ids, such as bit remove "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
1555
+ **Description**: remove component(s) from the local workspace
1556
+ to mark components as deleted on the remote scope, use "bit delete".
1557
+
1558
+ `bit remove <component-pattern>`
942
1559
 
943
- `bit remove <ids...>`
1560
+ | **Arg** | **Description** |
1561
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1562
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
944
1563
 
945
- | **Option** | **Option alias** | **Description** |
946
- | ---------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------- |
947
- | `--remote` | `-r` | remove a component from a remote scope |
948
- | `--track` | `-t` | keep tracking component (default = false) |
949
- | `--delete-files` | `-d` | delete local component files (authored components only. for imported components the files are always deleted) |
950
- | `--force` | `-f` | removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt |
951
- | `--silent` | `-s` | skip confirmation |
1564
+ | **Option** | **Option alias** | **Description** |
1565
+ | -------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------------- |
1566
+ | `--track` | `-t` | keep tracking component in .bitmap (default = false), helps transform a tagged-component to new |
1567
+ | `--keep-files` | | keep component files (just untrack the component) |
1568
+ | `--force` | `-f` | removes the component from the scope, even if used as a dependency. WARNING: you will need to fix the components that depend on this component |
1569
+ | `--silent` | `-s` | skip confirmation |
952
1570
 
953
1571
  ---
954
1572
 
955
1573
  ## rename
956
1574
 
957
- **Workspace only**: no
958
- **Description**: EXPERIMENTAL. rename component. if tagged/exported, create a new component and deprecate the source-component
959
- the `<target-name>` should include the component-name only, without the scope-name.
960
- to assign a default-scope to this component, please use "--scope" flag
1575
+ **Description**: rename component. if exported, create a new component and delete the original component. otherwise just renames current component
961
1576
 
962
- `bit rename <source-name> <target-name>`
1577
+ `bit rename <current-name> <new-name>`
963
1578
 
964
- | **Option** | **Option alias** | **Description** |
965
- | ------------------ | :--------------: | --------------------------------------------------------------------------------------- |
966
- | `--scope <string>` | `-s` | default scope for the newly created component |
967
- | `--path <string>` | `-p` | relative path in the workspace. by default the path is `<scope>/<namespace>/<name>` |
968
- | `--refactor` | `-r` | change the source code of all components using this component with the new package-name |
1579
+ | **Arg** | **Description** |
1580
+ | -------------- | :----------------------------------------------------------------------------------------------: |
1581
+ | `current-name` | the current component name (without its scope name) |
1582
+ | `new-name` | the new component name (without its scope name. use --scope to define the new component's scope) |
1583
+
1584
+ | **Option** | **Option alias** | **Description** |
1585
+ | ------------------------ | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
1586
+ | `--scope <scope-name>` | `-s` | define the scope for the newly created component |
1587
+ | `--refactor` | `-r` | update the import/require statements in all dependent components (in the same workspace) |
1588
+ | `--preserve` | | avoid renaming files and variables/classes according to the new component name |
1589
+ | `--ast` | | EXPERIMENTAL. use ast to transform files instead of regex |
1590
+ | `--delete` | | DEPRECATED. this is now the default |
1591
+ | `--deprecate` | | instead of deleting the original component, deprecating it |
1592
+ | `--path <relative-path>` | `-p` | relative path in the workspace to place new component in. by default, the directory of the new component is from your workspace's "defaultScope" value |
969
1593
 
970
1594
  ---
971
1595
 
972
- ## resume-export
1596
+ ## reset
1597
+
1598
+ **Description**: revert tagged or snapped versions for component(s)
1599
+ https://bit.dev/components/tags#undoing-a-tag
973
1600
 
974
- **Workspace only**: yes
975
- **Description**: resume failed export to persist the pending objects on the given remotes.
976
- the export-id is the id the client got in the error message during the failure.
977
- alternatively, exporting to any one of the failed scopes, throws server-is-busy error with the export-id
1601
+ `bit reset [component-pattern]`
978
1602
 
979
- `bit resume-export <export-id> <remotes...>`
1603
+ | **Arg** | **Description** |
1604
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1605
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1606
+ | `component-version` | the version to untag (semver for tags. hash for snaps) |
1607
+
1608
+ | **Option** | **Option alias** | **Description** |
1609
+ | ------------------ | :--------------: | --------------------------------------------------------------------------------------------------------------- |
1610
+ | `--all` | `-a` | revert all unexported tags/snaps for all components |
1611
+ | `--head` | | revert the head tag/snap only (by default, all local tags/snaps are reverted) |
1612
+ | `--soft` | | revert only soft-tags (components tagged with --soft flag) |
1613
+ | `--force` | `-f` | revert the tag even if it's used as a dependency. WARNING: components that depend on this tag will be corrupted |
1614
+ | `--never-exported` | | reset only components that were never exported |
1615
+
1616
+ ---
1617
+
1618
+ ## revert
1619
+
1620
+ **Description**: replace the current component files by the specified version, leave the version intact
1621
+
1622
+ `bit revert <component-pattern> <to>`
1623
+
1624
+ | **Arg** | **Description** |
1625
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1626
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1627
+ | `to` | permitted values: [main, specific-version]. 'main' - head version on main. |
1628
+
1629
+ | **Option** | **Option alias** | **Description** |
1630
+ | -------------------------------- | :--------------: | -------------------------------------------------- |
1631
+ | `--verbose` | `-v` | showing verbose output for inspection |
1632
+ | `--skip-dependency-installation` | `-x` | do not install packages of the imported components |
980
1633
 
981
1634
  ---
982
1635
 
983
1636
  ## run
984
1637
 
985
1638
  **Alias**: `c`
986
- **Workspace only**: yes
987
- **Description**: run an application
1639
+ **Description**: locally run an app component (independent of bit's dev server)
1640
+
1641
+ `bit run <app-name>`
988
1642
 
989
- `bit run <app>`
1643
+ | **Arg** | **Description** |
1644
+ | ---------- | :--------------------------------------------------------------------------------------------------: |
1645
+ | `app-name` | the app's name is registered by the app (run 'bit app list' to list the names of the available apps) |
990
1646
 
991
- | **Option** | **Option alias** | **Description** |
992
- | -------------- | :--------------: | -------------------------------------------------------------------------- |
993
- | `--dev` | `-d` | start the application in dev mode. |
994
- | `--verbose` | `-v` | showing verbose output for inspection and prints stack trace |
995
- | `--skip-watch` | | avoid running the watch process that compiles components in the background |
1647
+ | **Option** | **Option alias** | **Description** |
1648
+ | ---------------------- | :--------------: | -------------------------------------------------------- |
1649
+ | `--dev` | `-d` | start the application in dev mode. |
1650
+ | `--port [port-number]` | `-p` | port to run the app on |
1651
+ | `--verbose` | `-v` | show verbose output for inspection and print stack trace |
1652
+ | `--watch` | `-w` | watch and compile your components upon changes |
996
1653
 
997
1654
  ---
998
1655
 
999
1656
  ## schema
1000
1657
 
1001
- **Workspace only**: yes
1002
- **Description**: shows the API schema of a certain component.
1658
+ **Description**: shows the API schema of the specified component/s.
1659
+ you can use a `<pattern>` for multiple component ids, such as `bit schema "org.scope/utils/**"`.
1660
+ use comma to separate patterns and '!' to exclude. e.g. 'ui/\*\*, !ui/button'
1661
+ use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'.
1662
+ always wrap the pattern with single quotes to avoid collision with shell commands.
1663
+ use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.
1003
1664
 
1004
- `bit schema <id>`
1665
+ `bit schema <pattern>`
1005
1666
 
1006
- | **Option** | **Option alias** | **Description** |
1007
- | ---------- | :--------------: | ---------------------------------------- |
1008
- | `--json` | `-j` | return the component data in json format |
1667
+ | **Option** | **Option alias** | **Description** |
1668
+ | ---------- | :--------------: | ------------------------------------------ |
1669
+ | `--json` | `-j` | return the component schema in json format |
1670
+
1671
+ ---
1672
+
1673
+ ## scope
1674
+
1675
+ **Description**: manage the scope-name for components
1676
+
1677
+ `bit scope <sub-command>`
1678
+
1679
+ ### scope set
1680
+
1681
+ **Usage**: `scope set <scope-name> [component-pattern]`
1682
+
1683
+ **Description**: Sets the scope for specified component/s. If no component is specified, sets the default scope of the workspace
1684
+ default scopes for components are set in the bitmap file. the default scope for a workspace is set in the workspace.jsonc.
1685
+ a component is set with a scope (as oppose to default scope) only once it is versioned.'
1686
+
1687
+ you can use a `<pattern>` for multiple component ids, such as `bit scope set scope-name "org.scope/utils/**"`.
1688
+ use comma to separate patterns and '!' to exclude. e.g. 'ui/\*\*, !ui/button'
1689
+ use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'.
1690
+ always wrap the pattern with single quotes to avoid collision with shell commands.
1691
+ use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.
1692
+
1693
+ | **Arg** | **Description** |
1694
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1695
+ | `scope-name` | name of the scope to set |
1696
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1697
+
1698
+ ### scope rename
1699
+
1700
+ **Usage**: `scope rename <current-scope-name> <new-scope-name>`
1701
+
1702
+ **Description**: rename the scope name for all components with the specified 'current scope name', if exported, create new components and deprecate the original ones
1703
+ Note: if `<current-scope-name>` is also the defaultScope for the workspace, this command will set `<new-scope-name>`
1704
+ as the defaultScope instead, and that will then be set for all components by default. You may see updates in your .bitmap file
1705
+ as a result of this change
1706
+
1707
+ | **Arg** | **Description** |
1708
+ | -------------------- | :-------------------------------------------------: |
1709
+ | `current-scope-name` | the scope name to be replaced by another scope name |
1710
+ | `new-scope-name` | a new scope name to replace the current scope name |
1711
+
1712
+ | **Option** | **Option alias** | **Description** |
1713
+ | ------------- | :--------------: | --------------------------------------------------------------------------------------------------------------- |
1714
+ | `--refactor` | `-r` | update the import statements in all dependent components to the new package name (i.e. with the new scope name) |
1715
+ | `--deprecate` | | for exported components, instead of deleting the original components, deprecating them |
1716
+
1717
+ ### scope rename-owner
1718
+
1719
+ **Usage**: `scope rename-owner <current-owner-name> <new-owner-name>`
1720
+
1721
+ **Description**: Renames the owner part of the scope-name for all components with the specified 'current owner name'
1722
+
1723
+ | **Arg** | **Description** |
1724
+ | -------------------- | :-------------------------------------------------: |
1725
+ | `current-owner-name` | the owner name to be replaced by another owner name |
1726
+ | `new-owner-name` | a new owner name to replace the current owner name |
1727
+
1728
+ | **Option** | **Option alias** | **Description** |
1729
+ | ------------ | :--------------: | ------------------------------------------------------------------------------------------------------------------- |
1730
+ | `--refactor` | `-r` | update the import statements in all dependent components to the new package name (that contains the new owner name) |
1731
+ | `--ast` | | EXPERIMENTAL. use ast to transform files instead of regex |
1732
+
1733
+ ### scope fork
1734
+
1735
+ **Usage**: `scope fork <original-scope> <new-scope> [pattern]`
1736
+
1737
+ **Description**: fork all components of the original-scope and refactor the source-code to use the new scope name
1738
+ optionally, provide [pattern] to limit the fork to specific components
1739
+
1740
+ | **Arg** | **Description** |
1741
+ | ---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1742
+ | `original-scope` | the original scope to fork |
1743
+ | `new-scope` | the new scope to fork to |
1744
+ | `pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1745
+
1746
+ | **Option** | **Option alias** | **Description** |
1747
+ | -------------------------------- | :--------------: | --------------------------------------------------------- |
1748
+ | `--ast` | | EXPERIMENTAL. use ast to transform files instead of regex |
1749
+ | `--skip-dependency-installation` | `-x` | do not install packages of the imported components |
1009
1750
 
1010
1751
  ---
1011
1752
 
1012
1753
  ## scope-config
1013
1754
 
1014
- **Workspace only**: yes
1015
1755
  **Description**: scope config management
1016
1756
 
1017
1757
  `bit scope-config`
@@ -1042,146 +1782,261 @@ alternatively, exporting to any one of the failed scopes, throws server-is-busy
1042
1782
 
1043
1783
  ---
1044
1784
 
1785
+ ## server
1786
+
1787
+ **Description**: EXPERIMENTAL. communicate with bit cli program via http requests
1788
+
1789
+ `bit server`
1790
+
1791
+ | **Option** | **Option alias** | **Description** |
1792
+ | --------------- | :--------------: | ------------------------------------------- |
1793
+ | `--port [port]` | `-p` | port to run the server on |
1794
+ | `--compile` | `-c` | compile components during the watch process |
1795
+
1796
+ ---
1797
+
1798
+ ## set-peer
1799
+
1800
+ **Description**: set a component as always peer
1801
+
1802
+ `bit set-peer <component-id> <range>`
1803
+
1804
+ | **Arg** | **Description** |
1805
+ | -------------- | :-------------------------------------------------------------------------: |
1806
+ | `component-id` | the component to set as always peer |
1807
+ | `range` | the default range to use for the componnent, when added to peerDependencies |
1808
+
1809
+ ---
1810
+
1045
1811
  ## show
1046
1812
 
1047
- **Workspace only**: yes
1048
- **Description**: show a component
1813
+ **Description**: display the component's essential information
1814
+
1815
+ `bit show <component-name>`
1816
+
1817
+ | **Arg** | **Description** |
1818
+ | ---------------- | :----------------------------: |
1819
+ | `component-name` | component name or component id |
1820
+
1821
+ | **Option** | **Option alias** | **Description** |
1822
+ | ----------- | :--------------: | ------------------------------------------------------------------------------------------------ |
1823
+ | `--json` | `-j` | return the component data in json format |
1824
+ | `--legacy` | `-l` | use the legacy bit show. |
1825
+ | `--remote` | `-r` | show data for a remote component |
1826
+ | `--compare` | `-c` | legacy-only. compare current file system component to its latest tagged version [default=latest] |
1827
+
1828
+ ---
1829
+
1830
+ ## snap
1831
+
1832
+ **Description**: create an immutable and exportable component snapshot (non-release version)
1049
1833
 
1050
- `bit show <id>`
1834
+ `bit snap [component-pattern]`
1051
1835
 
1052
- | **Option** | **Option alias** | **Description** |
1053
- | ----------- | :--------------: | -------------------------------------------------------------------------------------------------------- |
1054
- | `--json` | `-j` | return the component data in json format |
1055
- | `--legacy` | `-l` | use the legacy bit show. |
1056
- | `--remote` | `-r` | show a remote component |
1057
- | `--compare` | `-c` | compare current file system component to latest tagged component [default=latest]. only works in legacy. |
1836
+ | **Arg** | **Description** |
1837
+ | ------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1838
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.. By default, only new and modified components are snapped (add --unmodified to snap all components in the workspace). |
1839
+
1840
+ | **Option** | **Option alias** | **Description** |
1841
+ | -------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1842
+ | `--message <message>` | `-m` | snap message describing the latest changes - will appear in component history log |
1843
+ | `--unmodified` | `-u` | include unmodified components (by default, only new and modified components are snapped) |
1844
+ | `--unmerged` | | complete a merge process by snapping the unmerged components |
1845
+ | `--build` | `-b` | locally run the build pipeline (i.e. not via rippleCI) and complete the snap |
1846
+ | `--editor [editor]` | | open an editor to write a snap message per component. optionally specify the editor-name (defaults to vim). |
1847
+ | `--skip-tests` | | skip running component tests during snap process |
1848
+ | `--skip-tasks <string>` | | skip the given tasks. for multiple tasks, separate by a comma and wrap with quotes. specify the task-name (e.g. "TypescriptCompiler") or the task-aspect-id (e.g. teambit.compilation/compiler) |
1849
+ | `--skip-auto-snap` | | skip auto snapping dependents |
1850
+ | `--disable-snap-pipeline` | | skip the snap pipeline. this will for instance skip packing and publishing component version for install, and app deployment |
1851
+ | `--ignore-build-errors` | | proceed to snap pipeline even when build pipeline fails |
1852
+ | `--rebuild-deps-graph` | | do not reuse the saved dependencies graph, instead build it from scratch |
1853
+ | `--ignore-issues <issues>` | `-i` | ignore component issues (shown in "bit status" as "issues found"), issues to ignore: [MissingPackagesDependenciesOnFs, MissingManuallyConfiguredPackages, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, ImportNonMainFiles, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies, DuplicateComponentAndPackage, MergeConfigHasConflict, NonLoadedEnv, ExternalEnvWithoutVersion, RemovedDependencies, SelfReference] to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "\*". |
1854
+ | `--fail-fast` | | stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed) |
1058
1855
 
1059
1856
  ---
1060
1857
 
1061
1858
  ## start
1062
1859
 
1063
1860
  **Alias**: `c`
1064
- **Workspace only**: yes
1065
- **Description**: Start a dev environment for a workspace or a specific component
1861
+ **Description**: run the ui/development server
1862
+
1863
+ `bit start [component-pattern]`
1864
+
1865
+ | **Arg** | **Description** |
1866
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1867
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1868
+
1869
+ | **Option** | **Option alias** | **Description** |
1870
+ | ----------------------- | :--------------: | ------------------------------------------------------------------------------------------------------- |
1871
+ | `--dev` | `-d` | start UI server in dev mode. |
1872
+ | `--port [port-number]` | `-p` | port of the UI server. |
1873
+ | `--rebuild` | `-r` | rebuild the UI (useful e.g. when updating the workspace UI - can use the dev flag for HMR in this case) |
1874
+ | `--skip-ui-build` | | skip building UI |
1875
+ | `--verbose` | `-v` | show verbose output for inspection and prints stack trace |
1876
+ | `--no-browser` | `-n` | do not automatically open browser when ready |
1877
+ | `--skip-compilation` | | skip the auto-compilation before starting the web-server |
1878
+ | `--ui-root-name [type]` | `-u` | name of the ui root to use, e.g. "teambit.scope/scope" or "teambit.workspace/workspace" |
1879
+
1880
+ ---
1881
+
1882
+ ## stash
1883
+
1884
+ **Description**: EXPERIMENTAL. stash modified components
1066
1885
 
1067
- `bit start [type] [pattern]`
1886
+ `bit stash <sub-command>`
1068
1887
 
1069
- | **Option** | **Option alias** | **Description** |
1070
- | -------------------- | :--------------: | ------------------------------------------------------------ |
1071
- | `--dev` | `-d` | start UI server in dev mode. |
1072
- | `--port [number]` | `-p` | port of the UI server. |
1073
- | `--rebuild` | `-r` | rebuild the UI |
1074
- | `--verbose` | `-v` | showing verbose output for inspection and prints stack trace |
1075
- | `--no-browser` | | do not automatically open browser when ready |
1076
- | `--skip-compilation` | | skip the auto-compilation before starting the web-server |
1888
+ ### stash save
1889
+
1890
+ **Usage**: `stash save`
1891
+
1892
+ **Description**: stash modified components
1893
+
1894
+ | **Option** | **Option alias** | **Description** |
1895
+ | -------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1896
+ | `--pattern` | `-p` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1897
+ | `--message <string>` | `-m` | message to be attached to the stashed components |
1898
+
1899
+ ### stash load
1900
+
1901
+ **Usage**: `stash load [stash-id]`
1902
+
1903
+ **Description**: apply the changes according to the stash. if no stash-id provided, it loads the latest stash
1904
+
1905
+ | **Option** | **Option alias** | **Description** |
1906
+ | --------------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------- |
1907
+ | `--auto-merge-resolve <merge-strategy>` | | in case of merge conflict, resolve according to the provided strategy: [ours, theirs, manual] |
1908
+ | `--manual` | | same as "--auto-merge-resolve manual". in case of merge conflict, write the files with the conflict markers |
1909
+ | `--force-ours` | | do not merge, preserve local files as is |
1910
+ | `--force-theirs` | | do not merge, just overwrite with incoming files |
1911
+
1912
+ ### stash list
1913
+
1914
+ **Usage**: `stash list`
1915
+
1916
+ **Description**: list stash
1917
+
1918
+ | **Option** | **Option alias** | **Description** |
1919
+ | -------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1920
+ | `--pattern` | `-p` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1921
+ | `--message <string>` | `-m` | message to be attached to the stashed components |
1077
1922
 
1078
1923
  ---
1079
1924
 
1080
1925
  ## status
1081
1926
 
1082
1927
  **Alias**: `s`
1083
- **Workspace only**: yes
1084
- **Description**: show the working area component(s) status.
1085
- https://bit.dev/reference/workspace/workspace-status
1928
+ **Description**: present the current status of components in the workspace, including indication of detected issues
1086
1929
 
1087
1930
  `bit status`
1088
1931
 
1089
- | **Option** | **Option alias** | **Description** |
1090
- | ---------- | :--------------: | -------------------------------------- |
1091
- | `--json` | `-j` | return a json version of the component |
1092
- | `--strict` | | in case issues found, exit with code 1 |
1932
+ | **Option** | **Option alias** | **Description** |
1933
+ | -------------------------------- | :--------------: | --------------------------------------------------------------------------------------- |
1934
+ | `--json` | `-j` | return a json version of the component |
1935
+ | `--verbose` | | show extra data: full snap hashes for staged components, and divergence point for lanes |
1936
+ | `--lanes` | `-l` | when on a lane, show updates from main and updates from forked lanes |
1937
+ | `--strict` | | in case issues found, exit with code 1 |
1938
+ | `--ignore-circular-dependencies` | `-c` | do not check for circular dependencies to get the results quicker |
1939
+
1940
+ ---
1941
+
1942
+ ## system
1943
+
1944
+ **Description**: system operations
1945
+
1946
+ `bit system <sub-command>`
1947
+
1948
+ ### system log
1949
+
1950
+ **Usage**: `system log`
1951
+
1952
+ **Description**: print debug.log to the screen
1093
1953
 
1094
1954
  ---
1095
1955
 
1096
1956
  ## tag
1097
1957
 
1098
1958
  **Alias**: `t`
1099
- **Workspace only**: yes
1100
- **Description**: record component changes and lock versions.
1101
- if no ids are provided, it will tag all new and modified components.
1102
- if component ids are entered, you can specify a version per id using "@" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major
1103
- https://bit.dev/reference/components/tags
1104
- you can use a pattern for multiple ids, such as bit tag "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
1105
-
1106
- `bit tag [id...]`
1107
-
1108
- | **Option** | **Option alias** | **Description** |
1109
- | ---------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------- |
1110
- | `--message <message>` | `-m` | log message describing the user changes |
1111
- | `--unmodified` | | include unmodified components (by default, only new and modified components are tagged) |
1112
- | `--editor [editor]` | | EXPERIMENTAL. open an editor to edit the tag messages per component, optionally specify the editor-name, default to vim |
1113
- | `--ver <version>` | `-v` | tag with the given version |
1114
- | `--patch` | `-p` | increment the patch version number |
1115
- | `--minor` | | increment the minor version number |
1116
- | `--major` | | increment the major version number |
1117
- | `--snapped` | | tag components that their head is a snap (not a tag) |
1118
- | `--pre-release [identifier]` | | EXPERIMENTAL. increment a pre-release version (e.g. 1.0.0-dev.1) |
1119
- | `--skip-tests` | | skip running component tests during tag process |
1120
- | `--skip-auto-tag` | | skip auto tagging dependents |
1121
- | `--soft` | | do not persist. only keep note of the changes to be made |
1122
- | `--persist` | | persist the changes generated by --soft tag |
1123
- | `--disable-tag-pipeline` | | skip the tag pipeline to avoid publishing the components |
1124
- | `--force-deploy` | | run the tag pipeline although the build failed |
1125
- | `--increment-by <number>` | | (default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3. |
1126
- | `--ignore-issues [issues]` | `-i` | ignore component issues (shown in "bit status" as "issues found"), issues to ignore: |
1127
-
1128
- [MissingPackagesDependenciesOnFs, MissingComponents, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingLinks, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, MissingCustomModuleResolutionLinks, ImportNonMainFiles, CustomModuleResolutionUsed, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies]
1129
- to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "\*".|
1130
- |`--ignore-newest-version`|`-I`|ignore existing of newer versions (default = false)|
1131
- |`--build`|`-b`|EXPERIMENTAL. not needed for now. run the pipeline build and complete the tag|
1132
- |`--all [version]`|`-a`|DEPRECATED (not needed anymore, it is the default now). tag all new and modified components|
1133
- |`--scope [version]`|`-s`|DEPRECATED (use "--unmodified" instead). tag all components of the current scope|
1134
- |`--force`|`-f`|DEPRECATED (use "--skip-tests" or "--unmodified" instead). force-tag even if tests are failing and even when component has not changed|
1135
- |`--disable-deploy-pipeline`| |DEPRECATED. use --disable-tag-pipeline instead|
1959
+ **Description**: create an immutable and exportable component snapshot, tagged with a release version.
1960
+ if no patterns are provided, it will tag all new and modified components.
1961
+ if patterns are entered, you can specify a version per pattern using "@" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major
1962
+
1963
+ `bit tag [component-patterns...]`
1964
+
1965
+ | **Arg** | **Description** |
1966
+ | ----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1967
+ | `component-patterns...` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.. By default, all new and modified are tagged. |
1968
+
1969
+ | **Option** | **Option alias** | **Description** |
1970
+ | ---------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1971
+ | `--message <message>` | `-m` | a log message describing latest changes |
1972
+ | `--unmodified` | `-u` | include unmodified components (by default, only new and modified components are tagged) |
1973
+ | `--editor [editor]` | | open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim). |
1974
+ | `--ver <version>` | `-v` | tag with the given version |
1975
+ | `--increment <level>` | `-l` | options are: [major, premajor, minor, preminor, patch, prepatch, prerelease], default to patch |
1976
+ | `--prerelease-id <id>` | | prerelease identifier (e.g. "dev" to get "1.0.0-dev.1") |
1977
+ | `--patch` | `-p` | syntactic sugar for "--increment patch" |
1978
+ | `--minor` | | syntactic sugar for "--increment minor" |
1979
+ | `--major` | | syntactic sugar for "--increment major" |
1980
+ | `--pre-release [identifier]` | | syntactic sugar for "--increment prerelease" and `--prerelease-id <identifier>` |
1981
+ | `--snapped` | | tag only components whose head is a snap (not a tag) |
1982
+ | `--unmerged` | | complete a merge process by tagging the unmerged components |
1983
+ | `--skip-tests` | | skip running component tests during tag process |
1984
+ | `--skip-tasks <string>` | | skip the given tasks. for multiple tasks, separate by a comma and wrap with quotes. specify the task-name (e.g. "TypescriptCompiler") or the task-aspect-id (e.g. teambit.compilation/compiler) |
1985
+ | `--skip-auto-tag` | | skip auto tagging dependents |
1986
+ | `--soft` | | do not persist. only keep note of the changes to be made |
1987
+ | `--persist [skip-build]` | | persist the changes generated by --soft tag. by default, run the build pipeline, unless "skip-build" is provided |
1988
+ | `--disable-tag-pipeline` | | skip the tag pipeline to avoid publishing the components |
1989
+ | `--force-deploy` | | DEPRECATED. use --ignore-build-error instead |
1990
+ | `--ignore-build-errors` | | proceed to tag pipeline even when build pipeline fails |
1991
+ | `--rebuild-deps-graph` | | do not reuse the saved dependencies graph, instead build it from scratch |
1992
+ | `--increment-by <number>` | | (default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3. |
1993
+ | `--ignore-issues <issues>` | `-i` | ignore component issues (shown in "bit status" as "issues found"), issues to ignore: [MissingPackagesDependenciesOnFs, MissingManuallyConfiguredPackages, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, ImportNonMainFiles, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies, DuplicateComponentAndPackage, MergeConfigHasConflict, NonLoadedEnv, ExternalEnvWithoutVersion, RemovedDependencies, SelfReference] to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "\*". |
1994
+ | `--ignore-newest-version` | `-I` | allow tagging even when the component has newer versions e.g. for hotfixes (default = false) |
1995
+ | `--fail-fast` | | stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed) |
1996
+ | `--build` | `-b` | locally run the build pipeline (i.e. not via rippleCI) and complete the tag |
1136
1997
 
1137
1998
  ---
1138
1999
 
1139
2000
  ## templates
1140
2001
 
1141
- **Workspace only**: yes
1142
- **Description**: list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)
2002
+ **Description**: list available templates for "bit create" and "bit new"
2003
+ list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)
1143
2004
 
1144
2005
  `bit templates`
1145
2006
 
1146
- | **Option** | **Option alias** | **Description** |
1147
- | ------------ | :--------------: | --------------------- |
1148
- | `--show-all` | `-s` | show hidden templates |
2007
+ | **Option** | **Option alias** | **Description** |
2008
+ | ---------------------- | :--------------: | ---------------------------------------- |
2009
+ | `--show-all` | `-s` | show hidden templates |
2010
+ | `--aspect <aspect-id>` | `-a` | show templates provided by the aspect-id |
1149
2011
 
1150
2012
  ---
1151
2013
 
1152
2014
  ## test
1153
2015
 
1154
2016
  **Alias**: `at`
1155
- **Workspace only**: yes
1156
- **Description**: test set of components in your workspace
1157
-
1158
- `bit test [pattern]`
1159
-
1160
- | **Option** | **Option alias** | **Description** |
1161
- | -------------------- | :--------------: | -------------------------------------------------------------------- |
1162
- | `--watch` | `-w` | start the tester in watch mode. |
1163
- | `--debug` | `-d` | start the tester in debug mode. |
1164
- | `--all` | `-a` | test all components, not only new and modified |
1165
- | `--junit <filepath>` | | write tests results as JUnit XML format into the specified file path |
1166
- | `--coverage` | | show code coverage data |
1167
- | `--env <id>` | `-e` | test only the given env |
1168
- | `--scope <scope>` | `-s` | name of the scope to test |
1169
-
1170
- ---
2017
+ **Description**: test components in the workspace. by default only runs tests for new and modified components
1171
2018
 
1172
- ## ui-build
2019
+ `bit test [component-pattern]`
1173
2020
 
1174
- **Alias**: `c`
1175
- **Workspace only**: yes
1176
- **Description**: build production assets for deployment.
2021
+ | **Arg** | **Description** |
2022
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
2023
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. wrap the pattern with quotes. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button". use '$' prefix to filter by states/attributes, e.g. '$deprecated', '$modified' or '$env:teambit.react/react'. use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern. |
1177
2024
 
1178
- `bit ui-build [type]`
2025
+ | **Option** | **Option alias** | **Description** |
2026
+ | ---------------------- | :--------------: | --------------------------------------------------------------------------------------- |
2027
+ | `--watch` | `-w` | start the tester in watch mode. |
2028
+ | `--debug` | `-d` | start the tester in debug mode. |
2029
+ | `--all` | `-a` | DEPRECATED. (use --unmodified) |
2030
+ | `--unmodified` | `-u` | test all components, not only new and modified |
2031
+ | `--junit <filepath>` | | write tests results as JUnit XML format into the specified file path |
2032
+ | `--coverage` | | show code coverage data |
2033
+ | `--env <id>` | `-e` | test only components assigned the given env |
2034
+ | `--scope <scope-name>` | `-s` | DEPRECATED. (use the pattern instead, e.g. "scopeName/\*\*"). name of the scope to test |
1179
2035
 
1180
2036
  ---
1181
2037
 
1182
2038
  ## undeprecate
1183
2039
 
1184
- **Workspace only**: no
1185
2040
  **Description**: undeprecate a deprecated component (local/remote)
1186
2041
 
1187
2042
  `bit undeprecate <id>`
@@ -1191,64 +2046,142 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
1191
2046
  ## uninstall
1192
2047
 
1193
2048
  **Alias**: `un`
1194
- **Workspace only**: yes
1195
2049
  **Description**: uninstall dependencies
1196
2050
 
1197
2051
  `bit uninstall [packages...]`
1198
2052
 
1199
2053
  ---
1200
2054
 
1201
- ## untag
2055
+ ## update
2056
+
2057
+ **Alias**: `up`
2058
+ **Description**: update dependencies. By default, dependencies are updated to the highest semver compatible versions.
1202
2059
 
1203
- **Workspace only**: yes
1204
- **Description**: revert version(s) tagged for component(s)
1205
- https://bit.dev/reference/components/tags#undoing-a-tag
1206
- you can use a pattern for multiple ids, such as bit untag "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
2060
+ `bit update [package-patterns...]`
1207
2061
 
1208
- `bit untag [id] [version]`
2062
+ | **Arg** | **Description** |
2063
+ | --------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
2064
+ | `package-patterns...` | a string list of package names, or patterns (separated by spaces or commas), e.g. "@teambit/**,@my-org/ui/**". The patterns should be in glob format. By default, all packages are selected. |
1209
2065
 
1210
- | **Option** | **Option alias** | **Description** |
1211
- | ---------- | :--------------: | ----------------------------------------------------------------------------------------------------- |
1212
- | `--all` | `-a` | revert tag for all tagged components |
1213
- | `--soft` | | harmony - revert only soft-tags (components tagged with --soft flag) |
1214
- | `--force` | `-f` | revert the tag even if used as a dependency. WARNING: components that depend on this tag will corrupt |
2066
+ | **Option** | **Option alias** | **Description** |
2067
+ | ---------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
2068
+ | `--yes` | `-y` | automatically update all outdated versions for packages specified in pattern (all if no pattern supplied) - use carefully as could result in breaking updates for dependencies |
2069
+ | `--patch` | | update to the latest patch version. Semver rules are ignored |
2070
+ | `--minor` | | update to the latest minor version. Semver rules are ignored |
2071
+ | `--major` | | update to the latest major version. Semver rules are ignored |
2072
+ | `--semver` | | update to the newest version respecting semver |
1215
2073
 
1216
2074
  ---
1217
2075
 
1218
- ## update
2076
+ ## use
1219
2077
 
1220
- **Alias**: `up`
1221
- **Workspace only**: yes
1222
- **Description**: update dependencies
2078
+ **Description**: set aspects in the workspace/scope config to make them loadable by the workspace/scope
1223
2079
 
1224
- `bit update`
2080
+ `bit use <component-id>`
1225
2081
 
1226
- | **Option** | **Option alias** | **Description** |
1227
- | ---------- | :--------------: | ------------------------------------------ |
1228
- | `--yes` | `-y` | automatically update all outdated packages |
2082
+ | **Arg** | **Description** |
2083
+ | -------------- | :----------------------------: |
2084
+ | `component-id` | the component ID of the aspect |
1229
2085
 
1230
2086
  ---
1231
2087
 
1232
- ## use
2088
+ ## version
1233
2089
 
1234
- **Workspace only**: yes
1235
- **Description**: set up aspects in the workspace/scope config
2090
+ **Description**: shows bit version
1236
2091
 
1237
- `bit use [ids...]`
2092
+ `bit version`
2093
+
2094
+ | **Option** | **Option alias** | **Description** |
2095
+ | ---------- | :--------------: | --------------------------------- |
2096
+ | `--json` | `-j` | return the version in json format |
1238
2097
 
1239
2098
  ---
1240
2099
 
1241
2100
  ## watch
1242
2101
 
1243
- **Workspace only**: yes
1244
- **Description**: watch a set of components
2102
+ **Description**: automatically recompile modified components (on save)
2103
+ by default, the watcher doesn't use polling, to keep the CPU idle.
2104
+ if this doesn't work well for you, run "bit config set watch_use_polling true" to use polling.
1245
2105
 
1246
2106
  `bit watch`
1247
2107
 
1248
2108
  | **Option** | **Option alias** | **Description** |
1249
2109
  | ------------------------ | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------- |
1250
- | `--verbose` | `-v` | showing npm verbose output for inspection and prints stack trace |
1251
- | `--skip-pre-compilation` | | skip the compilation step before starting to watch |
2110
+ | `--verbose` | `-v` | show all watch events and compiler verbose output |
2111
+ | `--skip-pre-compilation` | | skip compilation step before starting to watch |
1252
2112
  | `--check-types [string]` | `-t` | EXPERIMENTAL. show errors/warnings for types. options are [file, project] to investigate only changed file or entire project. defaults to project |
1253
2113
 
1254
2114
  ---
2115
+
2116
+ ## whoami
2117
+
2118
+ **Description**: display the currently logged in user
2119
+
2120
+ `bit whoami`
2121
+
2122
+ ---
2123
+
2124
+ ## why
2125
+
2126
+ **Description**: EXPERIMENTAL. find components that use the specified dependency
2127
+
2128
+ `bit why <dependency-name>`
2129
+
2130
+ | **Arg** | **Description** |
2131
+ | ----------------- | :------------------------------------------------------------------------------------------------------------------------------------------: |
2132
+ | `dependency-name` | package-name. for components, you can use either component-id or package-name. if version is specified, it will search for the exact version |
2133
+
2134
+ | **Option** | **Option alias** | **Description** |
2135
+ | ------------------ | :--------------: | ----------------------------------------- |
2136
+ | `--depth <number>` | | max display depth of the dependency graph |
2137
+
2138
+ ---
2139
+
2140
+ ## ws-config
2141
+
2142
+ **Alias**: `workspace-config`
2143
+ **Description**: manage workspace config files
2144
+
2145
+ `bit ws-config <sub-command>`
2146
+
2147
+ ### ws-config write
2148
+
2149
+ **Usage**: `ws-config write`
2150
+
2151
+ **Description**: write config files in the workspace. useful for IDEs
2152
+
2153
+ | **Option** | **Option alias** | **Description** |
2154
+ | ------------------------ | :--------------: | ---------------------------------------------------------------------------------------------------------------------------- |
2155
+ | `--clean` | `-c` | delete existing config files from the workspace. highly recommended to run it with "--dry-run" first |
2156
+ | `--writers <writers>` | `-w` | only write config files for the given writers. use comma to separate multiple writers. use ws-config list to see all writers |
2157
+ | `--silent` | `-s` | do not prompt for confirmation |
2158
+ | `--no-dedupe` | | write configs inside each one of the component's dir, avoid deduping |
2159
+ | `--dry-run` | | show the paths that configs will be written per env |
2160
+ | `--dry-run-with-content` | | use with --json flag. show the config content and the paths that will be written per env |
2161
+ | `--verbose` | `-v` | showing verbose output for writing |
2162
+ | `--json` | `-j` | json format |
2163
+
2164
+ ### ws-config clean
2165
+
2166
+ **Usage**: `ws-config clean`
2167
+
2168
+ **Description**: clean (delete) written config files in the workspace. useful for IDEs
2169
+
2170
+ | **Option** | **Option alias** | **Description** |
2171
+ | --------------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------- |
2172
+ | `--silent` | `-s` | do not prompt for confirmation |
2173
+ | `--writers <writers>` | `-w` | only clean config files for the given writers. use comma to separate multiple writers. use ws-config list to see all writers |
2174
+ | `--dry-run` | | show the paths of configs that will be cleaned |
2175
+ | `--json` | `-j` | json format |
2176
+
2177
+ ### ws-config list
2178
+
2179
+ **Usage**: `ws-config list`
2180
+
2181
+ **Description**: list config writers
2182
+
2183
+ | **Option** | **Option alias** | **Description** |
2184
+ | ---------- | :--------------: | --------------- |
2185
+ | `--json` | `-j` | json format |
2186
+
2187
+ ---