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