whole_func_string: 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;
      }
func_code_string: 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;
      }
func_documentation_string: Given the path to a library folder, returns the library version from its manifest
  @param {String} libPath
  @return {String} Version