ESLint: Add rule for duplicate imports
We had decent amount of import groups split into several imports, this adds a rule to output error when there's a duplicate import.
This commit is contained in:
parent
a0fe3644c3
commit
91b2cc2d10
27 changed files with 69 additions and 78 deletions
|
|
@ -86,6 +86,7 @@ module.exports = defineConfig([
|
|||
],
|
||||
pathGroupsExcludedImportTypes: ['react']
|
||||
}],
|
||||
'no-duplicate-imports': 'error',
|
||||
'prefer-const': ['error', {
|
||||
destructuring: 'any',
|
||||
}],
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@ import {
|
|||
Content,
|
||||
ContentVariants,
|
||||
} from '@patternfly/react-core';
|
||||
import { PlusCircleIcon } from '@patternfly/react-icons';
|
||||
import { ExternalLinkAltIcon } from '@patternfly/react-icons';
|
||||
import { ExternalLinkAltIcon, PlusCircleIcon } from '@patternfly/react-icons';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
|
||||
import FileSystemTable from './FileSystemTable';
|
||||
|
|
|
|||
|
|
@ -2,11 +2,12 @@ import React from 'react';
|
|||
|
||||
import {
|
||||
Alert,
|
||||
Button,
|
||||
Spinner,
|
||||
Content,
|
||||
ContentVariants,
|
||||
Popover,
|
||||
} from '@patternfly/react-core';
|
||||
import { Button, Popover } from '@patternfly/react-core';
|
||||
import { HelpIcon } from '@patternfly/react-icons';
|
||||
import { Table, Tbody, Td, Th, Thead, Tr } from '@patternfly/react-table';
|
||||
|
||||
|
|
|
|||
|
|
@ -14,11 +14,11 @@ import {
|
|||
import { ExclamationTriangleIcon } from '@patternfly/react-icons';
|
||||
|
||||
import {
|
||||
FSReviewTable,
|
||||
PackagesTable,
|
||||
RepositoriesTable,
|
||||
SnapshotTable,
|
||||
} from './ReviewStepTables';
|
||||
import { FSReviewTable } from './ReviewStepTables';
|
||||
|
||||
import {
|
||||
ON_PREM_RELEASES,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
import React, { useEffect, useState } from 'react';
|
||||
|
||||
import {
|
||||
HelperText,
|
||||
HelperTextItem,
|
||||
Select,
|
||||
SelectOption,
|
||||
SelectList,
|
||||
|
|
@ -12,8 +14,6 @@ import {
|
|||
Button,
|
||||
FormGroup,
|
||||
} from '@patternfly/react-core';
|
||||
import { HelperTextItem } from '@patternfly/react-core';
|
||||
import { HelperText } from '@patternfly/react-core';
|
||||
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
||||
|
||||
import { useAppDispatch, useAppSelector } from '../../../../../store/hooks';
|
||||
|
|
|
|||
|
|
@ -31,8 +31,7 @@ import {
|
|||
MODAL_ANCHOR,
|
||||
SEARCH_INPUT,
|
||||
} from '../../constants';
|
||||
import { useGetBlueprintsQuery } from '../../store/backendApi';
|
||||
import { useGetComposeStatusQuery } from '../../store/backendApi';
|
||||
import { useGetBlueprintsQuery, useGetComposeStatusQuery } from '../../store/backendApi';
|
||||
import {
|
||||
selectSelectedBlueprintId,
|
||||
selectBlueprintSearchInput,
|
||||
|
|
|
|||
|
|
@ -3,8 +3,7 @@ import React from 'react';
|
|||
import { Skeleton } from '@patternfly/react-core';
|
||||
|
||||
import { targetOptions } from '../../constants';
|
||||
import { useGetComposeClonesQuery } from '../../store/imageBuilderApi';
|
||||
import { ComposesResponseItem } from '../../store/imageBuilderApi';
|
||||
import { ComposesResponseItem, useGetComposeClonesQuery } from '../../store/imageBuilderApi';
|
||||
|
||||
type TargetPropTypes = {
|
||||
compose: ComposesResponseItem;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
// listenerMiddleware.ts
|
||||
// https://redux-toolkit.js.org/api/createListenerMiddleware#typescript-usage
|
||||
import { createListenerMiddleware, addListener } from '@reduxjs/toolkit';
|
||||
import type { TypedStartListening, TypedAddListener } from '@reduxjs/toolkit';
|
||||
import {
|
||||
createListenerMiddleware,
|
||||
addListener,
|
||||
type TypedStartListening,
|
||||
type TypedAddListener
|
||||
} from '@reduxjs/toolkit';
|
||||
|
||||
import type { RootState, AppDispatch } from './index';
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,12 @@ import { userEvent } from '@testing-library/user-event';
|
|||
import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants';
|
||||
import { mockBlueprintIds } from '../../../../fixtures/blueprints';
|
||||
import { detailsCreateBlueprintRequest } from '../../../../fixtures/editMode';
|
||||
import { clickNext, getNextButton } from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
goToRegistrationStep,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
|
|
|
|||
|
|
@ -10,15 +10,13 @@ import {
|
|||
} from '../../../../../constants';
|
||||
import { mockBlueprintIds } from '../../../../fixtures/blueprints';
|
||||
import { fscCreateBlueprintRequest } from '../../../../fixtures/editMode';
|
||||
import {
|
||||
clickNext,
|
||||
clickReviewAndFinish,
|
||||
getNextButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
clickReviewAndFinish,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
|
|
|
|||
|
|
@ -9,14 +9,15 @@ import {
|
|||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import { clickRegisterLater, renderCreateMode } from '../../wizardTestUtils';
|
||||
|
||||
let router: RemixRouter | undefined = undefined;
|
||||
|
||||
|
|
|
|||
|
|
@ -16,23 +16,21 @@ import {
|
|||
firstBootCreateBlueprintRequest,
|
||||
firstBootData,
|
||||
} from '../../../../fixtures/editMode';
|
||||
import {
|
||||
clickNext,
|
||||
clickReviewAndFinish,
|
||||
goToOscapStep,
|
||||
selectGuestImageTarget,
|
||||
getNextButton,
|
||||
selectRhel9,
|
||||
} from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
clickReviewAndFinish,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
goToOscapStep,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
selectGuestImageTarget,
|
||||
selectRhel9,
|
||||
} from '../../wizardTestUtils';
|
||||
|
||||
const goToFirstBootStep = async (): Promise<void> => {
|
||||
|
|
|
|||
|
|
@ -9,15 +9,16 @@ import {
|
|||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import { clickRegisterLater, renderCreateMode } from '../../wizardTestUtils';
|
||||
|
||||
let router: RemixRouter | undefined = undefined;
|
||||
|
||||
|
|
|
|||
|
|
@ -25,22 +25,20 @@ import {
|
|||
rhel9CreateBlueprintRequest,
|
||||
x86_64CreateBlueprintRequest,
|
||||
} from '../../../../fixtures/editMode';
|
||||
import {
|
||||
clickNext,
|
||||
getNextButton,
|
||||
openReleaseMenu,
|
||||
selectRhel9,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
imageRequest,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openReleaseMenu,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
selectRhel9,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import { goToDetailsStep } from '../Details/Details.test';
|
||||
|
||||
|
|
|
|||
|
|
@ -13,15 +13,16 @@ import {
|
|||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
selectRhel9,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import { clickRegisterLater, renderCreateMode } from '../../wizardTestUtils';
|
||||
|
||||
let router: RemixRouter | undefined = undefined;
|
||||
|
||||
|
|
|
|||
|
|
@ -9,14 +9,15 @@ import {
|
|||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import { clickRegisterLater, renderCreateMode } from '../../wizardTestUtils';
|
||||
|
||||
let router: RemixRouter | undefined = undefined;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants';
|
|||
import { CreateBlueprintRequest } from '../../../../../store/imageBuilderApi';
|
||||
import { mockBlueprintIds } from '../../../../fixtures/blueprints';
|
||||
import { complianceCreateBlueprintRequest } from '../../../../fixtures/editMode';
|
||||
import { clickNext, selectRhel9 } from '../../wizardTestUtils';
|
||||
import {
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
interceptBlueprintRequest,
|
||||
|
|
@ -14,6 +14,7 @@ import {
|
|||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
selectRhel9,
|
||||
} from '../../wizardTestUtils';
|
||||
|
||||
// Overwrite
|
||||
|
|
|
|||
|
|
@ -14,7 +14,10 @@ import {
|
|||
oscapCreateBlueprintRequest,
|
||||
} from '../../../../fixtures/editMode';
|
||||
import {
|
||||
clickNext,
|
||||
clickReviewAndFinish,
|
||||
enterBlueprintName,
|
||||
goToOscapStep,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
|
|
@ -23,11 +26,6 @@ import {
|
|||
selectGuestImageTarget,
|
||||
selectRhel9,
|
||||
} from '../../wizardTestUtils';
|
||||
import {
|
||||
clickNext,
|
||||
clickReviewAndFinish,
|
||||
goToOscapStep,
|
||||
} from '../../wizardTestUtils';
|
||||
|
||||
const selectRhel8 = async () => {
|
||||
const user = userEvent.setup();
|
||||
|
|
|
|||
|
|
@ -17,15 +17,10 @@ import {
|
|||
packagesCreateBlueprintRequest,
|
||||
} from '../../../../fixtures/editMode';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
clickReviewAndFinish,
|
||||
selectRhel9,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import { selectCustomRepo } from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
interceptBlueprintRequest,
|
||||
|
|
@ -33,6 +28,9 @@ import {
|
|||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
selectCustomRepo,
|
||||
selectRhel9,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
|
||||
const router: RemixRouter | undefined = undefined;
|
||||
|
|
|
|||
|
|
@ -14,13 +14,11 @@ import {
|
|||
repositoriesCreateBlueprintRequest,
|
||||
} from '../../../../fixtures/editMode';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
clickReviewAndFinish,
|
||||
} from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickRegisterLater,
|
||||
clickReviewAndFinish,
|
||||
enterBlueprintName,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
|
|
|
|||
|
|
@ -13,15 +13,16 @@ import {
|
|||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
interceptBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
interceptEditBlueprintRequest,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
verifyCancelButton,
|
||||
selectRhel9,
|
||||
} from '../../wizardTestUtils';
|
||||
import { clickRegisterLater, renderCreateMode } from '../../wizardTestUtils';
|
||||
|
||||
let router: RemixRouter | undefined = undefined;
|
||||
|
||||
|
|
|
|||
|
|
@ -10,15 +10,13 @@ import {
|
|||
expectedPayloadRepositories,
|
||||
snapshotCreateBlueprintRequest,
|
||||
} from '../../../../fixtures/editMode';
|
||||
import {
|
||||
clickNext,
|
||||
clickReviewAndFinish,
|
||||
getNextButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
clickReviewAndFinish,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
|
|
|
|||
|
|
@ -16,20 +16,18 @@ import { mockBlueprintIds } from '../../../../fixtures/blueprints';
|
|||
import { awsCreateBlueprintRequest } from '../../../../fixtures/editMode';
|
||||
import { server } from '../../../../mocks/server';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
getNextButton,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
|
||||
const goToAwsStep = async () => {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,7 @@ import { screen, waitFor, within } from '@testing-library/react';
|
|||
import { userEvent } from '@testing-library/user-event';
|
||||
import { http, HttpResponse } from 'msw';
|
||||
|
||||
import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants';
|
||||
import { PROVISIONING_API } from '../../../../../constants';
|
||||
import { CREATE_BLUEPRINT, EDIT_BLUEPRINT, PROVISIONING_API } from '../../../../../constants';
|
||||
import {
|
||||
CreateBlueprintRequest,
|
||||
ImageRequest,
|
||||
|
|
@ -13,20 +12,18 @@ import { mockBlueprintIds } from '../../../../fixtures/blueprints';
|
|||
import { azureCreateBlueprintRequest } from '../../../../fixtures/editMode';
|
||||
import { server } from '../../../../mocks/server';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
getNextButton,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
|
||||
// The router is just initiliazed here, it's assigned a value in the tests
|
||||
|
|
|
|||
|
|
@ -12,21 +12,19 @@ import {
|
|||
import { mockBlueprintIds } from '../../../../fixtures/blueprints';
|
||||
import { gcpCreateBlueprintRequest } from '../../../../fixtures/editMode';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
getNextButton,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import {
|
||||
blueprintRequest,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
imageRequest,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
|
||||
const GCP_ACCOUNT = 'test@gmail.com';
|
||||
|
|
|
|||
|
|
@ -9,14 +9,15 @@ import {
|
|||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import { clickRegisterLater, renderCreateMode } from '../../wizardTestUtils';
|
||||
|
||||
let router: RemixRouter | undefined = undefined;
|
||||
|
||||
|
|
|
|||
|
|
@ -9,16 +9,17 @@ import {
|
|||
blueprintRequest,
|
||||
clickBack,
|
||||
clickNext,
|
||||
clickRegisterLater,
|
||||
enterBlueprintName,
|
||||
getNextButton,
|
||||
interceptBlueprintRequest,
|
||||
interceptEditBlueprintRequest,
|
||||
openAndDismissSaveAndBuildModal,
|
||||
renderCreateMode,
|
||||
renderEditMode,
|
||||
selectGuestImageTarget,
|
||||
verifyCancelButton,
|
||||
} from '../../wizardTestUtils';
|
||||
import { clickRegisterLater, renderCreateMode } from '../../wizardTestUtils';
|
||||
|
||||
let router: RemixRouter | undefined = undefined;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue