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.`);