summaryrefslogtreecommitdiff
path: root/scripts/changelog-checker/src/index.ts
blob: 8cbeb297d9057010b8c2ad09c45dfb9d4df2575f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import * as process from 'process';
import * as fs from 'fs';
import { parseChangeLog } from './parser.js';
import { checkNewRelease, checkNewTopic } from './checker.js';

function abort(message?: string) {
	if (message) {
		console.error(message);
	}

	process.exit(1);
}

function main() {
	if (!fs.existsSync('./CHANGELOG-base.md') || !fs.existsSync('./CHANGELOG-head.md')) {
		console.error('CHANGELOG-base.md or CHANGELOG-head.md is missing.');
		return;
	}

	const base = parseChangeLog('./CHANGELOG-base.md');
	const head = parseChangeLog('./CHANGELOG-head.md');

	const result = (base.length < head.length)
		? checkNewRelease(base, head)
		: checkNewTopic(base, head);

	if (!result.success) {
		abort(result.message);
		return;
	}
}

main();