<!-- Please make sure you have read the submission guidelines before posting an PR --> <!-- https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr --> <!-- Please make sure that your commit message follows our format --> <!-- Example: `fix(nx): must begin with lowercase` --> <!-- If this is a particularly complex change or feature addition, you can request a dedicated Nx release for this pull request branch. Mention someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they will confirm if the PR warrants its own release for testing purposes, and generate it for you if appropriate. --> ## Current Behavior <!-- This is the behavior we have today --> `nx affected` documentation was unclear and did not state what affected projects actually meant. ## Expected Behavior <!-- This is the behavior we should expect with the changes in this PR --> Adds a clear definition of "affected projects" to the CLI documentation. Affected projects are projects that have been changed and projects that depend on the changed projects. ## Related Issue(s) <!-- Please link the issue being fixed so it gets closed when this is merged. --> Fixes #30712 --------- Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
26 KiB
| title | description |
|---|---|
| affected - CLI command | Run target for affected projects. Affected projects are projects that have been changed and projects that depend on the changed projects. See https://nx.dev/ci/features/affected for more details. |
affected
Run target for affected projects. Affected projects are projects that have been changed and projects that depend on the changed projects. See https://nx.dev/ci/features/affected for more details.
Usage
nx affected
Install nx globally to invoke the command directly using nx, or use npx nx, yarn nx, or pnpm nx.
Examples
Run custom target for all affected projects:
nx affected -t custom-target
Run tests in parallel:
nx affected -t test --parallel=5
Run lint, test, and build targets for affected projects. Requires Nx v15.4+:
nx affected -t lint test build
Run tests for all the projects affected by changing the index.ts file:
nx affected -t test --files=libs/mylib/src/index.ts
Run tests for all the projects affected by the changes between main and HEAD (e.g., PR):
nx affected -t test --base=main --head=HEAD
Run tests for all the projects affected by the last commit on main:
nx affected -t test --base=main~1 --head=main
Run build for only projects with the tag dotnet:
nx affected -t=build --exclude='*,!tag:dotnet'
Use the currently executing project name in your command:
nx affected -t build --tag=$NX_TASK_TARGET_PROJECT:latest
Preview the task graph that Nx would run inside a webview:
nx affected -t=build --graph
Save the task graph to a file:
nx affected -t=build --graph=output.json
Print the task graph to the console:
nx affected -t=build --graph=stdout
Options
| Option | Type | Description |
|---|---|---|
--all |
boolean | Deprecated: Use nx run-many instead |
--base |
string | Base of the current branch (usually main). |
--batch |
boolean | Run task(s) in batches for executors which support batches. (Default: false) |
--configuration, --c |
string | This is the configuration to use when performing tasks on projects. |
--exclude |
string | Exclude certain projects from being processed. |
--excludeTaskDependencies |
boolean | Skips running dependent tasks first. (Default: false) |
--files |
string | Change the way Nx is calculating the affected command by providing directly changed files, list of files delimited by commas or spaces. |
--graph |
string | Show the task graph of the command. Pass a file path to save the graph data instead of viewing it in the browser. Pass "stdout" to print the results to the terminal. |
--head |
string | Latest commit of the current branch (usually HEAD). |
--help |
boolean | Show help. |
--nxBail |
boolean | Stop command execution after the first failed task. (Default: false) |
--nxIgnoreCycles |
boolean | Ignore cycles in the task graph. (Default: false) |
--outputStyle |
dynamic-legacy, dynamic, tui, static, stream, stream-without-prefixes |
Defines how Nx emits outputs tasks logs. tui: enables the Nx Terminal UI, recommended for local development environments. dynamic-legacy: use dynamic-legacy output life cycle, previous content is overwritten or modified as new outputs are added, display minimal logs by default, always show errors. This output format is recommended for local development environments where tui is not supported. static: uses static output life cycle, no previous content is rewritten or modified as new outputs are added. This output format is recommened for CI environments. stream: nx by default logs output to an internal output stream, enable this option to stream logs to stdout / stderr. stream-without-prefixes: nx prefixes the project name the target is running on, use this option remove the project name prefix from output. |
--parallel |
string | Max number of parallel processes [default is 3]. |
--runner |
string | This is the name of the tasks runner configured in nx.json. |
--skipNxCache, --disableNxCache |
boolean | Rerun the tasks even when the results are available in the cache. (Default: false) |
--skipRemoteCache, --disableRemoteCache |
boolean | Disables the remote cache. (Default: false) |
--skipSync |
boolean | Skips running the sync generators associated with the tasks. (Default: false) |
--targets, --target, --t |
string | Tasks to run for affected projects. |
--tuiAutoExit |
string | Whether or not to exit the TUI automatically after all tasks finish, and after how long. If set to true, the TUI will exit immediately. If set to false the TUI will not automatically exit. If set to a number, an interruptible countdown popup will be shown for that many seconds before the TUI exits. |
--uncommitted |
boolean | Uncommitted changes. |
--untracked |
boolean | Untracked changes. |
--verbose |
boolean | Prints additional information about the commands (e.g., stack traces). |
--version |
boolean | Show version number. |