Skip to content

Commit

Permalink
fix(linter): disable rule react/rules-of-hook by file extension (#8168
Browse files Browse the repository at this point in the history
)
  • Loading branch information
Sysix authored Dec 28, 2024
1 parent d8d2ec6 commit faf7464
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions crates/oxc_linter/src/rules/react/rules_of_hooks.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ use crate::{
context::LintContext,
rule::Rule,
utils::{is_react_component_or_hook_name, is_react_function_call, is_react_hook},
AstNode, FrameworkFlags,
AstNode,
};

mod diagnostics {
Expand Down Expand Up @@ -110,8 +110,9 @@ declare_oxc_lint!(
impl Rule for RulesOfHooks {
fn should_run(&self, ctx: &crate::rules::ContextHost) -> bool {
// disable this rule in vue/nuxt and svelte(kit) files
// top level useFunction are very common
!ctx.frameworks().contains(FrameworkFlags::SvelteKit | FrameworkFlags::Nuxt)
// react hook can be build in only `.ts` files,
// but `useX` functions are popular and can be false positive in other frameworks
!ctx.file_path().extension().is_some_and(|ext| ext == "vue" || ext == "svelte")
}

fn run<'a>(&self, node: &AstNode<'a>, ctx: &LintContext<'a>) {
Expand Down

0 comments on commit faf7464

Please sign in to comment.