diff --git a/packages/nx/src/utils/nx-plugin.ts b/packages/nx/src/utils/nx-plugin.ts index 52abe15072d04..945712bfb72ea 100644 --- a/packages/nx/src/utils/nx-plugin.ts +++ b/packages/nx/src/utils/nx-plugin.ts @@ -14,6 +14,7 @@ import { WorkspaceJsonConfiguration, } from '../config/workspace-json-project-json'; import { findMatchingProjectForPath } from './target-project-locator'; +import { logger } from './logger'; export type ProjectTargetConfigurator = ( file: string @@ -54,10 +55,19 @@ export function loadNxPlugins( } catch (e) { if (e.code === 'MODULE_NOT_FOUND') { const plugin = resolveLocalNxPlugin(moduleName); - const main = readPluginMainFromProjectConfiguration( - plugin.projectConfig - ); - pluginPath = main ? path.join(workspaceRoot, main) : plugin.path; + if (plugin) { + const main = readPluginMainFromProjectConfiguration( + plugin.projectConfig + ); + pluginPath = main + ? path.join(workspaceRoot, main) + : plugin.path; + } else { + logger.error( + `Plugin listed in \`nx.json\` not found: ${moduleName}` + ); + throw e; + } } else { throw e; }