Create optional eslint pre-commit hook #1472
Open
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.
Description
Something I was playing around with in another repository;
I have no experience using pre-commit lint hooks personally yet so I don't know if I find them helpful or clunky.Edit: I've been running #1490 for a while now. It's nice!This allows developers to—optionally—install a pre-commit hook that runs eslint locally
on staged filesbefore they're committed, preventing the commit if they are not in the semistandard style. This is nice for avoiding getting yelled at by the CI action.(Traditional
husky
installs include a"prepare": "husky"
package script, ensuring that all developers have the hook enabled. This does not.)Testing steps
npm run enable-hooks
.let a;
), attempt to commit it, and confirm that the developer is informed about the error and must fix it before continuing.let a;
) on a different branch and confirm that no hooks run (I chosehusky
primarily because it does not break in this scenario).npm run disable-hooks
, make a change with a lint error (let a;
), attempt to commit it, and confirm that it is no longer prevented.