Files
vendoo/tools/verify-updater-start-chain-3.4.mjs
T

61 lines
3.1 KiB
JavaScript

import { existsSync, readFileSync } from 'node:fs';
import { join, resolve } from 'node:path';
const root = resolve(import.meta.dirname, '..');
const failures = [];
const assert = (condition, message) => { if (!condition) failures.push(message); };
const read = path => readFileSync(join(root, path), 'utf8');
const files = [
'UPDATE_VENDOO.bat',
'scripts/updater/Vendoo.Updater.Preflight.ps1',
'scripts/update-vendoo-gui.ps1',
'scripts/updater/Vendoo.Updater.UI.ps1',
'scripts/updater/Vendoo.Updater.Host.ps1',
'scripts/updater/Vendoo.Updater.Worker34.ps1',
];
for (const file of files) assert(existsSync(join(root, file)), `Updater-Startdatei fehlt: ${file}`);
if (existsSync(join(root, 'UPDATE_VENDOO.bat'))) {
const starter = read('UPDATE_VENDOO.bat');
assert(starter.includes('Production Updater 3.4 preflight'), 'Root-Starter meldet nicht Updater 3.4.');
assert(starter.includes('Vendoo.Updater.Preflight.ps1'), 'Root-Starter startet den Preflight nicht.');
assert(!starter.includes('Production Updater 3.3'), 'Root-Starter enthält noch die alte 3.3-Bezeichnung.');
}
if (existsSync(join(root, 'scripts/updater/Vendoo.Updater.Preflight.ps1'))) {
const preflight = read('scripts/updater/Vendoo.Updater.Preflight.ps1');
assert(preflight.includes("$UpdaterVersion = '3.4.0'"), 'Preflight meldet nicht Version 3.4.0.');
assert(preflight.includes('Vendoo.Updater.Worker34.ps1'), 'Preflight prüft Worker34 nicht.');
assert(!preflight.includes("Vendoo.Updater.Worker.ps1'"), 'Preflight verlangt weiterhin den entfernten Worker 3.3.');
}
if (existsSync(join(root, 'scripts/update-vendoo-gui.ps1'))) {
assert(read('scripts/update-vendoo-gui.ps1').includes('Vendoo.Updater.UI.ps1'), 'GUI-Bootstrap startet die Updater-UI nicht.');
}
if (existsSync(join(root, 'scripts/updater/Vendoo.Updater.UI.ps1'))) {
const ui = read('scripts/updater/Vendoo.Updater.UI.ps1');
assert(ui.includes("$UpdaterVersion = '3.4.0'"), 'UI meldet nicht Version 3.4.0.');
assert(ui.includes('Vendoo.Updater.Host.ps1'), 'UI startet den Host nicht.');
assert(ui.includes('Vendoo.Updater.Worker34.ps1'), 'UI übergibt Worker34 nicht an den Host.');
assert(!ui.includes("Vendoo.Updater.Worker.ps1'"), 'UI verweist weiterhin auf den entfernten Worker 3.3.');
}
if (existsSync(join(root, 'scripts/updater/Vendoo.Updater.Host.ps1'))) {
const host = read('scripts/updater/Vendoo.Updater.Host.ps1');
assert(host.includes("$UpdaterVersion = '3.4.0'"), 'Host meldet nicht Version 3.4.0.');
assert(host.includes('[System.Management.Automation.Language.Parser]::ParseFile'), 'Host parst den Worker nicht vor der Ausführung.');
}
if (existsSync(join(root, 'scripts/updater/Vendoo.Updater.Worker34.ps1'))) {
assert(read('scripts/updater/Vendoo.Updater.Worker34.ps1').includes("$UpdaterVersion='3.4.0'"), 'Worker34 meldet nicht Version 3.4.0.');
}
if (failures.length) {
console.error(`Updater-3.4-Startketten-Gate fehlgeschlagen (${failures.length})`);
failures.forEach(failure => console.error(`- ${failure}`));
process.exit(1);
}
console.log('Updater-3.4-Startketten-Gate erfolgreich: Root-Starter, Preflight, UI, Host und Worker34 sind konsistent verdrahtet.');