-
Notifications
You must be signed in to change notification settings - Fork 681
Expand file tree
/
Copy pathCommandLineHelp.test.ts.snap
More file actions
1562 lines (1448 loc) · 90.1 KB
/
CommandLineHelp.test.ts.snap
File metadata and controls
1562 lines (1448 loc) · 90.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`CommandLineHelp prints the global help 1`] = `
"usage: rush [-h] [-d] [-q] <command> ...
Rush makes life easier for JavaScript developers who develop, build, and
publish many packages from a central Git repo. It is designed to handle very
large repositories supporting many projects and people. Rush provides
policies, protections, and customizations that help coordinate teams and
safely onboard new contributors. Rush also generates change logs and
automates package publishing. It can manage decoupled subsets of projects
with different release and versioning strategies. A full API is included to
facilitate integration with other automation tools. If you are looking for a
proven turnkey solution for monorepo management, Rush is for you.
Positional arguments:
<command>
add Adds one or more dependencies to the package.json and
runs rush update.
change Records changes made to projects, indicating how the
package version number should be bumped for the next
publish.
check Checks each project's package.json files and ensures
that all dependencies are of the same version
throughout the repository.
deploy Prepares a deployment by copying a subset of Rush
projects and their dependencies to a target folder
init Initializes a new repository to be managed by Rush
init-autoinstaller Initializes a new autoinstaller
init-deploy Creates a deployment scenario config file for use
with \\"rush deploy\\".
init-subspace Create a new subspace.
install Install package dependencies for all projects in the
repo according to the shrinkwrap file
link Create node_modules symlinks for all projects
list List package information for all projects in the repo
publish Reads and processes package publishing change
requests generated by \\"rush change\\".
purge For diagnostic purposes, use this command to delete
caches and other temporary files used by Rush
remove Removes one or more dependencies from the package.
json and runs rush update.
scan When migrating projects into a Rush repo, this
command is helpful for detecting undeclared
dependencies.
setup (EXPERIMENTAL) Invoke this command before working in
a new repo to ensure that any required prerequisites
are installed and permissions are configured.
unlink Delete node_modules symlinks for all projects in the
repo
update Install package dependencies for all projects in the
repo, and create or update the shrinkwrap file as
needed
install-autoinstaller
Install autoinstaller package dependencies
update-autoinstaller
Updates autoinstaller package dependencies
update-cloud-credentials
(EXPERIMENTAL) Update the credentials used by the
build cache provider.
upgrade-interactive
Provides interactive prompt for upgrading package
dependencies per project
version Manage package versions in the repo.
alert (EXPERIMENTAL) View and manage Rush alerts for the
repository
bridge-package (EXPERIMENTAL) Use hotlinks to simulate upgrade of a
dependency for all consumers across a lockfile.
link-package (EXPERIMENTAL) Use hotlinks to simulate installation
of a locally built project folder as a dependency of
specific projects.
import-strings Imports translated strings into each project.
upload Uploads the built files to the server
build Build all projects that haven't been built, or have
changed since they were last built.
rebuild Clean and rebuild the entire set of projects.
tab-complete Provides tab completion.
Optional arguments:
-h, --help Show this help message and exit.
-d, --debug Show the full call stack if an error occurs while
executing the tool
-q, --quiet Hide rush startup information
[bold]For detailed help about a specific command, use: rush <command> -h[normal]
"
`;
exports[`CommandLineHelp prints the help for each action: add 1`] = `
"usage: rush add [-h] [-s] -p PACKAGE [--all] [--variant VARIANT] [--exact]
[--caret] [--dev] [--peer] [-m]
Adds specified package(s) to the dependencies of the current project (as
determined by the current working directory) and then runs \\"rush update\\". If
no version is specified, a version will be automatically detected (typically
either the latest version or a version that won't break the
\\"ensureConsistentVersions\\" policy). If a version range (or a workspace range)
is specified, the latest version in the range will be used. The version will
be automatically prepended with a tilde, unless the \\"--exact\\" or \\"--caret\\"
flags are used. The \\"--make-consistent\\" flag can be used to update all
packages with the dependency.
Optional arguments:
-h, --help Show this help message and exit.
-s, --skip-update If specified, the \\"rush update\\" command will not be
run after updating the package.json files.
-p PACKAGE, --package PACKAGE
The name of the package which should be added as a
dependency. A SemVer version specifier can be
appended after an \\"@\\" sign. WARNING: Symbol
characters are usually interpreted by your shell, so
it's recommended to use quotes. For example, write
\\"rush add --package \\"example@^1.2.3\\"\\" instead of
\\"rush add --package example@^1.2.3\\". To add multiple
packages, write \\"rush add --package foo --package
bar\\".
--all If specified, the dependency will be added to all
projects.
--variant VARIANT Run command using a variant installation
configuration. This parameter may alternatively be
specified via the RUSH_VARIANT environment variable.
--exact If specified, the SemVer specifier added to the
package.json will be an exact version (e.g. without
tilde or caret).
--caret If specified, the SemVer specifier added to the
package.json will be a prepended with a \\"caret\\"
specifier (\\"^\\").
--dev If specified, the package will be added to the
\\"devDependencies\\" section of the package.json
--peer If specified, the package will be added to the
\\"peerDependencies\\" section of the package.json
-m, --make-consistent
If specified, other packages with this dependency
will have their package.json files updated to use the
same version of the dependency.
"
`;
exports[`CommandLineHelp prints the help for each action: alert 1`] = `
"usage: rush alert [-h] [-s ALERT_ID] [--forever]
This command displays the Rush alerts for this repository. Rush alerts are
customizable announcements and reminders that Rush prints occasionally on the
command line. The alert definitions can be found in the rush-alerts.json
config file.
Optional arguments:
-h, --help Show this help message and exit.
-s ALERT_ID, --snooze ALERT_ID
Temporarily suspend the specified alert for one week
--forever Combined with \\"--snooze\\", causes that alert to be
suspended permanently
"
`;
exports[`CommandLineHelp prints the help for each action: bridge-package 1`] = `
"usage: rush bridge-package [-h] --path PATH [--version SEMVER_RANGE]
[--subspace SUBSPACE_NAME]
This command enables you to test a locally built project by simulating its
upgrade by updating node_modules folders using hotlinks. Unlike \\"pnpm link\\"
and \\"npm link\\", the hotlinks created by this command affect all Rush projects
across the lockfile, as well as their indirect dependencies. The simulated
installation is not reflected in pnpm-lock.yaml, does not install new package.
json dependencies, and simply updates the contents of existing node_modules
folders of \\"rush install\\". The hotlinks will be cleared when you next run
\\"rush install\\" or \\"rush update\\". Compare with the \\"rush link-package\\" command,
which affects only the consuming project.
Optional arguments:
-h, --help Show this help message and exit.
--path PATH The path of folder of a project outside of this Rush
repo, whose installation will be simulated using
node_modules symlinks (\\"hotlinks\\"). This folder is
the symlink target.
--version SEMVER_RANGE
Specify which installed versions should be hotlinked.
The default value is \\"*\\".
--subspace SUBSPACE_NAME
The name of the subspace to use for the hotlinked
package.
"
`;
exports[`CommandLineHelp prints the help for each action: build 1`] = `
"usage: rush build [-h] [-p COUNT] [--timeline] [--log-cobuild-plan]
[-t PROJECT] [-T PROJECT] [-f PROJECT] [-o PROJECT]
[-i PROJECT] [-I PROJECT]
[--to-version-policy VERSION_POLICY_NAME]
[--from-version-policy VERSION_POLICY_NAME] [-v]
[--include-phase-deps] [-c] [--ignore-hooks]
[--node-diagnostic-dir DIRECTORY] [--debug-build-cache-ids]
[--show-existing-failure-logs] [-s] [-m]
This command is similar to \\"rush rebuild\\", except that \\"rush build\\" performs
an incremental build. In other words, it only builds projects whose source
files have changed since the last successful build. The analysis requires a
Git working tree, and only considers source files that are tracked by Git and
whose path is under the project folder. (For more details about this
algorithm, see the documentation for the \\"package-deps-hash\\" NPM package.)
The incremental build state is tracked in a per-project folder called \\".
rush/temp\\" which should NOT be added to Git. The build command is tracked by
the \\"arguments\\" field in the \\"package-deps_build.json\\" file contained
therein; a full rebuild is forced whenever the command has changed (e.g.
\\"--production\\" or not).
Optional arguments:
-h, --help Show this help message and exit.
-p COUNT, --parallelism COUNT
Specifies the maximum number of concurrent processes
to launch during a build. The COUNT should be a
positive integer, a percentage value (eg. \\"50%\\") or
the word \\"max\\" to specify a count that is equal to
the number of CPU cores. If this parameter is omitted,
then the default value depends on the operating
system and number of CPU cores. This parameter may
alternatively be specified via the RUSH_PARALLELISM
environment variable.
--timeline After the build is complete, print additional
statistics and CPU usage information, including an
ASCII chart of the start and stop times for each
operation.
--log-cobuild-plan (EXPERIMENTAL) Before the build starts, log
information about the cobuild state. This will
include information about clusters and the projects
that are part of each cluster.
-t PROJECT, --to PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--to\\" parameter expands
this selection to include PROJECT and all its
dependencies. \\".\\" can be used as shorthand for the
project in the current working directory. For details,
refer to the website article \\"Selecting subsets of
projects\\".
-T PROJECT, --to-except PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--to-except\\" parameter
expands this selection to include all dependencies of
PROJECT, but not PROJECT itself. \\".\\" can be used as
shorthand for the project in the current working
directory. For details, refer to the website article
\\"Selecting subsets of projects\\".
-f PROJECT, --from PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--from\\" parameter expands
this selection to include PROJECT and all projects
that depend on it, plus all dependencies of this set.
\\".\\" can be used as shorthand for the project in the
current working directory. For details, refer to the
website article \\"Selecting subsets of projects\\".
-o PROJECT, --only PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--only\\" parameter expands
this selection to include PROJECT; its dependencies
are not added. \\".\\" can be used as shorthand for the
project in the current working directory. Note that
this parameter is \\"unsafe\\" as it may produce a
selection that excludes some dependencies. For
details, refer to the website article \\"Selecting
subsets of projects\\".
-i PROJECT, --impacted-by PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--impacted-by\\" parameter
expands this selection to include PROJECT and any
projects that depend on PROJECT (and thus might be
broken by changes to PROJECT). \\".\\" can be used as
shorthand for the project in the current working
directory. Note that this parameter is \\"unsafe\\" as it
may produce a selection that excludes some
dependencies. For details, refer to the website
article \\"Selecting subsets of projects\\".
-I PROJECT, --impacted-by-except PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--impacted-by-except\\"
parameter works the same as \\"--impacted-by\\" except
that PROJECT itself is not added to the selection. \\".
\\" can be used as shorthand for the project in the
current working directory. Note that this parameter
is \\"unsafe\\" as it may produce a selection that
excludes some dependencies. For details, refer to the
website article \\"Selecting subsets of projects\\".
--to-version-policy VERSION_POLICY_NAME
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. The \\"--to-version-policy\\"
parameter is equivalent to specifying \\"--to\\" for each
of the projects belonging to VERSION_POLICY_NAME. For
details, refer to the website article \\"Selecting
subsets of projects\\".
--from-version-policy VERSION_POLICY_NAME
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. The \\"--from-version-policy\\"
parameter is equivalent to specifying \\"--from\\" for
each of the projects belonging to VERSION_POLICY_NAME.
For details, refer to the website article \\"Selecting
subsets of projects\\".
-v, --verbose Display the logs during the build, rather than just
displaying the build status summary
--include-phase-deps If the selected projects are \\"unsafe\\" (missing some
dependencies), add the minimal set of phase
dependencies. For example, \\"--from A\\" normally might
include the \\"_phase:test\\" phase for A's dependencies,
even though changes to A can't break those tests.
Using \\"--impacted-by A --include-phase-deps\\" avoids
that work by performing \\"_phase:test\\" only for
downstream projects.
-c, --changed-projects-only
Normally the incremental build logic will rebuild
changed projects as well as any projects that
directly or indirectly depend on a changed project.
Specify \\"--changed-projects-only\\" to ignore dependent
projects, only rebuilding those projects whose files
were changed. Note that this parameter is \\"unsafe\\";
it is up to the developer to ensure that the ignored
projects are okay to ignore.
--ignore-hooks Skips execution of the \\"eventHooks\\" scripts defined
in rush.json. Make sure you know what you are
skipping.
--node-diagnostic-dir DIRECTORY
Specifies the directory where Node.js diagnostic
reports will be written. This directory will contain
a subdirectory for each project and phase.
--debug-build-cache-ids
Logs information about the components of the build
cache ids for individual operations. This is useful
for debugging the incremental build logic.
--show-existing-failure-logs
Skips execution of operations and instead displays
any existing failure logs for the selected projects.
This is useful for reviewing failures from a previous
run without re-executing the operations. Operations
without existing failure logs will be silenced.
-s, --ship Perform a production build, including minification
and localization steps
-m, --minimal Perform a fast build, which disables certain tasks
such as unit tests and linting
"
`;
exports[`CommandLineHelp prints the help for each action: change 1`] = `
"usage: rush change [-h] [-v] [--no-fetch] [-b BRANCH] [--overwrite] [-c]
[--commit-message COMMIT_MESSAGE] [--email EMAIL] [--bulk]
[--message MESSAGE] [--bump-type {major,minor,patch,none}]
Asks a series of questions and then generates a <branchname>-<timestamp>.json
file in the common folder. The \`publish\` command will consume these files and
perform the proper version bumps. Note these changes will eventually be
published in a changelog.md file in each package. The possible types of
changes are: MAJOR - these are breaking changes that are not backwards
compatible. Examples are: renaming a public class, adding/removing a
non-optional parameter from a public API, or renaming an variable or function
that is exported. MINOR - these are changes that are backwards compatible
(but not forwards compatible). Examples are: adding a new public API or
adding an optional parameter to a public API PATCH - these are changes that
are backwards and forwards compatible. Examples are: Modifying a private API
or fixing a bug in the logic of how an existing API works. NONE - these are
changes that are backwards and forwards compatible and don't require an
immediate release. Examples are: Modifying dev tooling configuration like
eslint. HOTFIX (EXPERIMENTAL) - these are changes that are hotfixes targeting
a specific older version of the package. When a hotfix change is added, other
changes will not be able to increment the version number. Enable this feature
by setting 'hotfixChangeEnabled' in your rush.json.
Optional arguments:
-h, --help Show this help message and exit.
-v, --verify Verify the change file has been generated and that it
is a valid JSON file
--no-fetch Skips fetching the baseline branch before running
\\"git diff\\" to detect changes.
-b BRANCH, --target-branch BRANCH
If this parameter is specified, compare the checked
out branch with the specified branch to determine
which projects were changed. If this parameter is not
specified, the checked out branch is compared against
the \\"main\\" branch.
--overwrite If a changefile already exists, overwrite without
prompting (or erroring in --bulk mode).
-c, --commit If this flag is specified generated changefiles will
be commited automatically.
--commit-message COMMIT_MESSAGE
If this parameter is specified generated changefiles
will be commited automatically with the specified
commit message.
--email EMAIL The email address to use in changefiles. If this
parameter is not provided, the email address will be
detected or prompted for in interactive mode.
--bulk If this flag is specified, apply the same change
message and bump type to all changed projects. The
--message and the --bump-type parameters must be
specified if the --bulk parameter is specified
--message MESSAGE The message to apply to all changed projects if the
--bulk flag is provided.
--bump-type {major,minor,patch,none}
The bump type to apply to all changed projects if the
--bulk flag is provided.
"
`;
exports[`CommandLineHelp prints the help for each action: check 1`] = `
"usage: rush check [-h] [--json] [--verbose] [--subspace SUBSPACE_NAME]
[--variant VARIANT]
Checks each project's package.json files and ensures that all dependencies
are of the same version throughout the repository.
Optional arguments:
-h, --help Show this help message and exit.
--json If this flag is specified, output will be in JSON
format.
--verbose If this flag is specified, long lists of package
names will not be truncated. This has no effect if
the --json flag is also specified.
--subspace SUBSPACE_NAME
(EXPERIMENTAL) Specifies an individual Rush subspace
to check, requiring versions to be consistent only
within that subspace (ignoring other subspaces). This
parameter is required when the \\"subspacesEnabled\\"
setting is set to true in subspaces.json.
--variant VARIANT Run command using a variant installation
configuration. This parameter may alternatively be
specified via the RUSH_VARIANT environment variable.
"
`;
exports[`CommandLineHelp prints the help for each action: deploy 1`] = `
"usage: rush deploy [-h] [-p PROJECT_NAME] [-s SCENARIO_NAME] [--overwrite]
[-t PATH] [--create-archive ARCHIVE_PATH]
[--create-archive-only]
After building the repo, \\"rush deploy\\" can be used to prepare a deployment by
copying a subset of Rush projects and their dependencies to a target folder,
which can then be uploaded to a production server. The \\"rush deploy\\" behavior
is specified by a scenario config file that must be created first, using the
\\"rush init-deploy\\" command.
Optional arguments:
-h, --help Show this help message and exit.
-p PROJECT_NAME, --project PROJECT_NAME
Specifies the name of the main Rush project to be
deployed. It must appear in the
\\"deploymentProjectNames\\" setting in the deployment
config file.
-s SCENARIO_NAME, --scenario SCENARIO_NAME
By default, the deployment configuration is specified
in \\"common/config/rush/deploy.json\\". You can use
\\"--scenario\\" to specify an alternate name. The name
must be lowercase and separated by dashes. For
example, if SCENARIO_NAME is \\"web\\", then the config
file would be \\"common/config/rush/deploy-web.json\\".
--overwrite By default, deployment will fail if the target folder
is not empty. SPECIFYING THIS FLAG WILL RECURSIVELY
DELETE EXISTING CONTENTS OF THE TARGET FOLDER.
-t PATH, --target-folder PATH
By default, files are deployed to the \\"common/deploy\\"
folder inside the Rush repo. Use this parameter to
specify a different location. WARNING: USE CAUTION
WHEN COMBINING WITH \\"--overwrite\\". This parameter may
alternatively be specified via the
RUSH_DEPLOY_TARGET_FOLDER environment variable.
--create-archive ARCHIVE_PATH
If specified, after the deployment has been prepared,
\\"rush deploy\\" will create an archive containing the
contents of the target folder. The newly created
archive file will be placed according to the
designated path, relative to the target folder.
Supported file extensions: .zip
--create-archive-only
If specified, \\"rush deploy\\" will only create an
archive containing the contents of the target folder.
The target folder will not be modified other than to
create the archive file.
"
`;
exports[`CommandLineHelp prints the help for each action: import-strings 1`] = `
"usage: rush import-strings [-h] [-p COUNT] [--timeline] [--log-cobuild-plan]
[-t PROJECT] [-T PROJECT] [-f PROJECT] [-o PROJECT]
[-i PROJECT] [-I PROJECT]
[--to-version-policy VERSION_POLICY_NAME]
[--from-version-policy VERSION_POLICY_NAME] [-v]
[--include-phase-deps] [--ignore-hooks]
[--node-diagnostic-dir DIRECTORY]
[--debug-build-cache-ids]
[--show-existing-failure-logs]
[--locale {en-us,fr-fr,es-es,zh-cn}]
Requests translated strings from the translation service and imports them
into each project.
Optional arguments:
-h, --help Show this help message and exit.
-p COUNT, --parallelism COUNT
Specifies the maximum number of concurrent processes
to launch during a build. The COUNT should be a
positive integer, a percentage value (eg. \\"50%\\") or
the word \\"max\\" to specify a count that is equal to
the number of CPU cores. If this parameter is omitted,
then the default value depends on the operating
system and number of CPU cores. This parameter may
alternatively be specified via the RUSH_PARALLELISM
environment variable.
--timeline After the build is complete, print additional
statistics and CPU usage information, including an
ASCII chart of the start and stop times for each
operation.
--log-cobuild-plan (EXPERIMENTAL) Before the build starts, log
information about the cobuild state. This will
include information about clusters and the projects
that are part of each cluster.
-t PROJECT, --to PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--to\\" parameter expands
this selection to include PROJECT and all its
dependencies. \\".\\" can be used as shorthand for the
project in the current working directory. For details,
refer to the website article \\"Selecting subsets of
projects\\".
-T PROJECT, --to-except PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--to-except\\" parameter
expands this selection to include all dependencies of
PROJECT, but not PROJECT itself. \\".\\" can be used as
shorthand for the project in the current working
directory. For details, refer to the website article
\\"Selecting subsets of projects\\".
-f PROJECT, --from PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--from\\" parameter expands
this selection to include PROJECT and all projects
that depend on it, plus all dependencies of this set.
\\".\\" can be used as shorthand for the project in the
current working directory. For details, refer to the
website article \\"Selecting subsets of projects\\".
-o PROJECT, --only PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--only\\" parameter expands
this selection to include PROJECT; its dependencies
are not added. \\".\\" can be used as shorthand for the
project in the current working directory. Note that
this parameter is \\"unsafe\\" as it may produce a
selection that excludes some dependencies. For
details, refer to the website article \\"Selecting
subsets of projects\\".
-i PROJECT, --impacted-by PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--impacted-by\\" parameter
expands this selection to include PROJECT and any
projects that depend on PROJECT (and thus might be
broken by changes to PROJECT). \\".\\" can be used as
shorthand for the project in the current working
directory. Note that this parameter is \\"unsafe\\" as it
may produce a selection that excludes some
dependencies. For details, refer to the website
article \\"Selecting subsets of projects\\".
-I PROJECT, --impacted-by-except PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--impacted-by-except\\"
parameter works the same as \\"--impacted-by\\" except
that PROJECT itself is not added to the selection. \\".
\\" can be used as shorthand for the project in the
current working directory. Note that this parameter
is \\"unsafe\\" as it may produce a selection that
excludes some dependencies. For details, refer to the
website article \\"Selecting subsets of projects\\".
--to-version-policy VERSION_POLICY_NAME
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. The \\"--to-version-policy\\"
parameter is equivalent to specifying \\"--to\\" for each
of the projects belonging to VERSION_POLICY_NAME. For
details, refer to the website article \\"Selecting
subsets of projects\\".
--from-version-policy VERSION_POLICY_NAME
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. The \\"--from-version-policy\\"
parameter is equivalent to specifying \\"--from\\" for
each of the projects belonging to VERSION_POLICY_NAME.
For details, refer to the website article \\"Selecting
subsets of projects\\".
-v, --verbose Display the logs during the build, rather than just
displaying the build status summary
--include-phase-deps If the selected projects are \\"unsafe\\" (missing some
dependencies), add the minimal set of phase
dependencies. For example, \\"--from A\\" normally might
include the \\"_phase:test\\" phase for A's dependencies,
even though changes to A can't break those tests.
Using \\"--impacted-by A --include-phase-deps\\" avoids
that work by performing \\"_phase:test\\" only for
downstream projects.
--ignore-hooks Skips execution of the \\"eventHooks\\" scripts defined
in rush.json. Make sure you know what you are
skipping.
--node-diagnostic-dir DIRECTORY
Specifies the directory where Node.js diagnostic
reports will be written. This directory will contain
a subdirectory for each project and phase.
--debug-build-cache-ids
Logs information about the components of the build
cache ids for individual operations. This is useful
for debugging the incremental build logic.
--show-existing-failure-logs
Skips execution of operations and instead displays
any existing failure logs for the selected projects.
This is useful for reviewing failures from a previous
run without re-executing the operations. Operations
without existing failure logs will be silenced.
--locale {en-us,fr-fr,es-es,zh-cn}
Selects a single instead of the default locale
(en-us) for non-ship builds or all locales for ship
builds.
"
`;
exports[`CommandLineHelp prints the help for each action: init 1`] = `
"usage: rush init [-h] [--overwrite-existing] [--rush-example-repo]
[--include-experiments]
When invoked in an empty folder, this command provisions a standard set of
config file templates to start managing projects using Rush.
Optional arguments:
-h, --help Show this help message and exit.
--overwrite-existing By default \\"rush init\\" will not overwrite existing
config files. Specify this switch to override that.
This can be useful when upgrading your repo to a
newer release of Rush. WARNING: USE WITH CARE!
--rush-example-repo When copying the template config files, this
uncomments fragments that are used by the
\\"rush-example\\" GitHub repo, which is a sample
monorepo that illustrates many Rush features. This
option is primarily intended for maintaining that
example.
--include-experiments
Include features that may not be complete features,
useful for demoing specific future features or
current work in progress features.
"
`;
exports[`CommandLineHelp prints the help for each action: init-autoinstaller 1`] = `
"usage: rush init-autoinstaller [-h] --name AUTOINSTALLER_NAME
Use this command to initialize a new autoinstaller folder. Autoinstallers
provide a way to manage a set of related dependencies that are used for
scripting scenarios outside of the usual \\"rush install\\" context. See the
command-line.json documentation for an example.
Optional arguments:
-h, --help Show this help message and exit.
--name AUTOINSTALLER_NAME
Specifies the name of the autoinstaller folder, which
must conform to the naming rules for NPM packages.
"
`;
exports[`CommandLineHelp prints the help for each action: init-deploy 1`] = `
"usage: rush init-deploy [-h] -p PROJECT_NAME [-s SCENARIO]
Use this command to initialize a new scenario config file for use with \\"rush
deploy\\". The default filename is common/config/rush/deploy.json. However, if
you need to manage multiple deployments with different settings, you can use
use \\"--scenario\\" to create additional config files.
Optional arguments:
-h, --help Show this help message and exit.
-p PROJECT_NAME, --project PROJECT_NAME
Specifies the name of the main Rush project to be
deployed in this scenario. It will be added to the
\\"deploymentProjectNames\\" setting.
-s SCENARIO, --scenario SCENARIO
By default, the deployment configuration will be
written to \\"common/config/rush/deploy.json\\". You can
use \\"--scenario\\" to specify an alternate name. The
name must be lowercase and separated by dashes. For
example, if the name is \\"web\\", then the config file
would be \\"common/config/rush/deploy-web.json\\".
"
`;
exports[`CommandLineHelp prints the help for each action: init-subspace 1`] = `
"usage: rush init-subspace [-h] -n SUBSPACE_NAME
Use this command to create a new subspace with the default subspace
configuration files.
Optional arguments:
-h, --help Show this help message and exit.
-n SUBSPACE_NAME, --name SUBSPACE_NAME
The name of the subspace that is being initialized.
"
`;
exports[`CommandLineHelp prints the help for each action: install 1`] = `
"usage: rush install [-h] [-p] [--bypass-policy] [--no-link]
[--network-concurrency COUNT] [--debug-package-manager]
[--max-install-attempts NUMBER] [--ignore-hooks]
[--offline] [--variant VARIANT] [-t PROJECT] [-T PROJECT]
[-f PROJECT] [-o PROJECT] [-i PROJECT] [-I PROJECT]
[--to-version-policy VERSION_POLICY_NAME]
[--from-version-policy VERSION_POLICY_NAME]
[--subspace SUBSPACE_NAME] [--check-only]
[--resolution-only]
The \\"rush install\\" command installs package dependencies for all your
projects, based on the shrinkwrap file that is created/updated using \\"rush
update\\". (This \\"shrinkwrap\\" file stores a central inventory of all
dependencies and versions for projects in your repo. It is found in the
\\"common/config/rush\\" folder.) If the shrinkwrap file is missing or outdated
(e.g. because project package.json files have changed), \\"rush install\\" will
fail and tell you to run \\"rush update\\" instead. This read-only nature is the
main feature: Continuous integration builds should use \\"rush install\\" instead
of \\"rush update\\" to catch developers who forgot to commit their shrinkwrap
changes. Cautious people can also use \\"rush install\\" if they want to avoid
accidentally updating their shrinkwrap file.
Optional arguments:
-h, --help Show this help message and exit.
-p, --purge Perform \\"rush purge\\" before starting the installation
--bypass-policy Overrides enforcement of the \\"gitPolicy\\" rules from
rush.json (use honorably!)
--no-link If \\"--no-link\\" is specified, then project symlinks
will NOT be created after the installation completes.
You will need to run \\"rush link\\" manually. This flag
is useful for automated builds that want to report
stages individually or perform extra operations in
between the two stages. This flag is not supported
when using workspaces.
--network-concurrency COUNT
If specified, limits the maximum number of concurrent
network requests. This is useful when troubleshooting
network failures.
--debug-package-manager
Activates verbose logging for the package manager.
You will probably want to pipe the output of Rush to
a file when using this command.
--max-install-attempts NUMBER
Overrides the default maximum number of install
attempts. The default value is 1.
--ignore-hooks Skips execution of the \\"eventHooks\\" scripts defined
in rush.json. Make sure you know what you are
skipping.
--offline Enables installation to be performed without internet
access. PNPM will instead report an error if the
necessary NPM packages cannot be obtained from the
local cache. For details, see the documentation for
PNPM's \\"--offline\\" parameter.
--variant VARIANT Run command using a variant installation
configuration. This parameter may alternatively be
specified via the RUSH_VARIANT environment variable.
-t PROJECT, --to PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--to\\" parameter expands
this selection to include PROJECT and all its
dependencies. \\".\\" can be used as shorthand for the
project in the current working directory. For details,
refer to the website article \\"Selecting subsets of
projects\\".
-T PROJECT, --to-except PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--to-except\\" parameter
expands this selection to include all dependencies of
PROJECT, but not PROJECT itself. \\".\\" can be used as
shorthand for the project in the current working
directory. For details, refer to the website article
\\"Selecting subsets of projects\\".
-f PROJECT, --from PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--from\\" parameter expands
this selection to include PROJECT and all projects
that depend on it, plus all dependencies of this set.
\\".\\" can be used as shorthand for the project in the
current working directory. For details, refer to the
website article \\"Selecting subsets of projects\\".
-o PROJECT, --only PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--only\\" parameter expands
this selection to include PROJECT; its dependencies
are not added. \\".\\" can be used as shorthand for the
project in the current working directory. Note that
this parameter is \\"unsafe\\" as it may produce a
selection that excludes some dependencies. For
details, refer to the website article \\"Selecting
subsets of projects\\".
-i PROJECT, --impacted-by PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--impacted-by\\" parameter
expands this selection to include PROJECT and any
projects that depend on PROJECT (and thus might be
broken by changes to PROJECT). \\".\\" can be used as
shorthand for the project in the current working
directory. Note that this parameter is \\"unsafe\\" as it
may produce a selection that excludes some
dependencies. For details, refer to the website
article \\"Selecting subsets of projects\\".
-I PROJECT, --impacted-by-except PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--impacted-by-except\\"
parameter works the same as \\"--impacted-by\\" except
that PROJECT itself is not added to the selection. \\".
\\" can be used as shorthand for the project in the
current working directory. Note that this parameter
is \\"unsafe\\" as it may produce a selection that
excludes some dependencies. For details, refer to the
website article \\"Selecting subsets of projects\\".
--to-version-policy VERSION_POLICY_NAME
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. The \\"--to-version-policy\\"
parameter is equivalent to specifying \\"--to\\" for each
of the projects belonging to VERSION_POLICY_NAME. For
details, refer to the website article \\"Selecting
subsets of projects\\".
--from-version-policy VERSION_POLICY_NAME
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. The \\"--from-version-policy\\"
parameter is equivalent to specifying \\"--from\\" for
each of the projects belonging to VERSION_POLICY_NAME.
For details, refer to the website article \\"Selecting
subsets of projects\\".
--subspace SUBSPACE_NAME
(EXPERIMENTAL) Specifies a Rush subspace to be
installed. Requires the \\"subspacesEnabled\\" feature to
be enabled in subspaces.json.
--check-only Only check the validity of the shrinkwrap file
without performing an install.
--resolution-only Only perform dependency resolution, useful for
ensuring peer dependendencies are up to date. Note
that this flag is only supported when using the pnpm
package manager.
"
`;
exports[`CommandLineHelp prints the help for each action: install-autoinstaller 1`] = `
"usage: rush install-autoinstaller [-h] --name AUTOINSTALLER_NAME
Use this command to install dependencies for an autoinstaller folder.
Optional arguments:
-h, --help Show this help message and exit.
--name AUTOINSTALLER_NAME
The name of the autoinstaller, which must be one of
the folders under common/autoinstallers.
"
`;
exports[`CommandLineHelp prints the help for each action: link 1`] = `
"usage: rush link [-h] [-f]
Create node_modules symlinks for all projects. This operation is normally
performed automatically as part of \\"rush install\\" or \\"rush update\\". You
should only need to use \\"rush link\\" if you performed \\"rush unlink\\" for some
reason, or if you specified the \\"--no-link\\" option for \\"rush install\\" or
\\"rush update\\".
Optional arguments:
-h, --help Show this help message and exit.
-f, --force Deletes and recreates all links, even if the filesystem state
seems to indicate that this is unnecessary.
"
`;
exports[`CommandLineHelp prints the help for each action: link-package 1`] = `
"usage: rush link-package [-h] --path PATH [--project PROJECT_NAME]
This command enables you to test a locally built project by creating a
symlink under the specified projects' node_modules folders. The
implementation is similar to \\"pnpm link\\" and \\"npm link\\", but better
integrated with Rush features. Like those commands, the symlink (\\"hotlink\\")
is not reflected in pnpm-lock.yaml, affects the consuming project only, and
has the same limitations as \\"workspace:*\\". The hotlinks will be cleared when
you next run \\"rush install\\" or \\"rush update\\". Compare with the \\"rush
bridge-package\\" command, which affects the entire lockfile including indirect
dependencies.
Optional arguments:
-h, --help Show this help message and exit.
--path PATH The path of folder of a project outside of this Rush
repo, whose installation will be simulated using
node_modules symlinks (\\"hotlinks\\"). This folder is
the symlink target.
--project PROJECT_NAME
A list of Rush project names that will be hotlinked
to the \\"--path\\" folder. If not specified, the default
is the project of the current working directory.
"
`;
exports[`CommandLineHelp prints the help for each action: list 1`] = `
"usage: rush list [-h] [-v] [-p] [--full-path] [--detailed] [--json]
[-t PROJECT] [-T PROJECT] [-f PROJECT] [-o PROJECT]
[-i PROJECT] [-I PROJECT]
[--to-version-policy VERSION_POLICY_NAME]
[--from-version-policy VERSION_POLICY_NAME]
List package names, and optionally version (--version) and path (--path) or
full path (--full-path), for projects in the current rush config.
Optional arguments:
-h, --help Show this help message and exit.
-v, --version If this flag is specified, the project version will
be displayed in a column along with the package name.
-p, --path If this flag is specified, the project path will be
displayed in a column along with the package name.
--full-path If this flag is specified, the project full path will
be displayed in a column along with the package name.
--detailed For the non --json view, if this flag is specified,
include path (-p), version (-v) columns along with
the project's applicable: versionPolicy,
versionPolicyName, shouldPublish, reviewPolicy, and
tags fields.
--json If this flag is specified, output will be in JSON
format.
-t PROJECT, --to PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--to\\" parameter expands
this selection to include PROJECT and all its
dependencies. \\".\\" can be used as shorthand for the
project in the current working directory. For details,
refer to the website article \\"Selecting subsets of
projects\\".
-T PROJECT, --to-except PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--to-except\\" parameter
expands this selection to include all dependencies of
PROJECT, but not PROJECT itself. \\".\\" can be used as
shorthand for the project in the current working
directory. For details, refer to the website article
\\"Selecting subsets of projects\\".
-f PROJECT, --from PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--from\\" parameter expands
this selection to include PROJECT and all projects
that depend on it, plus all dependencies of this set.
\\".\\" can be used as shorthand for the project in the
current working directory. For details, refer to the
website article \\"Selecting subsets of projects\\".
-o PROJECT, --only PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--only\\" parameter expands
this selection to include PROJECT; its dependencies
are not added. \\".\\" can be used as shorthand for the
project in the current working directory. Note that
this parameter is \\"unsafe\\" as it may produce a
selection that excludes some dependencies. For
details, refer to the website article \\"Selecting
subsets of projects\\".
-i PROJECT, --impacted-by PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--impacted-by\\" parameter
expands this selection to include PROJECT and any
projects that depend on PROJECT (and thus might be
broken by changes to PROJECT). \\".\\" can be used as
shorthand for the project in the current working
directory. Note that this parameter is \\"unsafe\\" as it
may produce a selection that excludes some
dependencies. For details, refer to the website
article \\"Selecting subsets of projects\\".
-I PROJECT, --impacted-by-except PROJECT
Normally all projects in the monorepo will be
processed; adding this parameter will instead select
a subset of projects. Each \\"--impacted-by-except\\"
parameter works the same as \\"--impacted-by\\" except
that PROJECT itself is not added to the selection. \\".
\\" can be used as shorthand for the project in the