build-info icon indicating copy to clipboard operation
build-info copied to clipboard

NPM Extractor not calling "npm config fix" for npm >= 9

Open nwesoccer opened this issue 1 year ago • 1 comments

Describe the bug When using the rtNpmInstall var from the jenkins-artifactory-plugin using NPM >= 9, we get the following error:

Invalid auth configuration found: _auth must be renamed to //{artifactory server}/artifactory/api/npm/:_auth in project config\nPlease run npm config fix to repair your configuration.`

According to JFrog documentation, the "npm config fix" command should be run after creating the .npmrc file. (https://jfrog.com/help/r/artifactory-changes-to-the-login-behavior-in-npm-v9/users-authenticating-with-the-npm-login-command)

There seems to be no hook for us to run this, and it seems like something the plugin should run. The best that we can tell, the plugin uses this repository to write that .npmrc file (https://github.com/jfrog/build-info/blob/master/build-info-extractor-npm/src/main/java/org/jfrog/build/extractor/npm/extractor/NpmBuildInfoExtractor.java#L192C25-L193C86).

Maybe this command should be run here: https://github.com/jfrog/build-info/blob/master/build-info-extractor-npm/src/main/java/org/jfrog/build/extractor/npm/extractor/NpmBuildInfoExtractor.java#L73.

To Reproduce Create a jenkins pipeline with a rtNpmInstall step.

Expected behavior The pipeline should properly run "npm i" without errorying about auth.

Screenshots Screenshot 2023-10-30 at 16 50 00

Versions

  • Artifactory Version: 7.55.10
  • jenkins-artifactory-plugin Version: 3.18.1
  • build-info Version: 2.41.7

Additional context Add any other context about the problem here.

nwesoccer avatar Oct 30 '23 20:10 nwesoccer

Created #787 which should handle this. Reliant on maintainers to approve and merge.

Spaction avatar Mar 21 '24 09:03 Spaction