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

[internal] use webpack for builds #4103

Merged
merged 174 commits into from
Jul 18, 2019
Merged

[internal] use webpack for builds #4103

merged 174 commits into from
Jul 18, 2019

Conversation

kuceb
Copy link
Contributor

@kuceb kuceb commented May 2, 2019

This PR is to improve the development experience for contributors to Cypress, and should only have minor changes for Cypress users

fix #4758

features:

  • handles js, ts, coffeescript, jsx/tsx, and scss
  • runner with < 1s watch time, ~10 sec build time
  • easy to enable sourcemaps
  • chrome devtool sources are mapped to relative files via sourceURL, even without sourcemaps
  • auto-refresh browser on changes to reporter/runner/driver (optional)

changes:

build script:

  • fix issue with dangling promise during copyPackages step
  • remove use of symlinks / proxy package.jsons in final build, instead statically grep and transform require statements for symlinked packages, e.g.: require("@packages/socket/lib/server") -> require("../../socket/lib/server")
  • remove unused packages/reporter/dist(unused, 4Mb)

tasks:

  • set up build/watch tasks for runner/reporter
  • use webpack-dev-server for virtual fs (faster watch) and auto-refresh
  • split reporter into separate bundle (for testing)
  • get reporter tests passing
  • random failing tests
  • remove use of browser field (use symlinks in project root)
  • change source to not assume browser field
  • random failing server/e2e tests
  • unit snapshot test for scripts/binary/util/packages
  • make build deps DRY, only one copy of babel deps, webpack, etc.
  • removed old build scripts / zunder
  • refactored webpack / babel configs to new package packages/web-config
  • use webpack to build packages/desktop-gui
  • add e2e smoke tests to ensure final prod build is what we expect
  • only run cross-origin script error-prone e2e tests in chrome (for now)

post-tasks

  • re-add circleci cache
  • remove logic building binary on this branch in win-binary-build

@kuceb kuceb changed the title WIP add webpack WIP build runner w/ webpack May 2, 2019
@kuceb
Copy link
Contributor Author

kuceb commented Jul 18, 2019

e2e test failing unrelated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[internal] use webpack for building desktop-gui, reporter, runner
5 participants