ado-npm v0.1.10
Azure DevOps NPM Utilities
Command line utility for interacting with Azure DevOps private NPM registries.
- Configure long-lived (90 day) credentials with interactive browser authorization.
- Authorize and globally install private packages with a single command.
Note: This tool is using the Azure Devops PAT Lifecycle Management API preview version. Version 1 of this tool will be released when the API reaches non-preview status.
Prerequisites
You will need an Azure DevOps organization which is connected to AAD, and an AAD user which is a member of both the organization and directory.
Authorize
Authorize all ADO NPM registries found in the nearest .npmrc, .yarnrc, and lock (package-json.lock or yarn.lock) files. This is a replacement for the legacy Windows-only vsts-npm-auth package.
npx --registry=https://registry.npmjs.org ado-npm auth --detectNote: Adding the --registry=https://registry.npmjs.org argument immediately after npx and before ado-npm is recommended in case your local .npmrc file contains aregistry=<url> that you don't currently have credentials for.
Authorize specific ADO NPM registries (org or project scoped). You can use the --registry option multiple times to authorize for multiple registries all at once.
npx --registry=https://registry.npmjs.org ado-npm auth --registry=<uri>
npx --registry=https://registry.npmjs.org ado-npm auth --registry=<uri-1> --registry=<uri-2>Note: The --registry argument before the ado-npm command is an npx argument, which determines where NPX will install the ado-npm package from. The --registry arguments which follow ado-npm are the registries that require authorization.
Registry URIs (for this and other commands) can be the full Azure DevOps URL or a path-like short form which includes only the org, (optional) project, and feed, separated by slashes.
Full URL example:
--registry=https://pkgs.dev.azure.com/<org>/<project>/_packaging/<feed>/npm/registry/Path-like short example:
--registry=<org>/<project>/<feed>Personal access tokens are generated with a 90 day lifetime, scoped to a single organization, and have permission to read and write packages. Credentials are only ever stored in the users $HOME/.npmrc file.
Install
Install packages globally with a single command, interactively authorizing if necessary.
npx --registry=https://registry.npmjs.org ado-npm add --registry=<uri> <...packages>Global packages are always installed using npm. To remove them, use the npm uninstall -g <...packages> command.
Configure
You can set default values for the --registry, --tenant, or --lifetime options. When defaults are set, these options can be omitted from any other command.
npx --registry=https://registry.npmjs.org ado-npm set --registry=<uri> --lifetime=<days> --tenant=<value>Explicitly choosing a tenant should only be necessary in rare cases.