Skip to content

Different jest.jestCommandLine settings for run vs debug #1081

Closed
@nbolton

Description

@nbolton

Feature request

I'm using fnm on Linux to select my node version, and I've managed to set jest.jestCommandLine in settings.json to use the correct Node version according to the .nvmrc in my project:

  "jest.jestCommandLine": "fnm use --version-file-strategy recursive && npm test --",

This works fine for running tests normally (in the Jest 'Testing' activity), and from using 'Run test'.

However, when I use the 'Debug test' shortcut, e.g. to debug a specific test, it uses jest.jestCommandLine in a weird way; it prepends the full path of my system default Node binary (which is not the binary used for my project; that's an older Node version), so I get something like this:

/run/user/1000/fnm_multishells/1082892_1697542670710/bin/node ./fnm use --version-file-strategy recursive \&\& npm test --

This of course gives me a Cannot find module error, since fnm isn't something Node can run.

In this case, it'd be useful if we could use a different jest.jestCommandLine value for run and debug, since the value is used differently in each context.

The relevant line seems to be:

if (this.extContext.settings.jestCommandLine) {

Workaround

For now, I'll just use fnm default x to set the Node version globally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    expected-behaviorthis is the expected behavior (no fix needed)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions