node can be started with various options. Especially interesting is the --inspect
flag:
node --inspect node_modules/.bin/jest some.spec.js
Is it possible to pass the --inspect
flag somehow to yarn run
? For example:
yarn run test --inspect some.spec.js
There is a similar question for npm run
, where it seems to be not possible.
In general, yarn run ...
does not support passing arbitrary arguments to NodeJS. However, the --inspect
flag is an exception depending on your version of Yarn.
As of March 2022, recent versions of Yarn support both --inspect
and --inspect-brk
arguments for the yarn run command. The answer to your questions is now "yes", and the following will work:
yarn run --inspect some.spec.js
For older versions of Yarn (or even NPM), there are a couple of options.
First, you can use the NODE_OPTIONS environment variable to pass arguments to NodeJS. For example,
export NODE_OPTIONS="--inspect"
yarn run test some.spec.js
then in the package.json, you can define a script to take advantage of this:
"scripts": {
"test": "jest",
"test:inspect": "NODE_OPTIONS='--inspect' yarn run test"
}
Second, as you mentioned, you can use NodeJS directly,
node --inspect ./node_modules/jest-cli/bin/jest.js some.spec.js
For older versions of Yarn, those may be your only two options. However, both options work for both NPM and Yarn.