Skip to content

Commit d5df27e

Browse files
committed
Add react hooks plugin
Fixes Issue #60 Signed-off-by: Bipul Adhikari <[email protected]>
1 parent aa9d129 commit d5df27e

20 files changed

+38
-30
lines changed

.eslintrc.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ env:
22
browser: true
33
es2021: true
44
extends:
5-
- 'eslint:recommended'
6-
- 'plugin:@typescript-eslint/recommended'
7-
parser: '@typescript-eslint/parser'
5+
- "eslint:recommended"
6+
- "plugin:@typescript-eslint/recommended"
7+
- "plugin:react-hooks/recommended"
8+
parser: "@typescript-eslint/parser"
89
parserOptions:
910
ecmaVersion: 12
1011
sourceType: module
1112
plugins:
12-
- '@typescript-eslint'
13-
rules: {}
13+
- "@typescript-eslint"
14+
rules: { "@typescript-eslint/no-explicit-any": "off" }

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"build-upstream": "npm run clean && MODE=production ts-node -O '{\"module\": \"commonjs\"}' ./node_modules/webpack/bin/webpack",
1010
"betabuild-upstream": "npm run clean && MODE=production PUBLIC_PATH=/sizer.ocs.ninja/beta/ ts-node -O '{\"module\": \"commonjs\"}' ./node_modules/webpack/bin/webpack",
1111
"dev": "npm run clean && ts-node -O '{\"module\": \"commonjs\"}' ./node_modules/webpack/bin/webpack serve --port 9005",
12-
"lint": "./node_modules/.bin/eslint --ext '.js,.ts' src/",
12+
"lint": "./node_modules/.bin/eslint --ext '.js,.ts, .tsx' src/",
1313
"format": "./node_modules/.bin/prettier --write 'src/**/*.{ts,tsx}'"
1414
},
1515
"repository": {
@@ -44,6 +44,7 @@
4444
"copy-webpack-plugin": "^6.3.2",
4545
"css-loader": "^5.1.3",
4646
"eslint": "^7.15.0",
47+
"eslint-plugin-react-hooks": "^4.5.0",
4748
"extract-loader": "^5.1.0",
4849
"extract-text-webpack-plugin": "^3.0.2",
4950
"file-loader": "^6.2.0",

src/analytics/analytics.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export const useGetAnalyticClientID = (useDebug?: boolean): string => {
5959
console.log("Id for client is: ", id);
6060
})
6161
);
62-
}, [analyticsID]);
62+
}, [analyticsID, analytics]);
6363
return clientID;
6464
};
6565

@@ -74,7 +74,7 @@ const useAnalytics: UseAnalytics = (useDebug) => {
7474
GA4Initialized = initialized;
7575
return initialized;
7676
}
77-
}, [GA4Initialized]);
77+
}, [id]);
7878

7979
return gaItem;
8080
};

src/components/Compute/ComputePage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const Compute: React.FC = () => {
2424
const dispatch = useDispatch();
2525
const openCreateModal = React.useCallback(() => {
2626
dispatch(openModalAction(CM_MODAL_ID));
27-
}, []);
27+
}, [dispatch]);
2828

2929
const machines = useSelector((store: Store) => store.machineSet);
3030

src/components/Compute/InstanceFilter.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ const InstanceFilter: React.FC<InstanceFilterProps> = ({
7171
(item) => item < maxMem,
7272
memoryDropdownPoints
7373
);
74-
}, [minMem, maxMem, memoryDropdownPoints]);
74+
}, [maxMem, memoryDropdownPoints]);
7575

7676
const maxMemoryDropdownItems = React.useMemo(() => {
7777
return dropdownItemGenerator(
@@ -87,15 +87,15 @@ const InstanceFilter: React.FC<InstanceFilterProps> = ({
8787
(item) => item < maxCPU,
8888
cpuUnitPoints
8989
);
90-
}, [minCPU, maxCPU, cpuUnitPoints]);
90+
}, [maxCPU, cpuUnitPoints]);
9191

9292
const maxCPUDropdownItems = React.useMemo(() => {
9393
return dropdownItemGenerator(
9494
minCPU > 0 || maxCPU === 0,
9595
(item) => item > minCPU,
9696
cpuUnitPoints
9797
);
98-
}, [minCPU, maxCPU, memoryDropdownPoints]);
98+
}, [minCPU, maxCPU, cpuUnitPoints]);
9999

100100
const onSelect = (dropdownID: DropdownID) => (event: React.FormEvent) => {
101101
switch (dropdownID) {

src/components/Compute/MachineSetCreate.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ const MachineSetCreate: React.FC<MachineSetCreateProps> = ({
120120
/>
121121
);
122122
}),
123+
// eslint-disable-next-line react-hooks/exhaustive-deps
123124
[JSON.stringify(workloads)]
124125
);
125126

src/components/Compute/MachineSetEdit.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ const MachineSetEditModal: React.FC<WorkloadEditModalProps> = ({
4242
workloads.map((workload) => {
4343
return <SelectOption value={workload.name} key={workload.name} />;
4444
}),
45+
// eslint-disable-next-line react-hooks/exhaustive-deps
4546
[JSON.stringify(machines)]
4647
);
4748

src/components/Compute/SelectList.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ const SelectionList: React.FC<SelectionListProps> = ({
3232

3333
const onSelect = (
3434
_event: React.MouseEvent | React.ChangeEvent<Element>,
35-
selection: string | SelectOptionObject,
36-
_isPlaceholder?: boolean
35+
selection: string | SelectOptionObject
3736
) => {
3837
setInstance(selection);
3938
setOpen(false);

src/components/Modals/Modals.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import * as ReactDOM from "react-dom";
33
import { Provider } from "react-redux";
44
import { store } from "../../redux/store";
55

6+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
67
export const launchModal = (ModalComponent, props) => {
78
const domElement = document.getElementById("modal-container");
89

src/components/Modals/about.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import * as React from "react";
2-
import { Link } from "react-router-dom";
32
import {
43
Modal,
54
TextContent,

0 commit comments

Comments
 (0)