Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ado-npm-auth

Package Overview
Dependencies
Maintainers
0
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ado-npm-auth

The ado-npm-auth package can automatically use the azureauth CLI to fetch tokens and update a user's .npmrc file for authenticating to ADO package feeds.

  • 0.3.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

Azure Devops NPM Auth

The ado-npm-auth package can automatically use the azureauth CLI to fetch tokens and update a user's .npmrc file for authenticating to ADO package feeds.

You'll first need an .npmrc in your project such as...

registry=https://pkgs.dev.azure.com/org/project/_packaging/feedname/npm/registry/

You can run the binary "ado-npm-auth" via yarn ado-npm-auth or npm exec ado-npm-auth.

It will then shell out to the azureauth package on npm, retrieve a token, and update your ~/.npmrc.

ado-npm-auth vs vsts-npm-auth

The main difference between the two is how they function, and where they can run. The vsts-npm-auth tool is Windows only, and uses MSAL authentication.

ado-npm-auth uses the node-azureauth library, to wrap the azureauth-cli, which itself is a cross platform MSAL wrapper.

screenshot of tool running

Since the azureauth-cli is cross-platform, ado-npm-auth will also run cross-platform as well!

One of the easiest ways to use the tool is to add it to your "preinstall" script in your repo like this...

"scripts": {
  "preinstall": "npm exec ado-npm-auth"
},

It will then perform a quick "pre-flight" check to assess if the token is valid, and generate a new one if it has expired.

screenshot of tool running via preinstall

Beware the chicken and egg problem

You may need to set the registry to the public NPM feed when running npm exec or npx.

There are 2 options to address this case:

1: Explictly pass the config file.

You can hop one directory up, or run it from an arbitrary path and pass the configuration.

pushd ..
npx ado-npm-auth -c <myrepo>\.npmrc
popd

2: configure registry explicilty

If that's the case, set the environment variable npm_config_registry=https://registry.npmjs.org.

That will ensure that npx or npm exec grabs from the public NPM feed, bypassing the soon-to-be authenticated ADO feed.

"scripts": {
  "preinstall": "npm_config_registry=https://registry.npmjs.org npm exec ado-npm-auth"
},

FAQs

Package last updated on 30 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc