Skip to content

Commit aa92d8c

Browse files
Resolves: MTV-3544 | Enable disabled eslint rules (kubev2v#2078)
Signed-off-by: Jeffrey Phillips <[email protected]>
1 parent 0fe3914 commit aa92d8c

File tree

193 files changed

+1176
-897
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+1176
-897
lines changed

eslint-rules-disabled.ts

Lines changed: 0 additions & 17 deletions
This file was deleted.

eslint.config.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,12 @@ import tseslint from 'typescript-eslint';
1414
import cspellConfigs from '@cspell/eslint-plugin/configs';
1515
import eslint from '@eslint/js';
1616

17-
import disabledRules from './eslint-rules-disabled';
18-
1917
const fileName = fileURLToPath(import.meta.url);
2018
const dirName = dirname(fileName);
2119
const CSPELL_WORD_LIST = join(dirName, 'cspell.wordlist.txt');
2220
import type { Linter } from 'eslint';
2321

24-
export const createEslintConfig = (ideMode = false) =>
22+
export const createEslintConfig = () =>
2523
[
2624
{
2725
ignores: [
@@ -303,6 +301,11 @@ export const createEslintConfig = (ideMode = false) =>
303301
'@cspell/spellchecker': 'off',
304302
'no-console': 'off',
305303
'no-underscore-dangle': 'off',
304+
'@typescript-eslint/no-unsafe-argument': 'off',
305+
'@typescript-eslint/no-unsafe-assignment': 'off',
306+
'@typescript-eslint/no-unsafe-call': 'off',
307+
'@typescript-eslint/no-unsafe-member-access': 'off',
308+
'@typescript-eslint/no-unsafe-return': 'off',
306309
},
307310
},
308311
// Testing directory specific rules
@@ -330,7 +333,6 @@ export const createEslintConfig = (ideMode = false) =>
330333
},
331334
},
332335
prettier,
333-
...(process.env.HUSKY_LINT_STAGED || ideMode ? [] : [disabledRules]),
334336
] as Linter.Config[];
335337

336338
export default createEslintConfig();

eslint.ide.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
import { createEslintConfig } from './eslint.config';
2-
export default createEslintConfig(true);
2+
export default createEslintConfig();

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,12 @@
108108
"@types/react": "^18.3.8",
109109
"@types/react-dom": "^18.3.0",
110110
"@types/react-router": "^5.1.20",
111+
"@types/react-tagsinput": "^3.20.6",
111112
"@types/webpack-bundle-analyzer": "^4.7.0",
112113
"copy-webpack-plugin": "^11.0.0",
113114
"css-loader": "^7.1.2",
114115
"eslint": "^9.23.0",
115116
"eslint-config-prettier": "^10.1.1",
116-
"eslint-define-config": "^2.1.0",
117117
"eslint-interactive": "^11.1.0",
118118
"eslint-plugin-import": "^2.31.0",
119119
"eslint-plugin-perfectionist": "^4.10.1",

src/components/AffinityModal/AffinityEditModal.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { type Dispatch, type SetStateAction, useState } from 'react';
22

33
import type { ModalComponent } from '@openshift-console/dynamic-plugin-sdk/lib/app/modal-support/ModalProvider';
4-
import { Button, ButtonVariant, Modal, ModalVariant } from '@patternfly/react-core';
4+
import { Button, ButtonVariant } from '@patternfly/react-core';
5+
import { Modal, ModalVariant } from '@patternfly/react-core/deprecated';
56
import { useForkliftTranslation } from '@utils/i18n';
67

78
import { useIDEntities } from './hooks/useIDEntities';

src/components/AffinityModal/AffinityList.tsx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { affinityColumns } from './utils/constants';
77
import type { AffinityRowData } from './utils/types';
88
import AddAffinityRuleButton from './AddAffinityRuleButton';
99
import AffinityDescriptionText from './AffinityDescriptionText';
10-
import AffinityRow from './AffinityRow';
10+
import AffinityRow, { type AffinityRowDataProps } from './AffinityRow';
1111

1212
type AffinityListProps = {
1313
affinities: AffinityRowData[];
@@ -28,14 +28,8 @@ const AffinityList: FC<AffinityListProps> = ({
2828
<StackItem>
2929
<AffinityDescriptionText />
3030
</StackItem>
31-
<StackItem ata-testid="affinity-rules-list">
32-
<VirtualizedTable<
33-
AffinityRowData,
34-
{
35-
onDelete: (affinity: AffinityRowData) => void;
36-
onEdit: (affinity: AffinityRowData) => void;
37-
}
38-
>
31+
<StackItem data-testid="affinity-rules-list">
32+
<VirtualizedTable<AffinityRowData, AffinityRowDataProps>
3933
columns={columns}
4034
data={affinities ?? []}
4135
loaded

src/components/AffinityModal/AffinityModal.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { useState } from 'react';
22

33
import ModalForm from '@components/ModalForm/ModalForm';
44
import type { K8sIoApiCoreV1Affinity, K8sResourceCommon } from '@kubev2v/types';
5+
import type { V1beta1PlanSpecTargetAffinity } from '@kubev2v/types/dist/generated/forklift/models/V1beta1PlanSpecTargetAffinity';
56
import type { ModalComponent } from '@openshift-console/dynamic-plugin-sdk/lib/app/modal-support/ModalProvider';
67
import { ModalVariant } from '@patternfly/react-core';
78
import { isEmpty } from '@utils/helpers';
@@ -19,7 +20,7 @@ import AffinityList from './AffinityList';
1920
export type AffinityModalProps = {
2021
title?: string;
2122
onConfirm: (updatedAffinity: K8sIoApiCoreV1Affinity) => Promise<K8sResourceCommon>;
22-
initialAffinity: K8sIoApiCoreV1Affinity | undefined;
23+
initialAffinity: V1beta1PlanSpecTargetAffinity | undefined;
2324
};
2425

2526
const AffinityModal: ModalComponent<AffinityModalProps> = ({
@@ -98,7 +99,7 @@ const AffinityModal: ModalComponent<AffinityModalProps> = ({
9899
<ModalForm
99100
testId="affinity-modal"
100101
title={title ?? t('Affinity rules')}
101-
onConfirm={async () => onConfirm(rowsDataToAffinity(affinities) ?? {}) ?? {}}
102+
onConfirm={async () => onConfirm(rowsDataToAffinity(affinities) ?? {})}
102103
confirmLabel={t('Apply rules')}
103104
variant={ModalVariant.medium}
104105
{...rest}

src/components/AffinityModal/AffinityRow.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ import { AFFINITY_CONDITION_LABELS, AFFINITY_TYPE_LABELS } from './utils/constan
1010
import type { AffinityRowData } from './utils/types';
1111
import AffinityRowActionsDropdown from './AffinityRowActionsDropdown';
1212

13+
export type AffinityRowDataProps = {
14+
onDelete: (affinity: AffinityRowData) => void;
15+
onEdit: (affinity: AffinityRowData) => void;
16+
};
17+
1318
const AffinityRow: FC<
1419
RowProps<
1520
AffinityRowData,

src/components/AffinityModal/utils/affinityToRowsData.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import type {
2-
K8sIoApiCoreV1Affinity,
3-
K8sIoApiCoreV1NodeAffinity,
42
K8sIoApiCoreV1PodAffinity,
53
K8sIoApiCoreV1PodAntiAffinity,
64
K8sIoApimachineryPkgApisMetaV1LabelSelectorRequirement,
75
} from '@kubev2v/types';
6+
import type { V1beta1PlanSpecTargetAffinity } from '@kubev2v/types/dist/generated/forklift/models/V1beta1PlanSpecTargetAffinity';
7+
import type { V1beta1PlanSpecTargetAffinityNodeAffinity } from '@kubev2v/types/src/generated/forklift/models/V1beta1PlanSpecTargetAffinityNodeAffinity';
88

99
import { AffinityCondition, type AffinityRowData, AffinityType } from './types';
1010

@@ -13,7 +13,7 @@ const setIDsToEntity = (
1313
) => entity?.map((elm, index) => ({ ...elm, id: index }));
1414

1515
const getNodeAffinityRows = (
16-
nodeAffinity: K8sIoApiCoreV1NodeAffinity | undefined,
16+
nodeAffinity: V1beta1PlanSpecTargetAffinityNodeAffinity | undefined,
1717
): AffinityRowData[] => {
1818
const requiredTerms =
1919
nodeAffinity?.requiredDuringSchedulingIgnoredDuringExecution?.nodeSelectorTerms ?? [];
@@ -68,7 +68,7 @@ const getPodLikeAffinityRows = (
6868
return [...required, ...preferred] as AffinityRowData[];
6969
};
7070

71-
export const affinityToRowsData = (affinity: K8sIoApiCoreV1Affinity): AffinityRowData[] => [
71+
export const affinityToRowsData = (affinity: V1beta1PlanSpecTargetAffinity): AffinityRowData[] => [
7272
...getNodeAffinityRows(affinity?.nodeAffinity),
7373
...getPodLikeAffinityRows(affinity?.podAffinity),
7474
...getPodLikeAffinityRows(affinity?.podAntiAffinity, true),

src/components/AffinityViewDetailsItemContent/AffinityViewDetailsItemContent.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import type { FC } from 'react';
22

3-
import type { K8sIoApiCoreV1Affinity } from '@kubev2v/types';
3+
import type { V1beta1PlanSpecTargetAffinity } from '@kubev2v/types/dist/generated/forklift/models/V1beta1PlanSpecTargetAffinity';
44
import { Label } from '@patternfly/react-core';
55
import { useForkliftTranslation } from '@utils/i18n';
66

77
import { getAffinityRules } from './utils/getAffinityRules';
88

99
type AffinityViewDetailsItemContentProps = {
10-
affinity: K8sIoApiCoreV1Affinity | undefined;
10+
affinity: V1beta1PlanSpecTargetAffinity | undefined;
1111
};
1212

1313
const AffinityViewDetailsItemContent: FC<AffinityViewDetailsItemContentProps> = ({ affinity }) => {

0 commit comments

Comments
 (0)