From 40d50cbbf17f26639b4657e06e64541849478bf0 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 2 May 2026 05:59:47 +0100 Subject: [PATCH] fix: ignore pnpm progress in deadcode guard --- scripts/check-deadcode-unused-files.mjs | 9 ++++++++- test/scripts/check-deadcode-unused-files.test.ts | 11 +++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/scripts/check-deadcode-unused-files.mjs b/scripts/check-deadcode-unused-files.mjs index 29901a6fca2..d251acbd0f3 100644 --- a/scripts/check-deadcode-unused-files.mjs +++ b/scripts/check-deadcode-unused-files.mjs @@ -28,6 +28,10 @@ function uniqueSorted(values) { ); } +function isLikelyRepoFilePath(value) { + return /^(apps|docs|extensions|packages|scripts|src|test|ui)\//u.test(normalizeRepoPath(value)); +} + export function parseKnipCompactUnusedFiles(output) { const files = []; let inUnusedFilesSection = false; @@ -50,7 +54,10 @@ export function parseKnipCompactUnusedFiles(output) { if (sawUnusedFilesSection && !inUnusedFilesSection) { continue; } - files.push(line.slice(separatorIndex + 2).trim()); + const file = line.slice(separatorIndex + 2).trim(); + if (isLikelyRepoFilePath(file)) { + files.push(file); + } } return uniqueSorted(files); diff --git a/test/scripts/check-deadcode-unused-files.test.ts b/test/scripts/check-deadcode-unused-files.test.ts index f169ef88ffa..2ca08af924a 100644 --- a/test/scripts/check-deadcode-unused-files.test.ts +++ b/test/scripts/check-deadcode-unused-files.test.ts @@ -29,6 +29,17 @@ left-pad: package.json ]); }); + it("ignores pnpm dlx progress lines in files-only compact output", () => { + expect( + parseKnipCompactUnusedFiles(` +Progress: resolved 21, reused 0, downloaded 0, added 0 +src/b.ts: src/b.ts +Progress: resolved 65, reused 20, downloaded 1, added 21, done +src/a.ts: src/a.ts +`), + ).toEqual(["src/a.ts", "src/b.ts"]); + }); + it("reports unexpected and stale allowlist entries", () => { expect( compareUnusedFilesToAllowlist(["src/a.ts", "src/new.ts"], ["src/a.ts", "src/old.ts"]),