Files
curios/tools/prepare-release.mjs
T

12 lines
770 B
JavaScript

import { mkdir, writeFile, rm } from 'node:fs/promises';
import { parseArgs } from 'node:util';
import { releasePlan } from './release-plan.mjs';
const { values } = parseArgs({ options: { entries: { type: 'string' }, tag: { type: 'string' } } });
if (!values.entries) throw new Error('--entries is required');
const { files, descriptor } = await releasePlan(values.entries, values.tag);
await rm('dist/release', { recursive: true, force: true });
await mkdir('dist/release', { recursive: true });
for (const [name, bytes] of files) await writeFile(`dist/release/${name}`, bytes);
console.log(`Prepared ${files.size} release files in dist/release/`);
console.log(`Create draft release ${descriptor.tag} at commit ${descriptor.commit}, upload every file, then publish.`);