Learning `just`: A Practical Task Runner
Learning just : A Practical Task Runner for Developers Coming From Make I've been learning just recently. I came across it while setting up a Python project and looking for a simple way to collect all the commands I use during development. This started with something I got used to in Elixir. One of the things I really like about Elixir projects is that you can put the common development tasks…
The article discusses the emergence of "just" as a practical task runner for developers transitioning from Make. The author started using "just" after finding it while setting up a Python project and looking for a simple way to collect development commands. Just, like Make, allows developers to define common development tasks behind simple commands, such as `just ci`.
The author noticed that "just" had a similar setup to Make, with recipes, dependencies, and commands. However, "just" has a few differences that make it more suitable for task running:
1. No .PHONY declarations: Unlike Make, "just" doesn't require .PHONY declarations since it doesn't rely on file timestamps to determine if a recipe needs to run.
2. No tab requirements: "just" doesn't require tab indentation for commands, unlike Make. It uses normal indentation instead.
3. `just --list`: The `just --list` command provides a list of available recipes, along with comments above each recipe. This helps developers quickly understand the available tasks and their descriptions.
4. Built-in task listing: By default, running `just` displays the list of available recipes, making it a small piece of documentation.
The author suggests that while "just" is not necessarily better than Make in all situations, it offers a more focused approach to task running. Just is designed for developers who want a simple way to manage common commands without the need for file timestamps or build system complexities. However, it does come with the trade-off of requiring installation, unlike Make, which is often already installed.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.