mirror of
https://github.com/kotaindah55/animated-cursor.git
synced 2026-07-22 13:00:23 +00:00
38 lines
No EOL
796 B
TypeScript
38 lines
No EOL
796 B
TypeScript
import { open } from "fs/promises";
|
|
|
|
interface ChangelogDesc {
|
|
version: string;
|
|
changelog: string;
|
|
}
|
|
|
|
const VERSION_VALIDATOR = /^\[(\d+\.\d+\.\d+)\]$/;
|
|
const END_OF_CHANGELOG = /^---$/;
|
|
|
|
export async function getLastChangelog(): Promise<ChangelogDesc> {
|
|
let changelogFile = await open("CHANGELOGS.txt", "r", ),
|
|
changelog = "",
|
|
version = "",
|
|
lineIndex = 0;
|
|
|
|
for await (let line of changelogFile.readLines({
|
|
encoding: "utf-8",
|
|
})) {
|
|
if (!version) {
|
|
if (!lineIndex) version = VERSION_VALIDATOR.exec(line)?.[1] ?? "";
|
|
if (!version) {
|
|
changelogFile.close();
|
|
throw Error("Not a valid version token!");
|
|
}
|
|
}
|
|
|
|
else {
|
|
if (END_OF_CHANGELOG.test(line)) {
|
|
changelogFile.close();
|
|
break;
|
|
}
|
|
changelog += line + "\n";
|
|
}
|
|
}
|
|
|
|
return { changelog, version };
|
|
} |