lib/qx/tool/cli/commands/Command.js
async function(libPath) {
      let manifestPath = path.join(libPath, "Manifest.json");
      let manifest = await this.parseJsonFile(manifestPath);
      let version;
      try {
        version = manifest.info.version;
      } catch (e) {
        throw new qx.tool.cli.Utils.UserError(`No valid version data in manifest.`);
      }
      if (!semver.valid(version)) {
        throw new qx.tool.cli.Utils.UserError(`Manifest at ${manifestPath} contains invalid version number "${version}". Please use a semver compatible version.`);
      }
      return version;
    }
async function(libPath) {
      let manifestPath = path.join(libPath, "Manifest.json");
      let manifest = await this.parseJsonFile(manifestPath);
      let version;
      try {
        version = manifest.info.version;
      } catch (e) {
        throw new qx.tool.cli.Utils.UserError(`No valid version data in manifest.`);
      }
      if (!semver.valid(version)) {
        throw new qx.tool.cli.Utils.UserError(`Manifest at ${manifestPath} contains invalid version number "${version}". Please use a semver compatible version.`);
      }
      return version;
    }
Given the path to a library folder, returns the library version from its manifest
@param {String} libPath
@return {String} Version