Files
arboretum/packages/server/scripts/copy-meta.mjs
Johan LEROY 08166c108b
Some checks failed
Release / Publish to Gitea npm registry (push) Has been cancelled
release: @johanleroy/git-arboretum 1.0.0 — publication sur le registre Gitea
- renomme le paquet en @johanleroy/git-arboretum (scope routé vers le registre npm Gitea privé)
- embarque @arboretum/shared via bundleDependencies (scripts/vendor-shared.mjs au prepack)
- joint README/LICENSE au tarball (scripts/copy-meta.mjs) + metadata, keywords, publishConfig
- CI pack-smoke en mono-tarball avec assertion bundleDep ; nouveau workflow release.yml (publish sur tag v*)
- version 1.0.0 ; README mis à jour (install scopé + service systemd)
2026-06-17 13:53:30 +02:00

34 lines
1.5 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 readme = readFileSync(readmeSrc, 'utf8').replaceAll('src="brand/', `src="${rawBase}brand/`);
writeFileSync(join(serverDir, 'README.md'), readme);
console.log('copy-meta: README.md copié (chemins images 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);
}