Files
mal/lefthook.yml

37 lines
1.3 KiB
YAML

{
"$schema": "https://json.schemastore.org/lefthook.json",
"pre-commit":
{
"commands":
{
"format":
{
"glob": "*.{ts,js,tsx,jsx,css,json,html}",
"run": "bunx oxfmt {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",
},
"go-fmt": { "glob": "*.go", "run": "go fmt {staged_files}" },
"go-lint": { "glob": "*.go", "run": "golangci-lint run {staged_files}" },
"go-test":
{
"glob": "*.go",
"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 ./{}',
},
},
},
}