Suppressions of Suppressions — overreacted
13 hours ago
- Build failures commonly arise from syntax errors, missing modules, or linting issues; failing CI is preferred over deploying problematic code.
- Lint rule suppressions are useful for handling false positives, strict rules, or legacy code, but overuse can lead to serious issues like site crashes or performance degradation.
- To manage risky suppressions, introduce a meta-lint rule that flags attempts to suppress configurable high-risk rules, preventing unsafe bypasses.
- A near-identical approach existed at Facebook with a 'no restricted disable' rule; open-source like eslint-plugin-eslint-comments/no-restricted-disable serves a similar purpose.
- Meta-suppressions (suppressing the suppression rule) can be addressed through code review, automation (e.g., tracking double suppressions), or requiring infra team approval for merges.
- Successful tool design relies on social contracts—organizational mapping, team responsibilities, and shared accountability for codebase evolution and site reliability.