diff --git a/.oxlintrc.json b/.oxlintrc.json index 1f94a614e6..9388ec771d 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -1,6 +1,14 @@ { "$schema": "./node_modules/oxlint/configuration_schema.json", - "plugins": ["eslint", "typescript", "unicorn", "oxc", "import"], + "plugins": [ + "eslint", + "typescript", + "unicorn", + "oxc", + "import", + "react", + "react-perf" + ], "jsPlugins": [ { "name": "mocha", diff --git a/packages/app-web-docs/src/docs/components/DynamicTOC.tsx b/packages/app-web-docs/src/docs/components/DynamicTOC.tsx index af7c50d162..9140b267fe 100644 --- a/packages/app-web-docs/src/docs/components/DynamicTOC.tsx +++ b/packages/app-web-docs/src/docs/components/DynamicTOC.tsx @@ -25,7 +25,7 @@ export function DynamicTOC({ } else { row.appendChild(toc); } - }, []); + }, [minHeadingLevel, maxHeadingLevel]); return null; } diff --git a/packages/app-web-docs/src/docs/components/ScrollToHashId.tsx b/packages/app-web-docs/src/docs/components/ScrollToHashId.tsx index 6f1219e55e..8ef34f5579 100644 --- a/packages/app-web-docs/src/docs/components/ScrollToHashId.tsx +++ b/packages/app-web-docs/src/docs/components/ScrollToHashId.tsx @@ -33,6 +33,7 @@ export function ScrollToHashId() { setTimeout(scrollToId, delay); } + // oxlint-disable-next-line eslint-plugin-react-hooks/exhaustive-deps }, []); return null; diff --git a/packages/lib-cheatsheet/src/lib/utils/useIsHighlighted.ts b/packages/lib-cheatsheet/src/lib/utils/useIsHighlighted.ts index a849ecba3f..feb8aebea1 100644 --- a/packages/lib-cheatsheet/src/lib/utils/useIsHighlighted.ts +++ b/packages/lib-cheatsheet/src/lib/utils/useIsHighlighted.ts @@ -29,7 +29,7 @@ const useHash = () => { return () => { window.removeEventListener("hashchange", onHashChange); }; - }, []); + }, [onHashChange]); return hash; }; diff --git a/packages/lib-vscode-tutorial-webview/src/App.tsx b/packages/lib-vscode-tutorial-webview/src/App.tsx index 5fb2e025da..4d8ffc03f1 100644 --- a/packages/lib-vscode-tutorial-webview/src/App.tsx +++ b/packages/lib-vscode-tutorial-webview/src/App.tsx @@ -21,7 +21,7 @@ export function App({ vscode }: Props) { ); vscode.postMessage({ type: "getInitialState" }); - }, []); + }, [vscode]); if (state == null) { // Just show nothing while we're waiting for initial state diff --git a/packages/lib-vscode-tutorial-webview/src/TutorialStep.tsx b/packages/lib-vscode-tutorial-webview/src/TutorialStep.tsx index 01d7c0bc0e..1394d6a952 100644 --- a/packages/lib-vscode-tutorial-webview/src/TutorialStep.tsx +++ b/packages/lib-vscode-tutorial-webview/src/TutorialStep.tsx @@ -55,9 +55,9 @@ export function TutorialStep({ state, vscode }: Props) { case "string": return {fragment.value}; case "command": - return ; + return ; case "term": - return "{fragment.value}"; + return "{fragment.value}"; default: { // Ensure we handle all cases const _unused: never = fragment;