Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Yarn Plug'n'Play is using a custom resolver to lookup dependencies from a machine-wide global location, instead of keeping
node_modules
duplicated in every project.When
yarn run
is used and it detects that it is running in PnP mode it will call the child process using--require .pnp.js
, with.pnp.js
being a file generated per-project by Yarn. This will enable PnP mode for the child process and make the PnP API available viarequire('pnpapi')
.Since
workerpool
is also forking off child processes it would need a similar mechanism to ensure that those child processes are able to resolve their dependencies correctly. This PR adds the necessary--require
argument to the fork option if PnP mode is detected by checkingprocess.versions.pnp
.In case you're wondering: we're working on making
ember-cli
compatible with Yarn PnP and that is usingbroccoli-babel-transpiler
, which is usingworkerpool
under the hood./cc @arcanis @rwjblue