Registry / web-framework / elm-hot-webpack-loader

elm-hot-webpack-loader

JSON →
library1.1.8jsnpmunverified

Webpack loader that enables hot module replacement (HMR) for Elm 0.19 applications, preserving application state across code changes during development. Current stable version is 1.1.8, released on a maintenance cadence. Requires elm-webpack-loader ^7.0.1 as a peer dependency. Unlike alternatives (e.g., elm-hot without Webpack), it integrates seamlessly into existing Webpack setups, requiring only a single loader addition. Does not support Elm 0.18.

npm install elm-hot-webpack-loader
INSTALL
IMPORT
SIG · ELM-HOT-WEBPACK-LO
E
elm-hot-webpack-loader
web-frameworkjavascriptv1.1.8
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–226 runs
build_error
glibc
node 18–226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

elm-hot-webpack-loader
✓ use: [{ loader: 'elm-hot-webpack-loader' }, { loader: 'elm-webpack-loader' }]
✗ use: [{ loader: 'elm-webpack-loader' }, { loader: 'elm-hot-webpack-loader' }]
Order matters: elm-hot-loader must come before elm-webpack-loader in the use array.
elm-hot (runtime)
✓ No explicit import; loader injects HMR code automatically.
✗ npm install elm-hot and import it manually
elm-hot is a transitive dependency; do not install or import it directly.
Webpack HotModuleReplacementPlugin
✓ devServer: { hot: true } or --hot flag
✗ Explicitly requiring webpack.HotModuleReplacementPlugin
In webpack-dev-server v4+, hot is enabled by default; older versions may need the --hot flag.

Demonstrates correct Webpack configuration using elm-hot-webpack-loader before elm-webpack-loader, with hot module replacement enabled in devServer.

// webpack.config.js module.exports = { mode: 'development', module: { rules: [ { test: /\.elm$/, exclude: [/elm-stuff/, /node_modules/], use: [ { loader: 'elm-hot-webpack-loader' }, { loader: 'elm-webpack-loader', options: { cwd: __dirname } } ] } ] }, devServer: { static: './dist', hot: true } }; // Main.elm (basic Elm app) module Main exposing (main) import Browser main = Browser.sandbox { init = 0, update = \\_ model -> model, view = \\_ -> Html.text "Hello" }
Debug
Known issues
deprecatedElm 0.18 is not supported. Use fluxxu/elm-hot-loader@0.5.x instead.
fix
Use elm-hot-loader@0.5.x for Elm 0.18 projects.
affects: >=0.9.2
gotchaThe loader order is critical: elm-hot-webpack-loader must appear before elm-webpack-loader in the use array.
fix
Swap loader order so that elm-hot-webpack-loader is first.
affects: >=1.0.0
gotchawebpack-dev-server --hot flag is required for older versions; newer versions may enable HMR by default.
fix
Use CLI flag --hot or set devServer.hot: true in config.
affects: >=1.0.0
Errors
Common errors & fixes
Module not found: Error: Can't resolve 'elm-hot-webpack-loader'
The package is not installed or not in node_modules.
fix
npm install --save-dev elm-hot-webpack-loader
Error: You must run webpack-dev-server with --hot flag
Hot module replacement is not enabled.
fix
Add --hot to webpack-dev-server command or set devServer.hot: true in webpack config.
Uncaught TypeError: Cannot read properties of null (reading 'register')
elm-hot-webpack-loader must be placed before elm-webpack-loader in the webpack config.
fix
Swap the loader order so that elm-hot-webpack-loader is first.
Upgrade
Version history
1.1.8latest on npm
Audit
Dependencies
elm-webpack-loaderrequiredPeer dependency required to compile Elm code; elm-hot-webpack-loader only handles hot reloading, not compilation.
Agent activity
4 hits · last 30 days
node
4
Resources
elm-hot-webpack-loader — npm install elm-hot-webpack-loader · libregistry