You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 006ae72
Browse filesBrowse the repository at this point in the historyBrowse files
Warn on yarn classic member-dir vendored installs (#691) (#1324)
* Start yarn classic member-dir fix (#691)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* Warn on yarn classic member-dir vendored installs
Vendored yarn classic wiring resolves `file:./.socket/vendor/...`
tarballs, and yarn 1 reads a relative `file:` path from the directory
it runs in. In a workspaces project, every cold-cache yarn command run
from a member directory then fails with "Tarball is not in network".
No relative spelling installs from both the root and a member
(measured on yarn 1.22.22).
Vendored runs in such a project now warn
`yarn_classic_workspace_member_install_risk` and name the remedy
(install from the workspace root, or use hosted mode). The limitation
is documented. Whether to also ship the tarball into each member is
open on the issue.
Refs #691
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* Gate symlink lock test back under cfg(unix) for Windows (#691)
The #691 test was inserted between the #627 test's doc comment and its
#[cfg(unix)] attribute, so the gate (and the #627 doc) moved onto the new
portable yarn test and left vendor_refuses_a_symlinked_lock_instead_of_replacing_it,
which calls std::os::unix::fs::symlink, ungated. Windows test builds failed
with E0433. Move the new test above the #627 doc so each test keeps its own
attributes, and rustfmt the new probe.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: crates/socket-patch-cli/CLI_CONTRACT.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -592,7 +592,10 @@ the model is **not uniform** today:
592
592
vlt.json `workspaces` — a glob, a list, or named groups of either — or vlt <= 0.0.0-12's
593
593
`vlt-workspaces.json`; vlt's declaration wins over the others and vlt never reads package.json
594
594
`workspaces`). One repo-root invocation discovers every member. A member that is itself a
595
-
workspace root is recursed into (bounded depth).
595
+
workspace root is recursed into (bounded depth). Vendored yarn classic wiring is root-relative (`file:./.socket/vendor/…`), which yarn 1
596
+
reads relative to the directory it runs in: a cold-cache yarn command run from a member
597
+
directory cannot fetch it, and the run warns `yarn_classic_workspace_member_install_risk`
598
+
(#691; see docs/ecosystems.md).
596
599
- **cwd-only (single project):** gem, pypi, composer. The crawler inspects only the project
597
600
rooted at `--cwd` (pypi first takes the env the project's manager records: PDM's `.pdm-python` interpreter, meaning its venv or, for a base interpreter, PEP 582 `__pypackages__/<X.Y>/lib`, and uv's `UV_PROJECT_ENVIRONMENT`. Otherwise it looks at `$VIRTUAL_ENV`, `<cwd>/.venv` / `venv`, then a Poetry project's out-of-tree virtualenv(s) under Poetry's `virtualenvs.path`; composer at the vendor tree); it does **not**
598
601
descend into sibling subprojects. A monorepo with several independent lockfiles in subdirectories
0 commit comments