Skip to content

fix: the npm wrapper carries the scope (0.2.5) - #31

Merged
cjohnhanson merged 1 commit into
mainfrom
fix/the-npm-wrapper-carries-the-scope
Sep 12, 2026
Merged

cjohnhanson merged 1 commit into
mainfrom
fix/the-npm-wrapper-carries-the-scope

Conversation

@cjohnhanson

Copy link
Copy Markdown
Owner

npm refused the wrapper with 403 Package name too similar to existing packages, and listed them. All four platform packages published and the
wrapper that points at them did not, so the registry holds four packages
nobody can install.

The refusal names the remedy: a scoped name. The platform packages
already carry the scope, so the wrapper now matches what it depends on.
The commands do not change, because the bin entries keep both names,
and a global install still gives the typed command.

npx takes a package name rather than a command, so the README's run
line, its install line, and two module comments name the scoped package.
The install section says why in one sentence, because a reader who meets
a scope with no reason assumes a typo.

the_readme_installs_the_name_the_wrapper_publishes reads the name out
of the wrapper manifest and refuses a README that promises a different
one. It was killed by mutation. One older test counted every scoped line
in the manifest to find the optional dependencies, and the wrapper's own
name is now such a line, so it excludes the name.

A tag cannot move, so the fix needs a version of its own.

npm refused the wrapper with `403 Package name too similar to existing
packages`, and named them. Every platform package published, and the
wrapper that points at them did not, so npm holds four packages nobody
can install.

The registry names the remedy in the refusal: a scoped name. The
platform packages already carry the scope, so the wrapper now matches
them. The commands do not change, because the bin entries keep both
names; a global install still gives the typed command.

`npx` takes the package name, so the README and two module comments say
the scoped one. `the_readme_installs_the_name_the_wrapper_publishes`
reads the wrapper manifest and refuses a README that promises a
different name, which is the drift that shipped here.

Version 0.2.5. A tag cannot move, so the fix needs a number of its own.
@cjohnhanson
cjohnhanson marked this pull request as ready for review September 12, 2026 15:00
@cjohnhanson
cjohnhanson merged commit 69d6830 into main Sep 12, 2026
3 checks passed
@cjohnhanson
cjohnhanson deleted the fix/the-npm-wrapper-carries-the-scope branch September 12, 2026 15:01
cjohnhanson added a commit that referenced this pull request Sep 12, 2026
npm refused the wrapper with `403 Package name too similar to existing
packages`, and named them. Every platform package published, and the
wrapper that points at them did not, so npm holds four packages nobody
can install.

The registry names the remedy in the refusal: a scoped name. The
platform packages already carry the scope, so the wrapper now matches
them. The commands do not change, because the bin entries keep both
names; a global install still gives the typed command.

`npx` takes the package name, so the README and two module comments say
the scoped one. `the_readme_installs_the_name_the_wrapper_publishes`
reads the wrapper manifest and refuses a README that promises a
different name, which is the drift that shipped here.

Version 0.2.5. A tag cannot move, so the fix needs a number of its own.
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.

1 participant