Home

Awesome

elm-hot-webpack-loader

elm-hot-webpack-loader

Hot code swapping support for Elm 0.19. This improves the Elm development workflow by automatically reloading your code in the browser after a change, while preserving your current app state.

This package provides a Webpack loader that can be used in conjunction with elm-webpack-loader. If you're looking for something that doesn't require Webpack, see elm-hot (although integrating it will be much more work).

Changelog

1.1.8

1.1.7

1.1.6

1.1.5

1.1.3 and 1.1.4

1.1.2

1.1.1

1.0.2

1.0.1

1.0.0

0.9.2

0.9.0

Installation

$ npm install --save-dev elm-hot-webpack-loader

You will also need to install elm-webpack-loader, if you haven't already.

Usage

Assuming that you're already using elm-webpack-loader, just add { loader: 'elm-hot-webpack-loader' } immediately before elm-webpack-loader in the use array.

It should look something like this:

module.exports = {
    module: {
        rules: [
            {
                test: /\.elm$/,
                exclude: [/elm-stuff/, /node_modules/],

                use: [
                    { loader: 'elm-hot-webpack-loader' },
                    {
                        loader: 'elm-webpack-loader',
                        options: {
                            cwd: __dirname
                        }
                    }
                ]
            }
        ]
    }
}

It's important that the elm-hot-webpack-loader loader comes before the elm-webpack-loader in the use array.

When running webpack-dev-server, you must add the --hot flag.

Example

Check out the example app.


Caveats

Attribution

Elm hot code swapping is based on the work of Flux Xu's elm-hot-loader. That project is no longer maintained, and it does not support Elm 0.19.