28 lines
692 B
TypeScript
28 lines
692 B
TypeScript
interface MetaPackage {
|
|
formatVersion: number;
|
|
name: string;
|
|
recommended: string[];
|
|
uid: string;
|
|
}
|
|
|
|
interface SimplifiedGHReleases {
|
|
tag_name: string;
|
|
}
|
|
|
|
// TODO: caching
|
|
export async function getLatestMinecraftVersion(): Promise<string> {
|
|
const f = await fetch(
|
|
'https://meta.polymc.org/v1/net.minecraft/package.json'
|
|
);
|
|
|
|
const minecraft = (await f.json()) as MetaPackage;
|
|
return minecraft.recommended[0];
|
|
}
|
|
|
|
// TODO: caching
|
|
export async function getLatestPolyMCVersion(): Promise<string> {
|
|
const f = await fetch('https://api.github.com/repos/PolyMC/PolyMC/releases');
|
|
const versions = (await f.json()) as SimplifiedGHReleases[];
|
|
|
|
return versions[0].tag_name;
|
|
}
|