Conversation
d19aba7 to
0870f77
Compare
Greptile SummaryThis PR fixes a Bun lockfile parsing bug where transitive dependency values were stored as full Confidence Score: 5/5Safe to merge — the fix is narrowly scoped to Bun dep_value encoding and is well-covered by existing and new tests. No P0 or P1 issues found. The parse change correctly uses No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "fix(lockfile): store bun dependency tail..." | Re-trigger Greptile |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0870f77. Configure here.
0870f77 to
9483919
Compare

Summary
name@versionstrings.LockedPackage.dependenciescontract.Why
Bun lockfile imports were producing dependency entries like
node-gyp-build -> node-gyp-build@node-gyp-build@4.8.4, which broke transitive sibling links and dep-local.bingeneration. Approved postinstall scripts could then fail after migrating frombun installtoaube install, because tools such asnode-gyp-buildand packages such as@electron/getwere not resolvable from the virtual store package.Validation
cargo fmt --checkcargo test -p aube-lockfile bun::testscargo test -p aube-lockfilebufferutil@4.0.9,electron@39.2.7, andfs-extra@10.1.0; verifiedaube install --no-side-effects-cachenow exits successfully.Note
Medium Risk
Changes Bun lockfile parsing/writing semantics for
LockedPackage.dependencies, which affects downstream linking and script/bin resolution; regressions could break installs if any consumer still expects fullname@versiondep values.Overview
Bun lockfile parsing now stores transitive dependency values as dep-path tails (e.g.
"3.1.0"instead of"nested@3.1.0"), using the sharednpm::dep_path_tailhelper so downstream consumers see the same dependency-map shape across lockfile formats.Bun workspace package emission was updated to match the tail form, fixing reachability checks for workspace-link targets by comparing against canonical keys rather than raw dep values.
Tests were updated/added to assert the new contract (including a regression covering lifecycle-script-related deps like
node-gyp-buildand@electron/get).Reviewed by Cursor Bugbot for commit 9483919. Bugbot is set up for automated code reviews on this repo. Configure here.