-
-
Notifications
You must be signed in to change notification settings - Fork 32
feat(resolver): rework yarn manifest file look up #586
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
feat(resolver): rework yarn manifest file look up #586
Conversation
How to use the Graphite Merge QueueAdd the label merge to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #586 +/- ##
==========================================
- Coverage 93.29% 93.27% -0.03%
==========================================
Files 14 14
Lines 2761 2750 -11
==========================================
- Hits 2576 2565 -11
Misses 185 185 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
CodSpeed Performance ReportMerging #586 will not alter performanceComparing Summary
|
It's supported by using But maybe I misunderstood what's |
Also, the current approach is not performant nor memory usage friendly. |
7c627a2
to
7445f00
Compare
4166318
to
ff1a918
Compare
The current manifest file (`.pnp.cjs`) lookup technique does not work when `enableGlobalCache` is set to `true`, which is the default behaviour. Instead, we try and find the closest pnp maniest from cwd. This will break the multi-project case mentioned in https://yarnpkg.com/advanced/pnp-spec#find_pnp_manifest, but I think this is an acceptable trade off.
ff1a918
to
0ddf4a2
Compare
The current manifest file (
.pnp.cjs
) lookup technique does not work whenenableGlobalCache
is set totrue
, which is the default behavior for yarn.Instead, we try and find the closest pnp maniest from cwd.
This will break the multi-project case mentioned in https://yarnpkg.com/advanced/pnp-spec#find_pnp_manifest, but I think this is an acceptable trade off.
For napi, I set
process.env.OXC_RESOLVER_YARN_PNP
innapi/index.js
so the Rust side can enable yarn pnp accordingly.