Automatic code quality and consistent formatting.
ESLint catches problematic patterns in the code while Prettier ensures consistently uniform formatting. ESLint watches logic and correctness, like forgotten hook dependencies or unsafe comparisons, Prettier handles layout alone. The clean division of labour is: ESLint finds problems, Prettier sets the layout, without the two stepping on each other. Together they keep the codebase clean automatically and free reviews from questions of style, so you focus on what genuinely matters.
More in the documentationWe set up ESLint and Prettier cleanly once per project and wire them through a pre-commit hook and CI. That way no unformatted or faulty code lands in the repository, and nobody has to debate indentation in review. It keeps the codebase consistent over months, no matter how many hands work on it.
{
"scripts": {
"lint": "eslint .",
"format": "prettier --write .",
"format:check": "prettier --check ."
}
}Good to know
Let Prettier own formatting and turn off purely stylistic ESLint format rules, otherwise the two fight and your editor jitters on every save. With the flat config format (eslint.config.js) of newer ESLint versions exactly that separation gets cleaner.
More tools we work with in the same area.
Jest & Vitest
Fast unit and integration tests for dependable code.
Testing Library
User-centred component tests that check real behaviour.
Playwright
End-to-end tests that secure real user flows in the browser.
Cypress
Convenient E2E testing with excellent debugging.
Sentry
Realtime error tracking and performance monitoring in production.
You don't have to decide that, it's our job. Tell us about your plans.