diff --git a/crates/biome_js_analyze/src/semantic_analyzers/correctness/use_exhaustive_dependencies.rs b/crates/biome_js_analyze/src/semantic_analyzers/correctness/use_exhaustive_dependencies.rs index f7de9dc08021..adb8c4b85d6a 100644 --- a/crates/biome_js_analyze/src/semantic_analyzers/correctness/use_exhaustive_dependencies.rs +++ b/crates/biome_js_analyze/src/semantic_analyzers/correctness/use_exhaustive_dependencies.rs @@ -36,14 +36,11 @@ declare_rule! { /// - `useMemo` /// - `useImperativeHandle` /// - `useState` - /// - `useContext` /// - `useReducer` /// - `useRef` /// - `useDebugValue` /// - `useDeferredValue` /// - `useTransition` - /// - `useId` - /// - `useSyncExternalStore` /// /// If you want to add more hooks to the rule, check the [#options](options). /// @@ -180,7 +177,6 @@ impl Default for ReactExtensiveDependenciesOptions { ("useMemo".to_string(), (0, 1).into()), ("useImperativeHandle".to_string(), (1, 2).into()), ("useState".to_string(), ReactHookConfiguration::default()), - ("useContext".to_string(), ReactHookConfiguration::default()), ("useReducer".to_string(), ReactHookConfiguration::default()), ("useRef".to_string(), ReactHookConfiguration::default()), ( @@ -195,11 +191,6 @@ impl Default for ReactExtensiveDependenciesOptions { "useTransition".to_string(), ReactHookConfiguration::default(), ), - ("useId".to_string(), ReactHookConfiguration::default()), - ( - "useSyncExternalStore".to_string(), - ReactHookConfiguration::default(), - ), ]); let stable_config = FxHashSet::from_iter([ diff --git a/website/src/content/docs/linter/rules/use-exhaustive-dependencies.md b/website/src/content/docs/linter/rules/use-exhaustive-dependencies.md index 7d85f57acf40..8df5e9fb8f87 100644 --- a/website/src/content/docs/linter/rules/use-exhaustive-dependencies.md +++ b/website/src/content/docs/linter/rules/use-exhaustive-dependencies.md @@ -49,23 +49,23 @@ function component() {
correctness/useExhaustiveDependencies.js:5:5 lint/correctness/useExhaustiveDependencies ━━━━━━━━━━━━
 
    This hook does not specify all of its dependencies.
-
+  
     3 │ function component() {
     4 │     let a = 1;
   > 5 │     useEffect(() => {
        ^^^^^^^^^
     6 │         console.log(a);
     7 │     });
-
+  
    This dependency is not specified in the hook dependency list.
-
+  
     4 │     let a = 1;
     5 │     useEffect(() => {
   > 6 │         console.log(a);
                        ^
     7 │     });
     8 │ }
-
+  
 
```jsx @@ -81,23 +81,23 @@ function component() {
correctness/useExhaustiveDependencies.js:5:5 lint/correctness/useExhaustiveDependencies ━━━━━━━━━━━━
 
    This hook specifies more dependencies than necessary.
-
+  
     3 │ function component() {
     4 │     let b = 1;
   > 5 │     useEffect(() => {
        ^^^^^^^^^
     6 │     }, [b]);
     7 │ }
-
+  
    This dependency can be removed from the list.
-
+  
     4 │     let b = 1;
     5 │     useEffect(() => {
   > 6 │     }, [b]);
            ^
     7 │ }
     8 │ 
-
+  
 
```jsx @@ -115,23 +115,23 @@ function component() {
correctness/useExhaustiveDependencies.js:5:5 lint/correctness/useExhaustiveDependencies ━━━━━━━━━━━━
 
    This hook specifies more dependencies than necessary.
-
+  
     3 │ function component() {
     4 │     const [name, setName] = useState();
   > 5 │     useEffect(() => {
        ^^^^^^^^^
     6 │         console.log(name);
     7 │         setName("");
-
+  
    This dependency can be removed from the list.
-
+  
      6 │         console.log(name);
      7 │         setName("");
    > 8 │     }, [name, setName]);
                   ^^^^^^^
      9 │ }
     10 │ 
-
+  
 
```jsx @@ -149,23 +149,23 @@ function component() {
correctness/useExhaustiveDependencies.js:6:5 lint/correctness/useExhaustiveDependencies ━━━━━━━━━━━━
 
    This hook does not specify all of its dependencies.
-
+  
     4 │     let a = 1;
     5 │     const b = a + 1;
   > 6 │     useEffect(() => {
        ^^^^^^^^^
     7 │         console.log(b);
     8 │     });
-
+  
    This dependency is not specified in the hook dependency list.
-
+  
     5 │     const b = a + 1;
     6 │     useEffect(() => {
   > 7 │         console.log(b);
                        ^
     8 │     });
     9 │ }
-
+  
 
## Valid