12 lines
770 B
JavaScript
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.`);
|