feat: add eslint rule for top level imports

Signed-off-by: Timothy Deakin <cftad@protonmail.com>
This commit is contained in:
Timothy Deakin
2024-04-13 17:58:25 +01:00
parent 22248747b8
commit 7a3789a41a
13 changed files with 32 additions and 12 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-ilert': patch
---
Added the `no-top-level-material-ui-4-imports` ESLint rule to aid with the migration to Material UI v5
+1
View File
@@ -1,5 +1,6 @@
module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
rules: {
quotes: ['error', 'single'],
'@backstage/no-top-level-material-ui-4-imports': 'error',
},
});
@@ -13,7 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { IconButton, Menu, MenuItem, Typography } from '@material-ui/core';
import IconButton from '@material-ui/core/IconButton';
import Menu from '@material-ui/core/Menu';
import MenuItem from '@material-ui/core/MenuItem';
import Typography from '@material-ui/core/Typography';
import MoreVertIcon from '@material-ui/icons/MoreVert';
import React from 'react';
import { ilertApiRef } from '../../api';
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { alertApiRef, useApi } from '@backstage/core-plugin-api';
import { Typography } from '@material-ui/core';
import Typography from '@material-ui/core/Typography';
import Button from '@material-ui/core/Button';
import Dialog from '@material-ui/core/Dialog';
import DialogActions from '@material-ui/core/DialogActions';
@@ -19,7 +19,7 @@ import {
identityApiRef,
useApi,
} from '@backstage/core-plugin-api';
import { Typography } from '@material-ui/core';
import Typography from '@material-ui/core/Typography';
import Button from '@material-ui/core/Button';
import Dialog from '@material-ui/core/Dialog';
import DialogActions from '@material-ui/core/DialogActions';
@@ -13,7 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Chip, withStyles } from '@material-ui/core';
import Chip from '@material-ui/core/Chip';
import { withStyles } from '@material-ui/core/styles';
import React from 'react';
import { ACCEPTED, Alert, PENDING, RESOLVED } from '../../types';
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import React from 'react';
import { Button } from '@material-ui/core';
import Button from '@material-ui/core/Button';
import { EmptyState } from '@backstage/core-components';
export const MissingAuthorizationHeaderError = () => (
@@ -13,7 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { IconButton, Menu, MenuItem, Typography } from '@material-ui/core';
import IconButton from '@material-ui/core/IconButton';
import Menu from '@material-ui/core/Menu';
import MenuItem from '@material-ui/core/MenuItem';
import Typography from '@material-ui/core/Typography';
import MoreVertIcon from '@material-ui/icons/MoreVert';
import React from 'react';
import { ilertApiRef } from '../../api';
@@ -13,7 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Chip, withStyles } from '@material-ui/core';
import Chip from '@material-ui/core/Chip';
import { withStyles } from '@material-ui/core/styles';
import React from 'react';
import {
DEGRADED,
@@ -23,11 +23,12 @@ import DialogActions from '@material-ui/core/DialogActions';
import DialogContent from '@material-ui/core/DialogContent';
import DialogTitle from '@material-ui/core/DialogTitle';
import Autocomplete from '@material-ui/lab/Autocomplete';
import { Typography } from '@material-ui/core';
import Typography from '@material-ui/core/Typography';
import { ilertApiRef } from '../../api';
import { useShiftOverride } from '../../hooks/useShiftOverride';
import { Shift } from '../../types';
import { DateTimePicker, MuiPickersUtilsProvider } from '@material-ui/pickers';
import DateTimePicker from '@material-ui/pickers/DateTimePicker';
import MuiPickersUtilsProvider from '@material-ui/pickers/MuiPickersUtilsProvider';
import LuxonUtils from '@date-io/luxon';
import { alertApiRef, useApi } from '@backstage/core-plugin-api';
@@ -13,7 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { IconButton, Menu, MenuItem, Typography } from '@material-ui/core';
import IconButton from '@material-ui/core/IconButton';
import Menu from '@material-ui/core/Menu';
import MenuItem from '@material-ui/core/MenuItem';
import Typography from '@material-ui/core/Typography';
import MoreVertIcon from '@material-ui/icons/MoreVert';
import React from 'react';
import { ilertApiRef } from '../../api';
@@ -13,7 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Chip, withStyles } from '@material-ui/core';
import Chip from '@material-ui/core/Chip';
import { withStyles } from '@material-ui/core/styles';
import React from 'react';
import {
DEGRADED,
@@ -13,7 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Chip, withStyles } from '@material-ui/core';
import Chip from '@material-ui/core/Chip';
import { withStyles } from '@material-ui/core/styles';
import React from 'react';
import { PRIVATE, PUBLIC, StatusPage } from '../../types';