#!/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);
}
