diff --git a/.changeset/sixty-cherries-lie.md b/.changeset/sixty-cherries-lie.md new file mode 100644 index 0000000000..1e22d38137 --- /dev/null +++ b/.changeset/sixty-cherries-lie.md @@ -0,0 +1,5 @@ +--- +'@backstage/eslint-plugin': patch +--- + +eslint autofix for mui ThemeProvider diff --git a/.github/vale/config/vocabularies/Backstage/accept.txt b/.github/vale/config/vocabularies/Backstage/accept.txt index 7a0e3ca192..043728013f 100644 --- a/.github/vale/config/vocabularies/Backstage/accept.txt +++ b/.github/vale/config/vocabularies/Backstage/accept.txt @@ -16,6 +16,7 @@ api asciidoc async Atlassian +autofix automations autoscaling Autoscaling diff --git a/packages/eslint-plugin/rules/no-top-level-material-ui-4-imports.js b/packages/eslint-plugin/rules/no-top-level-material-ui-4-imports.js index 6a726545fc..1d6bb8c59b 100644 --- a/packages/eslint-plugin/rules/no-top-level-material-ui-4-imports.js +++ b/packages/eslint-plugin/rules/no-top-level-material-ui-4-imports.js @@ -23,6 +23,7 @@ const KNOWN_STYLES = [ 'styled', 'useTheme', 'Theme', + 'ThemeProvider', ]; /** @type {import('eslint').Rule.RuleModule} */ diff --git a/packages/eslint-plugin/src/no-top-level-material-ui-4-imports.test.ts b/packages/eslint-plugin/src/no-top-level-material-ui-4-imports.test.ts index 568bdb8cc8..944de448e2 100644 --- a/packages/eslint-plugin/src/no-top-level-material-ui-4-imports.test.ts +++ b/packages/eslint-plugin/src/no-top-level-material-ui-4-imports.test.ts @@ -57,6 +57,11 @@ import Typography from '@material-ui/core/Typography';`, errors: [{ messageId: 'topLevelImport' }], output: `import Box from '@material-ui/core/Box';`, }, + { + code: `import { ThemeProvider } from '@material-ui/core';`, + errors: [{ messageId: 'topLevelImport' }], + output: `import { ThemeProvider } from '@material-ui/core/styles';`, + }, { code: `import { Box, @@ -65,6 +70,7 @@ import Typography from '@material-ui/core/Typography';`, DialogTitle, Grid, makeStyles, + ThemeProvider, } from '@material-ui/core';`, errors: [{ messageId: 'topLevelImport' }], output: `import Box from '@material-ui/core/Box'; @@ -72,7 +78,7 @@ import DialogActions from '@material-ui/core/DialogActions'; import DialogContent from '@material-ui/core/DialogContent'; import DialogTitle from '@material-ui/core/DialogTitle'; import Grid from '@material-ui/core/Grid'; -import { makeStyles } from '@material-ui/core/styles';`, +import { makeStyles, ThemeProvider } from '@material-ui/core/styles';`, }, { code: `import { Box, Button, makeStyles } from '@material-ui/core';`,