Repository navigation
fix(resolver): resolve absolute local children of tarball dependencies - #1852
Conversation
…e root A tarball parent has no source directory, so its absolute file: child failed with "cannot be resolved without the parent package source root" even with block-exotic-subdeps=false. Absolute paths need no parent anchor; relative ones are still rejected. Co-authored-by: Mike Olson <mwolson@member.fsf.org> Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M5T5TRZ8JKQCAEGD3SG81CFH
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 56 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
[Medium impact] The PR appears safe to merge. SummaryAllows absolute local children of tarball dependencies to resolve without a parent source directory.
No actionable issues found. Tests were inspected but not run during this review. Reviews (1) · Last reviewed commit: "fix(resolver): resolve absolute local ch..." · Reviewed by Greptile |
Instruction counts
No instruction-count regression above 1%. Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run. Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes.
|
https://entire.com/gh/aubepkg/-/trails/209/changes/aube/209
A local tarball dependency whose manifest declares another local package by absolute path could not be installed, even with the exotic-subdependency block turned off:
Before:
aube installfailed withtransitive local specifier file:/abs/path/child.tgz cannot be resolved without the parent package source root. A tarball parent has no source directory, and the guard demanded one for every path-backed child.After: absolute
file:/link:children resolve without a parent source root (pnpm, npm and Bun accept the same layout). The exotic-source policy still runs first, so the defaultblock-exotic-subdeps=truestill blocks it, and relative paths with no anchor are still rejected, since package managers disagree on their base.Validation: new resolver unit tests cover directory and tarball absolute children, the default block, and relative-path rejection;
cargo test -p aube-resolverpasses; fmt and clippy clean for the touched crates. Not run: full bats suite. Reported in discussion #1830; patch adapted from mwolson#14.AI-assisted — Tool: Claude Code; model: anthropic/claude-sonnet-5-5; version: unavailable.
🤖 Generated with Claude Code