solidjs / solid-start

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

[Bug?]: HMR not working with filesystem routes #1389

Open Brendonovich opened 6 months ago

Brendonovich commented 6 months ago

Duplicates

Latest version

Current behavior 😯

Editing a file in routes/ that has a default export will cause a full reload, rather than use HMR.

Expected behavior 🤔

HMR should work like in all other files

Steps to reproduce 🕹

Steps:

  1. Go to https://stackblitz.com/edit/github-htmjmk-karq32?file=src%2Froutes%2Findex.tsx
  2. Try editing each component.
  3. Notice that HMR doesn't work in routes/index.tsx, but works in IHaveHMR.tsx and routes/MeToo.tsx

Context 🔦

i like hmr, nuff said

Your environment 🌎

No response

lxsmnsyc commented 6 months ago

This is expected, see: https://github.com/solidjs/solid-refresh?tab=readme-ov-file#how-it-works

We used to have this feature before but it was problematic, so always give components a name.

Relevant Discord discussion: https://discord.com/channels/722131463138705510/722131463889223772/1216948069602689155

Brendonovich commented 6 months ago

@lxsmnsyc only allowing named components makes sense, but is that the reason why ButNotMe doesn't have HMR even though it's named?

image
lxsmnsyc commented 6 months ago

@Brendonovich the transform is correct for this one, however I'm confident that something else might be contributing to this behavior, maybe Vinxi.

Brendonovich commented 3 months ago

Definitely a Vinxi thing, HMR works properly when adding the fix suggested in https://github.com/nksaraf/vinxi/issues/135