marc walter

Using patched Elm core packages vetted by elm-janitor

2023-05-23 (Last updated on 2023-11-25)

Several core Elm packages have known bugs with proposed bugfixes as pull requests, which were not yet merged.
These fixes are merged in batches by Evan, so it could be that they will only be merged with the next official Elm release.
That might be a way off because Evan wants to finish his exploratory work for Elm on the backend.

Rupert and other Elm community members have started grouping and ranking PR fixes, and created an online spreadsheet.

There is also a series of posts on the Elm discourse where the process is explained.

Right now, there is a github organization elm-janitor that contains forks of the official Elm repositories with several bugfixes merged in.

From https://github.com/elm-janitor/manifesto#elm-core-library-maintenance

elm-janitor is a group of Elm users that are interested in maintaining the Elm core packages by applying patches to them. The patch stack will always be applied on top of the latest official release of the Elm core packages, with patches removed from the stack if they become part of the official release.

To avoid manually downloading patches and placing theem in the correct places, I created a script, elm-janitor/apply-patches

Apply elm-janitor patches to Elm dependencies

This script can install maintenance patches from elm-janitor.

If you have questions, suggestions or problems, join the 🧹 elm-janitor channel on "Incremental Elm" discord.

This script is intended to be used until we have a nice way to apply patches integrated into elm-tooling-compiler (elmx) or maybe an alternate Elm package server can be used.

I also created a test suite to check that the fixes work.