Gästetexte: Hinweis-Dokument ohne Entwurf-Wort, Archiv-Schutz
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
495d5ad9ca
commit
722c686690
5 files changed
+62
-9
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user