Files
arboretum/packages/server/scripts/copy-meta.mjs
Johan LEROY e2147e369b
Some checks failed
CI / Build & test (Node 22) (push) Successful in 9m43s
CI / Build & test (Node 24) (push) Successful in 9m41s
Release / Publish to Gitea npm registry (push) Successful in 9m33s
CI / Pack & boot smoke (Node 22) (push) Failing after 4m56s
release: @johanleroy/git-arboretum 1.0.1
Republie pour rafraîchir le README embarqué (page du paquet) :
- doc d'install sans token (paquet public)
- README français + sélecteur de langue
- copy-meta réécrit le lien FR en absolu (page du paquet)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 14:32:28 +02:00

37 lines
1.7 KiB
JavaScript

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