requestEnablePlugin(project, pluginConfigEntry, searchPaths) {
          if (!this.host.importPlugin && !this.host.require) {
            this.logger.info("Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded");
            return;
          }
          this.logger.info(`Enabling plugin ${pluginConfigEntry.name} from candidate paths: ${searchPaths.join(",")}`);
          if (!pluginConfigEntry.name || parsePackageName(pluginConfigEntry.name).rest) {
            this.logger.info(`Skipped loading plugin ${pluginConfigEntry.name || JSON.stringify(pluginConfigEntry)} because only package name is allowed plugin name`);
            return;
          }
          if (this.host.importPlugin) {
            const importPromise = Project3.importServicePluginAsync(
              pluginConfigEntry,
              searchPaths,
              this.host,
              (s) => this.logger.info(s)
            );
            this.pendingPluginEnablements ?? (this.pendingPluginEnablements = /* @__PURE__ */ new Map());
            let promises = this.pendingPluginEnablements.get(project);
            if (!promises)
              this.pendingPluginEnablements.set(project, promises = []);
            promises.push(importPromise);
            return;
          }
          this.endEnablePlugin(
            project,
            Project3.importServicePluginSync(
              pluginConfigEntry,
              searchPaths,
              this.host,
              (s) => this.logger.info(s)
            )
          );
        }
Performs the initial steps of enabling a plugin by finding and instantiating the module for a plugin either asynchronously or synchronously
@internal