Add lefthook for linting and testing hooks, and optional pre-commit hook via local (#7)

* unbreak package lock

* lint

* add lefthook for prepush test and lint hook

* attempt at exiting 0 if we made a change in lint

* fix lint

* add fail text

* pre-commit test

* adjust autofix

* add lefthook example

* fix comment
This commit is contained in:
Paul Carleton 2025-11-04 14:50:17 +00:00 • committed by GitHub
commit 44a2732b53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

39
lefthook.yml Normal file
View file

@ -0,0 +1,39 @@
# lefthook.yml
# Configuration reference: https://lefthook.dev/configuration/
assert_lefthook_installed: true
output:
- meta # Print lefthook version
- summary # Print summary block (successful and failed steps)
- empty_summary # Print summary heading when there are no steps to run
- success # Print successful steps
- failure # Print failed steps printing
- execution # Print any execution logs (but prints if the execution failed)
- execution_out # Print execution output (but still prints failed commands output)
- execution_info # Print `EXECUTE > ...` logging
- skips # Print "skip" (i.e. no files matched)
pre-push:
follow: true
parallel: true
jobs:
- name: 'Code Formatting'
run: npm run lint:fix_check
stage_fixed: true
fail_text: |
💡 To catch linting issues earlier, enable the pre-commit hook:
cp lefthook-local.example.yml lefthook-local.yml
- name: 'Test'
run: npm run test
post-checkout:
jobs:
- name: 'Install Dependencies'
run: npm install
post-merge:
jobs:
- name: 'Install Dependencies'
run: npm install