How to use the NPM publish pipe for a repo URL with a slash in it

Erik_Tallang January 30, 2020

Hi! I'm trying to use the BitBucket Pipelines NPM publish-pipe to publish our NPM package to a NPM repository hosted on Nexus. The URL for our Nexus repository is
https://sample.url/repository/our-package

When the NPM publish pipe runs, it sets the auth-token in the following way:
npm_host=$(node -p "require('url').parse('$npm_registry_url').host")
npm config set //${npm_host}/:_authToken "${NPM_TOKEN}"

The result of this is:
//sample.url/:_authToken=<token>

In other words, since the npm_host only gets the host part (sample.url) of the registry url, the "/repository/" part of our URL is skipped, and the publish returns a 502 error code.

Should maybe the pipe take longer repository URLs into account?

1 answer

0 votes
Alexander Zhukov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 1, 2020

Hi @Erik_Tallang , thanks for reporting this case. We'll try to the support for such urls in the future pipe releases.

Erik_Tallang April 20, 2020

Thank you for your reply! Looking forward to it! Our temporary solution is to create our own script where we basically replicate the functionality from the pipe.

Halyna Berezovska
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 28, 2020

Hello, @Erik_Tallang  , npm-publish pipe is updated to support your needs, welcome to have a look and try out.

Thank you for reporting the case! We are looking forward to seeing the feedback

Erik_Tallang April 29, 2020

Thank you for your amazing support! Will try out the new pipe as soon as possible (a few days).

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events