async loadPluginDir(pluginPath) {
    const pluginConf = await this.validatePluginDirectory(pluginPath);

    if (!this.plugins.hasOwnProperty(pluginConf.name)) {
      pluginConf.main = path.join(pluginPath, pluginConf.main);
      this.plugins[pluginConf.name] = pluginConf;
    }
    return this.plugins[pluginConf.name];
  }
/**
   * Validates the plugin directory and load it to plugins;
   * @param {string} pluginPath
   */
Validates the plugin directory and load it to plugins;
@param {string} pluginPath
Validates the plugin directory and load it to plugins ; @param { string } pluginPath
async loadPluginDir(pluginPath) {
    const pluginConf = await this.validatePluginDirectory(pluginPath);
    if (!this.plugins.hasOwnProperty(pluginConf.name)) {
      pluginConf.main = path.join(pluginPath, pluginConf.main);
      this.plugins[pluginConf.name] = pluginConf;
    }
    return this.plugins[pluginConf.name];
  }
async loadPluginDir ( pluginPath ) { const pluginConf = await this . validatePluginDirectory ( pluginPath ) ; if ( ! this . plugins . hasOwnProperty ( pluginConf . name ) ) { pluginConf . main = path . join ( pluginPath , pluginConf . main ) ; this . plugins [ pluginConf . name ] = pluginConf ; } return this . plugins [ pluginConf . name ] ; }
Validates the plugin directory and load it to plugins;
 @param {string} pluginPath
Validates the plugin directory and load it to plugins ; @param { string } pluginPath