The aha moment for me came when I realized elm-watch is not a traditional dev server – in only watches, builds, and provides a websocket port that handles the hot reloading. This means you can continue to deploy assets through the backend during development – greatly simplifies things.
We’re switching from webpack in watch mode + phoenix live reload of assets to vite in watch mode + phoenix live reload at work. I was curious about elm-watch+esbuild or watchexec+elm make+esbuild, but we haven’t pursued those alternatives yet.
Our build is still slow even with vite (3-5 seconds per compile and reload cycle). In our larger apps, I am considering having a way where we can comment out all pages except one to shrink bundle size that vite has to reload when developing.
I was so thrilled with how it worked, I never noticed that detail . Wonder if that is missing fonts, or if something messed up with terminal/tmux config …?