mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-28 02:53:15 -04:00
fix: don't report the same deprecated package multiple times (#4863)
This commit is contained in:
6
.changeset/tiny-jeans-add.md
Normal file
6
.changeset/tiny-jeans-add.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@pnpm/resolve-dependencies": patch
|
||||
"pnpm": patch
|
||||
---
|
||||
|
||||
Report only the first occurence of a deprecated package.
|
||||
@@ -877,16 +877,6 @@ async function resolveDependency (
|
||||
if (options.currentDepth === 0 && pkgResponse.body.latest && pkgResponse.body.latest !== pkg.version) {
|
||||
ctx.outdatedDependencies[pkgResponse.body.id] = pkgResponse.body.latest
|
||||
}
|
||||
if (pkg.deprecated) {
|
||||
deprecationLogger.debug({
|
||||
deprecated: pkg.deprecated,
|
||||
depth: options.currentDepth,
|
||||
pkgId: pkgResponse.body.id,
|
||||
pkgName: pkg.name,
|
||||
pkgVersion: pkg.version,
|
||||
prefix: ctx.prefix,
|
||||
})
|
||||
}
|
||||
|
||||
// In case of leaf dependencies (dependencies that have no prod deps or peer deps),
|
||||
// we only ever need to analyze one leaf dep in a graph, so the nodeId can be short and stateless.
|
||||
@@ -899,6 +889,17 @@ async function resolveDependency (
|
||||
const isNew = !ctx.resolvedPackagesByDepPath[depPath]
|
||||
|
||||
if (isNew) {
|
||||
if (pkg.deprecated) {
|
||||
// Report deprecated packages only on first occurrence.
|
||||
deprecationLogger.debug({
|
||||
deprecated: pkg.deprecated,
|
||||
depth: options.currentDepth,
|
||||
pkgId: pkgResponse.body.id,
|
||||
pkgName: pkg.name,
|
||||
pkgVersion: pkg.version,
|
||||
prefix: ctx.prefix,
|
||||
})
|
||||
}
|
||||
if (pkgResponse.body.isInstallable === false || !parentIsInstallable) {
|
||||
ctx.skipped.add(pkgResponse.body.id)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user