Skip to content

boxel-cli: publish with pnpm so catalog: deps are resolved#4762

Merged
richardhjtan merged 1 commit into
mainfrom
fix/boxel-cli-use-pnpm-publish
May 12, 2026
Merged

boxel-cli: publish with pnpm so catalog: deps are resolved#4762
richardhjtan merged 1 commit into
mainfrom
fix/boxel-cli-use-pnpm-publish

Conversation

@richardhjtan
Copy link
Copy Markdown
Contributor

npm publish ships the package.json verbatim, leaving the catalog: specifiers in dependencies (@aws-crypto/sha256-js, ignore, jsonwebtoken) untouched in the registry tarball. Any consumer install fails:

npm: EUNSUPPORTEDPROTOCOL — Unsupported URL Type "catalog:"
pnpm: ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER
— catalog: only resolves inside the publishing workspace

pnpm publish rewrites every catalog: specifier to its concrete version from pnpm-workspace.yaml's catalog block before uploading, producing a tarball that any installer can consume.

This unblocks consumers like boxel-catalog's sync-to-staging GitHub Action (npm install -g @cardstack/boxel-cli), which is currently broken on every published version of this package.

After merging, cut a new patch release. Existing published versions on npm are not retroactively fixable; consumers will need to pin to the new version (or @latest once it is current).

`npm publish` ships the package.json verbatim, leaving the
`catalog:` specifiers in `dependencies` (@aws-crypto/sha256-js,
ignore, jsonwebtoken) untouched in the registry tarball. Any
consumer install fails:

  npm:  EUNSUPPORTEDPROTOCOL — Unsupported URL Type "catalog:"
  pnpm: ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER
        — catalog: only resolves inside the publishing workspace

`pnpm publish` rewrites every `catalog:` specifier to its
concrete version from pnpm-workspace.yaml's catalog block before
uploading, producing a tarball that any installer can consume.

This unblocks consumers like boxel-catalog's sync-to-staging
GitHub Action (`npm install -g @cardstack/boxel-cli`), which is
currently broken on every published version of this package.

After merging, cut a new patch release. Existing published
versions on npm are not retroactively fixable; consumers will
need to pin to the new version (or @latest once it is current).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@richardhjtan richardhjtan requested review from a team and FadhlanR May 11, 2026 18:27
@habdelra
Copy link
Copy Markdown
Contributor

we should rev the package in npm after this is merged

@richardhjtan richardhjtan merged commit b7463f6 into main May 12, 2026
25 checks passed
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.

3 participants