Articles collected into this reading track.
Blog series
ESLint in Practice. A reading track.
A focused track on config design, migrations, and the standards work that keeps code reviews sharper without slowing teams down.
Cadence
Evergreen tooling notes for teams standardizing JavaScript and TypeScript work.
Publishing rhythm for this series.
Recurring themes shaping the articles in this track.
Tooling that earns its place
Linting only helps when it reduces ambiguity instead of creating more noise. This series collects the ESLint writing on the site into one track so migrations, reusable configs, and code-quality standards feel connected instead of scattered.
It is the best fit for engineers who want stronger defaults, cleaner pull requests, and tooling that scales with real teams.
Focus areas
Posts
Articles in this series.
Read these in order if you want the clearest progression from foundations to deeper implementation decisions.
Migrate from ESLint 8 or Earlier to ESLint 9
A practical guide to moving from ESLint 8 to flat config in ESLint 9, with a cleaner setup for React, Next.js, and TypeScript projects.
Boosting Code Quality and Efficiency with My ESLint Configuration Library
Reusable ESLint library for React, Next.js, and TypeScript projects. Enforces code quality with flat config support and simplifies the move from ESLint 8 to 9.
Why I Moved My ESLint Library to @santi020k/eslint-config-basic
Why I deprecated @santi020k/eslint-config-santi020k in favor of a composable monorepo with clearer packages, better docs, and stronger DX.
Designing ESLint Packages Teams Actually Adopt
What separates ESLint configurations that spread across a codebase from ones that get removed after the first sprint.
What Is New in @santi020k/eslint-config-basic v2.0
Explore @santi020k/eslint-config-basic v2 with ESLint 10, one-package setup, lazy framework support, monorepo tooling, lite mode, and CLI checks.




