import axios from "axios"; import semver from "semver"; export default async function({ siteVersion, projectId }) { return axios.get(`https://git.fitko.de/api/v4/projects/${projectId}/repository/tags`) .catch((error) => { throw `Fetching of latest tags failed with ${error.response.status}` }) .then(async ({ data }) => { if (siteVersion === 'next') { return data[0].name } else { const versionRange = `~${siteVersion}` const suitableVersions = await data .filter(({ name }) => semver.satisfies(name, versionRange)) .map(({ name }) => name) .sort() return semver.maxSatisfying(suitableVersions, versionRange) } }) }