DEV Community

Cover image for Migrating a 150K LOC codebase to Vite and ESBuild: is it worthwhile? (part 3/3)

Migrating a 150K LOC codebase to Vite and ESBuild: is it worthwhile? (part 3/3)

Stefano Magni on May 26, 2021

A fairer comparison between Webpack and Vite, some Vite caveats, and the overall Developer Experience. This is part of a three-article series a...
Collapse
 
brunolemos profile image
Bruno Lemos

Hey, great series! Does your webpack config has the react-refresh plugin? I found the 10s vs 1s unexpected, it should be closer if you add something like github.com/pmmmwh/react-refresh-we...

Also, does your project use yarn workspaces? And have you compared Vite with alternatives like Snowpack?

Collapse
 
noriste profile image
Stefano Magni

Does your webpack config has the react-refresh plugin

Yes, it has, I'll double-check if it's configured the right way, thanks 😊

does your project use yarn workspaces

Yes, the only noticable thing is that the dependencies are installedin the top-level node_modules while Vite's cache is stored in the local node_modules.

have you compared Vite with alternatives like Snowpack?

Yes, Vite's advantage is that has batteris included for targeting non-ESModules compatible browsers.

Collapse
 
brunolemos profile image
Bruno Lemos

Got it, thanks! I'll experiment with Vite on my next product.

Collapse
 
klvenky profile image
Venkatesh KL

Wow that's been quite a journey I suppose. Great work.
Cheers 👍

Even I was thinking about doing the migration but slowed down to check vite's compatibility with svg & images. Other reason though was that we're not very heavy on the UI as of now. Also, ours is a hybrid app where express handles the base template & webpack is just a dev server used to pull out the build.
I'll explore how it comes out.

Collapse
 
noriste profile image
Stefano Magni

About svg & images: we haven't any issue until now, looking forward to know your conclusions and use cases 😊

Collapse
 
silvenon profile image
Matija Marohnić

Simply thanks for writing this, now I have a much more realistic picture of whether to migrate and how to do it successfully, instead of trying to go all in at once.

Collapse
 
noriste profile image
Stefano Magni

You're welcome, in case you migrate, in eager to know how you do it, the pitfalls, the differences compared to our use case etc. 😊

Collapse
 
feitian124 profile image
ming

great work, helps a lot, thanks

Collapse
 
noriste profile image
Stefano Magni

Thanks ♥️

Collapse
 
lsycxyj profile image
Light Leung • Edited

What about using Webpack5 with disk cache? Or using disk cahce loader?

Collapse
 
noriste profile image
Stefano Magni

I should have tried it but I ended up removing Webpack at all. The problem is always time: I migrated to Vite during the weekends and I didn't have more time for this topic, that's why I hadn't tried to leverage disk cache and comparing it again with Vite. In the end, our developers felt in love with Vite and we decided to stop using Webpack.