From a8437e69e5807cad5da940c6caf30596ac382d65 Mon Sep 17 00:00:00 2001 From: Sergey Matyunin Date: Fri, 25 Sep 2026 08:58:05 +0300 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=D0=B0=D1=82=D0=BE=D0=BC=D0=B0=D1=80?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=20=D0=BE=D1=82=D1=87=D1=91=D1=82=20private-writes=20(#645)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Linux CI при параллельном npm test мог потерять последнюю отдельную запись stdout после длинной таблицы --count. Формируем отчёт целиком и пишем его одним вызовом, чтобы итоговая строка всегда доходила до unit-теста. Issue: #645 User-Visible: no --- scripts/no-new-private-writes.mjs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/no-new-private-writes.mjs b/scripts/no-new-private-writes.mjs index 82586f4c..0e5192d3 100644 --- a/scripts/no-new-private-writes.mjs +++ b/scripts/no-new-private-writes.mjs @@ -289,10 +289,11 @@ function main(argv) { const byFile = countWrites(ROOT); const writes = byFile.reduce((sum, f) => sum + f.writes, 0); const calls = byFile.reduce((sum, f) => sum + f.calls, 0); - for (const f of byFile.sort((a, b) => b.writes - a.writes || a.path.localeCompare(b.path))) { - console.log(`${String(f.writes).padStart(5)} ${String(f.calls).padStart(5)} ${f.path}`); - } - console.log(`Итого: записей ${writes}, покрытых фасадом вызовов ${calls} в ${byFile.length} файл(ах).`); + const lines = byFile + .sort((a, b) => b.writes - a.writes || a.path.localeCompare(b.path)) + .map((f) => `${String(f.writes).padStart(5)} ${String(f.calls).padStart(5)} ${f.path}`); + lines.push(`Итого: записей ${writes}, покрытых фасадом вызовов ${calls} в ${byFile.length} файл(ах).`); + process.stdout.write(`${lines.join('\n')}\n`); return 0; }