chore: add Lefthook commit and push checks#164
Merged
Conversation
Install Lefthook and configure a pre-commit hook that formats staged JavaScript-related files with Prettier while preserving full-repo format scripts.
Extend Lefthook pre-commit formatting to staged Kotlin and Swift files using the existing native formatter tools.
Configure Lefthook pre-push checks for affected JavaScript tests and native package test tasks through Turbo.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
This adds local Git hooks that format staged JS, Kotlin, and Swift files before commit and run affected tests before push. Having these checks locally reduces avoidable CI churn and shortens the feedback loop by catching formatting and test failures before changes leave the machine.
How it was achieved
The repo now uses Lefthook to run staged-file formatters on pre-commit and parallel pre-push test jobs. Prettier, ktlint, and SwiftFormat handle their matching staged files, while Turbo coordinates affected JS tests and package-scoped native tests when Android or iOS client files changed.