rush publish
Reads and processes package publishing change requests generated by "rush change"
Options
Name | Description |
---|---|
-a, --apply | If this flag is specified, the change requests will be applied to package.json files |
-b, --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 |
--regenerate-changelogs | Regenerates all changelog files based on the current JSON content |
-r, --registry <REGISTRY> | Publishes to a specified NPM registry. If this is specified, it will prevent the current commit will not be tagged |
-n, --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> | 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 <ACCESS_LEVEL> | 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 publish" |
--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 |
--apply-git-tags-on-pack | If specified with --publish and --pack, git tags will be applied for packages as if a publish was being run without --pack |
-c, --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 |