Skip to content

docs(tooling): compare Rush with pnpm workspace and document pnpm versioning - #117

Merged
PerfectPan merged 3 commits into
mainfrom
docs/rush-vs-pnpm
Oct 19, 2026
Merged

PerfectPan merged 3 commits into
mainfrom
docs/rush-vs-pnpm

Conversation

@PerfectPan

@PerfectPan PerfectPan commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

Record what Rush adds on top of pnpm and when a small TypeScript monorepo should use pnpm workspace instead. The comparison page explains Rush's common/temp/ install layout and its practical effects (no Dependabot or Renovate support for the lockfile, lockfile paths that cannot be reused, a conflict with pnpm 11 verifyDepsBeforeRun), maps each Rush layer to its current pnpm counterpart, and gives a choice table by requirement. It also collects the Rush maintainers' own sizing advice, dated migration cases away from Rush, download and State of JS trends, and the pnpm roadmap with its risks.

A new topic page documents pnpm's native release management (pnpm 11.13+): the pnpm change → pnpm version -r → pnpm publish -r flow, the versioning settings, the two changelog.storage modes, how it differs from changesets, and the limits found in local tests, including why it must use storage: repository to work with changesets/action.

Affected pages

  • wiki/comparisons/tooling/rush-vs-pnpm-workspace.md: new comparison page with a hand-drawn install-layout figure.
  • wiki/topics/tooling/pnpm-versioning.md: new topic page with a hand-drawn release lifecycle figure.
  • raw/sources/rush-vs-pnpm-workspace.md: version snapshots, per-claim evidence, migration cases, trend data, and the two local test records.
  • raw/assets/rush-vs-pnpm-install-layout.png, raw/assets/pnpm-versioning-lifecycle.png: new figures.
  • wiki/topics/tooling/monorepo.md: related-page links and a description.
  • index.md: navigation entries for the two new pages.

Sources

Facts gathered on 2026-10-19. Only public repositories are cited.

Validation

  • bin/wiki check on the three changed pages: 0 errors, 0 warnings.
  • bin/wiki check-jargon --staged: 0 issues.
  • git diff --cached --check: passed.
  • bash tests/wiki-cli.sh: 17 tests passed.
  • Local experiments (recorded in the raw source): changesets 3.0.3 with pnpm 10.34.5, and pnpm 12.14.0 native versioning, both in throwaway workspaces that were deleted afterwards.
  • Both figures were generated with the Codex CLI built-in image generator in a hand-drawn marker style and reviewed visually: every label checked character by character, arrow directions, the two-branch split, and no extra text. Sizes: 1659 x 948 and 1672 x 941.
  • Follow-up correction: pnpm change <pkg> --bump <type> --summary "..." (package as a positional argument) works without a terminal; only the --filter ... -y form fails. The topic page and the raw record now say so.
  • One Dependabot observation added to the raw record and the choice table: in a new repository pinned to pnpm 12.8.1 with a catalog and a root lockfile, Dependabot updated both the catalog entry and pnpm-lock.yaml, and the PR passed pnpm install --frozen-lockfile, but the lockfile also carried an unrelated postcss downgrade and new deprecated fields.
  • Not verified: changesets/action driving pnpm version -r on GitHub Actions, and Renovate on a pnpm 12 root lockfile. Both pages state these limits.

PerfectPan and others added 3 commits October 19, 2026 14:49
…sioning

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PerfectPan
PerfectPan merged commit 9ae9dc4 into main Oct 19, 2026
2 checks passed
@PerfectPan
PerfectPan deleted the docs/rush-vs-pnpm branch October 19, 2026 11:13
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