quasar-testing icon indicating copy to clipboard operation
quasar-testing copied to clipboard

Support for Cypress 15.0.0

Open CamilleDrapier opened this issue 5 months ago • 7 comments

Since Cypress 15.0.0 was released a short while ago, it would be great if @quasar/quasar-app-extension-testing-e2e-cypress would allow using it.

I have run a few test with cypress 15.0.0, and it seems to be generally working, but maybe there is more than just adding the 15.0.0 version to the allowed peer dependencies:

-     "cypress": "^12.2.0 || ^13.2.0 || ^14.0.0",
+     "cypress": "^12.2.0 || ^13.2.0 || ^14.0.0 || ^15.0.0",

CamilleDrapier avatar Sep 09 '25 23:09 CamilleDrapier

I'm afraid there will be something more to do I'll try to do the upgrade in the following weeks

If possible, I'll release a minor version allowing Cypress 15 usage Then I'll release a major version which drops all previous Cypress versions, containing breaking changes and Node versions bumps

IlCallo avatar Sep 16 '25 07:09 IlCallo

Hi :) Do you have a schedule for when this could be fixed @IlCallo ? Thank you !

FelixNumworks avatar Sep 22 '25 14:09 FelixNumworks

As predicted, upgrading to Cypress 15 is way harder than expected, mainly due to the second error that @FelixNumworks reported here

As Felix noted, that error comes from Cypress 15 itself using tsx and Vite 6 and 7 not handling it correctly for sass package, which is ironic since using tsx was the solution for many other TS+Cypress problems

It would work fine for Vite 6 if we were using legacy api for Sass compiler in Vite, but that's deprecated in Vite 6 and removed in Vite 7 Quasar switched to the modern-compiler (now the default) quite some time ago already.

I also just noticed that Cypress v15 component testing won't work at all if quasar dev hasn't been run first I don't remember hitting this problem before, but it's extremely rare to run the Cypress component test command with UI without having worked on the project running quasar dev anyway

That said, that's a blocker for Cypress 15 support, no matter the Vite and app-vite version The workaround is already clear and there are PRs to fix it on Vite side, but up until now they didn't take action

Right now I have everything ready for a minor release to support Cypress 15, aside that issue over which we don't have control.

I'll freeze the development on this feature for now, since it's not possible to have Cypress 15 working with app-vite out of the box, and wait until something happens on Cypress, Vite or TSX side

You can find my work on this PR

Relevant resources:

  • https://github.com/cypress-io/cypress/issues/32362
  • https://github.com/vitejs/vite/pull/19182
  • https://github.com/privatenumber/tsx/issues/627

IlCallo avatar Oct 02 '25 13:10 IlCallo

The tsx problem was fixed in Vite 7.2 🥳

FelixNumworks avatar Nov 12 '25 08:11 FelixNumworks

Cypress can now safely be bumped in quasar-app-extension-testing-e2e-cypress

FelixNumworks avatar Nov 12 '25 09:11 FelixNumworks

Thanks for the ping, I'll get on it next week 😁

IlCallo avatar Nov 12 '25 10:11 IlCallo

I completed the PR, and we're almost ready to release

I'll just wait a couple days to see if we can sneak in a patch release for app-vite to force Vite dep to 7.2, and then in turns force that version usage with the AE new release

If not, I'll release the AE new version anyway, since the new projects should automatically install Vite 7.2 and thus support Cypress 15

I also noticed that you'll need to upgrade TypeScript to at least 5.6, if you're using it in your project

IlCallo avatar Nov 24 '25 14:11 IlCallo