static _mergePlugins(srcPlugins = [], addonPlugins = []) {
    const pluginMap = new Map();

    _.forEach(addonPlugins, (p) => {
      if (p.name !== undefined) {
        pluginMap.set(p.name, p);
      } else {
        // local plugins
        const name = Configure._getLocalPluginName(p);
        if (name) {
          pluginMap.set(name, { ...p, name });
        }
      }
    });

    _.forEach(srcPlugins, (p) => {
      if (p.name !== undefined) {
        if (pluginMap.has(p.name)) {
          pluginMap.set(p.name, _.assign(pluginMap.get(p.name), p));
        } else {
          pluginMap.set(p.name, p);
        }
      }
    });

    return [...pluginMap.values()].filter((p) => p._enable !== false);
  }
merge plugins that has the same name
srcPlugins option has a higher priority
@param srcPlugins
@param addonPlugins
@returns {*}
@private