SIGN IN SIGN UP
facebook / react-native UNCLAIMED

A framework for building native applications using React

Add support for Flat Config (eslint v9) (#54297)

Summary:
Implements: https://github.com/facebook/react-native/issues/42996

Add support for Flat config (eslint v9) to `eslint-config-react-native`. To achieve this, I created `packages/eslint-config-react-native/flat.js` to export flat config as well as maintain legacy config for backward compatibility. I recognize we have had [the PR for supporting Flat config](https://github.com/facebook/react-native/issues/42996) already, but it looks stale and doesn't seem likely to move forward. That's why I created this PR.

I also updated `eslint-plugin-react-native` and `eslint-plugin-specs`  so that they comply with the current eslint plugin format.

## Changelog:

[GENERAL] [ADDED] - Add support for Flat Config (eslint v9)

Pull Request resolved: https://github.com/facebook/react-native/pull/54297

Test Plan:
1. Pull this branch into your local machine
2. `cd packages/eslint-config-react-native`
3.  `yarn link`
4. Clone https://github.com/pipopotamasu/rn-eslint-config-test in your local machine
5. `cd path/to/rn-eslint-config-test`
6. `yarn install`
7. `yarn link "react-native/eslint-config"`
8. `yarn lint`
9. Confirm that eslint rules from `react-native/eslint-config` are applied

<img width="1470" height="628" alt="image" src="https://github.com/user-attachments/assets/955fd655-8a79-4dd4-9031-e505d218d63a" />

Reviewed By: vzaidman

Differential Revision: D85851077

Pulled By: huntie

fbshipit-source-id: 9c78ecc4f5c3b10175a89417628b599735f95215
P
pipopotamasu committed
18592451de8106071473a898cbc4b6d4efc7814b
Parent: 8101b7f
Committed by meta-codesync[bot] <215208954+meta-codesync[bot]@users.noreply.github.com> on 11/13/2025, 6:47:06 PM