From 8198b7805fa1075a09d776235a5c3e0bdce714b7 Mon Sep 17 00:00:00 2001 From: Victor Savkin Date: Mon, 16 May 2022 11:24:43 -0400 Subject: [PATCH] fix(core): use absolute paths when resolving package.json files --- packages/nx/src/command-line/run-one.ts | 5 +++++ packages/nx/src/tasks-runner/utils.ts | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/nx/src/command-line/run-one.ts b/packages/nx/src/command-line/run-one.ts index c6f0c1db921a2..a6f30fc8fb868 100644 --- a/packages/nx/src/command-line/run-one.ts +++ b/packages/nx/src/command-line/run-one.ts @@ -98,6 +98,11 @@ function parseRunOneOptions( [project, target, configuration] = splitTarget( parsedArgs['project:target:configuration'] ); + // this is to account for "nx npmsript:dev" + if (project && !target && defaultProjectName) { + project = defaultProjectName; + target = project; + } } else { target = parsedArgs['project:target:configuration']; } diff --git a/packages/nx/src/tasks-runner/utils.ts b/packages/nx/src/tasks-runner/utils.ts index 44e6022a81d96..061482ec613e6 100644 --- a/packages/nx/src/tasks-runner/utils.ts +++ b/packages/nx/src/tasks-runner/utils.ts @@ -12,6 +12,7 @@ import { Task, TaskGraph } from '../config/task-graph'; import { getPackageManagerCommand } from '../utils/package-manager'; import { ProjectGraph, ProjectGraphProjectNode } from '../config/project-graph'; import { TargetDependencyConfig } from '../config/workspace-json-project-json'; +import { workspaceRoot } from '../utils/app-root'; export function getCommandAsString(task: Task) { const execCommand = getPackageManagerCommand().exec; @@ -168,8 +169,9 @@ export function getExecutorNameForTask(task: Task, workspace: Workspaces) { const workspaceConfiguration = workspace.readWorkspaceConfiguration(); const project = workspaceConfiguration.projects[task.target.project]; - if (existsSync(join(project.root, 'package.json'))) { - project.targets = mergeNpmScriptsWithTargets(project.root, project.targets); + const projectRoot = join(workspaceRoot, project.root); + if (existsSync(join(projectRoot, 'package.json'))) { + project.targets = mergeNpmScriptsWithTargets(projectRoot, project.targets); } project.targets = mergePluginTargetsWithNxTargets( project.root,