diff --git a/tools/installer/ide/_config-driven.js b/tools/installer/ide/_config-driven.js index 08d0bafb3..c47b9808c 100644 --- a/tools/installer/ide/_config-driven.js +++ b/tools/installer/ide/_config-driven.js @@ -217,8 +217,15 @@ class ConfigDrivenIdeSetup { const { ExternalModuleManager } = require('../modules/external-manager'); this.externalModuleManager = this.externalModuleManager || new ExternalModuleManager(); - const moduleInfo = await this.externalModuleManager.getModuleByCode(moduleName); - const targets = moduleInfo?.installTargets?.length ? moduleInfo.installTargets : null; + let targets = null; + try { + const moduleInfo = await this.externalModuleManager.getModuleByCode(moduleName); + targets = moduleInfo?.installTargets?.length ? moduleInfo.installTargets : null; + } catch (error) { + await prompts.log.warn( + `ExternalModuleManager.getModuleByCode failed for module '${moduleName}' while installing ${this.name}; installing skill anyway. ${error.message}`, + ); + } this.moduleTargetCache.set(moduleName, targets); return !targets || targets.includes(this.name); diff --git a/tools/installer/ui.js b/tools/installer/ui.js index 8dd6be3cb..c3e0db27c 100644 --- a/tools/installer/ui.js +++ b/tools/installer/ui.js @@ -961,7 +961,14 @@ class UI { async showSelectedExternalModuleNotes(selectedModuleIds, externalModules = null) { if (!externalModules) { const externalManager = new ExternalModuleManager(); - externalModules = await externalManager.listAvailable(); + try { + externalModules = await externalManager.listAvailable(); + } catch (error) { + await prompts.log.warn( + `ExternalModuleManager.listAvailable failed while loading module notes; continuing without external module notes. ${error.message}`, + ); + externalModules = []; + } } const notes = externalModules @@ -975,7 +982,14 @@ class UI { async showSelectedModuleIdeWarnings(selectedModuleIds, selectedIdes = []) { const externalManager = new ExternalModuleManager(); - const externalModules = await externalManager.listAvailable(); + let externalModules = []; + try { + externalModules = await externalManager.listAvailable(); + } catch (error) { + await prompts.log.warn( + `ExternalModuleManager.listAvailable failed while loading IDE compatibility warnings; continuing without external module warnings. ${error.message}`, + ); + } for (const mod of externalModules) { if (!selectedModuleIds.includes(mod.code) || !mod.installTargets || mod.installTargets.length === 0) {