Skip to content

Urgent: Find and implement alternative for Husky for precommit checks #3155

@brandonlenz

Description

@brandonlenz

Husky's requirement to use pinst in recent (well, several years now) make it unsuitable for a component library that many consumer use.

Context:

About 3 years ago, we tried and failed to migrate to the newer major version of Husky that requires dependencies, as it introduced problems for consumers of the repo. We reverted and hoped that the many issue reports would result in a better implementation from Husky. Years later, the implementation remains roughly the same, and React USWDS has been updated to use the newer version as documented, which will cause problems for consumers on newer versions of NPM.

typicode/husky#1491 (comment)

There is a workaround to allow us to keep releasing, but it is an annoyance that we don't want to deal with long term:
https://gist.github.com/djcsdy/3ca078e23fdac4c50e077c84e8284a95

Acceptance criteria:

  • Husky is completely removed as a dependency
  • A suitable replacement is decided on and implemented, running the same checks as currently implemented via husky
  • Optional: Ideally, the solution is JS/TS based, as a founding tenant of this library was to keep the stack entirely JS-based. e.g. precommit is excellent, but husky was chosen over precommit because it is JS based.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions