Skip to content

Legacy Package Capitalization Mismatch after CF Worker Migration #453

Closed as not planned

Description

@joshualyon

First off, thanks for putting together such an awesome tool!

I noticed that in the past few weeks, around the time of the cutover to the new Cloudflare Workers stack, that references to gaugeJS via unpkg.js have stopped working with a response of Package not found: gaugeJS whereas they previously returned the referenced file contents for the specified package name + version.

gaugeJS example

URL:
https://unpkg.com/gaugeJS@1.3.8/dist/gauge.min.js

Actual Response:

Package not found: gaugeJS

Expected Response:

Contents of the gaugeJS /dist/gauge.min.js file for the 1.3.8 version on npm. This is what was returned just a few weeks ago - likely prior to the CF Worker cutover.

Legacy Uppercase

I suspect this is related to the use of capitalization with the package name which was allowed in npm legacy packages, but is somewhat uncommon as most packages follow the new all lowercase requirements.

Alternate Example

It was a bit difficult to find another example, but you can see that Angular2 is quite different from angular2 but it seems like the new CF Worker approach normalizes to the lowercase variant. You would expect unpkg.com/Angular2/ to point to the Angular2 npm package for TypeScript snippets, but instead unpkg provides a 301 to /angular2@2.0.0-beta.21 matching the lowercase angular2 npm package.

Activity

  1. mjackson commented on Aug 21, 2026

    @mjackson
    Member

    Closing as not planned. UNPKG will retain lowercase package-name normalization rather than add compatibility for case-sensitive legacy npm names. The legacy-name distinction is documented here: https://github.com/npm/validate-npm-package-name#legacy-names

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions