What elm-watch is
Remember the first time you ran elm make? It’s super fast, and has beautiful output. And it’s really stable! If the majority of your code is Elm, why complicate things with extra layers where things can go wrong? elm-watch tries to stay as close to that ideal as possible.
And do you remember trying out Elm with elm reactor? Did it feel easy to get started with, but you quickly grew out of it? elm-watch tries to be a more powerful alternative to elm reactor as well.
- Maximum speed. elm-watch tries to do as little as possible besides running
elm makefor you. Doing less work is always faster! - Hot reloading. elm-watch tries to reimagine the level of quality of hot reloading. The goal is to never leave you wondering if it worked at all.
- Beautiful colors. Elm’s error messages are lovely and colorful. elm-watch takes care to preserve them.
- Browser UI. elm-watch always shows you the latest status in the browser. Switching to
--debugmode – or even--optimizemode – is only a click away. - Cache free. Elm already has a cache – the
elm-stuff/folder – which is really stable and all you need. Famously one of the hardest things in programming, elm-watch has no extra caching to worry about. - Elm centric. elm-watch puts Elm at the heart. Let’s take advantage of Elm’s unique capabilities, like
elm make --output /dev/nullfor super fast type checking of apps you’re not currently focusing on! - Elm ready. Includes an optional server that lets you get going with a
Browser.application. - Reasonably hackable. Ever wanted to adjust Elm’s compiled JS? That’s just a
String -> Stringfunction away for both development and production builds. Want to extend the server? It’s open for modification if you know some plain Node.js. - Well tested. elm-watch has 100 % test coverage, save for a few ignore coverage comments. elm-watch is serious about stability.
- Super scalable. elm-watch can handle many Elm apps without getting slow. Only the apps you work on get compiled – in most recently used order. The rest are only type checked, which is faster.
👉 See also Comparison to other tools.
Dreams for the future
- Interactive errors. Filter by target or Elm file. Collapse long code snippets (
caseexpressions). - Elm reactor. . Imagine a modified Elm binary where
elm reactorgave you an elm-watch like experience.