Repository navigation
docs(tooling): compare Rush with pnpm workspace and document pnpm versioning - #117
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 11verifyDepsBeforeRun), 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 -rflow, theversioningsettings, the twochangelog.storagemodes, how it differs from changesets, and the limits found in local tests, including why it must usestorage: repositoryto work withchangesets/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 adescription.index.md: navigation entries for the two new pages.Sources
packages/cli/src/commands/publish-plan/getPublishPlan.tsate2ee472; changesets/actionsrc/readChangesetState.tsandsrc/run.tsPerfectPan/agent-kit: Rush configuration and Dependabot PR historyFacts gathered on 2026-10-19. Only public repositories are cited.
Validation
bin/wiki checkon 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.pnpm change <pkg> --bump <type> --summary "..."(package as a positional argument) works without a terminal; only the--filter ... -yform fails. The topic page and the raw record now say so.pnpm-lock.yaml, and the PR passedpnpm install --frozen-lockfile, but the lockfile also carried an unrelatedpostcssdowngrade and newdeprecatedfields.changesets/actiondrivingpnpm version -ron GitHub Actions, and Renovate on a pnpm 12 root lockfile. Both pages state these limits.