Skip to content
Snippets Groups Projects
getVersionList.js 838 B
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
    })
}