Skip to content

fix: Preserve Yarn Babel extension during pruning - #13373

Merged
anthonyshew merged 1 commit into
mainfrom
shew/fix-yarn-babel-extension-pruning
Jul 13, 2026
Merged

anthonyshew merged 1 commit into
mainfrom
shew/fix-yarn-babel-extension-pruning

Conversation

@anthonyshew

Copy link
Copy Markdown
Contributor

Why

Yarn injects @babel/types@^7.8.3 through its built-in @babel/parser package extension without serializing the dependency edge. Exact peer-based extension pruning therefore omitted a required descriptor and caused yarn install --immutable to fail.

Closes #13372

What

Retain this built-in extension descriptor only when @babel/parser is reachable, without restoring orphaned extension ranges.

How

  • Added regression coverage for both retaining the descriptor with @babel/parser and removing it without the parser.
  • cargo test -p turborepo-lockfiles (261 passed)
  • cargo fmt --manifest-path crates/turborepo-lockfiles/Cargo.toml --check
  • Push hooks passed.
  • Clippy is blocked by the pre-existing clippy::manual_filter error in crates/turborepo-lockfiles/src/npm.rs:618 under Rust 1.97.

@anthonyshew
anthonyshew requested a review from a team as a code owner July 13, 2026 20:31
@anthonyshew
anthonyshew requested review from tknickman and removed request for a team July 13, 2026 20:31
@vercel

vercel Bot commented Jul 13, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
examples-basic-web Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm
examples-svelte-web Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm
examples-vite-web Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm
turbo-site Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm
turborepo-eve-agent Ready Ready Preview, Comment, Open in v0 Jul 13, 2026 8:35pm

@anthonyshew
anthonyshew enabled auto-merge (squash) July 13, 2026 20:36
@anthonyshew
anthonyshew merged commit 02ef828 into main Jul 13, 2026
69 of 71 checks passed
@anthonyshew
anthonyshew deleted the shew/fix-yarn-babel-extension-pruning branch July 13, 2026 22:47
anthonyshew pushed a commit that referenced this pull request Jul 15, 2026
## Release v2.10.6-canary.2

> [!CAUTION]
> Versioned docs aliasing FAILED. [View
logs](https://github.com/vercel/turborepo/actions/runs/29382101590)

### Changes

- release(turborepo): 2.10.6-canary.1 (#13374) (`d0dca26`)
- fix: Preserve Yarn Babel extension during pruning (#13373) (`02ef828`)
- feat: Support Cargo-only repos (#13378) (`24dc68e`)
- fix: Preserve colors in TUI output (#13381) (`99c9ffb`)
- feat: Infer Cargo workspace tasks (#13380) (`58fe9df`)
- fix: Retain shutdown signals for force exit (#13382) (`62ecdaa`)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
anthonyshew pushed a commit that referenced this pull request Jul 22, 2026
## Release v2.10.6

> [!CAUTION]
> Versioned docs aliasing FAILED. [View
logs](https://github.com/vercel/turborepo/actions/runs/29930611207)

### Changes

- release(turborepo): 2.10.5 (#13368) (`a6a563a`)
- fix: Disable unresolved Cargo artifact caching (#13362) (`d76aa27`)
- fix: Surface create-turbo Git failures (#13371) (`8a8b133`)
- fix: Resolve exact cargo profile outputs (#13366) (`0e6a99b`)
- fix: Prune Bun production workspace dev dependencies (#13369)
(`fee6b66`)
- fix: Resolve Cargo target output layouts (#13370) (`8c097cd`)
- release(turborepo): 2.10.6-canary.1 (#13374) (`d0dca26`)
- fix: Preserve Yarn Babel extension during pruning (#13373) (`02ef828`)
- feat: Support Cargo-only repos (#13378) (`24dc68e`)
- fix: Preserve colors in TUI output (#13381) (`99c9ffb`)
- feat: Infer Cargo workspace tasks (#13380) (`58fe9df`)
- fix: Retain shutdown signals for force exit (#13382) (`62ecdaa`)
- release(turborepo): 2.10.6-canary.2 (#13383) (`8035b5d`)
- fix: Resolve weekly security audit vulnerabilities (#13358)
(`64f4aac`)
- chore: Update to Rust 1.97.0 (#13322) (`feb0a1a`)
- fix: Pin VS Code extension macOS runners (#13391) (`26169cd`)
- release(turborepo): 2.10.6-canary.3 (#13392) (`f753f04`)
- docs: Add Experimental Rust Guide (#13375) (`a2bf8a2`)
- ci: Use affected filtering for JS tests (#13386) (`0536a70`)
- ci: Fold docs checks into quality (#13385) (`fcd1858`)
- ci: Verify schemas through Turborepo (#13387) (`66551bc`)
- chore: Avoid duplicate N-API Cargo build (#13388) (`4ddacf4`)
- chore: Hash embedded frameworks data in Rust builds (#13389)
(`373c0a2`)
- ci: Include VS Code extension type checks (#13390) (`716ad9c`)
- refactor: Run releaser bundle directly (#13393) (`b6a92de`)
- refactor: Move release publishing into releaser (#13394) (`e0cf33c`)
- refactor: Consolidate release orchestration (#13395) (`51f5529`)
- feat: Add crate-scoped Cargo verification tasks (#13398) (`aeb2ee5`)
- fix: Fetch release commit parent (#13400) (`ab05127`)
- docs: Update Geistdocs to 1.13.0 (#13412) (`b1d8c9f`)
- release(turborepo): 2.10.6-canary.4 (#13401) (`90eba05`)
- fix: Preserve pnpm `node@runtime:` lockfile entries (#13408)
(`4ac2f47`)
- chore: Fix typos in with-solid example and globwatch comment (#13416)
(`424cabd`)
- refactor: Remove unused public APIs found by Hawk (#13420) (`831990d`)
- fix: Check dynamic imports in boundaries (#13418) (`31be2b8`)
- refactor: Use regex! for static pattern compilation (#13419)
(`82cd34c`)
- fix: Refactor `turbo watch` (#13423) (`328b99f`)
- release(turborepo): 2.10.6-canary.5 (#13424) (`ceee06b`)
- chore: Upgrade brace-expansion (#13429) (`d45bf2a`)
- chore: Update tar to 7.5.18 (#13428) (`d0dbd5a`)
- chore: Upgrade js-yaml (#13427) (`c8e36ad`)
- fix: Match JIT inputs for affected tasks (#13426) (`1b95fcb`)
- fix: Preserve project Yarn package extensions (#13425) (`f08f35c`)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

This branch was successfully deployed

1 active deployment
Preview – turborepo-eve-agent — 1323be00 Deployed Jul 13, 2026 by vercel[bot]
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.

turbo prune in 2.10.5 omits a transitively-required lockfile entry, breaking immutable installs of the pruned tree

2 participants