-
Notifications
You must be signed in to change notification settings - Fork 2k
fix(pnpm): read linkWorkspacePackages from pnpm-workspace.yaml #10391
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
chris-olszewski
merged 5 commits into
main
from
chrisolszewski/turbo-4683-turbo-doesnt-respect-preferworkspacepackages
Apr 28, 2025
Merged
fix(pnpm): read linkWorkspacePackages from pnpm-workspace.yaml #10391
chris-olszewski
merged 5 commits into
main
from
chrisolszewski/turbo-4683-turbo-doesnt-respect-preferworkspacepackages
Apr 28, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
anthonyshew
reviewed
Apr 28, 2025
anthonyshew
approved these changes
Apr 28, 2025
Merged
chris-olszewski
added a commit
that referenced
this pull request
Jun 10, 2025
### Description Closes #10528 With #10391 we started reading `linkWorkspacePackages` from `pnpm-workspace.yaml`. This caused issues with single package vs monorepo detection as `deep` is a valid value here and we only expected a boolean. This would cause a detection of a single package repo and we would swallow the error of `pnpm-workspace.yaml` not parsing due to the usage of `deep`. This PR adds support for [`deep` on the parsing end](https://pnpm.io/settings#linkworkspacepackages) Follow up PR is to have noisy warnings if we find a `pnpm-workspace.yaml`, but do not understand it. ### Testing Instructions Added a red/green test. Verified with https://github.com/ocavue/starter-monorepo
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes #10387 by adding partial support for the new configuration location added in pnpm/pnpm#9121. There will be future work to add additional configuration options that lived in
.npmrc
andpackage.json
to the YAML definition.I highly suggest reviewing the first 2 commits on their own as they are prefactors. They both get a slightly smaller to slimming down the
impl PackageManager
so we can move to an interface instead of a single struct withmatch
s for every package manager x version.Testing Instructions
Added new unit tests for this behavior, also manually verified behavior change in repro provided in #10387. Note that after this PR the topological
^lint
dependency is correctly applied so the application lints to not start until@repo/lint
completes.Before
After