Skip to content

Pre Commit

install(context, hooks=None)

Install git hooks via pre-commit.

Source code in saritasa_invocations/pre_commit.py
14
15
16
17
18
19
20
21
22
23
24
@invoke.task
def install(
    context: invoke.Context,
    hooks: list[str] | None = None,
) -> None:
    """Install git hooks via pre-commit."""
    printing.print_success("Installing pre-commit hooks")
    hooks_str = (
        " ".join(f"--hook-type {hook}" for hook in hooks) if hooks else ""
    )
    run_pre_commit_cmd(context=context, cmd=f"install {hooks_str}")

run_hooks(context, hook_stage='', params='', skip='')

Run all hooks against all files.

Source code in saritasa_invocations/pre_commit.py
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
@invoke.task
def run_hooks(
    context: invoke.Context,
    hook_stage: str = "",
    params: str = "",
    skip: str = "",
) -> None:
    """Run all hooks against all files."""
    printing.print_success("Running pre-commit hooks")
    config = _config.Config.from_context(context)

    if not hook_stage:
        hook_stage = config.pre_commit.default_hook_stage

    run_pre_commit_cmd(
        context=context,
        cmd=f"run --hook-stage {hook_stage} --all-files {params}",
        env={
            "SKIP": skip or os.environ.get("SKIP", ""),
        },
    )

run_pre_commit_cmd(context, cmd, **kwargs)

Run a pre-commit command.

Source code in saritasa_invocations/pre_commit.py
 8
 9
10
11
def run_pre_commit_cmd(context: invoke.Context, cmd: str, **kwargs) -> None:
    """Run a pre-commit command."""
    config = _config.Config.from_context(context)
    context.run(command=f"{config.pre_commit.entry} {cmd}", **kwargs)

uninstall(context, hooks=None)

Uninstall git hooks via pre-commit.

Source code in saritasa_invocations/pre_commit.py
27
28
29
30
31
32
33
34
35
36
37
@invoke.task
def uninstall(
    context: invoke.Context,
    hooks: list[str] | None = None,
) -> None:
    """Uninstall git hooks via pre-commit."""
    printing.print_success("Uninstalling pre-commit hooks")
    hooks_str = (
        " ".join(f"--hook-type {hook}" for hook in hooks) if hooks else ""
    )
    run_pre_commit_cmd(context=context, cmd=f"uninstall {hooks_str}")

update(context)

Update pre-commit dependencies.

Source code in saritasa_invocations/pre_commit.py
63
64
65
66
67
@invoke.task
def update(context: invoke.Context) -> None:
    """Update pre-commit dependencies."""
    printing.print_success("Updating pre-commit")
    run_pre_commit_cmd(context=context, cmd="autoupdate")