A command-line tool to install, upgrade, uninstall, and manage dependencies in Elm projects via elm.json files.
elm-json is a command-line tool for managing dependencies in Elm projects. It handles tasks like installing, upgrading, and uninstalling packages by directly manipulating elm.json files, providing more control than the standard Elm install command. It solves the problem of tedious manual updates and version management in Elm applications and packages.
Elm developers who need fine-grained control over their project dependencies, especially those working on larger applications or packages where manual dependency management becomes cumbersome.
Developers choose elm-json because it offers a comprehensive, scriptable CLI for dependency operations, supports offline mode to avoid redundant downloads, and provides features like dependency tree visualization that aren't available in the standard Elm tooling.
Install, upgrade and uninstall Elm dependencies
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows installing exact versions or version ranges with commands like 'elm-json install elm/http@2', providing more precision than the standard elm install.
Supports an offline mode that reads from the local ELM_HOME directory, avoiding unnecessary HTTP downloads and speeding up operations, as mentioned in the flags and usage sections.
The tree subcommand displays the entire dependency graph as a tree, including test dependencies with the --test flag, helping developers understand indirect dependencies.
CLI-based interface with subcommands like install and upgrade makes it easy to automate dependency updates in CI/CD pipelines or scripts, as shown in the usage examples.
The upgrade subcommand explicitly does not support elm.json files with type 'package', limiting its utility for Elm package maintainers, as noted in the README.
The README warns that it's a work in progress and may mess up files completely, requiring users to exercise caution and backup their elm.json, which adds risk in production environments.
As a third-party tool, it adds an extra installation step via npm or binaries, and might not be as seamlessly integrated or supported as the official Elm toolchain.