Rush StackShopBlogEvents
Skip to main content

rush publish

usage: rush publish [-h] [-a] [-b BRANCH] [-p] [--add-commit-details]
[--regenerate-changelogs] [-r REGISTRY] [-n TOKEN]
[-t TAG] [--set-access-level {public,restricted}] [--pack]
[--release-folder FOLDER] [--include-all]
[--version-policy POLICY] [--prerelease-name NAME]
[--partial-prerelease] [--suffix SUFFIX] [--force]
[--apply-git-tags-on-pack] [-c COMMIT_ID]

Reads and processes package publishing change requests generated by "rush
change". This will perform a read-only operation by default, printing
operations executed to the console. To commit changes and publish packages,
you must use the --commit flag and/or the --publish flag.

Optional arguments:
-h, --help Show this help message and exit.
-a, --apply If this flag is specified, the change requests will
be applied to package.json files.
-b BRANCH, --target-branch BRANCH
If this flag is specified, applied changes and
deleted change requests will be committed and merged
into the target branch.
-p, --publish If this flag is specified, applied changes will be
published to the NPM registry.
--add-commit-details Adds commit author and hash to the changelog.json
files for each change.
Regenerates all changelog files based on the current
JSON content.
-r REGISTRY, --registry REGISTRY
Publishes to a specified NPM registry. If this is
specified, it will prevent the current commit will
not be tagged.
-n TOKEN, --npm-auth-token TOKEN
(DEPRECATED) Specifies the authentication token to
use during publishing. This parameter is deprecated
because command line parameters may be readable by
unrelated processes on a lab machine. Instead, a
safer practice is to pass the token via an
environment variable and reference it from your
common/config/rush/.npmrc-publish file.
-t TAG, --tag TAG The tag option to pass to npm publish. By default NPM
will publish using the 'latest' tag, even if the
package is older than the current latest, so in
publishing workflows for older releases, providing a
tag is important. When hotfix changes are made, this
parameter defaults to 'hotfix'.
--set-access-level {public,restricted}
By default, when Rush invokes "npm publish" it will
publish scoped packages with an access level of
"restricted". Scoped packages can be published with
an access level of "public" by specifying that value
for this flag with the initial publication. NPM
always publishes unscoped packages with an access
level of "public". For more information, see the NPM
documentation for the "--access" option of "npm
--pack Packs projects into tarballs instead of publishing to
npm repository. It can only be used when
--include-all is specified. If this flag is specified,
NPM registry related parameters will be ignored.
--release-folder FOLDER
This parameter is used with --pack parameter to
provide customized location for the tarballs instead
of the default value.
--include-all If this flag is specified, all packages with
shouldPublish=true in rush.json or with a specified
version policy will be published if their version is
newer than published version.
--version-policy POLICY
Version policy name. Only projects with this version
policy will be published if used with --include-all.
--prerelease-name NAME
Bump up to a prerelease version with the provided
prerelease name. Cannot be used with --suffix
--partial-prerelease Used with --prerelease-name. Only bump packages to a
prerelease version if they have changes.
--suffix SUFFIX Append a suffix to all changed versions. Cannot be
used with --prerelease-name.
--force If this flag is specified with --publish, packages
will be published with --force on npm
If specified with --publish and --pack, git tags will
be applied for packages as if a publish was being run
without --pack.
-c COMMIT_ID, --commit COMMIT_ID
Used in conjunction with git tagging -- apply git
tags at the commit hash specified. If not provided,
the current HEAD will be tagged.
--ignore-git-hooks Skips execution of all git hooks. Make sure you know
what you are skipping.

See also