diff --git a/crates/oxc_linter/src/context/mod.rs b/crates/oxc_linter/src/context/mod.rs index f463860124dd0..fc8484f1811b9 100644 --- a/crates/oxc_linter/src/context/mod.rs +++ b/crates/oxc_linter/src/context/mod.rs @@ -277,7 +277,7 @@ impl<'a> LintContext<'a> { (Some(message), None) => diagnostic.with_help(message.to_owned()), _ => diagnostic, }; - if self.parent.fix.can_apply(rule_fix.kind()) { + if self.parent.fix.can_apply(rule_fix.kind()) && !rule_fix.is_empty() { let fix = rule_fix.into_fix(self.source_text()); self.add_diagnostic(Message::new(diagnostic, Some(fix))); } else { diff --git a/crates/oxc_linter/src/service.rs b/crates/oxc_linter/src/service.rs index 297911c05762b..a2305eef2b8be 100644 --- a/crates/oxc_linter/src/service.rs +++ b/crates/oxc_linter/src/service.rs @@ -268,7 +268,9 @@ impl Runtime { // TODO: Span is wrong, ban this feature for file process by `PartialLoader`. if !is_processed_by_partial_loader && self.linter.options().fix.is_some() { let fix_result = Fixer::new(source_text, messages).fix(); - fs::write(path, fix_result.fixed_code.as_bytes()).unwrap(); + if fix_result.fixed { + fs::write(path, fix_result.fixed_code.as_bytes()).unwrap(); + } messages = fix_result.messages; }