Articles collected into this reading track.
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.
Part 1
Migrate ESLint 8 or Less 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.
In series: ESLint in Practice · Part 1
Part 2
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.
In series: ESLint in Practice · Part 2
Part 3
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.
In series: ESLint in Practice · Part 3
Part 4
Designing ESLint Packages Teams Actually Adopt
What separates ESLint configurations that spread across a codebase from ones that get removed after the first sprint.
In series: ESLint in Practice · Part 4
Part 5
What Is New in @santi020k/eslint-config-basic v2.0
A practical tour of the shipped @santi020k/eslint-config-basic v2.0 release: ESLint 10, one main install, lazy frameworks, lite mode, monorepos, CLI checks, and AI standards.
In series: ESLint in Practice · Part 5




