/** * Where a pnpm install spent its time, read from `--reporter=ndjson`, the * counterpart of npm's `--timing` (see npm-install-timing.mts). pnpm 12 writes * these events to stderr, one JSON object per line: * * pnpm:lockfile-verification `status: "done"` with `elapsedMs`, or * `status: "cached"` (pnpm 12's supply-chain * check of the locked packages) * pnpm:stage `resolution_started` / `resolution_done` * (absent when the lockfile is up to date) and * `importing_done` (the install is finished) * pnpm:fetching-progress `status: "started"` with `size`, once per * download * pnpm:progress `status: "fetched"`, once per downloaded * package * pnpm:stats `added`, `removed` * pnpm:lifecycle `depPath` (`esbuild@0.25.0`) and `stage`, once * when a dependency's build script starts and * once with `exitCode` when it ends * * The phases overlap (verification runs while packages download), so each is * reported as its own span rather than as parts of a total. `link_seconds` is * what is left after the last of them: pnpm writing node_modules. */ export interface PnpmInstallReport { attributes: Record; added: number; removed: number; /** The dependencies whose build scripts ran, sorted. */ builds: string[]; } /** Returns null when the output holds no pnpm install events at all. */ export declare function readPnpmInstallReport(ndjson: string): PnpmInstallReport | null; //# sourceMappingURL=pnpm-install-timing.d.mts.map