ITADN

npm.jsr.io returns 404 for URL-encoded scoped package requests

#7026Openfengmk2 创建于 2026-02-27
F
fengmk2commented
## Bug Description The npm.jsr.io registry returns 404 when the scoped package name contains a URL-encoded slash (`%2F`), but works fine with a literal `/`. This breaks pnpm which URL-encodes the package name in registry requests. ## Reproduction ```bash # URL-encoded slash — returns 404 curl -v "https://npm.jsr.io/@jsr%2Fstd__yaml" # HTTP/2 404 # Literal slash — returns 200 curl -v "https://npm.jsr.io/@jsr/std__yaml" # HTTP/2 200 ``` ## Impact pnpm URL-encodes the scoped package name when fetching from the registry, so any project using `@jsr/*` packages via pnpm hits this error: ``` ERR_PNPM_FETCH_404 GET https://npm.jsr.io/@jsr%2Fstd__yaml: Not Found - 404 @jsr/std__yaml is not in the npm registry, or you have no permission to fetch it. ``` This affects `pnpm install`, `pnpm dedupe --check`, and other pnpm commands that resolve packages. ## Expected Behavior Both `https://npm.jsr.io/@jsr%2Fstd__yaml` and `https://npm.jsr.io/@jsr/std__yaml` should return the same 200 response, since `%2F` is the URL-encoded form of `/`. ## Environment - pnpm v10.28.0 - Tested on macOS (Darwin 25.2.0)
0 条评论