Re:Farm: Fast vite compatible build tool written in Rust
by ErikBjare on Sunday June 23, 2024 @06:44AM
(#40766420)
I'm happy I never did that planned Vuetify rewrite of my Vue 2 app, dodged a bullet there.
Re:Farm: Fast vite compatible build tool written in Rust
by 9dev on Monday June 24, 2024 @08:28AM
(#40775223)
Sure did. We're completely locked in because Vuetify encourages you to use their components for everything from layouts to buttons, their styles are written in sass and depend on an outdated version of dart-sass, and use a half-assed version of Tailwind utility classes that creates conflicts on every level.
And since they rewrote the framework completely for Vue 3, and took special care to make sure that every single darn prop is different, a migration is pretty much impossible without touching absolutely everything.
The only way out for us will be to get rid of vuetify components, one at a time, and introduce Tailwind with a prefix, until we can finally remove that mess.
The biggest recommendation I have is to stay away as far as you can from that library. I think that has been the worst technical decision I ever made at my job.
Re:Farm: Fast vite compatible build tool written in Rust
by klabb3 on Sunday June 23, 2024 @07:14AM
(#40766543)
Do you have an idea of what kind of functionality all of those deps provide? It would be interesting to see a breakdown of where dep bloat typically comes from.
Re:Farm: Fast vite compatible build tool written in Rust
by 9dev on Monday June 24, 2024 @03:07AM
(#40773224)
Yes, I just cannot share the flame graph publicly, but I can describe parts of it. A big chunk is taken up by the Mapbox GL SDK (Vector maps, 35%), Sentry (Telemetry and monitoring, 14%), and Vuetify (component framework, 10%). The rest are small dependencies and application code.
Re:Farm: Fast vite compatible build tool written in Rust
by lloydatkinson on Monday June 24, 2024 @02:41AM
(#40773099)
> Vue.js 2, to Nuxt, then an integration of Vuetify 2 (which is about the worst library I have ever had the misfortune of working with, and has a giant amount of runtime dependencies).
This is my experience with Vue overall, not just it's shitty ecosystem and libraries.
I wouldn’t say it’s too many modules. We heavily use code splitting, so most of the time, users will fetch only a few of these, and pages load quickly. Plus, there’s some dependencies we cannot get rid of that are quite heavy.
From my personal experience though, it’s nothing unusual really.