ESLint statically analyzes code for bugs and bad patterns (unused vars, accidental globals, risky equality) using configurable rules. Prettier reformats code to one consistent style so nobody argues about spaces. Run them on save and in CI; together they keep a codebase clean and reviews focused on logic, not style.
Power-ups you unlock
ESLint catches bugs & bad patterns
Prettier auto-formats to one style
Run on save and in CI
Ends style debates in code review
Legacy Larry attacks — common mistakes
Disabling lint rules instead of fixing issues
Letting ESLint and Prettier rules conflict
Skipping CI enforcement (drift creeps in)
Boss battleName two issues ESLint catches that a formatter alone would not.
Example code
<!doctype html><html><head><meta charset="utf-8"></head>
<body style="background:#06040d;color:#e6e0ff;font-family:monospace;padding:20px"><pre>// ESLint flags: unused var, == usage, no-undef
let x = 1; // 'x' is never used
if (a == b) {} // prefer ===
// Prettier just reformats spacing/quotes/semicolons</pre></body></html>