-
Notifications
You must be signed in to change notification settings - Fork 3.2k
perf(cicd/ui): migrate from CRA/Craco to Vite #6586
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
Conversation
Unit Test Results (build & test)359 tests - 262 359 ✔️ - 258 1m 4s ⏱️ - 14m 45s Results for commit bed2504. ± Comparison against base commit f69b469. This pull request removes 262 tests.
|
hey @stanbaker! Thanks so much for putting this together. I'm curious how important a change like this is for your team? In your description you mention the build times being the primary reason for the change, as well as some uncertainty about CRA's future leadership. How much of a blocker are build times for your team or is this just a nice to have? The core team has some concerns about the risks of switching away from CRA due to all of the hidden complexities with single-page app builds and configurations that it takes care of for us. Also, while Vite certainly has a large following and usage, it's still somewhat less established than create-react-app (I feel less strongly about this than the risks of making the switch). Basically, we want to be very cautious and make sure we're doing the right thing here! I think we're leaning towards holding off on this move until we have more signal that it's the right call, but we'd love to hear some more thoughts from you and your team. |
Hey @chriscollins3456, thanks for the feedback! This isn't a blocker/priority by any means, totally understand if you all would rather stick with what's working for now instead of taking some risk on entirely migrating build tooling! Closing this PR |
…ation and links (#6586) Co-authored-by: Chris Collins <[email protected]>
Overview
This migration from the current create-react-app build tooling is a pretty significant overhaul that touches quite a few areas. The primary reason for wanting to migrate is quicker dev server startup and production builds. It's also worth noting that the creator/lead maintainer of Webpack has stepped away from the project to work on a new build tool (Turbopack), causing some uncertainty for the long-term project roadmap as others step in to maintain.
Benchmarks
Dev server startup (
yarn start
)Production build (
yarn build
)All tests were performed using the latest from master (as of 11/30/22) on a 2021 M1 MBP (32GB). Average time was taken from 3 consecutive runs of the same test. Time spent generating graphql types (
yarn generate
) is excluded from comparison.Major Changes
devProxyPlugin.ts
)build/
todist/
. Vite outputs to dist by default.assets/
to certain urls. Vite should handle this automatically when hosting files between local dev and production builds.What's left?
Checklist