Skip to content

chore: add web-login proxy doneUrl regression for npm-profile fix#9584

Merged
owlstronaut merged 1 commit into
release/v11from
backport/v11/9560
Jun 19, 2026
Merged

chore: add web-login proxy doneUrl regression for npm-profile fix#9584
owlstronaut merged 1 commit into
release/v11from
backport/v11/9560

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Backport of #9560 to release/v11.

)

Adds a regression test for #8875. The fix is in npm-profile
(npm/npm-profile#191).

This test is expected to be red until bundled `npm-profile` is bumped to
the release with the fix, and turns green after that.

## Why

`npm login --auth-type=web` silently fails behind a proxy/mirror: the
returned `doneUrl` points at the canonical `registry.npmjs.org` instead
of the proxy, so npm polls the wrong host, gets a `403`, and falls back
to couch auth (which also fails). Fixed in npm-profile by rewriting
`doneUrl` to the configured registry origin.

## How

- `@npmcli/mock-registry`: `weblogin()` gains an optional `doneRegistry`
to emulate a proxy advertising a `doneUrl` on another origin.
- `test/lib/commands/login.js`: proxy registry whose `doneUrl` is on
`registry.npmjs.org`; asserts the token is saved with no couch fallback.
Fails with the current bundled npm-profile, passes once it is bumped.

## References

Fixes #8875
Depends on: npm/npm-profile#191
Related: #9550

(cherry picked from commit 059c06e)
@owlstronaut owlstronaut merged commit a04cd84 into release/v11 Jun 19, 2026
50 checks passed
@owlstronaut owlstronaut deleted the backport/v11/9560 branch June 19, 2026 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants