Skip to content

Commit

Permalink
chore: add no unused imports biome rule (#5855)
Browse files Browse the repository at this point in the history
Adds a Biome rule for "no unused imports", which is something we
sometimes have trouble catching.

We're adding this as a warning for now. It is safely and easily fixable
with `yarn lint:fix`.


![image](https://github.com/Unleash/unleash/assets/14320932/fd84dea8-6b20-4ba5-bfd8-047b9dcf2bff)

![image](https://github.com/Unleash/unleash/assets/14320932/990bb0b0-760a-4c5e-8136-d957e902bf0b)
  • Loading branch information
nunogois committed Jan 11, 2024
1 parent 98fd3ce commit b496990
Show file tree
Hide file tree
Showing 195 changed files with 99 additions and 284 deletions.
6 changes: 3 additions & 3 deletions biome.json
Expand Up @@ -4,9 +4,6 @@
"enabled": true,
"rules": {
"recommended": true,
"performance": {
"noDelete": "off"
},
"correctness": {
"noUnsafeOptionalChaining": "off",
"useExhaustiveDependencies": "off"
Expand Down Expand Up @@ -35,6 +32,9 @@
"performance": {
"noAccumulatingSpread": "off",
"noDelete": "off"
},
"nursery": {
"noUnusedImports": "warn"
}
},
"ignore": [
Expand Down
4 changes: 0 additions & 4 deletions frontend/src/component/accessOverview/AccessOverview.tsx
@@ -1,7 +1,3 @@
import { ADMIN } from 'component/providers/AccessProvider/permissions';
import { PermissionGuard } from 'component/common/PermissionGuard/PermissionGuard';
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
import { PremiumFeature } from 'component/common/PremiumFeature/PremiumFeature';
import { IconButton } from '@mui/material';
import { Download } from '@mui/icons-material';
import { useAccessOverviewApi } from 'hooks/api/actions/useAccessOverviewApi/useAccessOverviewApi';
Expand Down
@@ -1,4 +1,4 @@
import React, { FC } from 'react';
import { FC } from 'react';
import { Box, Link, styled } from '@mui/material';

type SelectAllButtonProps = {
Expand Down
@@ -1,5 +1,4 @@
import { vi } from 'vitest';
import React from 'react';
import { screen, waitFor, within } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { render } from 'utils/testRenderer';
Expand Down
@@ -1,4 +1,4 @@
import React, { Fragment, useState, ChangeEvent, VFC } from 'react';
import { Fragment, useState, ChangeEvent, VFC } from 'react';
import {
Checkbox,
FormControlLabel,
Expand Down
@@ -1,4 +1,3 @@
import React from 'react';
import { render } from 'utils/testRenderer';
import { screen } from '@testing-library/react';
import { ProjectsList } from 'component/admin/apiToken/ProjectsList/ProjectsList';
Expand Down
@@ -1,4 +1,4 @@
import React, { ChangeEvent, Fragment } from 'react';
import { ChangeEvent, Fragment } from 'react';
import {
FormControl,
FormControlLabel,
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/component/admin/auth/SsoGroupSettings.tsx
@@ -1,4 +1,4 @@
import React, { Fragment } from 'react';
import React from 'react';
import { FormControlLabel, Grid, Switch, TextField } from '@mui/material';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';

Expand Down
1 change: 0 additions & 1 deletion frontend/src/component/admin/cors/CorsHelpAlert.tsx
@@ -1,4 +1,3 @@
import React from 'react';
import { Alert } from '@mui/material';

export const CorsHelpAlert = () => {
Expand Down
@@ -1,4 +1,3 @@
import React from 'react';
import { Alert } from '@mui/material';

export const MaintenanceTooltip = () => {
Expand Down
@@ -1,4 +1,3 @@
import React from 'react';
import { Dialogue } from 'component/common/Dialogue/Dialogue';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { REMOVE_USER_ERROR } from 'hooks/api/actions/useAdminUsersApi/useAdminUsersApi';
Expand Down
@@ -1,6 +1,6 @@
import React, { useState } from 'react';
import classnames from 'classnames';
import { Box, styled, TextField, Typography } from '@mui/material';
import { Box, styled, Typography } from '@mui/material';
import { modalStyles } from 'component/admin/users/util';
import { Dialogue } from 'component/common/Dialogue/Dialogue';
import { useThemeStyles } from 'themes/themeStyles';
Expand Down
1 change: 0 additions & 1 deletion frontend/src/component/admin/users/UsersList/UsersList.tsx
Expand Up @@ -34,7 +34,6 @@ import { UserLimitWarning } from './UserLimitWarning/UserLimitWarning';
import { RoleCell } from 'component/common/Table/cells/RoleCell/RoleCell';
import { useSearch } from 'hooks/useSearch';
import { Download } from '@mui/icons-material';
import { useUiFlag } from 'hooks/useUiFlag';
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';

const UsersList = () => {
Expand Down
Expand Up @@ -6,10 +6,7 @@ import {
UPDATE_FEATURE,
} from 'component/providers/AccessProvider/permissions';
import { PermissionHOC } from 'component/common/PermissionHOC/PermissionHOC';
import useProjectApi from 'hooks/api/actions/useProjectApi/useProjectApi';
import { formatUnknownError } from 'utils/formatUnknownError';
import { useFeaturesArchive } from 'hooks/api/getters/useFeaturesArchive/useFeaturesArchive';
import useToast from 'hooks/useToast';
import { ArchivedFeatureDeleteConfirm } from './ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm';
import { usePlausibleTracker } from 'hooks/usePlausibleTracker';
import { ArchivedFeatureReviveConfirm } from './ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm';
Expand Down
4 changes: 0 additions & 4 deletions frontend/src/component/archive/ArchiveTable/ArchiveTable.tsx
Expand Up @@ -17,15 +17,11 @@ import { DateCell } from 'component/common/Table/cells/DateCell/DateCell';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { Search } from 'component/common/Search/Search';
import { FeatureTypeCell } from 'component/common/Table/cells/FeatureTypeCell/FeatureTypeCell';
import { FeatureSeenCell } from 'component/common/Table/cells/FeatureSeenCell/FeatureSeenCell';
import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell';
import { ArchivedFeatureActionCell } from 'component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureActionCell';
import { featuresPlaceholder } from 'component/feature/FeatureToggleList/FeatureToggleListTable';
import theme from 'themes/theme';
import { FeatureSchema } from 'openapi';
import { useFeatureArchiveApi } from 'hooks/api/actions/useFeatureArchiveApi/useReviveFeatureApi';
import useToast from 'hooks/useToast';
import { formatUnknownError } from 'utils/formatUnknownError';
import { useSearch } from 'hooks/useSearch';
import { FeatureArchivedCell } from './FeatureArchivedCell/FeatureArchivedCell';
import { useSearchParams } from 'react-router-dom';
Expand Down
Expand Up @@ -5,7 +5,6 @@ import { formatUnknownError } from 'utils/formatUnknownError';
import useToast from 'hooks/useToast';
import useProjectApi from 'hooks/api/actions/useProjectApi/useProjectApi';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { useUiFlag } from '../../../../../hooks/useUiFlag';

interface IArchivedFeatureReviveConfirmProps {
revivedFeatures: string[];
Expand Down
@@ -1,5 +1,4 @@
import { Banner } from 'component/banners/Banner/Banner';
import { useLicenseCheck } from 'hooks/api/getters/useLicense/useLicense';
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
import { useVariant } from 'hooks/useVariant';
import { IBanner } from 'interfaces/banner';
Expand Down
@@ -1,4 +1,4 @@
import React, { VFC } from 'react';
import { VFC } from 'react';
import { Box, Typography } from '@mui/material';
import type { IChangeRequest } from '../changeRequest.types';
import { FeatureToggleChanges } from './Changes/FeatureToggleChanges';
Expand Down
@@ -1,4 +1,4 @@
import React, { useEffect, useRef, useState } from 'react';
import { useEffect, useRef, useState } from 'react';
import { FeatureStrategyForm } from 'component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyForm';
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
Expand Down
@@ -1,4 +1,3 @@
import React from 'react';
import { render } from 'utils/testRenderer';
import { screen } from '@testing-library/react';
import { FeatureChange } from './FeatureChange';
Expand Down
@@ -1,4 +1,4 @@
import React, { useEffect, useRef, useState } from 'react';
import { useEffect, useRef, useState } from 'react';
import { FeatureStrategyForm } from 'component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyForm';
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
Expand All @@ -8,7 +8,6 @@ import useToast from 'hooks/useToast';
import { IFeatureStrategy } from 'interfaces/strategy';
import { UPDATE_FEATURE_STRATEGY } from 'component/providers/AccessProvider/permissions';
import { ISegment } from 'interfaces/segment';
import { formatStrategyName } from 'utils/strategyNames';
import { useFormErrors } from 'hooks/useFormErrors';
import { useCollaborateData } from 'hooks/useCollaborateData';
import { useFeature } from 'hooks/api/getters/useFeature/useFeature';
Expand Down
@@ -1,6 +1,5 @@
import { screen } from '@testing-library/react';
import { render } from 'utils/testRenderer';
import React from 'react';
import { NameWithChangeInfo } from './NameWithChangeInfo';

test.each(['', undefined])(
Expand Down
@@ -1,5 +1,5 @@
import { Box } from '@mui/material';
import React, { FC, useState } from 'react';
import { FC, useState } from 'react';
import { Typography, Tooltip } from '@mui/material';
import TimeAgo from 'react-timeago';
import { IChangeRequest } from 'component/changeRequest/changeRequest.types';
Expand Down
@@ -1,4 +1,3 @@
import React from 'react';
import { vi } from 'vitest';
import { fireEvent, screen } from '@testing-library/react';
import { render } from 'utils/testRenderer';
Expand Down
@@ -1,4 +1,4 @@
import React, { FC } from 'react';
import { FC } from 'react';
import {
Box,
IconButton,
Expand Down
@@ -1,4 +1,4 @@
import React, { FC } from 'react';
import { FC } from 'react';
import { Typography } from '@mui/material';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { ChangeRequestApprover } from './ChangeRequestReviewer';
Expand Down
@@ -1,5 +1,5 @@
import { IChangeRequestApproval } from '../../changeRequest.types';
import React, { FC } from 'react';
import { FC } from 'react';
import { Typography } from '@mui/material';
import { ChangeRequestRejector } from './ChangeRequestReviewer';

Expand Down
@@ -1,5 +1,5 @@
import { Box, styled, Typography } from '@mui/material';
import React, { FC } from 'react';
import { FC } from 'react';
import { StyledAvatar } from '../ChangeRequestHeader/ChangeRequestHeader.styles';
import { CheckCircle, Cancel } from '@mui/icons-material';

Expand Down
@@ -1,5 +1,4 @@
import { render } from 'utils/testRenderer';
import React from 'react';
import { screen } from '@testing-library/react';
import { ChangeRequestReviewers } from './ChangeRequestReviewers';

Expand Down
@@ -1,5 +1,5 @@
import { Box, Paper, styled, Typography } from '@mui/material';
import React, { FC, ReactNode } from 'react';
import { FC, ReactNode } from 'react';
import { ConditionallyRender } from '../../../common/ConditionallyRender/ConditionallyRender';
import { ChangeRequestRejections } from './ChangeRequestRejections';
import { ChangeRequestApprovals } from './ChangeRequestApprovals';
Expand Down
@@ -1,4 +1,3 @@
import React from 'react';
import { screen } from '@testing-library/react';
import { render } from 'utils/testRenderer';
import { ChangeRequestTimeline, determineColor } from './ChangeRequestTimeline';
Expand Down
@@ -1,5 +1,5 @@
import { FC } from 'react';
import { Box, Paper, styled, Tooltip, Typography } from '@mui/material';
import { Box, Paper, styled, Typography } from '@mui/material';
import Timeline from '@mui/lab/Timeline';
import TimelineItem, { timelineItemClasses } from '@mui/lab/TimelineItem';
import TimelineSeparator from '@mui/lab/TimelineSeparator';
Expand Down
@@ -1,4 +1,4 @@
import React, { FC, useState } from 'react';
import { FC, useState } from 'react';
import {
Box,
Button,
Expand Down
@@ -1,4 +1,4 @@
import React, { FC, useState } from 'react';
import { FC, useState } from 'react';
import { screen } from '@testing-library/react';
import { ChangeRequestTitle } from './ChangeRequestTitle';
import { ChangeRequestState } from 'component/changeRequest/changeRequest.types';
Expand Down
@@ -1,9 +1,6 @@
import { VFC } from 'react';
import { TextCell } from 'component/common/Table/cells/TextCell/TextCell';
import {
ChangeRequestState,
IChangeRequest,
} from 'component/changeRequest/changeRequest.types';
import { IChangeRequest } from 'component/changeRequest/changeRequest.types';
import { ChangeRequestStatusBadge } from 'component/changeRequest/ChangeRequestStatusBadge/ChangeRequestStatusBadge';

interface IChangeRequestStatusCellProps {
Expand Down
1 change: 0 additions & 1 deletion frontend/src/component/changeRequest/UpdateCount.test.tsx
@@ -1,5 +1,4 @@
import { render } from 'utils/testRenderer';
import React from 'react';
import { UpdateCount } from './UpdateCount';
import { screen } from '@testing-library/react';

Expand Down
@@ -1,4 +1,4 @@
import React, { CSSProperties, useEffect, useState, useRef, FC } from 'react';
import { CSSProperties, useEffect, useState, useRef, FC } from 'react';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';

interface IAnimateOnMountProps {
Expand Down
@@ -1,4 +1,4 @@
import React, { ReactElement } from 'react';
import { ReactElement } from 'react';
import { ANNOUNCER_ELEMENT_TEST_ID } from 'utils/testIds';
import { styled } from '@mui/material';

Expand Down
@@ -1,4 +1,4 @@
import React, { ReactElement, useMemo, useState, ReactNode } from 'react';
import { ReactElement, useMemo, useState, ReactNode } from 'react';
import { AnnouncerContext } from '../AnnouncerContext/AnnouncerContext';
import { AnnouncerElement } from 'component/common/Announcer/AnnouncerElement/AnnouncerElement';

Expand Down
@@ -1,7 +1,6 @@
import { Tooltip, Box } from '@mui/material';
import { ReactComponent as CaseSensitive } from 'assets/icons/24_Text format.svg';
import { ReactComponent as CaseSensitiveOff } from 'assets/icons/24_Text format off.svg';
import React from 'react';
import {
StyledToggleButtonOff,
StyledToggleButtonOn,
Expand Down
@@ -1,11 +1,10 @@
import React, {
forwardRef,
Fragment,
Ref,
RefObject,
useImperativeHandle,
} from 'react';
import { Box, Button, styled, Tooltip } from '@mui/material';
import { Button, styled, Tooltip } from '@mui/material';
import { HelpOutline } from '@mui/icons-material';
import { IConstraint } from 'interfaces/strategy';
import { ConstraintAccordion } from 'component/common/ConstraintAccordion/ConstraintAccordion';
Expand Down
Expand Up @@ -3,7 +3,6 @@ import { ConstraintViewHeaderOperator } from './ConstraintViewHeaderOperator';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { ConstraintAccordionViewHeaderSingleValue } from './ConstraintAccordionViewHeaderSingleValue';
import { ConstraintAccordionViewHeaderMultipleValues } from './ConstraintAccordionViewHeaderMultipleValues';
import React from 'react';
import { IConstraint } from 'interfaces/strategy';

const StyledHeaderText = styled('span')(({ theme }) => ({
Expand Down
@@ -1,6 +1,6 @@
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { styled } from '@mui/material';
import React, { useEffect, useMemo, useState } from 'react';
import { useEffect, useMemo, useState } from 'react';
import { IConstraint } from 'interfaces/strategy';

const StyledValuesSpan = styled('span')(({ theme }) => ({
Expand Down
@@ -1,4 +1,4 @@
import React, { useEffect } from 'react';
import { useEffect } from 'react';
import { Chip, styled } from '@mui/material';
import { formatConstraintValue } from 'utils/formatConstraintValue';
import { IConstraint } from 'interfaces/strategy';
Expand Down
@@ -1,6 +1,5 @@
import { IConstraint } from 'interfaces/strategy';
import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription';
import React from 'react';
import { styled } from '@mui/material';

interface IConstraintOperatorProps {
Expand Down
Expand Up @@ -14,7 +14,7 @@ import {
numOperators,
inOperators,
} from 'constants/operators';
import React, { useState } from 'react';
import { useState } from 'react';
import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription';

interface IConstraintOperatorSelectProps {
Expand Down
@@ -1,5 +1,4 @@
import { vi } from 'vitest';
import React from 'react';
import { screen, waitFor } from '@testing-library/react';
import { render } from 'utils/testRenderer';
import { testServerRoute, testServerSetup } from 'utils/testServer';
Expand Down
@@ -1,5 +1,5 @@
import { Box } from '@mui/material';
import React, { FC, ReactNode, useEffect, useRef, useState } from 'react';
import { FC, ReactNode, useEffect, useRef, useState } from 'react';
import { StyledPopover } from 'component/filter/FilterItem/FilterItem.styles';
import { FilterItemChip } from 'component/filter/FilterItem/FilterItemChip/FilterItemChip';
import { DateCalendar, LocalizationProvider } from '@mui/x-date-pickers';
Expand Down
@@ -1,4 +1,3 @@
import React from 'react';
import { render } from '@testing-library/react';
import { Highlighter } from './Highlighter'; // adjust the import path accordingly

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/component/common/Highlighter/Highlighter.tsx
@@ -1,4 +1,4 @@
import { Fragment, VFC } from 'react';
import { VFC } from 'react';
import { safeRegExp } from '@server/util/escape-regex';
import { styled } from '@mui/material';

Expand Down
@@ -1,6 +1,5 @@
import { Button, styled } from '@mui/material';
import { IConstraint } from 'interfaces/strategy';
import { CANCEL } from '../ConstraintAccordionEdit';

import React from 'react';
import { newOperators } from 'constants/operators';
Expand Down
@@ -1,7 +1,6 @@
import { Tooltip, Box } from '@mui/material';
import { ReactComponent as CaseSensitive } from 'assets/icons/24_Text format.svg';
import { ReactComponent as CaseSensitiveOff } from 'assets/icons/24_Text format off.svg';
import React from 'react';
import {
StyledToggleButtonOff,
StyledToggleButtonOn,
Expand Down
Expand Up @@ -3,7 +3,6 @@ import { ConstraintViewHeaderOperator } from './ConstraintViewHeaderOperator';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { ConstraintAccordionViewHeaderSingleValue } from './ConstraintAccordionViewHeaderSingleValue';
import { ConstraintAccordionViewHeaderMultipleValues } from './ConstraintAccordionViewHeaderMultipleValues';
import React from 'react';
import { IConstraint } from 'interfaces/strategy';

const StyledHeaderText = styled('span')(({ theme }) => ({
Expand Down
@@ -1,6 +1,6 @@
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { styled } from '@mui/material';
import React, { useEffect, useMemo, useState } from 'react';
import { useEffect, useMemo, useState } from 'react';
import { IConstraint } from 'interfaces/strategy';

const StyledValuesSpan = styled('span')(({ theme }) => ({
Expand Down

0 comments on commit b496990

Please sign in to comment.