Skip to content

install: keep optional peer bindings when cleaning the lockfile - #37426

Merged
Jarred-Sumner merged 4 commits into
mainfrom
farm/69bec4cc/keep-optional-peer-resolutions-on-clean
Aug 13, 2026
Merged

install: keep optional peer bindings when cleaning the lockfile#37426
Jarred-Sumner merged 4 commits into
mainfrom
farm/69bec4cc/keep-optional-peer-resolutions-on-clean

install: keep optional peer bindings when cleaning the lockfile

624c4dc
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Aug 11, 2026 in 16m 4s

Code review found 1 potential issue

Found 1 candidates, confirmed 1. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 1
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit src/install/lockfile.rs:1376-1380 Duplicate 'Invalid dependency name' diagnostics when resolve() runs hoist twice

Annotations

Check warning on line 1380 in src/install/lockfile.rs

See this annotation in the file changed.

@claude claude / Claude Code Review

Duplicate 'Invalid dependency name' diagnostics when resolve() runs hoist twice

When the first `hoist()` pass sets `late_bound_optional_peer`, `resolve()` now calls `hoist()` a second time with the same `&mut log`, so the non-fatal `Invalid dependency name "..."` diagnostic in `Tree::process_subtree` (which `continue`s rather than returning `Err`) gets appended twice. Cosmetic only — it needs a lockfile with both an unsafe-folder-name dependency (reachable only via migration paths) and a late-bound optional peer, and the effect is just a duplicated error line.