import axios from "axios"; import semver from "semver"; export default async function ({projectId, includePrerelease = false}) { console.log('projectId, includePrerelease: ', projectId, includePrerelease); return axios.get(`https://git.fitko.de/api/v4/projects/${projectId}/repository/tags`) .catch((error) => { throw `Fetching of tags failed with ${error.response.status}` }) .then(async ({ data }) => { // inject test rc to check if fiter is working // const test_rc = { ...data[0] } // test_rc.name = '1.2.0-rc.1' // data.push(test_rc) const versionRange = `~*.*.*` const suitableVersions = await data .filter(({name}) => semver.satisfies(name, versionRange, {includePrerelease})) .map(({name}) => name) .sort() return suitableVersions }) }