From 33ff583a34c3c820179a687cf6ba8a0122e77e1b Mon Sep 17 00:00:00 2001 From: Timothy Deakin Date: Thu, 14 Mar 2024 13:33:18 +0000 Subject: [PATCH 1/3] feat: add eslint rule for top level imports adds the `no-top-level-material-ui-4-imports` eslint rule to raise errors when top level imports are used. Signed-off-by: Timothy Deakin --- plugins/adr/.eslintrc.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/adr/.eslintrc.js b/plugins/adr/.eslintrc.js index e2a53a6ad2..e487f765b2 100644 --- a/plugins/adr/.eslintrc.js +++ b/plugins/adr/.eslintrc.js @@ -1 +1,5 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { + rules: { + '@backstage/no-top-level-material-ui-4-imports': 'error', + }, +}); From 8ccfebe9515d7a05af387ea060c93ef253e49b47 Mon Sep 17 00:00:00 2001 From: Timothy Deakin Date: Thu, 14 Mar 2024 13:35:00 +0000 Subject: [PATCH 2/3] refactor: update material ui imports Signed-off-by: Timothy Deakin --- .../EntityAdrContent/EntityAdrContent.tsx | 23 ++++++++----------- .../src/search/AdrSearchResultListItem.tsx | 12 ++++------ 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx b/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx index 5c8d244d26..450592c41c 100644 --- a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx +++ b/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx @@ -41,19 +41,16 @@ import { useEntity, MissingAnnotationEmptyState, } from '@backstage/plugin-catalog-react'; -import { - Box, - Chip, - Collapse, - Grid, - List, - ListItem, - ListItemIcon, - ListItemText, - makeStyles, - Theme, - Typography, -} from '@material-ui/core'; +import Box from '@material-ui/core/Box'; +import Chip from '@material-ui/core/Chip'; +import Collapse from '@material-ui/core/Collapse'; +import Grid from '@material-ui/core/Grid'; +import List from '@material-ui/core/List'; +import ListItem from '@material-ui/core/ListItem'; +import ListItemIcon from '@material-ui/core/ListItemIcon'; +import ListItemText from '@material-ui/core/ListItemText'; +import Typography from '@material-ui/core/Typography'; +import { makeStyles, Theme } from '@material-ui/core/styles'; import ExpandLess from '@material-ui/icons/ExpandLess'; import ExpandMore from '@material-ui/icons/ExpandMore'; import FolderIcon from '@material-ui/icons/Folder'; diff --git a/plugins/adr/src/search/AdrSearchResultListItem.tsx b/plugins/adr/src/search/AdrSearchResultListItem.tsx index f0c408df48..5110b302a9 100644 --- a/plugins/adr/src/search/AdrSearchResultListItem.tsx +++ b/plugins/adr/src/search/AdrSearchResultListItem.tsx @@ -15,13 +15,11 @@ */ import React, { ReactNode } from 'react'; -import { - Box, - Chip, - ListItemIcon, - ListItemText, - makeStyles, -} from '@material-ui/core'; +import Box from '@material-ui/core/Box'; +import Chip from '@material-ui/core/Chip'; +import ListItemIcon from '@material-ui/core/ListItemIcon'; +import ListItemText from '@material-ui/core/ListItemText'; +import { makeStyles } from '@material-ui/core/styles'; import Typography from '@material-ui/core/Typography'; import { parseEntityRef } from '@backstage/catalog-model'; import { Link } from '@backstage/core-components'; From 38b92a071a89789c61fd9c0b82595276bb756f6f Mon Sep 17 00:00:00 2001 From: Timothy Deakin Date: Thu, 14 Mar 2024 13:45:30 +0000 Subject: [PATCH 3/3] feat: add changeset Signed-off-by: Timothy Deakin --- .changeset/seven-bags-perform.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/seven-bags-perform.md diff --git a/.changeset/seven-bags-perform.md b/.changeset/seven-bags-perform.md new file mode 100644 index 0000000000..4633ad3b4f --- /dev/null +++ b/.changeset/seven-bags-perform.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-adr': patch +--- + +Added ESLint rule `no-top-level-material-ui-4-imports` in the ADR plugin to migrate the Material UI imports.