RFC: ESLint 9 Migration – Transitioning from JSON Config to config.js
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 1.3k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 611
Description
### Description
**Summary**
This RFC proposes migrating the ESLint configuration from the deprecated .eslintrc.* format to the new eslint.config.js format introduced in ESLint 9. Additionally, it outlines handling the removal of .eslintignore in favor of the ignores property inside the configuration file.
**Expected Outcomes**
- Successful Migration to eslint.config.js – Ensures compatibility with ESLint 9.
- Removal of Deprecated Configurations – .eslintrc.* and .eslintignore are replaced with eslint.config.js.
- Consistent and Maintainable Linting Rules – The same linting standards are preserved.
### Related Issues
_No response_
### Questions
No.
### Other
No.
### Checklist
- [x] I have read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [x] Searched for existing issues and pull requests.
- [x] The issue name begins with `RFC:`.
Contributor guide
Research direction
Start by locating the repository's .eslintrc.* files and .eslintignore, then review the existing linting rules and how ESLint is invoked. Done means replacing the deprecated configuration with eslint.config.js, moving ignore patterns into its ignores property, preserving the current standards, and confirming ESLint 9 compatibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- eslint, javascript
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100