diff --git a/crates/biome_cli/tests/cases/handle_vue_files.rs b/crates/biome_cli/tests/cases/handle_vue_files.rs index 6fd1d152ee18..e15e19737e47 100644 --- a/crates/biome_cli/tests/cases/handle_vue_files.rs +++ b/crates/biome_cli/tests/cases/handle_vue_files.rs @@ -1,7 +1,7 @@ use crate::run_cli; use crate::snap_test::{SnapshotPayload, assert_cli_snapshot}; use biome_console::BufferConsole; -use biome_fs::MemoryFileSystem; +use biome_fs::{FileSystemExt, MemoryFileSystem}; use bpaf::Args; use camino::Utf8Path; @@ -1448,3 +1448,56 @@ import { mdiSquareOutline } from "@mdi/js"; result, )); } + +#[test] +fn suppress_does_not_add_comments_for_imports_used_in_templates() { + let fs = MemoryFileSystem::default(); + let mut console = BufferConsole::default(); + + fs.insert( + "biome.json".into(), + r#"{ "html": { "linter": {"enabled": true}, "experimentalFullSupportEnabled": true } }"# + .as_bytes(), + ); + + let file = Utf8Path::new("file.vue"); + fs.insert( + file.into(), + r#" + + +"# + .as_bytes(), + ); + + let (fs, result) = run_cli( + fs, + &mut console, + Args::from(["lint", "--suppress", file.as_str()].as_slice()), + ); + + assert!(result.is_ok(), "run_cli returned {result:?}"); + + let mut buffer = String::new(); + fs.open(file).unwrap().read_to_string(&mut buffer).unwrap(); + + // Verify no suppression comment was added - the import should not be flagged + // as unused since it's used in the template + assert!( + !buffer.contains("biome-ignore"), + "Suppress should not add comments for imports used in templates. File content:\n{}", + buffer + ); + + assert_cli_snapshot(SnapshotPayload::new( + module_path!(), + "suppress_does_not_add_comments_for_imports_used_in_templates", + fs, + console, + result, + )); +} diff --git a/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/full_support.snap b/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/full_support.snap index 32db1d8e5604..9c91ef182f87 100644 --- a/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/full_support.snap +++ b/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/full_support.snap @@ -18,6 +18,7 @@ expression: redactor(content) ```astro --- +import s from "src/utils"; import { sure } from "sure.js"; import z from "zod"; @@ -60,22 +61,22 @@ check ━━━━━━━━━━━━━━━━━━━━━━━━ # Emitted Messages ```block -file.astro:9:1 lint/a11y/useHtmlLang ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +file.astro:10:1 lint/a11y/useHtmlLang ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Provide a lang attribute when using the html element. - 7 │ --- - 8 │ - > 9 │ + 8 │ --- + 9 │ + > 10 │ │ ^^^^^^ - > 10 │ - > 11 │ Astro - > 12 │ - > 13 │ - > 14 │ + > 11 │ + > 12 │ Astro + > 13 │ + > 14 │ + > 15 │ │ ^^^^^^^ - 15 │ - 16 │ - 10 │ + 10 │ } + 11 │ i background-color is already defined here. - 5 │ - 6 │ + 6 │ + 7 │ i Remove or rename the duplicate property to ensure consistent styling. diff --git a/crates/biome_service/src/file_handlers/javascript.rs b/crates/biome_service/src/file_handlers/javascript.rs index 485c76a79abb..b9cff37bdd31 100644 --- a/crates/biome_service/src/file_handlers/javascript.rs +++ b/crates/biome_service/src/file_handlers/javascript.rs @@ -1071,12 +1071,20 @@ pub(crate) fn fix_all(params: FixAllParams) -> Result