-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: specify TS 5.x support #26413
Conversation
4 flaky tests on run #45305 ↗︎
Details:
cypress/cypress.cy.js • 3 flaky tests • 5x-driver-electron
next.cy.ts • 1 flaky test • webpack-dev-server
This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Noticed one thing with the existing version range on TS but not strictly related to this issue - feel free to adjudicate
@@ -49,7 +49,7 @@ export const WIZARD_DEPENDENCY_TYPESCRIPT = { | |||
package: 'typescript', | |||
installer: 'typescript', | |||
description: 'TypeScript is a language for application-scale JavaScript', | |||
minVersion: '^=3.0.0 || ^=4.0.0', | |||
minVersion: '^=3.0.0 || ^=4.0.0' || '^=5.0.0', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a disconnect between the docs and our min TS version here - should we update to 3.4.0 while we're in here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the docs 3.4 limitation is specific to E2E - maybe something to do with the usage of ts-loader
... I have no idea why we need 3.4 or if it's applicable here.
3.4: https://devblogs.microsoft.com/typescript/announcing-typescript-3-4/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the update to support TS 5 is fine, but I have a question about the tests.
@lmiller1990 Why did you replace the TS 4.5 test with a TS 5 test? It seems like the original TS 4.5 test was there to test that the preserveValueImports
parameter that was introduced in TS 4.5 does not break earlier versions. It was introduced here: #20889
Shouldn't we leave this test and just add a new system test for TS 5?
@warrensplayer I might have misunderstood the original test, I thought the idea was "make sure it works with TS 4.5+". I was just trying to minimize the number of projects - this should still capture the original intent... but I can make a separate project, that might be more maintainable long term. What do you think? |
@lmiller1990 Just commenting my Slack conversation here:
Not going to block on this. I will approve. |
@warrensplayer made a separate test project. |
* chore: specify TS 5.x support * add test * separate project
typescript ^=5.0.0
support #26204Additional details
Specify Cypress CT works with TypeScript 5.x.
Steps to test
You could make a project using CT and TS 5.x There's zillions of permutations (Next, Vue, Angular...). No doubt some specific combinations might not work, but in general, none of the breaking changes impact us from what I can see.
How has the user experience changed?
Now when setting up CT, users with TS 5.x installed won't feel like it's not supported when going through the onboarding workflow, which is currently the case: #26204. This makes for a bad onboarding and first 5 minutes experience, which is essential when adopting a new tool.
PR Tasks
cypress-documentation
?type definitions
?