refactor: move latest version logic

This commit is contained in:
Sefa Eyeoglu 2022-06-14 12:37:51 +02:00
parent e1622eb545
commit b5abe4e416
No known key found for this signature in database
GPG key ID: C10411294912A422
5 changed files with 30 additions and 30 deletions

View file

@ -1,13 +0,0 @@
interface SimplifiedMetaVersion {
recommended: boolean;
type: 'release' | 'snapshot';
version: string;
}
export const getLatestMinecraft = async () => {
const meta = (await fetch(
'https://meta.polymc.org/v1/net.minecraft/index.json'
).then((r) => r.json())) as { versions: SimplifiedMetaVersion[] };
return meta.versions.filter((v) => v.recommended)[0].version;
};

View file

@ -0,0 +1,24 @@
interface MetaPackage {
formatVersion: int;
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 package = await f.json() as MetaPackage;
return package.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;
}