There are a lot of neat tools coming out lately.
elm-coverage is a wonderful tool, and I don’t think it’s widely known. I think there are many other tools like that! Here are a few others that I really enjoy and use on a regular basis:
General Elm development tools
elm-optimize-level-2 is a really neat project. I usually use that along with that project’s instructions on minification to run terser and the optimized compilation.
elm-tooling-cli - (we did an Elm Radio episode on elm-tooling CLI)
elm-review - it’s like
elm-analyse (which is no longer maintained I believe), but it is made to be a platform where the community can build all sorts of custom rules and autofixes. It’s an excellent tool, highly recommended! There’s already a vibrant ecosystem of great Rules you can setup, and it’s only going to get better. We did a couple of Elm Radio episodes about
elm-review as well (episode 3 and episode 21)
Elm Debug Helper is a Chrome plugin for nicer formatted Debug.log output of Elm data types
elm-json is a command line tool that’s the de facto way to install Elm packages and upgrade dependencies, but this isn’t easy to discover that for newcomers.
Handy Web Codegen Tools
html-to-elm.com/ - this is a tool I built for turning HTML and SVG into Elm. There have been other tools like this in the past, but I tried to polish some of the rough edges of past tools, as well as add support for generating code for
- (There used to be a helpful page called json2elm.com, but I noticed that the domain lapsed recently. The is still code is hosted here on GitHub)
Tools for Type-Safe Domain-Specific-Languages
There are a lot of “Types Without Borders” category tools (keeping a type-safe bridge between domains). Here are some of my favorites (I’m a bit biased on some of these )
Tools for Package Authors
I wrote a guide with a collection of best practices for package authors here: GitHub - dillonkearns/idiomatic-elm-package-guide: Everything you need to know to publish a useful, idiomatic Elm package!. I also have a starter template repo for Elm packages: GitHub - dillonkearns/elm-package-starter: Starter template for an Elm package..
There are several tools that Elm package authors use, but they are sort of implicit knowledge that people pick up by word of mouth.
elm-doc-preview (it’s a CLI tool for live reloading documentation on your local machine, as well as a web site for sharing work-in-progress docs before you publish a package version)
elm-verify-examples - allows you to run
elm-test test cases by defining examples with the expected output in your Elm package’s docs. This is important because it helps you keep your docs in sync as “living documents.”
elm-publish-action - helps automate running
elm publish within your CI pipeline so you can run it after your CI passes
I’m probably missing tons of cool tools. These are just the ones that I find myself reaching for often.
I’d love to hear from other people about what their favorite gems are out there (I know there are a lot more!).