We have an NPM package say 'design' in say organization1, I have a pipeline which is part of the same organization that is able to resolve the package with just npmrc file. I wanted to access the packages 'design' from organization2, I am not able to read/resolve the package. pipeline throws 401.
Is there I have to do something else to resolve the packages in external organization ?
latest .npmrc
@<reg>:registry=https://<reg>.pkgs.visualstudio.com/_packaging/<feed>/npm/registry/
//https://<reg>.pkgs.visualstudio.com/_packaging/<feed>/npm/registry/:_password=#{npm_PAT}#
//https://<reg>.pkgs.visualstudio.com/_packaging/<feed>/npm/registry/:username="notrequired"
//https://<reg>.pkgs.visualstudio.com/_packaging/<feed>/npm/registry/:email="not@required.ever"
//https://<reg>.pkgs.visualstudio.com/_packaging/<feed>/npm/registry/:always-auth = true
To resolve the packages in external organization, you can add the following content to .npmrc file:
Project feed:
; begin auth token
//orgname.pkgs.visualstudio.com/projectname/_packaging/456/npm/registry/:username=AzureTest23
//orgname.pkgs.visualstudio.com/projectname/_packaging/456/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//orgname.pkgs.visualstudio.com/projectname/_packaging/456/npm/registry/:email=npm requires email to be set but doesn't use the value
//orgname.pkgs.visualstudio.com/projectname/_packaging/456/npm/:username=AzureTest23
//orgname.pkgs.visualstudio.com/projectname/_packaging/456/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//azuretest23.pkgs.visualstudio.com/projectname/_packaging/456/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Organization Feed:
; begin auth token
//orgname.pkgs.visualstudio.com/_packaging/234/npm/registry/:username=AzureTest23
//orgname.pkgs.visualstudio.com/_packaging/234/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//orgname.pkgs.visualstudio.com/_packaging/234/npm/registry/:email=npm requires email to be set but doesn't use the value
//orgname.pkgs.visualstudio.com/_packaging/234/npm/:username=AzureTest23
//orgname.pkgs.visualstudio.com/_packaging/234/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//orgname.pkgs.visualstudio.com/_packaging/234/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Then you need to create a PAT with the Packaging Read and Write permission of the organization1.
Note: You need to convert the PAT to base64 type and replace the token value in .npmrc file.
To get the detailed settings, you can navigate to Azure Feed -> Connect to feed -> NPM -> Other and check the .npmrc file settings.
Update:
To convert the PAT to base64 type, we can follow this doc: Credentials setup