elm-format
elm-review
Our great sponsors
elm-format | elm-review | |
---|---|---|
5 | 6 | |
1,304 | 240 | |
- | - | |
5.6 | 7.9 | |
12 months ago | 5 days ago | |
Haskell | Elm | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
elm-format
-
Elm 2021, a year in review
9ᵗʰ - Aaron VonderHaar releases a new version of elm-format.
-
Setting up an Elm project in 2022
Unlike Javascript, Elm has an official Style Guide for how Elm code should be structured. In addition, some formatting is built into the language itself, such as requiring indents of four spaces. This removes a major point of contention within teams. In addition, the community has put together a wonderful tool called elm-format. Similar to Prettier, this utility can be used to ensure that all Elm code matches the official style guide. Unlike Prettier, there is no custom configuration, meaning once again that your team can focus on writing code instead of what kind of quotes to use.
-
Tips/Resources on starting with ELM
Regarding user experience and tooling, I'd suggest you use an editor that is compatible with the elm language server: https://github.com/elm-tooling/elm-language-server VSCode is a good default choice. You'll also be interested in other toolings. elm-json (https://github.com/zwilias/elm-json) is great to simply install and uninstall dependencies. elm-format (https://github.com/avh4/elm-format) is a must since most active people in the community use it, and simply viewing your code being moved around on save is a good sign that you wrote something with a good syntax.
-
Artyom's Haskell toolbox — a long list of tools/libraries I use
Take for example the debate about 2 vs 4 spaces. People often (but not always) have very strong opinions about this, yet it is clear that this formatting choice will probably not be the dominant factor in the success of a project. A quick google search also reveals no scientific research in this field. Concerning surveys, I found this interesting (from a survey on 2 vs 4 spaces in elm-format) as one datapoint:
elm-review
-
Setting up an Elm project in 2022
The Elm community has an unofficial linter (called elm-review), which can be used to check your code for potential bugs or mistakes, or highlight a better way to write Elm. Unlike elm-format (and more similar to tools like ESLint), elm-review does not come with any default rules to follow:
-
What are some neat elm-review rules you are using?
elm-review: https://package.elm-lang.org/packages/jfmengels/elm-review/latest/
-
We chose Elm for Humio’s web UI
Glad to see more posts on Elm out there, it really is a great language and ecosystem! Like any large project, it has some issues, but in my day-to-day writing code I have never had as much fun, or had as much confidence that my code does what it says on the tin, as I have with Elm.
I wanted to give a shout out to one of Jeroen's other projects in the Elm ecosystem, elm-review (https://package.elm-lang.org/packages/jfmengels/elm-review/l...), it is an excellent linter/fixer and allows writing your own rules as well.
-
How do I Enterprise-ize Elm?
For technical debt and other code-base maintenance, I'd suggest using elm-review.
What are some alternatives?
elm-spa-example - A Single Page Application written in Elm
elm-ui - What if you never had to write CSS again?
bytestring - An efficient compact, immutable byte string type (both strict and lazy) suitable for binary or 8-bit character data.
hasqlator-mysql - Hasqlator is a haskell sql generator library
package.elm-lang.org - website for browsing packages and exploring documentation
elm-test-rs - Fast and portable executable to run your Elm tests
elm-language-server - Language server implementation for Elm
elm-architecture-tutorial - How to create modular Elm code that scales nicely with your app
elm-websocket - Generate an Elm Subscriber and JSON encoders/decoders for a Wai WebSocket server
haskell-mode - Emacs mode for Haskell
elm-json - Install, upgrade and uninstall Elm dependencies
kite - An interactive visualization tool for graph theory