exec
- Executes any command as if it was a target on the project
- Executes an arbitrary command in each package
Usage
In package.json, adding a script with nx exec
will run the command as if it is a target that project:
1{
2 "name": "myorg",
3 "version": "0.0.1",
4 "scripts": {
5 "build": "nx exec -- <command> [..args]"
6 }
7}
8
It will run the command for myorg
.
When run from the terminal, nx exec
will run the command for all projects in the workspace:
1nx exec -- <command> [..args] # runs the command in all projects
2nx exec -- tsc
3nx exec -- echo \$NX_PROJECT_NAME
4nx exec -- echo \$NX_PROJECT_ROOT_PATH
5
Install nx
globally to invoke the command directly using nx
, or use npx nx
, yarn nx
, or pnpm nx
.
Examples
You can use npm run <command>
for a project and leverage the caching by wrap your command with nx exec
.
For example, you can run npm run docs
as a Nx target for myorg
:
1{
2 "name": "myorg",
3 "nx": {},
4 "scripts": {
5 "docs": "nx exec -- node ./scripts/some-script.js"
6 }
7}
8
You may also run a script located in the project directory for all projects:
1nx exec -- node ./scripts/some-script.js
2
The name of the current project is available through the environment variable $NX_PROJECT_NAME:
1nx exec -- echo \$NX_PROJECT_NAME
2
The location of current project is available through the environment variable $NX_PROJECT_ROOT_PATH:
1nx exec -- echo \$NX_PROJECT_ROOT_PATH
2
Options
all
Type: boolean
Default: true
[deprecated] run-many
runs all targets on all projects in the workspace if no projects are provided. This option is no longer required.
exclude
Type: string
Exclude certain projects from being processed
graph
Type: string
Show the task graph of the command. Pass a file path to save the graph data instead of viewing it in the browser.
help
Type: boolean
Show help
nxBail
Type: boolean
Default: false
Stop command execution after the first failed task
nxIgnoreCycles
Type: boolean
Default: false
Ignore cycles in the task graph
parallel
Type: string
Max number of parallel processes [default is 3]
projects
Type: string
Projects to run. (comma/space delimited project names and/or patterns)
runner
Type: string
This is the name of the tasks runner configured in nx.json
skipNxCache
Type: boolean
Default: false
Rerun the tasks even when the results are available in the cache
verbose
Type: boolean
Prints additional information about the commands (e.g., stack traces)
version
Type: boolean
Show version number