Skip to content

rolldown-vite does not play well with Yarn PnP #215

Open
@wojtekmaj

Description

@wojtekmaj

Describe the bug

During evaluation of rolldown-vite, I've noticed that the builds consitently fails when using Yarn PnP when resolving external dependencies.

Tested setups:

✅ works, ❌ does not work, ⌛ TBD

✅ Windows + node_modules
✅ macOS + node_modules
⌛ Linux + node_modules
❌ Windows + PnP
⌛ macOS + PnP
❌ Linux + PnP

Reproduction

I'm unable to provide Stackblitz playground - corepack not enabled in Stackblitz.

repro.zip

Steps to reproduce

  1. Install a project using Yarn (tested: 4.9.1) using PnP mode
  2. Add at least one external dependency, if you don't have one already
  3. Use it in the project
  4. Build the app

System Info

System:
    OS: macOS 15.5
    CPU: (10) arm64 Apple M1 Max
    Memory: 1014.81 MB / 64.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 24.0.2 - /usr/local/bin/node
    Yarn: 4.9.1 - /usr/local/bin/yarn
    npm: 11.3.0 - /usr/local/bin/npm
  npmPackages:
    @vitejs/plugin-basic-ssl: ^1.2.0 => 1.2.0 
    @vitejs/plugin-react: ^4.3.4 => 4.3.4 
    rolldown-vite:  6.3.17

Used Package Manager

yarn

Logs

Click to expand!
You or a plugin you are using have set `optimizeDeps.esbuildOptions` but this option is now deprecated. Vite now uses Rolldown to optimize the dependencies. Please use `optimizeDeps.rollupOptions` instead.
rolldown-vite v6.3.17 building for test...
Warning validate output options.
- For the "comments". Invalid key: Expected never but received "comments". 
transforming...
✗ Build failed in 2.97s
Browserslist: browsers data (caniuse-lite) is 8 months old. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme

PWA v0.21.1
mode      generateSW
precache  14 entries (1884.23 KiB)
files generated
  dist/service-worker.js.map
  dist/service-worker.js
  dist/workbox-b1c70e3e.js.map
  dist/workbox-b1c70e3e.js
error during build:
Build failed with 1 error:

[plugin vite-plugin-pwa:build]
Error: Build failed with 63 errors:

[UNLOADABLE_DEPENDENCY] Error: Could not load .yarn/__virtual__/styled-components-virtual-059d12ef5d/0/cache/styled-components-npm-6.1.8-ae8d84c2da-fafe4b9198.zip/node_modules/styled-components/dist/styled-components.browser.esm.js
   ╭─[ src/index.tsx:6:35 ]
   │
 6 │ import { StyleSheetManager } from "styled-components";
   │                                   ─────────┬─────────  
   │                                            ╰─────────── No such file or directory (os error 2)
───╯

[UNLOADABLE_DEPENDENCY] Error: Could not load .yarn/__virtual__/react-dom-virtual-d3eb8ac8e8/0/cache/react-dom-npm-18.3.1-a805663f38-a752496c19.zip/node_modules/react-dom/client.js
   ╭─[ src/index.tsx:2:28 ]
   │
 2 │ import { createRoot } from "react-dom/client";
   │                            ─────────┬────────  
   │                                     ╰────────── No such file or directory (os error 2)
───╯

[UNLOADABLE_DEPENDENCY] Error: Could not load .yarn/__virtual__/react-router-dom-virtual-b0aec0a6eb/0/cache/react-router-dom-npm-6.3.0-508f6547e5-490b0c50d4.zip/node_modules/react-router-dom/index.js
   ╭─[ src/index.tsx:3:41 ]
   │
 3 │ import { BrowserRouter as Router } from "react-router-dom";
   │                                         ─────────┬────────  
   │                                                  ╰────────── No such file or directory (os error 2)
───╯

[UNLOADABLE_DEPENDENCY] Error: Could not load .yarn/__virtual__/@unhead-react-virtual-e8ecd5fc65/0/cache/@unhead-react-npm-2.0.8-bc292564f6-a63c47e043.zip/node_modules/@unhead/react/dist/client.mjs
   ╭─[ src/index.tsx:4:44 ]
   │
 4 │ import { createHead, UnheadProvider } from "@unhead/react/client";
   │                                            ───────────┬──────────  
   │                                                       ╰──────────── No such file or directory (os error 2)
───╯

[UNLOADABLE_DEPENDENCY] Error: Could not load .yarn/__virtual__/@wojtekmaj-react-t-virtual-3e773372c2/0/cache/@wojtekmaj-react-t-npm-2.0.2-b8[10](https://github.com/<redacted>/actions/runs/<redacted>/job/<redacted>#step:6:11)f3ea4e-f544785946.zip/node_modules/@wojtekmaj/react-t/dist/index.js
   ╭─[ src/index.tsx:5:27 ]
   │
 5 │ import { TProvider } from "@wojtekmaj/react-t";
   │                           ──────────┬─────────  
   │                                     ╰─────────── No such file or directory (os error 2)
───╯

...
    at normalizeErrors (file:///home/runner/work/app/app/.yarn/cache/rolldown-npm-1.0.0-beta.[11](https://github.com/<redacted>/actions/runs/15452218415/job/<redacted>#step:6:12)-commit.83d4d62-5157d54ceb-a0d22e5ecb.zip/node_modules/rolldown/dist/shared/src-C1CX2gm4.mjs:2362:18)
    at plugin (file:///home/runner/work/app/app/.yarn/cache/rolldown-npm-1.0.0-beta.11-commit.83d4d62-5[15](https://github.com/<redacted>/actions/runs/15452218415/job/<redacted>#step:6:16)7d54ceb-a0d22e5ecb.zip/node_modules/rolldown/dist/shared/src-C1CX2gm4.mjs:2839:[16](https://github.com/<redacted>/actions/runs/15452218415/job/<redacted>#step:6:17)9)
    at plugin.<computed> (file:///home/runner/work/app/app/.yarn/cache/rolldown-npm-1.0.0-beta.11-commit.83d4d62-5157d54ceb-a0d22e5ecb.zip/node_modules/rolldown/dist/shared/src-C1CX2gm4.mjs:3800:18)
    at normalizeErrors (file:///home/runner/work/app/app/.yarn/cache/rolldown-npm-1.0.0-beta.11-commit.83d4d62-5157d54ceb-a0d22e5ecb.zip/node_modules/rolldown/dist/shared/src-C1CX2gm4.mjs:2362:18)
    at handleOutputErrors (file:///home/runner/work/app/app/.yarn/cache/rolldown-npm-1.0.0-beta.11-commit.83d4d62-5157d54ceb-a0d22e5ecb.zip/node_modules/rolldown/dist/shared/src-C1CX2gm4.mjs:3368:34)
    at transformToRollupOutput (file:///home/runner/work/app/app/.yarn/cache/rolldown-npm-1.0.0-beta.11-commit.83d4d62-5157d54ceb-a0d22e5ecb.zip/node_modules/rolldown/dist/shared/src-C1CX2gm4.mjs:3362:2)
    at RolldownBuild.write (file:///home/runner/work/app/app/.yarn/cache/rolldown-npm-1.0.0-beta.11-commit.83d4d62-5157d54ceb-a0d22e5ecb.zip/node_modules/rolldown/dist/shared/src-C1CX2gm4.mjs:4623:11)
    at async buildEnvironment (file:///home/runner/work/app/app/.yarn/__virtual__/rolldown-vite-virtual-3255ab8d6f/0/cache/rolldown-vite-npm-6.3.[17](https://github.com/<redacted>/actions/runs/15452218415/job/<redacted>#step:6:18)-8a6bfedfd2-9ddd057a3a.zip/node_modules/rolldown-vite/dist/node/chunks/dep-BVD1pq3j.js:44451:16)
    at async Object.defaultBuildApp [as buildApp] (file:///home/runner/work/app/app/.yarn/__virtual__/rolldown-vite-virtual-3[25](https://github.com/<redacted>/actions/runs/15452218415/job/<redacted>#step:6:26)5ab8d6f/0/cache/rolldown-vite-npm-6.3.17-8a6bfedfd2-9ddd057a3a.zip/node_modules/rolldown-vite/dist/node/chunks/dep-BVD1pq3j.js:44957:5)
    at async CAC.<anonymous> (file:///home/runner/work/app/app/.yarn/__virtual__/rolldown-vite-virtual-[32](https://github.com/<redacted>/actions/runs/15452218415/job/<redacted>#step:6:33)55ab8d6f/0/cache/rolldown-vite-npm-6.3.17-8a6bfedfd2-9ddd057a3a.zip/node_modules/rolldown-vite/dist/node/cli.js:864:7)
Error: Process completed with exit code 1.

Validations

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions