-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Description
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
- https://www.notion.so/signoz/ESLint-Configuration-Documentation-2dffcc6bcd198082846acf11ff043e44
- https://www.notion.so/signoz/ESLint-Configuration-Rollout-Plan-2dffcc6bcd198066bb92ceaa6ad0fb8f
📦 What's Changing
Dependencies
Removing (5 packages, ~1.2 MB):
eslint-config-airbnb- Too opinionated for TypeScript projectseslint-config-airbnb-typescript- Retrofitted JS ruleseslint-config-standard- Unused, conflicts with Prettiereslint-plugin-node- Only needed by removed configseslint-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