Gästetexte: Hinweis-Dokument ohne Entwurf-Wort, Archiv-Schutz

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-05 04:21:17 +00:00
1 parent 495d5ad9ca
commit 722c686690
5 files changed
+62 -9

No files matched your search

+14 -4
View File
@@ -6,6 +6,7 @@
//
// node scripts/termine-texte-archiv.mjs schreibt die Datei der aktuellen Fassung
// node scripts/termine-texte-archiv.mjs --check vergleicht mit der eingecheckten Datei (Exit 1 bei Abweichung, schreibt nichts)
// node scripts/termine-texte-archiv.mjs --force überschreibt eine abweichende Datei der aktuellen Fassung (ohne --force: Exit 1)
//
// Die Betriebsangaben stehen als Platzhalter im Text ({{Name des Betriebs}} usw.); die Ausgabe enthält kein Datum und hängt nur von
// rechtstexte.js und einstellungen.js ab (zweimal erzeugen ergibt dieselben Bytes). Die Datei einer früheren Fassung wird von diesem
@@ -121,12 +122,14 @@ export function baueArchiv() {
}
/**
* Kommandozeile: `[--check]`. root = Wurzel des Projekts (Tests übergeben ein Verzeichnis).
* => Exit-Code: 0 ok, 1 die Datei weicht ab oder fehlt (nur --check), 2 falscher Aufruf
* Kommandozeile: `[--check] [--force]` (nicht beides). root = Wurzel des Projekts (Tests übergeben ein Verzeichnis).
* Eine Datei, die es schon gibt und deren Inhalt abweicht, wird nur mit --force überschrieben: ist die Fassung ausgeliefert,
* darf ihr Wortlaut nicht still ersetzt werden (neue Fassung, neue Datei). Eine neue oder identische Datei schreibt das Skript immer.
* => Exit-Code: 0 ok, 1 die Datei weicht ab oder fehlt (--check) bzw. weicht ab und --force fehlt, 2 falscher Aufruf
*/
export function lauf(argv, { root = ROOT, log = console.log, fehler = console.error } = {}) {
if (argv.some((o) => o !== '--check')) {
fehler('Aufruf: node scripts/termine-texte-archiv.mjs [--check]')
if (argv.some((o) => o !== '--check' && o !== '--force') || (argv.includes('--check') && argv.includes('--force'))) {
fehler('Aufruf: node scripts/termine-texte-archiv.mjs [--check] [--force] (nicht beides)')
return 2
}
const pfad = archivPfad()
@@ -137,6 +140,13 @@ export function lauf(argv, { root = ROOT, log = console.log, fehler = console.er
log(`${gleich ? 'ok ' : 'ABWEICHT'} ${pfad}`)
return gleich ? 0 : 1
}
if (!argv.includes('--force') && existsSync(ziel) && readFileSync(ziel, 'utf8') !== inhalt) {
fehler(
`${pfad} weicht ab (von den Texten in rechtstexte.js) und wird nicht überschrieben. Ist die Fassung ausgeliefert, bekommt eine Textänderung `
+ 'eine neue Fassung (neues Datum, neue Datei). Nur wenn die Fassung noch nicht ausgeliefert ist: mit --force überschreiben.',
)
return 1
}
writeFileSync(ziel, inhalt)
log(`-> ${pfad}`)
return 0