Repository navigation
Conversation
馃懛 Deploy request for yarn-v6 pending review.Visit the deploys page to approve it
|
|
@arcanis pnpm skips |
|
I believe we should run the dedupe as usual. Immutable installs guarantee that your colleagues won't get spurious changes in the lockfiles their PRs after you merge your work, skipping dedupe would break that promise. |
|
Should we add |
13d5d55 to
77a27c5
Compare
| // fast path so that a manually damaged project (say, a deleted | ||
| // package folder) heals when the user reaches for `yarn install`. | ||
| if !self.force | ||
| && !project.config.settings.enable_auto_dedupe.value |
There was a problem hiding this comment.
It seems to be an unfortunate limitation - I think if is_install_up_to_date returns true we should rather assume that auto-dedupe already ran, rather than always run the full install, no?
There was a problem hiding this comment.
The design Codex originally suggested was to skip auto-dedupe in lazy mode. As a result, in that case, is_install_up_to_date doesn't necessarily mean that dedupe has already been performed.
I've updated the PR so that dedupe now runs normally in lazy mode as well. I'm not entirely sure which behavior is preferable, but given that pnpm appears to run dedupe during automatic installs too, I don't think this should be a major issue.
The only complication is that lazy installs with yarn dedupe need to be handled as a special case. It looks a little odd, but, well, there doesn't really seem to be a better way around it.
77a27c5 to
96eeaca
Compare
Automatically deduplicate dependencies with the highest strategy during full-project installs, including lazy installs, before linking and building. Preserve focused installs and explicit dedupe checks and patterns. Skip automatic deduplication for temporary dlx installs. Keep the up-to-date install fast path when no deduplication remains. Fixes yarnpkg#343 Co-authored-by: Codex <noreply@openai.com>
96eeaca to
a3cae15
Compare
|
Rebased. Like in #348, I also made |
Disclosure: This PR uses Codex.
Automatically deduplicate dependencies with the highest strategy during explicit installs, before linking and building. Preserve lazy installs, focused installs, and explicit dedupe patterns.
Fixes #343