[go: up one dir, main page]

Keyboard shortcuts

Press ← or β†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Commands

To list all available commands execute :

mask help

What is mask ?

Most of the people use make to create users-friendly alias of complexes commands : a task runner

The make syntax is complicated because make is not only a task runner but a whole build system (and because make is old)


mask is an awesome task runner

mask is made to execute complexes commands using the markdown syntax

So even if the people don't understand that they could executes them using the mask command, they have a readable documentation of all the available commands because markdown could be rendered in a pretty readable format

Available commands

The list below is a copy of maskfile.md

test

set -o errexit -o nounset -o pipefail -o errtrace

$MASK test shell
$MASK test rust

test shell

set -o errexit -o nounset -o pipefail -o errtrace

./tests/test_scripts.sh
./script/tests/test_generate_completion.sh

test rust

cargo test --features with_log

test rust with_coverage

cargo tarpaulin --engine Llvm  --locked --out Xml --features with_log

test rust debug (FILTERS)

export RUST_LOG="trace"
export RUST_TRACE="full"
# export RUST_BACKTRACE="full"
export RUST_TEST_NOCAPTURE="display stdout and stderr"

cargo test \
    --features with_log \
    -- \
    "$FILTERS"

test watch

bacon test --features with_log

test mutants

cargo mutants

lint

set -o errexit -o nounset -o pipefail -o errtrace

cargo clippy --all-targets --all-features
cargo check --all-targets --all-features
if command -v masklint >/dev/null; then
    masklint run
fi

format

set -o errexit -o nounset -o pipefail -o errtrace

if command -v nix >/dev/null; then
    nix fmt ./**.nix
fi
cargo fix --all-features --allow-dirty --allow-staged
cargo fmt

docs

docs serve

pushd ./docs/
direnv exec . \
    mask docs serve

slides

slides serve (SLIDE_FILE)

pushd ./slides/
direnv exec . \
    mask slides serve $SLIDE_FILE

update

set -o errexit -o nounset -o pipefail -o errtrace

nix flake update
direnv exec . \
    cargo update
pushd ./slides
direnv exec . \
    corepack use pnpm@latest
direnv exec . \
    pnpm update --latest

This folder has been setup from the nix-sandboxes's template