Skip to content

Epic: ESLint Configuration Overhaul #9924

@AshwinBhatkal

Description

@AshwinBhatkal

Note

TLDR: Set up Intentional, TypeScript-First ESLint Rules

🎯 Overview

Replace our current Airbnb-based ESLint configuration with a clean, intentional setup where every rule serves a clear purpose. This migration will improve developer experience, reduce false positives, and establish a TypeScript-first linting approach.


🚀 Goals

  • ✅ Remove opinionated rule sets (Airbnb, Standard) that don't fit our TypeScript + React stack
  • ✅ Establish clear, documented rules with known purposes
  • ✅ Improve developer experience with fewer false positives
  • ✅ Enable auto-fix on save for better workflow
  • ✅ Create comprehensive documentation for maintainability

Docs


📦 What's Changing

Dependencies

Removing (5 packages, ~1.2 MB):

  • eslint-config-airbnb - Too opinionated for TypeScript projects
  • eslint-config-airbnb-typescript - Retrofitted JS rules
  • eslint-config-standard - Unused, conflicts with Prettier
  • eslint-plugin-node - Only needed by removed configs
  • eslint-plugin-promise - Redundant with async/await

Keeping (12 packages):

  • Core ESLint + TypeScript + React plugins
  • Prettier integration
  • SonarJS for code quality
  • Import management plugins

Configuration Philosophy

Before: "Use Airbnb because industry standard"
After: "Every rule has a documented purpose for our codebase"


📝 Tasks

Pre-Rollout

  • Review documentation with team
  • Get team buy-in on phased approach
  • Assign PRs to team members

Rollout (8 PRs)

  • PR 1: Remove Airbnb deps + docs
  • PR 2: Update base config
  • PR 3: Core quality rules
  • PR 4: TypeScript strict rules
  • PR 5: React quality rules
  • PR 6: Import rules
  • PR 7: Import sorting
  • PR 8: File-specific overrides

Post-Rollout

  • Team announcement and celebration
  • Monitor CI/CD for new violations
  • Create issues for remaining warnings
  • Schedule quarterly config review

👥 Stakeholders

  • Owner: @AshwinBhatkal
  • Reviewers: @SigNoz/frontend-maintainers
  • Contributors: @SigNoz/frontend

🎉 Definition of Done

  • All PRs merged to main
  • CI/CD green and stable
  • Documentation complete and published
  • Auto-fix on save configured for team
  • Quarterly review scheduled

💬 Discussion

Please comment below with:

  • Questions about the approach
  • Suggested improvements
  • Concerns or risks we should address
  • Availability to help with specific PRs

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions