listComponents(loader, manifestOptions, callback) {
    const opts = manifestOptions;
    opts.discover = true;
    manifest.list.list(loader.baseDir, opts)
      .then((modules) => new Promise((resolve, reject) => {
        registerModules(loader, modules, (err) => {
          if (err) {
            reject(err);
            return;
          }
          resolve(modules);
        });
      }))
      .then((modules) => {
        callback(null, modules);
      }, (err) => {
        callback(err);
      });
  }
@param {import("../ComponentLoader").ComponentLoader} loader
@param {import("fbp-manifest/dist/lib/list").FbpManifestOptions} manifestOptions
@param {Function} callback