19 lines
581 B
TypeScript
19 lines
581 B
TypeScript
import { ensureFile } from "$std/fs/ensure_file.ts";
|
|
import { Modrinth, ModrinthGameVersion } from "../lib/modrinth.ts";
|
|
|
|
export const getGameVersions = async (releaseOnly?: boolean) => {
|
|
const cacheFile = "./cache/gameVersions.json";
|
|
await ensureFile(cacheFile);
|
|
|
|
let versions: ModrinthGameVersion[] = JSON.parse(
|
|
await Deno.readTextFile(cacheFile) || "[]",
|
|
);
|
|
|
|
if (!versions.length) {
|
|
versions = await Modrinth.getGameVersions();
|
|
await Deno.writeTextFile(cacheFile, JSON.stringify(versions));
|
|
}
|
|
|
|
return versions.filter(v => !releaseOnly || v.major);
|
|
};
|