From f82624892c1433ea1aefdbeb06b5bd53e954b8a1 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Thu, 1 Feb 2024 18:58:36 -0800 Subject: [PATCH] fix(plugins): parse name issue with invalid plugins (#5770) --- lib/services/plugins-service.ts | 41 +++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/lib/services/plugins-service.ts b/lib/services/plugins-service.ts index 46c45b23ec..05369fb666 100644 --- a/lib/services/plugins-service.ts +++ b/lib/services/plugins-service.ts @@ -623,25 +623,32 @@ This framework comes from ${dependencyName} plugin, which is installed multiple cacheData: IDependencyData | INodeModuleData, projectDir: string ): IPluginData { - const pluginData: any = {}; - pluginData.name = cacheData.name; - pluginData.version = cacheData.version; - pluginData.fullPath = - (cacheData).directory || - path.dirname( - this.getPackageJsonFilePathForModule(cacheData.name, projectDir) + try { + const pluginData: any = {}; + pluginData.name = cacheData.name; + pluginData.version = cacheData.version; + pluginData.fullPath = + (cacheData).directory || + path.dirname( + this.getPackageJsonFilePathForModule(cacheData.name, projectDir) + ); + pluginData.isPlugin = !!cacheData.nativescript; + pluginData.pluginPlatformsFolderPath = (platform: string) => + path.join(pluginData.fullPath, "platforms", platform.toLowerCase()); + const data = cacheData.nativescript; + + if (pluginData.isPlugin) { + pluginData.platformsData = data.platforms; + pluginData.pluginVariables = data.variables; + } + } catch (err) { + this.$logger.trace( + "NOTE: There appears to be a problem with this dependency:", + cacheData.name ); - pluginData.isPlugin = !!cacheData.nativescript; - pluginData.pluginPlatformsFolderPath = (platform: string) => - path.join(pluginData.fullPath, "platforms", platform.toLowerCase()); - const data = cacheData.nativescript; - - if (pluginData.isPlugin) { - pluginData.platformsData = data.platforms; - pluginData.pluginVariables = data.variables; + this.$logger.trace(err); + return null; } - - return pluginData; } private removeDependencyFromPackageJsonContent(