cobalt/web/src/lib/changelogs.ts
2024-06-29 18:23:56 +00:00

23 lines
724 B
TypeScript

import { compareVersions } from 'compare-versions';
export function getVersionFromPath(path: string) {
return path.split('/').pop()?.split('.md').shift()!;
}
export function getAllChangelogs() {
const changelogImports = import.meta.glob("/changelogs/*.md");
const sortedVersions = Object.keys(changelogImports)
.map(path => [path, getVersionFromPath(path)])
.sort(([, a], [, b]) => compareVersions(a, b));
const sortedChangelogs = sortedVersions.reduce(
(obj, [path, version]) => ({
[version]: changelogImports[path],
...obj
}), {} as typeof changelogImports
);
return sortedChangelogs;
}