fix: missing peer dependencies should never be cached

ref #2919
This commit is contained in:
Zoltan Kochan
2020-10-14 22:09:48 +03:00
parent 9f003e94fa
commit 4241bc148f
2 changed files with 6 additions and 1 deletions

View File

@@ -0,0 +1,5 @@
---
"@pnpm/resolve-dependencies": patch
---
When a peer dependency is not resolved but is available through `require()`, don't print a warning but still consider it to be missing.

View File

@@ -360,6 +360,7 @@ function resolvePeers<T extends PartialResolvedPackage> (
let resolved = ctx.parentPkgs[peerName]
if (!resolved) {
missingPeers.push(peerName)
try {
const { version } = importFrom(ctx.rootDir, `${peerName}/package.json`) as { version: string }
resolved = {
@@ -367,7 +368,6 @@ function resolvePeers<T extends PartialResolvedPackage> (
version,
}
} catch (err) {
missingPeers.push(peerName)
if (
ctx.resolvedPackage.peerDependenciesMeta?.[peerName]?.optional === true
) {