Skip to content

Allow using external Node when running tasks / plugins #4432

@bahmutov

Description

@bahmutov

Proposal

Currently, the plugins file is executed using the Node.js version included with Cypress Test Runner (like 8.2.1), which is often not the version needed to run the application. The most common problem is the inability to load native extensions when requiring NPM modules from the plugins file. The installed app for example uses Node 10 to compile extensions, while Cypress tries to load them using Node 8

So instead of using built-in Node version in packages/server/lib/plugins/index.coffee

pluginsProcess = cp.fork(path.join(__dirname, "child", "index.js"),
   ["--file", config.pluginsFile], { stdio: "inherit" })

we could find external Node and launch it as a child process

reported issues

Metadata

Metadata

Labels

pkg/serverThis is due to an issue in the packages/server directorytype: enhancementRequested enhancement of existing feature

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions