ladle icon indicating copy to clipboard operation
ladle copied to clipboard

Vite HMR config does not override Ladle default config

Open gapark opened this issue 10 months ago • 2 comments

Describe the bug

When trying to use vite.config.mjs to override the default HMR settings (server.hmr) the settings in vite.config.mjs are never applied.

Reproduction

I'm trying to run ladle within a docker container. The problem I am having is that the WS connection to my docker container fails and to fix this I need to override the HMR host. Essentially:

  • Since version 17, nodejs favours IPV6.
  • When using localhost as the HMR host (forced by ladle) starts server on IPV6.
  • I am currently unable to use IPV6 with my docker setup.

To reproduce this issue simply attempt to change server.hmr.host or server.hmr.port in your .ladle/vite.config.mjs and it will not be applied.

I think I have found the issue within the codebase:

  • Here a hardcoded default HMR config can be found.
  • This hardcoded config gets merged into the user config here and overwrites any user HMR settings. This issue says that these settings should work so I am assuming something has accidentally broken this section of the config since then.

Potential Fix

I'm not 100% certain, but from a quick glance I think a fix would be adding HMR settings to the ladle config, and then merging them in here as we do with the other settings in the ladle config.

gapark avatar Apr 16 '24 08:04 gapark

This PR is not ready to be merged, I don't have time to get the project set up locally right now to test things fully, but this should be a good example of a fix for the problem: https://github.com/tajo/ladle/pull/558

gapark avatar Apr 16 '24 10:04 gapark

@tajo any chance you could help me get a fix together and merged for this? I've already attempted a PR here #558, any suggestions or assistance would be greatly appreciated. 🙇🏻

gapark avatar May 01 '24 06:05 gapark