1
0
forked from EHV/librodrome
Files
librodrome/server/plugins/seed-messages.ts
Yvv f6339400fa seed messagerie : message d'embarquement persisté en git
- site/messages.yml : seed officielle avec le message premier embarquement
- server/plugins/seed-messages.ts : init data/messages.yml au démarrage si absent

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 00:33:06 +01:00

19 lines
800 B
TypeScript

import { existsSync } from 'node:fs'
import { readFile, writeFile, mkdir } from 'node:fs/promises'
import { join } from 'node:path'
// Seeds data/messages.yml from site/messages.yml on first boot (or after data loss).
// Only runs if data/messages.yml is absent — never overwrites existing runtime data.
export default defineNitroPlugin(async () => {
const dataFile = join(process.cwd(), 'data', 'messages.yml')
if (existsSync(dataFile)) return
const seedFile = join(process.cwd(), 'site', 'messages.yml')
if (!existsSync(seedFile)) return
await mkdir(join(process.cwd(), 'data'), { recursive: true })
const seed = await readFile(seedFile, 'utf-8')
await writeFile(dataFile, seed, 'utf-8')
console.log('[seed-messages] data/messages.yml initialisé depuis site/messages.yml')
})