async execute(customConfig) {
    this._customConfig = customConfig;
    const cfg = this.config;

    /**
     * Prepare
     */
    const cachedAnalyzerResult = await this._prepare(cfg);
    if (cachedAnalyzerResult) {
      return cachedAnalyzerResult;
    }

    /**
     * Traverse
     */
    const queryOutput = await /** @type {typeof Analyzer} */ (this.constructor).analyzeProject({
      // @ts-ignore
      traverseEntryFn: this.constructor.analyzeFile,
      projectPath: cfg.targetProjectPath,
      filePaths: cfg.targetFilePaths,
      targetData: this.targetData,
      config: this.config,
    });

    /**
     * Finalize
     */
    return this._finalize(queryOutput, cfg);
  }
Finds export specifiers and sources
@param {FindExportsConfig} customConfig