From 6918f0bf48db962eca135a5f7b4a7ffa17716d1a Mon Sep 17 00:00:00 2001 From: mkelvers Date: Sat, 13 Jun 2026 20:58:01 +0200 Subject: [PATCH] fix: prevent pre-commit hook leaks --- lefthook.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lefthook.yml b/lefthook.yml index a267b33..7b16af9 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -2,39 +2,41 @@ "$schema": "https://json.schemastore.org/lefthook.json", "pre-commit": { + "fail_on_changes": "always", + "fail_on_changes_diff": true, "commands": { "format": { "glob": "*.{ts,js,tsx,jsx,css,json,html}", - "run": "bunx oxfmt {staged_files}", + "run": "bunx oxfmt --check {staged_files}", }, "lint:ts": { "glob": "*.{ts,js,tsx,jsx}", - "run": - "bunx oxlint --ignore-path .oxlintignore {staged_files} --max-warnings 0 --fix --tsconfig ./tsconfig.json --type-aware", + "run": "bunx oxlint --ignore-path .oxlintignore {staged_files} --max-warnings 0 --tsconfig ./tsconfig.json --type-aware", + }, + "go-fmt": + { + "glob": "*.go", + "run": 'files=$(gofmt -l {staged_files}); test -z "$files" || (printf "go files need formatting:\n%s\n" "$files"; exit 1)', }, - "go-fmt": { "glob": "*.go", "run": "go fmt {staged_files}" }, "go-lint": { "glob": "*.go", - "run": - 'printf "%s\n" {staged_files} | xargs -n1 dirname | sort -u | xargs -I{} golangci-lint run --new-from-rev=HEAD ./{}', + "run": 'printf "%s\n" {staged_files} | xargs -n1 dirname | sort -u | xargs -I{} golangci-lint run --new-from-rev=HEAD ./{}', }, "go-test": { "glob": "*.go", - "run": - 'printf "%s\n" {staged_files} | xargs -n1 dirname | sort -u | xargs -I{} go test -count=1 ./{}', + "run": 'printf "%s\n" {staged_files} | xargs -n1 dirname | sort -u | xargs -I{} go test -count=1 ./{}', }, "ts-typecheck": { "glob": "*.ts", "run": "bunx tsc -p tsconfig.json --noEmit" }, "build-assets": { "glob": "*.{ts,css}", "run": "bun run build:assets" }, "go-build": { "glob": "*.go", - "run": - 'printf "%s\n" {staged_files} | xargs -n1 dirname | sort -u | xargs -I{} go build -o /dev/null ./{}', + "run": 'printf "%s\n" {staged_files} | xargs -n1 dirname | sort -u | xargs -I{} go build -o /dev/null ./{}', }, }, },