cypress icon indicating copy to clipboard operation
cypress copied to clipboard

Support of rolldown-vite

Open eMerzh opened this issue 3 months ago • 10 comments

Current behavior

Cypress can't run .. can't connect to server

/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner/work/repo --files-from manifest.txt --use-compress-program zstdmt
Sent 187526621 of 187526621 (100.0%), 201.9 MBs/sec
[2551:0923/064529.857060:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[2551:0923/064529.857109:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[2551:0923/064529.857121:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[2551:0923/064529.857131:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[2551:0923/064529.857142:ERROR:dbus/object_proxy.cc:590] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 

DevTools listening on ws://127.0.0.1:39625/devtools/browser/64c3e2d6-321f-45bc-a209-6f14a448b207
<<<CYPRESS.STDERR.START>>>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.

====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        15.2.0                                                                         │
  │ Browser:        Electron 136 (headless)                                                        │
  │ Node Version:   v20.19.4 (/home/runner/actions-runner/cached/externals/node20/bin/node)[0m       │
  │                 39m                                                                            │
  │ Specs:          19 found (file.cy.tsx, ...)                                                    │
  │ Searched:       src/**/*.spec.cy.{js,jsx,ts,tsx}                                               │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  file.cy.tsx                                 (1 of 19)
<<<CYPRESS.STDERR.END>>>[2551:0923/064538.455622:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")

Your configFile threw an error from: cypress.config.js

We stopped running your tests because your config file crashed.

Error: Error during dependency optimization:

Build failed with 1 error:

[plugin cypress-esbuild-plugin]
Error: Not implemented
    at Object.get (/home/runner/work/repo/node_modules/vite/dist/node/chunks/dep-DR_Om3BN.js:34950:11)
    at <anonymous> (/home/runner/.cache/Cypress/15.2.0/Cypress/resources/app/node_modules/@packages/server/node_modules/@cypress/vite-dev-server/dist/resolveConfig.js:72:62)
    at PluginContextImpl.generateBundle (/home/runner/work/repo/node_modules/vite/dist/node/chunks/dep-DR_Om3BN.js:34952:37)
    at plugin (file:///home/runner/work/repo/node_modules/rolldown/dist/shared/src-CWMXqoXE.mjs:3003:18)
    at plugin.<computed> (file:///home/runner/work/repo/node_modules/rolldown/dist/shared/src-CWMXqoXE.mjs:3283:18)
    at normalizeErrors (file:///home/runner/work/repo/node_modules/rolldown/dist/shared/src-CWMXqoXE.mjs:2135:18)
    at handleOutputErrors (file:///home/runner/work/repo/node_modules/rolldown/dist/shared/src-CWMXqoXE.mjs:2879:34)
    at transformToRollupOutput (file:///home/runner/work/repo/node_modules/rolldown/dist/shared/src-CWMXqoXE.mjs:2873:2)
    at RolldownBuild.write (file:///home/runner/work/repo/node_modules/rolldown/dist/shared/src-CWMXqoXE.mjs:4101:10)
    at async Object.build$2 (/home/runner/work/repo/node_modules/vite/dist/node/chunks/dep-DR_Om3BN.js:10120:18)

Desired behavior

Should be able to run as smoothly as with normal vite

Test code to reproduce

change vite with vite-rolldown latest in any component test

Cypress Version

15.2.0

Debug Logs


Other

No response

eMerzh avatar Sep 23 '25 06:09 eMerzh

@eMerzh

Did you follow the instructions in Rolldown Integration when you substituted rolldown-vite?

Image

When I tried this in the simple Vite example https://github.com/cypress-io/github-action/tree/master/examples/component-tests I didn't get any errors.

Edit: To get the dependencies updated correctly, I needed to execute:

npm uninstall vite
npm install vite@npm:rolldown-vite@latest

then it failed. Just updating package.json manually and running npm install doesn't do it.

MikeMcC399 avatar Sep 23 '25 08:09 MikeMcC399

yes exactly that indeed... i'll try to get a repro

eMerzh avatar Sep 23 '25 08:09 eMerzh

@eMerzh

I just scaffolded a new project and now I see the same error as you.

MikeMcC399 avatar Sep 23 '25 08:09 MikeMcC399

ah, "awesome" 😬 , thanks

eMerzh avatar Sep 23 '25 08:09 eMerzh

Repro here, after substituting "vite": "npm:rolldown-vite@latest" into example and running npm update --save

git clone --branch test/rolldown-vite https://github.com/MikeMcC399/cypress-component-testing-apps
cd cypress-component-testing-apps
cd react-vite-ts
npm ci
npm run cypress:run

MikeMcC399 avatar Sep 23 '25 09:09 MikeMcC399

According to

https://vite.dev/guide/rolldown.html#reporting-issues

Since this is an experimental integration, you may encounter issues.

https://vite.dev/guide/rolldown.html#future-plans

The rolldown-vite package is a temporary solution to gather feedback and stabilize the Rolldown integration. In the future, this functionality will be merged back into the main Vite repository.

So it may be more practical for Cypress to wait until rolldown-vite is mainstream, presumably with a new major release of Vite.

MikeMcC399 avatar Sep 23 '25 09:09 MikeMcC399

Yeah rolldown is experminental at this point, but it feels that here the issue lies within cypress, and it's a hint that it wont be compatible with the next version of vite, so i would say it's interesting to try to understand why and fix it if needed.

eMerzh avatar Nov 12 '25 10:11 eMerzh

@eMerzh

Yeah rolldown is experminental at this point, but it feels that here the issue lies within cypress, and it's a hint that it wont be compatible with the next version of vite, so i would say it's interesting to try to understand why and fix it if needed.

I see that the Cypress.io team has added the https://github.com/cypress-io/cypress/labels/CT and https://github.com/cypress-io/cypress/labels/type%3A%20feature labels, so I guess this is now queued up for when they have capacity to look at it. I'm an external contributor only though, so can't say anything about their possible scheduling.

I've updated the repro in https://github.com/MikeMcC399/cypress-component-testing-apps/tree/test/rolldown-vite/react-vite-ts to latest versions. As expected, nothing has resolved itself on its own. It's going to need development work to get it compatible. This has generally been the case for previous Vite releases as well to allow them to support component testing:

Vite 7 support in [email protected] Vite 6 support in [email protected] Vite 5 support in [email protected]

MikeMcC399 avatar Nov 12 '25 10:11 MikeMcC399

Vite announced Vite 8 Beta: The Rolldown-powered Vite on Dec 3, 2025.

MikeMcC399 avatar Dec 08 '25 10:12 MikeMcC399

  • See also https://github.com/cypress-io/cypress/issues/33078

MikeMcC399 avatar Dec 08 '25 10:12 MikeMcC399