async getVersions() {
    const version = new Version();

    this.log.print(`Current Kuzzle version: ${currentVersion}`);

    version.list = fs
      .readdirSync(path.resolve(`${__dirname}/../versions`), {
        withFileTypes: true,
      })
      .filter((entry) => entry.isDirectory() && entry.name.match(/^v\d+$/))
      .map((entry) => entry.name)
      .sort(
        (a, b) => parseInt(a[0].substring(1)) - parseInt(b[0].substring(1)),
      );

    if (version.list.length === 1) {
      version.from = version.list[0];
    } else {
      version.from = await inquirer.direct({
        choices: version.list,
        default: version.list[version.list.length - 1],
        message: "Migrate from which version",
        type: "list",
      });

      version.list = version.list.slice(version.list.indexOf(version.from));
    }

    return version;
  }
Asks the user the source version to upgrade from
@returns {Version}