Conversation
|
@cursor review |
⏱️ Benchmark Resultsgatsby install-full-cold
📊 Raw benchmark data (gatsby install-full-cold)Base times: 2.579s, 2.626s, 2.609s, 2.601s, 2.595s, 2.634s, 2.613s, 2.676s, 2.603s, 2.621s, 2.585s, 2.615s, 2.596s, 2.630s, 2.612s, 2.603s, 2.599s, 2.584s, 2.604s, 2.613s, 2.607s, 2.536s, 2.657s, 2.686s, 2.626s, 2.614s, 2.625s, 2.675s, 2.705s, 2.703s Head times: 2.793s, 2.767s, 2.640s, 2.602s, 2.630s, 2.582s, 2.619s, 2.604s, 2.606s, 2.624s, 2.629s, 2.597s, 2.667s, 2.635s, 2.660s, 2.620s, 2.774s, 2.582s, 2.633s, 2.621s, 2.639s, 2.609s, 2.582s, 2.556s, 2.603s, 2.628s, 2.585s, 2.594s, 2.679s, 2.709s gatsby install-cache-and-lock (warm, with lockfile)
📊 Raw benchmark data (gatsby install-cache-and-lock (warm, with lockfile))Base times: 0.418s, 0.377s, 0.370s, 0.370s, 0.368s, 0.361s, 0.364s, 0.367s, 0.367s, 0.370s, 0.363s, 0.371s, 0.369s, 0.363s, 0.458s, 0.374s, 0.368s, 0.377s, 0.372s, 0.373s, 0.367s, 0.374s, 0.366s, 0.369s, 0.364s, 0.364s, 0.373s, 0.376s, 0.367s, 0.372s Head times: 0.371s, 0.371s, 0.367s, 0.378s, 0.370s, 0.402s, 0.377s, 0.377s, 0.369s, 0.426s, 0.371s, 0.387s, 0.392s, 0.381s, 0.375s, 0.379s, 0.379s, 0.376s, 0.377s, 0.383s, 0.385s, 0.379s, 0.381s, 0.378s, 0.381s, 0.377s, 0.374s, 0.372s, 0.374s, 0.378s |
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 4f7e244. Configure here.
| }, | ||
|
|
||
| None => match &locator.reference { | ||
| Reference::Link(params) if params.path.starts_with('/') => { |
There was a problem hiding this comment.
Inconsistent absolute path check breaks Windows Link references
Low Severity
The fallback handler for Link references when package_data is None uses params.path.starts_with('/') to detect absolute paths, which is Unix-specific. The fetchers updated in this same PR (link.rs, folder.rs, tarball.rs) all use Path::is_absolute() to correctly handle both Unix and Windows absolute paths. If this fallback path is reached on Windows (e.g., a Link reference with a C:\... path whose package data is missing), the check would fail and the code would hit unreachable!(), crashing the process.
Reviewed by Cursor Bugbot for commit 4f7e244. Configure here.


Make islands able to link Python dependencies into their own venv. Still experimental (for example it doesn't yet supports package conditions during resolution).
Note
Medium Risk
Adds a new island linker that mutates workspace filesystem state under
.venvand changes local-path fetching to accept absolute paths, which could affect install/link behavior across platforms. While scoped to islands, it touches core linking/fetcher code paths and introduces new resolution constraints (one version per ident) withUnsupportederrors on conflicts.Overview
Adds a new per-island
venvlinker that installs an island’s resolved (non-workspace) dependency set into each workspace’s.venv/lib/site-packagesby symlinking local packages or extracting cached zips, and wires it into the main linking pipeline.Introduces a new
yarn pythoncommand that mirrorsyarn nodebut, when run from a workspace in avenvisland, setsVIRTUAL_ENV, prepends.venvbin/ScriptstoPATH, and prepends the workspace site-packages toPYTHONPATH(withpython3fallback).Updates config (
schema.json+IslandLinker) to acceptlinker: "venv"for islands, and adjustsfolder:,tarball:, andlink:fetchers to treat absolute paths as already-resolved (instead of always resolving relative to the parent package). Adds acceptance tests and fixtures validating venv installs, mixed PnP+venv workspaces, and link/tarball/folder sources for Python imports.Reviewed by Cursor Bugbot for commit 4f7e244. Bugbot is set up for automated code reviews on this repo. Configure here.