Skip to content

Commit 40f6dab

Browse files
Copilotd10c
andcommitted
Fix React 19 useRef type errors and eslint config
Co-authored-by: d10c <[email protected]>
1 parent 8ca5bfe commit 40f6dab

File tree

9 files changed

+15
-11
lines changed

9 files changed

+15
-11
lines changed

extensions/ql-vscode/eslint.config.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ export default tseslint.config(
109109
extends: [
110110
react.configs.flat.recommended,
111111
react.configs.flat['jsx-runtime'],
112-
reactHooks.configs.flat['recommended-latest'],
112+
reactHooks.configs['recommended-latest'],
113113
storybook.configs['flat/recommended'],
114114
github.getFlatConfigs().react,
115115
],
@@ -128,7 +128,7 @@ export default tseslint.config(
128128
extends: [
129129
react.configs.flat.recommended,
130130
react.configs.flat['jsx-runtime'],
131-
reactHooks.configs.flat['recommended-latest'],
131+
reactHooks.configs['recommended-latest'],
132132
github.getFlatConfigs().react,
133133
],
134134
settings: {

extensions/ql-vscode/src/view/model-alerts/ModelAlertsResults.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ export const ModelAlertsResults = ({
7979
[modelAlerts.model],
8080
);
8181

82-
const ref = useRef<HTMLElement>();
82+
const ref = useRef<HTMLElement | undefined>(undefined);
8383

8484
useEffect(() => {
8585
if (

extensions/ql-vscode/src/view/model-editor/MethodRow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export type MethodRowProps = {
8585
export const MethodRow = (props: MethodRowProps) => {
8686
const { method, methodCanBeModeled, revealedMethodSignature } = props;
8787

88-
const ref = useRef<HTMLElement>();
88+
const ref = useRef<HTMLElement | undefined>(undefined);
8989

9090
useEffect(() => {
9191
if (method.signature === revealedMethodSignature) {

extensions/ql-vscode/src/view/results/AlertTablePathNodeRow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ interface Props {
1818
pathIndex: number;
1919
resultIndex: number;
2020
selectedItem: undefined | ResultKey;
21-
selectedItemRef: React.RefObject<HTMLTableRowElement>;
21+
selectedItemRef: React.RefObject<HTMLTableRowElement | null>;
2222
databaseUri: string;
2323
sourceLocationPrefix: string;
2424
run?: Run;

extensions/ql-vscode/src/view/results/AlertTablePathRow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export interface Props {
1919
resultIndex: number;
2020
currentPathExpanded: boolean;
2121
selectedItem: undefined | ResultKey;
22-
selectedItemRef: React.RefObject<HTMLTableRowElement>;
22+
selectedItemRef: React.RefObject<HTMLTableRowElement | null>;
2323
databaseUri: string;
2424
sourceLocationPrefix: string;
2525
run?: Run;

extensions/ql-vscode/src/view/results/AlertTableResultRow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export interface Props {
2020
resultIndex: number;
2121
expanded: Set<string>;
2222
selectedItem: undefined | ResultKey;
23-
selectedItemRef: React.RefObject<HTMLTableRowElement>;
23+
selectedItemRef: React.RefObject<HTMLTableRowElement | null>;
2424
databaseUri: string;
2525
sourceLocationPrefix: string;
2626
run?: Run;

extensions/ql-vscode/src/view/results/__tests__/AlertTablePathRow.spec.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import { createMockResults } from "../../../../test/factories/results/mockresult
55

66
describe(AlertTablePathRow.name, () => {
77
const render = (props?: Props) => {
8-
const mockRef = { current: null } as React.RefObject<HTMLTableRowElement>;
8+
const mockRef = {
9+
current: null,
10+
} as React.RefObject<HTMLTableRowElement | null>;
911
const results = createMockResults();
1012
const threadFlow = results[0]?.codeFlows?.[0]?.threadFlows?.[0];
1113

extensions/ql-vscode/src/view/results/__tests__/AlertTableResultRow.spec.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import { createMockResults } from "../../../../test/factories/results/mockresult
55

66
describe(AlertTableResultRow.name, () => {
77
const render = (props?: Props) => {
8-
const mockRef = { current: null } as React.RefObject<HTMLTableRowElement>;
8+
const mockRef = {
9+
current: null,
10+
} as React.RefObject<HTMLTableRowElement | null>;
911
const results = createMockResults();
1012

1113
reactRender(

extensions/ql-vscode/src/view/results/useScrollIntoView.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import type { RefObject } from "react";
22
import { useEffect } from "react";
33

4-
export function useScrollIntoView<T>(
4+
export function useScrollIntoView<T, E extends HTMLElement = HTMLElement>(
55
selectedElement: T | undefined,
6-
selectedElementRef: RefObject<HTMLElement>,
6+
selectedElementRef: RefObject<E | null>,
77
) {
88
useEffect(() => {
99
const element = selectedElementRef.current;

0 commit comments

Comments
 (0)