import {execaNode, execa} from 'execa';
await execaNode`file.js argument`;
// Is the same as:
await execa({node: true})`file.js argument`;
// Or:
await execa`node file.js argument`;
When using the node
option or execaNode()
, the current Node.js CLI flags are inherited. For example, the subprocess will use --allow-fs-read
if the current process does.
The nodeOptions
option can be used to set different CLI flags.
await execaNode({nodeOptions: ['--allow-fs-write']})`file.js argument`;
The same applies to the Node.js version, which is inherited too.
get-node
and the nodePath
option can be used to run a specific Node.js version. Alternatively, nvexeca
or nve
can be used.
import {execaNode} from 'execa';
import getNode from 'get-node';
const {path: nodePath} = await getNode('16.2.0');
await execaNode({nodePath})`file.js argument`;
Next: 🌐 Environment
Previous: 📜 Scripts
Top: Table of contents