axios-miniprogram/scripts/releaselog.ts

28 lines
692 B
TypeScript

import fs from 'node:fs';
import readline from 'node:readline';
import { getPkgJSON, resolve } from './utils';
const changelogPath = resolve('CHANGELOG.md');
const releaselogPath = resolve('RELEASELOG.md');
const { version } = getPkgJSON();
const versionRE = new RegExp(`^#{1,2} \\[?${version}\\]?\\(?`);
main();
async function main() {
const changelog = readline.createInterface({
input: fs.createReadStream(changelogPath),
crlfDelay: Infinity,
});
let releaselog = '';
for await (const line of changelog) {
if (/^#{1,2} /.test(line) && !versionRE.test(line)) {
break;
}
releaselog += `${line}\n`;
}
fs.writeFileSync(releaselogPath, releaselog);
}