Skip to content

[Bug?]: Yarn pnp fails with synckit and prettier plugin in eslint context #254

@leshasmlesha

Description

@leshasmlesha

Self-service

  • I'd be willing to implement a fix

Describe the bug

Yarn pnp can't load synckit worker hence prettier plugin fails to run.
Why do I file this against yarn? Everything works as expected when installing the dependencies with npm.

To reproduce

Use NodeJS 20.9.0
Clone https://github.com/shermify/eslint-plugin-repro

> yarn install
> export NODE_PATH=".yarn/sdks"

Setting the NODE_PATH is equivalent to setting the VS Code eslint.nodePath setting.
start node REPL and execute the following commands (to ensure to mimic the executing since a VS Code extension):

require.resolve('eslint');

We will load the eslint npm module from .yarn/sdks

const library = require('eslint');
async function main() { const eslint = new (await library.loadESLint())(); const report = await eslint.lintText(`var test = "hello";`); console.log(report); }
main().then(() => { console.log('Promise resolved'); } ).catch((error) => { console.error(error); process.exitCode = 1; });

Observe: the promise never resolves.[+] You can't even terminate NodeJS using Ctrl+C. You have to kill it.[/+]
I debugged it in the context of the VS Code ESLint extension and the findings are here: microsoft/vscode-eslint#1856 (comment) and in the following comments.

Environment

System:
OS: Linux 5.15 Debian GNU/Linux 11 (bullseye) 11 (bullseye)
CPU: (20) x64 12th Gen Intel(R) Core(TM) i7-12700K
Binaries:
Node: 20.9.0 - /tmp/xfs-426f4fe7/node
Yarn: 4.3.0 - /tmp/xfs-426f4fe7/yarn
npm: 10.1.0 - ~/.nvs/default/bin/npm
pnpm: 9.1.1 - /usr/local/share/npm-global/bin/pnpm

Additional context

yarnpkg/berry#6335

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions