Skip to content

yarn v3 PNP #423

@BigForNothing

Description

@BigForNothing

It appears that using Yarn v3's PNP functionality causes the Worker to not load the actual file. If nodeLinker is set to node-modules in .yarnrc.yml, it works as expected.

This is the error I'm receiving

Timeout: Did not receive an init message from worker after 10000ms. Make sure the worker calls expose().

The best I can tell, it's due to using require within the resolveScriptPath function. It might be worthwhile to look into createRequire function as described in yarn's rule book on the topic

If your package is something that automatically loads plugins (for example eslint), peer dependencies obviously aren't an option as you can't reasonably list all plugins. Instead, you should use the createRequire function (or its polyfill) to load plugins on behalf of the configuration file that lists the plugins to load - be it the package.json or a custom one like the .eslintrc.js file.

I haven't had a chance to debug it further, so I'm speculating the createRequire function will resolve the issue.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions