Anybody experimenting with splitting and native esm?

Is anybody experimenting with splitting their elm app into individual apps for each page together with native esm to load pages?

I don’t understand the topic well, but I have read through some explanations of native esm. I am wondering if it’s not as appealing to elm developers because elm bundles are much smaller, so code splitting by page does not have much appeal?

I am curious about this topic to see if there is some deeper reason to start investing in using vite in a build toolchain (will native esm + elm eventually open up even faster watch modes?), as opposed to the other options.

I am most curious about toolchains that attempt to cut out npm altogher. I found two examples so far (using devd/modd, direct downloads of core tools, and elm-test-rs).

1 Like

I’m aware of it but can’t say I’m particularly interested most of the time when it comes to Elm. Elm is generally small/fast enough that I haven’t needed it yet, and with tools like elm-watch have made development in Elm super fast, and in some ways more enjoyable than what esm would provide.

Unfortunately for you, elm-watch wouldn’t cut out npm. For me I don’t mind because npm has primarily become a development tool-chain tool and not one for production code (except when truly needed).

1 Like

The only nagging annoyance about npm is updating node version regularly and propagating that. I wish more elm tools embraced building shell/CLI in rust or go and install scripts using asdf to cut node out of the picture.

If I understand, webpack dev builds a bundle in memory and delivers it to a js process in browser which replaced the last bundle loaded into memory. I will start reading about elm-watch and try to understand how it delivers it’s recompiled results to browser and triggers browser update (or if it relies on vite/esbuild to do that instead)

I haven’t manually manage Node in nearly a decade. I used to use either nvm or n, then used Volta for a bit. Currently I use Nix.

1 Like

I’m around asdf currently. Regardless, if you aren’t using nix, you have to set up some convention (agree on one shell or support multiple shells and decide when you will invoke n/nvm/asdf when entering directory) for automatically installing new versions across team when you change the version. That’s fine if it the tool/vm is providing value like the elm compiler, but for node, it’s just providing some CLI helper libs or a library equivalent of wget, it feels like unnecessary noise in developer machine setup.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.