* docs: prepare Vendoo 1.41.2 git-ignore boundary hotfix * fix: track native source modules with root-anchored runtime ignores
56 lines
3.2 KiB
JavaScript
56 lines
3.2 KiB
JavaScript
import { readFileSync } from 'node:fs';
|
|
import { resolve } from 'node:path';
|
|
|
|
const root = resolve(import.meta.dirname, '..');
|
|
const read = path => readFileSync(resolve(root, path), 'utf8');
|
|
const assert = (condition, message) => { if (!condition) throw new Error(message); };
|
|
|
|
const index = read('public/index.html');
|
|
const app = read('public/app.js');
|
|
const style = read('public/style.css');
|
|
const editor = read('lib/image-editor.mjs');
|
|
const setup = read('setup.ps1');
|
|
|
|
assert(index.includes('name="vendoo-build" content="1.23.2"'), 'Build-Metadatum fehlt.');
|
|
assert(index.includes('style.css?v=1.23.2'), 'CSS-Cache-Buster fehlt.');
|
|
assert(index.includes('app.js?v=1.23.2'), 'JS-Cache-Buster fehlt.');
|
|
assert(app.includes("VENDOO_UI_BUILD = '1.23.2'"), 'UI-Buildkennung fehlt.');
|
|
assert(setup.includes('/?build=1.23.2'), 'Windows-Start-Cache-Buster fehlt.');
|
|
|
|
const promptIndex = index.indexOf('<h3>Prompt & Auftrag</h3>');
|
|
const runtimeIndex = index.indexOf('<h3>System & ComfyUI</h3>');
|
|
const previewIndex = index.indexOf('<h3>Auswahl & Varianten</h3>');
|
|
assert(promptIndex >= 0 && runtimeIndex > promptIndex && previewIndex > runtimeIndex, 'FLUX-Kartenreihenfolge ist nicht Prompt → System → Vorschau.');
|
|
assert(index.includes('class="flux-studio-left-stack"'), 'Linker FLUX-Stack fehlt.');
|
|
assert(index.includes('id="flux-job-center-toggle"'), 'Job-Center-Gesamttoggle fehlt.');
|
|
assert(index.includes('id="flux-job-collapse-all"'), 'Alle-einklappen-Schalter fehlt.');
|
|
assert(app.includes('data-flux-job-toggle'), 'Einzelne Job-Toggles fehlen.');
|
|
assert(style.includes('.flux-job-card.is-collapsed .flux-job-card-body'), 'Job-Collapse-Styling fehlt.');
|
|
|
|
assert(index.includes('id="pe-remove-background"'), 'Hintergrundentfernung fehlt im Editor.');
|
|
assert(index.includes('id="pe-watermark-enabled"'), 'Wasserzeichen fehlt im Editor.');
|
|
assert(index.includes('id="pe-watermark-text"'), 'Wasserzeichentext fehlt.');
|
|
assert(!index.includes('id="remove-bg-btn"'), 'Alter Hintergrund-Button ist noch vorhanden.');
|
|
assert(!index.includes('id="watermark-btn"'), 'Alter Wasserzeichen-Button ist noch vorhanden.');
|
|
assert(!app.includes("getElementById('remove-bg-btn')"), 'Alter Hintergrund-Handler ist noch vorhanden.');
|
|
assert(!app.includes("getElementById('watermark-btn')"), 'Alter Wasserzeichen-Handler ist noch vorhanden.');
|
|
assert(editor.includes('removeUniformBackground'), 'Serverseitige Hintergrundentfernung fehlt.');
|
|
assert(editor.includes('createWatermarkSvg'), 'Serverseitiges Wasserzeichen fehlt.');
|
|
assert(app.includes('applyPreviewBackgroundRemoval'), 'Hintergrundvorschau fehlt.');
|
|
assert(app.includes('applyPreviewWatermark'), 'Wasserzeichenvorschau fehlt.');
|
|
|
|
const extensionFiles = [
|
|
'extension/content.js',
|
|
'extensions/content.js',
|
|
'extensions/chrome/content.js',
|
|
'extensions/edge/content.js',
|
|
'extensions/firefox/content.js',
|
|
];
|
|
for (const file of extensionFiles) {
|
|
const content = read(file);
|
|
assert(content.includes('function isLikelyTitleField(el)'), `${file}: Titelfeldschutz fehlt.`);
|
|
assert(content.includes('if (!trigger || isLikelyTitleField(trigger)) return false;'), `${file}: Choice-Felder schützen Titel nicht.`);
|
|
}
|
|
|
|
console.log('Vendoo 1.23.2 Hotfix-Verifikation erfolgreich.');
|