• Add npm virtual repositories (#152)
    ci/woodpecker/tag/docker Pipeline was successful

    unkin-agent released this 2026-10-17 21:52:55 +11:00 | 32 commits to master since this release

    npm clients need one registry for internal and public packages, but npm virtuals have no merger, so a local npm repo and npmjs cannot be served together.

    • merge packuments across members: union versions (member order wins), first-defined dist-tags minus ones naming missing versions
    • serve full and abbreviated (install-v1) packuments, scoped names included, via the shared virtual merge cache
    • point tarballs at <virtual>/<member>/<path> and 302 them to the owning member
    • reject an invalid Host with 400; serve virtual and local packuments no-store with Vary: Host, X-Forwarded-Proto, Accept
    • return 502 when a member errors; skip members without the package
    • add docs/npm/virtual.md and a stock node:22 e2e-docker case

    Reviewed-on: #152
    Co-authored-by: unkin-agent unkin-agent@unkin.net
    Co-committed-by: unkin-agent unkin-agent@unkin.net

    Downloads