solidjs / solid-start

SolidStart, the Solid app framework
https://start.solidjs.com
MIT License
5k stars 373 forks source link

[Bug?]: Vite always re-optimises all dependencies when launching dev server #1233

Closed Brendonovich closed 5 months ago

Brendonovich commented 7 months ago

Duplicates

Latest version

Current behavior 😯

Running vinxi dev will cause Vite to re-optimise all dependencies, even those that it has previously optimised.

Expected behavior 🤔

Dependencies that were previously optimised shouldn't be re-optimised

Steps to reproduce 🕹

Steps:

  1. Clone https://github.com/brendonovich/macrograph
  2. pnpm install
  3. pnpm web dev and go to http://localhost:4321
  4. Kill pnpm web dev
  5. Repeat steps 3 & 4 a few times
  6. Notice that vite re-optimised deps such as @solid-primitives/* and @koblate/core every time, ignoring caching

Context 🔦

My project has quite a few dependencies to optimise, so this bug makes the dev server's startup time pretty large.

I think this may be a bug in Vinxi, as there's a couple of places (1, 2) where opimtizeDeps is forced.

Your environment 🌎

No response

nksaraf commented 7 months ago

those are applied during build. yeah ill have to see whats happening.

FlatMapIO commented 7 months ago

I think this may be a bug in Vinxi, as there's a couple of places (1, 2) where opimtizeDeps is forced.

Comments force: trueNot helpful

FlatMapIO commented 6 months ago

@nksaraf Is it possible to raise the priority of this issue? I'm using ark-ui and every time I change the browser it shows a 30M js file loaded 😅

nksaraf commented 6 months ago

Yeah I spent some time looking at this and wasn't at first pass able to find where the optimizeDeps is happening again. Ill look again this weekend

FlatMapIO commented 6 months ago

It seems that all solid libraries have this problem, they all haves source/**/*.jsx in their dist, and for the time being I can only prebuild packages like lucide-solid into a single file, and set the resolve.alias in the vite, otherwise every reload is DDoS'ing the disk! and I have to wait tens of seconds.

spaaacetoast commented 5 months ago

It seems that all solid libraries have this problem, they all haves source/**/*.jsx in their dist, and for the time being I can only prebuild packages like lucide-solid into a single file, and set the resolve.alias in the vite, otherwise every reload is DDoS'ing the disk! and I have to wait tens of seconds.

Not necessarily related to this issue but the whole package being loaded has more to do with how vite loads kobalte and ark, see this kobalte issue

birkskyum commented 5 months ago

@Brendonovich , the repro is now quite far behind the latest versions of solid-start / vinxi / solid-router. Would you be able to update it?

FlatMapIO commented 5 months ago

In my experiments, full overloads are rarely (if ever) triggered in 0.6.0, and have little or no impact on the development experience.

Brendonovich commented 5 months ago

@birkskyum I've updated all those deps and I'm not getting the optimize deps log anymore, might be fixed now.

birkskyum commented 5 months ago

Excellent, thanks, I'll try the repro again later today and see if I get the same outcome.

ryansolid commented 5 months ago

Awesome