fix: progress reporting with node-linker=hoisted (#4198)

ref #4073
This commit is contained in:
Zoltan Kochan
2022-01-06 01:16:48 +02:00
committed by GitHub
parent 3d6ebd6dbf
commit 8ddcd51166
6 changed files with 20 additions and 54 deletions

View File

@@ -0,0 +1,6 @@
---
"@pnpm/headless": major
"@pnpm/resolve-dependencies": major
---
Don't log fetch statuses of packages. This logging was moved to `@pnpm/package-requester`.

View File

@@ -0,0 +1,5 @@
---
"@pnpm/package-requester": major
---
Log the fetch statuses of packages for the progress reporter.

View File

@@ -156,19 +156,6 @@ export default async function lockfileToDepGraph (
if (pkgSnapshot.optional) return
throw err
}
fetchResponse.files() // eslint-disable-line
.then(({ fromStore }) => {
progressLogger.debug({
packageId,
requester: opts.lockfileDir,
status: fromStore
? 'found_in_store'
: 'fetched',
})
})
.catch(() => {
// ignore
})
graph[dir] = {
children: {},
depPath,

View File

@@ -1,7 +1,4 @@
import path from 'path'
import {
progressLogger,
} from '@pnpm/core-loggers'
import {
Lockfile,
ProjectSnapshot,
@@ -163,11 +160,6 @@ async function fetchDeps (
}
const dir = path.join(modules, dep.name)
const resolution = pkgSnapshotToResolution(depPath, pkgSnapshot, opts.registries)
progressLogger.debug({
packageId,
requester: opts.lockfileDir,
status: 'resolved',
})
let fetchResponse!: ReturnType<FetchPackageToStoreFunction>
try {
fetchResponse = opts.storeController.fetchPackage({
@@ -185,19 +177,6 @@ async function fetchDeps (
if (pkgSnapshot.optional) return
throw err
}
fetchResponse.files() // eslint-disable-line
.then(({ fromStore }) => {
progressLogger.debug({
packageId,
requester: opts.lockfileDir,
status: fromStore
? 'found_in_store'
: 'fetched',
})
})
.catch(() => {
// ignore
})
graph[dir] = {
alias: dep.name,
children: {},

View File

@@ -8,7 +8,7 @@ import {
PackageFileInfo,
PackageFilesIndex,
} from '@pnpm/cafs'
import { fetchingProgressLogger } from '@pnpm/core-loggers'
import { fetchingProgressLogger, progressLogger } from '@pnpm/core-loggers'
import PnpmError from '@pnpm/error'
import {
Cafs,
@@ -349,6 +349,14 @@ function fetchToStore (
// Otherwise, if a package was not in store when the server started, it will be always
// reported as "downloaded" instead of "reused".
files.promise.then((cache) => { // eslint-disable-line
progressLogger.debug({
packageId: opts.pkg.id,
requester: opts.lockfileDir,
status: cache.fromStore
? 'found_in_store'
: 'fetched',
})
// If it's already in the store, we don't need to update the cache
if (cache.fromStore) {
return

View File

@@ -782,7 +782,6 @@ async function resolveDependency (
requester: ctx.lockfileDir,
status: 'resolved',
})
logFetchResult(pkgResponse, ctx.lockfileDir)
ctx.resolvedPackagesByDepPath[depPath] = getResolvedPackage({
dependencyLockfile: currentPkg.dependencyLockfile,
@@ -800,7 +799,6 @@ async function resolveDependency (
ctx.resolvedPackagesByDepPath[depPath].dev = ctx.resolvedPackagesByDepPath[depPath].dev || wantedDependency.dev
ctx.resolvedPackagesByDepPath[depPath].optional = ctx.resolvedPackagesByDepPath[depPath].optional && wantedDependency.optional
if (ctx.resolvedPackagesByDepPath[depPath].fetchingFiles == null && pkgResponse.files != null) {
logFetchResult(pkgResponse, ctx.lockfileDir)
ctx.resolvedPackagesByDepPath[depPath].fetchingFiles = pkgResponse.files
ctx.resolvedPackagesByDepPath[depPath].filesIndexFile = pkgResponse.filesIndexFile!
ctx.resolvedPackagesByDepPath[depPath].finishing = pkgResponse.finishing!
@@ -837,23 +835,6 @@ async function resolveDependency (
}
}
function logFetchResult (pkgResponse: PackageResponse, lockfileDir: string) {
if (pkgResponse.files == null) return
pkgResponse.files()
.then((fetchResult: PackageFilesResponse) => {
progressLogger.debug({
packageId: pkgResponse.body.id,
requester: lockfileDir,
status: fetchResult.fromStore
? 'found_in_store'
: 'fetched',
})
})
.catch(() => {
// Ignore
})
}
function pkgIsLeaf (pkg: PackageManifest) {
return isEmpty(pkg.dependencies ?? {}) &&
isEmpty(pkg.optionalDependencies ?? {}) &&