Skip to content
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

breaking: dropping support for webpack-dev-server 3 from @cypress/webpack-dev-server and make @cypress/webpack-dev-server ship with webpack-dev-server version 5 by default (from 4) #30467

Merged

Conversation

AtofStryker
Copy link
Contributor

@AtofStryker AtofStryker commented Oct 25, 2024

BREAKING CHANGE: support for webpack-dev-server version 3 has been removed. webpack-dev-server 3 is no longer maintained by the webpack team. Addtionally, `@cypress/webpack-dev-server` now ships with `webpack-dev-server` version 5 by default.

Additional details

Removes support for webpack-dev-server (wds) version 3 from @cypress/webpack-dev-server. Because we no longer support wds 3, that means we no longer support:

  • create-react-app version 4 (last released 4 years ago)
  • @vue/cli-service version 4 (last released 2 years ago). @vue/cli-service is no longer recommended by the vue team, but if being used @vue/cli-service version 5 is the current, which uses webpack-dev-server 4.

create-react-app and @vue/cli-service support will be removed in Cypress 14 in issues #30028 and #30481. This is just a precursor to that work since we cant support the older versions here any longer. In the meantime, affected system tests have been updated to latest dependencies (that aren't specifically testing an older version of a dependency).

This PR also bumps webpack-dev-server shipped version in @cypress/webpack-dev-server to version 5. Users still on webpack 4 will need to install webpack-dev-server version 4 along side cypress to continue running component tests.

Steps to test

How has the user experience changed?

PR Tasks

@AtofStryker AtofStryker force-pushed the breaking/remove_wds3_from_cypress_webpack_dev_server branch from 1436bbb to 1987422 Compare October 25, 2024 21:42
Copy link

cypress bot commented Oct 25, 2024

cypress    Run #57986

Run Properties:  status check passed Passed #57986  •  git commit bdd43598eb: move changelog to correct section [run ci]
Project cypress
Branch Review breaking/remove_wds3_from_cypress_webpack_dev_server
Run status status check passed Passed #57986
Run duration 17m 11s
Commit git commit bdd43598eb: move changelog to correct section [run ci]
Committer AtofStryker
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 110
View all changes introduced in this branch ↗︎

Warning

No Report: Something went wrong and we could not generate a report for the Application Quality products.

@AtofStryker AtofStryker force-pushed the breaking/remove_wds3_from_cypress_webpack_dev_server branch from 925a654 to dca2184 Compare October 29, 2024 18:34
@AtofStryker AtofStryker added the type: breaking change Requires a new major release version label Oct 29, 2024
@AtofStryker AtofStryker changed the title breaking: dropping support for webpack-dev-server 3 from @cypress/webpack-dev-server breaking: dropping support for webpack-dev-server 3 from @cypress/webpack-dev-server and make @cypress/webpack-dev-server ship with webpack-dev-server version 5 by default (from 4) Oct 29, 2024
@@ -3,8 +3,8 @@ import type { fixtureDirs } from '@tooling/system-tests'
type ProjectDirs = typeof fixtureDirs

const PROJECTS: {projectName: ProjectDirs[number], test: string}[] = [
// TODO: Flaky { projectName: 'angular-14', test: 'app.component' },
// TODO: Flaky. { projectName: 'vueclivue2-configured', test: 'HelloWorld.cy' },
{ projectName: 'angular-18', test: 'app.component' },
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these are going to churn a bit over the next few PRs related to CT 😅

@@ -209,7 +209,8 @@ describe('component testing dependency warnings', () => {
cy.get('.warning-markdown').find('li').should('have.length', 3)
})

it('warns against outdated @vue/cli dependency', () => {
// TODO: make this version of @vue/cli-service 5 in https://github.com/cypress-io/cypress/issues/30295 or related issue
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this test will probably get deleted since we are removing @vue/cli-service support entirely, but we need to support vue with webpack. scaffolding tbd

@@ -9,7 +9,8 @@
"css-loader": "^4.3.0",
"style-loader": "^2.0.0",
"vite": "^2.8.0",
"webpack": "^4"
"webpack": "^4",
"webpack-dev-server": "^4"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

now needed since we use webpack 4 in this project. updates on this project/system test will happen at a later time

}
}
],
"responseEndedWithEmptyBody": [],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AtofStryker Why did this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't say for certain, but my best guess, which is what I assumed, is that the response from webpack-dev-server v5 is different from that from v4 since it is what is serving the HelloMars.cy.jsx file. We could know for certain if we install wds 4 in protocol system test package and see if the response body is there

…pack-dev-server

    BREAKING CHANGE: support for webpack-dev-server version 3 has been removed. webpack-dev-server 3 is no longer maintained by the webpack team. To reduce overhead, Cypress is now removing support in Cypress 14.
… well as skip config warning for outdated vuecli3 as it will throw due to wds being on version 3. this is a VERY old version, and the test needs to be updated to use vuecli5 so we get wds v5 (vuecli5 support will be deprecated)
@AtofStryker AtofStryker force-pushed the breaking/remove_wds3_from_cypress_webpack_dev_server branch from dca2184 to c40d117 Compare October 29, 2024 21:38
@AtofStryker AtofStryker added the npm: @cypress/webpack-dev-server @cypress/webpack-dev-server package issues label Oct 30, 2024
@AtofStryker AtofStryker merged commit d9c21a9 into release/14.0.0 Oct 30, 2024
81 of 83 checks passed
@AtofStryker AtofStryker deleted the breaking/remove_wds3_from_cypress_webpack_dev_server branch October 30, 2024 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
npm: @cypress/webpack-dev-server @cypress/webpack-dev-server package issues type: breaking change Requires a new major release version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants