mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-05 06:08:59 +00:00
ci: журнал пойманных свидетелей для changed_mutants
witnessFingerprint (файлы патча и гарда + объявление, без строки версии), readLedger/recordCaught/splitByLedger, флаг --ledger только с --changed; журнал пишется после каждого пойманного мутанта, в CI — cache restore по префиксу шарда и save при любом исходе. Три свидетеля. Issue: #481 User-Visible: no
This commit is contained in:
@@ -125,7 +125,7 @@ const visualPackageProjection = (text) => {
|
||||
};
|
||||
|
||||
/** Номер версии продукта, как его знает package.json. */
|
||||
const productVersion = (root) => {
|
||||
export const productVersion = (root) => {
|
||||
const path = resolve(root, 'package.json');
|
||||
if (!existsSync(path)) return '';
|
||||
try {
|
||||
@@ -153,11 +153,20 @@ const productVersion = (root) => {
|
||||
* версия зависимости в `package-lock.json` остаётся частью отпечатка, иначе
|
||||
* обновление зависимости перестало бы требовать пересъёмки.
|
||||
*/
|
||||
export const visualFingerprint = (root = process.cwd()) => {
|
||||
/**
|
||||
* Та же нормализация версии для чужих корпусов (#481): журнал пойманных
|
||||
* свидетелей считает отпечаток по файлам патча и гарда, и бамп версии
|
||||
* не должен делать ни один свидетель «изменённым».
|
||||
*/
|
||||
export const withoutProductVersion = (root = process.cwd()) => {
|
||||
const version = productVersion(root);
|
||||
const withoutVersion = version
|
||||
return version
|
||||
? (text) => text.split(version).join('0.0.0-product-version')
|
||||
: (text) => text;
|
||||
};
|
||||
|
||||
export const visualFingerprint = (root = process.cwd()) => {
|
||||
const withoutVersion = withoutProductVersion(root);
|
||||
return digest(root, fingerprintFiles(root), (text, name) => (
|
||||
name === 'package.json'
|
||||
? visualPackageProjection(withoutVersion(text))
|
||||
|
||||
Reference in New Issue
Block a user