Npm@1 - npm v1 task
Use this task to install and publish npm packages or to run an npm
command. Supports npmjs.com
and authenticated registries like Azure Artifacts.
Note
The npm Authenticate task is the recommended way to authenticate with Azure Artifacts. This task no longer takes new features and only critical bugs are addressed.
Syntax
# npm v1
# Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.
- task: Npm@1
inputs:
command: 'install' # 'ci' | 'install' | 'publish' | 'custom'. Required. Command. Default: install.
#workingDir: # string. Working folder that contains package.json.
#customCommand: # string. Required when command = custom. Command and arguments.
# Advanced
#verbose: # boolean. Optional. Use when command = install || command = ci || command = publish. Verbose logging.
#publishPackageMetadata: true # boolean. Optional. Use when command = publish && publishRegistry = useFeed && command = install || command = ci || command = publish. Publish pipeline metadata. Default: true.
# Custom registries and authentication
#customRegistry: 'useNpmrc' # 'useNpmrc' | 'useFeed'. Optional. Use when command = install || command = ci || command = custom. Registries to use. Default: useNpmrc.
#customFeed: # string. Required when customRegistry = useFeed && command = install || command = ci || command = custom. Use packages from this Azure Artifacts/TFS registry.
#customEndpoint: # string. Optional. Use when customRegistry = useNpmrc && command = install || command = ci || command = custom. Credentials for registries outside this organization/collection.
# Destination registry and authentication
#publishRegistry: 'useExternalRegistry' # 'useExternalRegistry' | 'useFeed'. Optional. Use when command = publish. Registry location. Default: useExternalRegistry.
#publishFeed: # string. Required when publishRegistry = useFeed && command = publish. Target registry.
#publishEndpoint: # string. Required when publishRegistry = useExternalRegistry && command = publish. External Registry.
# npm v1
# Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.
- task: Npm@1
inputs:
command: 'install' # 'install' | 'publish' | 'custom'. Required. Command. Default: install.
#workingDir: # string. Working folder that contains package.json.
#customCommand: # string. Required when command = custom. Command and arguments.
# Advanced
#verbose: # boolean. Optional. Use when command = install || command = publish. Verbose logging.
#publishPackageMetadata: true # boolean. Optional. Use when command = publish && publishRegistry = useFeed && command = install || command = publish. Publish pipeline metadata. Default: true.
# Custom registries and authentication
#customRegistry: 'useNpmrc' # 'useNpmrc' | 'useFeed'. Optional. Use when command = install || command = custom. Registries to use. Default: useNpmrc.
#customFeed: # string. Required when customRegistry = useFeed && command = install || command = custom. Use packages from this Azure Artifacts/TFS registry.
#customEndpoint: # string. Optional. Use when customRegistry = useNpmrc && command = install || command = custom. Credentials for registries outside this organization/collection.
# Destination registry and authentication
#publishRegistry: 'useExternalRegistry' # 'useExternalRegistry' | 'useFeed'. Optional. Use when command = publish. Registry location. Default: useExternalRegistry.
#publishFeed: # string. Required when publishRegistry = useFeed && command = publish. Target registry.
#publishEndpoint: # string. Required when publishRegistry = useExternalRegistry && command = publish. External Registry.
# npm v1
# Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Package Management.
- task: Npm@1
inputs:
command: 'install' # 'install' | 'publish' | 'custom'. Required. Command. Default: install.
#workingDir: # string. Working folder with package.json.
#customCommand: # string. Required when command = custom. Command and arguments.
# Advanced
#verbose: # boolean. Optional. Use when command = install || command = publish. Verbose logging.
# Custom registries and authentication
#customRegistry: 'useNpmrc' # 'useNpmrc' | 'useFeed'. Optional. Use when command = install || command = custom. Registries to use. Default: useNpmrc.
#customFeed: # string. Required when customRegistry = useFeed && command = install || command = custom. Use packages from this Azure Artifacts/TFS registry.
#customEndpoint: # string. Optional. Use when customRegistry = useNpmrc && command = install || command = custom. Credentials for registries outside this account/collection.
# Destination registry and authentication
#publishRegistry: 'useExternalRegistry' # 'useExternalRegistry' | 'useFeed'. Optional. Use when command = publish. Registry location. Default: useExternalRegistry.
#publishFeed: # string. Required when publishRegistry = useFeed && command = publish. Target registry.
#publishEndpoint: # string. Required when publishRegistry = useExternalRegistry && command = publish. External Registry.
Inputs
command
- Command
string
. Required. Allowed values: ci
, install
, publish
, custom
. Default value: install
.
Specifies the command and arguments, which are passed to npm
for execution.
If your arguments contain double quotes ("
), escape them with a slash (\
), and surround the escaped string with double quotes ("
).
command
- Command
string
. Required. Allowed values: install
, publish
, custom
. Default value: install
.
Specifies the command and arguments, which are passed to npm
for execution.
If your arguments contain double quotes ("
), escape them with a slash (\
), and surround the escaped string with double quotes ("
).
workingDir
- Working folder that contains package.json
string
.
Specifies the path to the folder containing the target package.json
and .npmrc
files. Select the folder, not the file. Example: /packages/mypackage
.
workingDir
- Working folder with package.json
string
.
Specifies the path to the folder containing the target package.json
and .npmrc
files. Select the folder, not the file. Example: /packages/mypackage
.
verbose
- Verbose logging
boolean
. Optional. Use when command = install || command = ci || command = publish
.
Prints more information to the console when the task runs.
verbose
- Verbose logging
boolean
. Optional. Use when command = install || command = publish
.
Prints more information to the console when the task runs.
customCommand
- Command and arguments
string
. Required when command = custom
.
Runs a custom command. Example: dist-tag ls mypackage
.
customRegistry
- Registries to use
string
. Optional. Use when command = install || command = ci || command = custom
. Allowed values: useNpmrc
(Registries in my .npmrc), useFeed
(Registry I select here). Default value: useNpmrc
.
Specifies the registries to use. Commit a .npmrc
file to your source code repository and set its path as the value, or specify a registry from Azure Artifacts as the value.
customRegistry
- Registries to use
string
. Optional. Use when command = install || command = custom
. Allowed values: useNpmrc
(Registries in my .npmrc), useFeed
(Registry I select here). Default value: useNpmrc
.
Specifies the registries to use. Commit a .npmrc
file to your source code repository and set its path as the value, or specify a registry from Azure Artifacts as the value.
customFeed
- Use packages from this Azure Artifacts/TFS registry
string
. Required when customRegistry = useFeed && command = install || command = ci || command = custom
.
Includes the selected feed in the generated .npmrc
. For project-scoped feeds, use ProjectName/FeedName
or ProjectID/FeedID
. For organization-scoped feeds, the value should be the feed name.
customFeed
- Use packages from this Azure Artifacts/TFS registry
string
. Required when customRegistry = useFeed && command = install || command = custom
.
Includes the selected feed in the generated .npmrc
. For project-scoped feeds, use ProjectName/FeedName
or ProjectID/FeedID
. For organization-scoped feeds, the value should be the feed name.
customEndpoint
- Credentials for registries outside this organization/collection
string
. Optional. Use when customRegistry = useNpmrc && command = install || command = ci || command = custom
.
Credentials to use for external registries located in the project's .npmrc
. Leave this blank for registries in this account/collection; the task uses the build's credentials automatically.
customEndpoint
- Credentials for registries outside this organization/collection
string
. Optional. Use when customRegistry = useNpmrc && command = install || command = custom
.
Credentials to use for external registries located in the project's .npmrc
. Leave this blank for registries in this account/collection; the task uses the build's credentials automatically.
customEndpoint
- Credentials for registries outside this account/collection
string
. Optional. Use when customRegistry = useNpmrc && command = install || command = custom
.
Credentials to use for external registries located in the project's .npmrc
. Leave this blank for registries in this account/collection; the task uses the build's credentials automatically.
publishRegistry
- Registry location
string
. Optional. Use when command = publish
. Allowed values: useExternalRegistry
(External npm registry (including other accounts/collections)), useFeed
(Registry I select here). Default value: useExternalRegistry
.
Specifies the registry that the command will target.
publishFeed
- Target registry
string
. Required when publishRegistry = useFeed && command = publish
.
Specifies a registry hosted in the account. You must have Package Management installed and licensed to select a registry here.
publishPackageMetadata
- Publish pipeline metadata
boolean
. Optional. Use when command = publish && publishRegistry = useFeed && command = install || command = ci || command = publish
. Default value: true
.
Associates the build/release pipeline's metadata (the run # and source code information) with the package.
publishPackageMetadata
- Publish pipeline metadata
boolean
. Optional. Use when command = publish && publishRegistry = useFeed && command = install || command = publish
. Default value: true
.
Associates the build/release pipeline's metadata (the run # and source code information) with the package.
publishEndpoint
- External Registry
string
. Required when publishRegistry = useExternalRegistry && command = publish
.
Specifies the credentials to use for publishing to an external registry.
Task control options
All tasks have control options in addition to their task inputs. For more information, see Control options and common task properties.
Output variables
None.
Remarks
Note
The Project Collection Build Service and your project's Build Service identity must be set to Contributor to publish your packages to a feed using Azure Pipelines. See Add new users/groups for more details.
Where can I learn npm commands and arguments?
Examples
Requirements
Requirement | Description |
---|---|
Pipeline types | YAML, Classic build, Classic release |
Runs on | Agent, DeploymentGroup |
Demands | Self-hosted agents must have capabilities that match the following demands to run jobs that use this task: npm |
Capabilities | This task does not satisfy any demands for subsequent tasks in the job. |
Command restrictions | Any |
Settable variables | Any |
Agent version | 2.115.0 or greater |
Task category | Package |
Requirement | Description |
---|---|
Pipeline types | YAML, Classic build, Classic release |
Runs on | Agent, DeploymentGroup |
Demands | Self-hosted agents must have capabilities that match the following demands to run jobs that use this task: npm |
Capabilities | This task does not satisfy any demands for subsequent tasks in the job. |
Command restrictions | Any |
Settable variables | Any |
Agent version | 1.91.0 or greater |
Task category | Package |