- 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) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
34 lines
1.5 KiB
JavaScript
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);
|
|
}
|