Skip to content

Migrate to ESLint 10#47872

Merged
brijeshb42 merged 1 commit intomui:masterfrom
brijeshb42:eslint-10
Mar 13, 2026
Merged

Migrate to ESLint 10#47872
brijeshb42 merged 1 commit intomui:masterfrom
brijeshb42:eslint-10

Conversation

@brijeshb42
Copy link
Copy Markdown
Contributor

@brijeshb42 brijeshb42 commented Feb 27, 2026

Summary

This PR prepares the codebase for ESLint 10 migration.

Changes

Package Updates

ESLint Configuration

  • Wrap eslint-plugin-consistent-default-export-name with fixupPluginRules for ESLint 10 compatibility

pnpm Configuration

  • Add packageExtensions to override peer dependencies for ESLint plugins not yet officially supporting ESLint 10:
    • eslint-plugin-react
    • eslint-plugin-import
    • eslint-plugin-jsx-a11y
    • eslint-plugin-react-hooks

Prerequisites

This migration depends on the updated @mui/internal-code-infra package from mui-public which contains:

  • ESLint 10 compatibility fixes using @eslint/compat
  • Updated peer dependencies
  • Disabled new ESLint 10 rules initially

See: mui/mui-public#1150

Breaking Changes in ESLint 10

  • Node.js < v20.19 is no longer supported
  • New config lookup algorithm (starts from file directory)
  • JSX references are now tracked
  • eslint-env comments are reported as errors

Testing

  • ESLint runs successfully with no errors

@mui-bot
Copy link
Copy Markdown

mui-bot commented Feb 27, 2026

Netlify deploy preview

https://deploy-preview-47872--material-ui.netlify.app/

Bundle size report

Bundle Parsed size Gzip size
@mui/material 0B(0.00%) 0B(0.00%)
@mui/lab 0B(0.00%) 0B(0.00%)
@mui/system 0B(0.00%) 0B(0.00%)
@mui/utils 0B(0.00%) 0B(0.00%)

Details of bundle changes

Generated by 🚫 dangerJS against 8dfd19e

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Feb 27, 2026
@zannager zannager added the dependencies Update of dependencies. label Mar 2, 2026
@zannager zannager added scope: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd). and removed dependencies Update of dependencies. labels Mar 12, 2026
@zannager zannager requested a review from Janpot March 12, 2026 14:01
This PR prepares the codebase for ESLint 10 migration.

- Update `eslint` from 9.39.2 to ^10.0.3
- Update `@mui/internal-code-infra` to use temp published package from
PR
- Add `@eslint/compat` dependency for plugin compatibility

- Wrap `eslint-plugin-consistent-default-export-name` with
`fixupPluginRules` for ESLint 10 compatibility

- Add `packageExtensions` to override peer dependencies for ESLint
plugins not yet officially supporting ESLint 10:
  - eslint-plugin-react
  - eslint-plugin-import
  - eslint-plugin-jsx-a11y
  - eslint-plugin-react-hooks

This migration depends on the updated `@mui/internal-code-infra` package
from mui-public which contains:
- ESLint 10 compatibility fixes using `@eslint/compat`
- Updated peer dependencies
- Disabled new ESLint 10 rules initially

See: mui/mui-public#1150

- Node.js < v20.19 is no longer supported
- New config lookup algorithm (starts from file directory)
- JSX references are now tracked
- `eslint-env` comments are reported as errors

- ESLint runs successfully with no errors
@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Mar 12, 2026
@brijeshb42 brijeshb42 merged commit da8ce7e into mui:master Mar 13, 2026
19 checks passed
@brijeshb42 brijeshb42 deleted the eslint-10 branch March 13, 2026 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants