#!/usr/bin/env node // Copie le README et la LICENSE racine dans packages/server/ avant le pack, pour que // la page du paquet (registre Gitea) ne soit pas nue et que la licence soit jointe. // npm inclut automatiquement README* et LICENSE* dans le tarball s'ils sont présents. // Branché sur le hook "prepack". Ces copies sont gitignorées (générées, non versionnées). import { copyFileSync, existsSync, readFileSync, writeFileSync } from 'node:fs'; import { join, dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; const serverDir = join(dirname(fileURLToPath(import.meta.url)), '..'); const rootDir = join(serverDir, '..', '..'); // README : réécrit les chemins d'images relatifs (brand/…) en URL absolue Gitea raw, // sinon le logo est cassé hors du repo (sur la page du paquet). const readmeSrc = join(rootDir, 'README.md'); if (existsSync(readmeSrc)) { const rawBase = 'https://git.lidge.fr/johanleroy/arboretum/raw/branch/main/'; const srcBase = 'https://git.lidge.fr/johanleroy/arboretum/src/branch/main/'; const readme = readFileSync(readmeSrc, 'utf8') .replaceAll('src="brand/', `src="${rawBase}brand/`) .replaceAll('href="README.fr.md"', `href="${srcBase}README.fr.md"`); writeFileSync(join(serverDir, 'README.md'), readme); console.log('copy-meta: README.md copié (chemins images + lien FR réécrits en absolu)'); } else { console.error(`copy-meta: ${readmeSrc} introuvable`); process.exit(1); } const licenseSrc = join(rootDir, 'LICENSE'); if (existsSync(licenseSrc)) { copyFileSync(licenseSrc, join(serverDir, 'LICENSE')); console.log('copy-meta: LICENSE copié'); } else { console.error(`copy-meta: ${licenseSrc} introuvable`); process.exit(1); }