diff --git a/crates/biome_cli/tests/cases/handle_astro_files.rs b/crates/biome_cli/tests/cases/handle_astro_files.rs
index 60f773b5df0e..1064e1577f64 100644
--- a/crates/biome_cli/tests/cases/handle_astro_files.rs
+++ b/crates/biome_cli/tests/cases/handle_astro_files.rs
@@ -913,3 +913,53 @@ fn use_import_type_not_triggered_for_enum_in_template() {
result,
));
}
+
+#[test]
+fn use_import_type_not_triggered_for_enum_in_template_v2() {
+ 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.astro");
+ fs.insert(
+ file.into(),
+ r#"---
+import { Avatar as AvatarPrimitive } from "bits-ui";
+import { cn } from "$lib/utils.js";
+
+let {
+ ref = $bindable(null),
+ class: className,
+}: AvatarPrimitive.FallbackProps = $props();
+---
+
+
+
+"#
+ .as_bytes(),
+ );
+
+ let (fs, result) = run_cli(
+ fs,
+ &mut console,
+ Args::from(["lint", "--only=useImportType", file.as_str()].as_slice()),
+ );
+
+ assert!(result.is_ok(), "run_cli returned {result:?}");
+
+ assert_cli_snapshot(SnapshotPayload::new(
+ module_path!(),
+ "use_import_type_not_triggered_for_enum_in_template_v2",
+ fs,
+ console,
+ result,
+ ));
+}
diff --git a/crates/biome_cli/tests/cases/handle_svelte_files.rs b/crates/biome_cli/tests/cases/handle_svelte_files.rs
index 1d6f0bf37aa8..fd31ae5e23c5 100644
--- a/crates/biome_cli/tests/cases/handle_svelte_files.rs
+++ b/crates/biome_cli/tests/cases/handle_svelte_files.rs
@@ -705,3 +705,53 @@ fn use_import_type_not_triggered_for_enum_in_template() {
result,
));
}
+
+#[test]
+fn use_import_type_not_triggered_for_enum_in_template_v2() {
+ 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.svelte");
+ fs.insert(
+ file.into(),
+ r#"
+
+
+
+"#
+ .as_bytes(),
+ );
+
+ let (fs, result) = run_cli(
+ fs,
+ &mut console,
+ Args::from(["lint", "--only=useImportType", file.as_str()].as_slice()),
+ );
+
+ assert!(result.is_ok(), "run_cli returned {result:?}");
+
+ assert_cli_snapshot(SnapshotPayload::new(
+ module_path!(),
+ "use_import_type_not_triggered_for_enum_in_template_v2",
+ fs,
+ console,
+ result,
+ ));
+}
diff --git a/crates/biome_cli/tests/cases/handle_vue_files.rs b/crates/biome_cli/tests/cases/handle_vue_files.rs
index bc6db8f15d0d..881bc9694aca 100644
--- a/crates/biome_cli/tests/cases/handle_vue_files.rs
+++ b/crates/biome_cli/tests/cases/handle_vue_files.rs
@@ -1140,33 +1140,90 @@ import Component from "./Component.vue"
));
}
-const VUE_ENUM_IN_TEMPLATE: &str = r#"
{{ FooEnum.Foo }}
-"#;
+"#
+ .as_bytes(),
+ );
+
+ let (fs, result) = run_cli(
+ fs,
+ &mut console,
+ Args::from(["lint", "--only=useImportType", file.as_str()].as_slice()),
+ );
+
+ assert!(result.is_ok(), "run_cli returned {result:?}");
+
+ assert_cli_snapshot(SnapshotPayload::new(
+ module_path!(),
+ "use_import_type_not_triggered_for_enum_in_template",
+ fs,
+ console,
+ result,
+ ));
+}
#[test]
-fn use_import_type_not_triggered_for_enum_in_template() {
+fn use_import_type_not_triggered_for_enum_in_template_v2() {
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(), VUE_ENUM_IN_TEMPLATE.as_bytes());
+ fs.insert(
+ file.into(),
+ r#"
+
+
+
+"#
+ .as_bytes(),
+ );
let (fs, result) = run_cli(
fs,
&mut console,
Args::from(["lint", "--only=useImportType", file.as_str()].as_slice()),
);
-
assert!(result.is_ok(), "run_cli returned {result:?}");
assert_cli_snapshot(SnapshotPayload::new(
module_path!(),
- "use_import_type_not_triggered_for_enum_in_template",
+ "use_import_type_not_triggered_for_enum_in_template_v2",
fs,
console,
result,
diff --git a/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/use_import_type_not_triggered_for_enum_in_template_v2.snap b/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/use_import_type_not_triggered_for_enum_in_template_v2.snap
new file mode 100644
index 000000000000..fad449ed7772
--- /dev/null
+++ b/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/use_import_type_not_triggered_for_enum_in_template_v2.snap
@@ -0,0 +1,41 @@
+---
+source: crates/biome_cli/tests/snap_test.rs
+expression: redactor(content)
+---
+## `biome.json`
+
+```json
+{
+ "html": {
+ "linter": { "enabled": true },
+ "experimentalFullSupportEnabled": true
+ }
+}
+```
+
+## `file.astro`
+
+```astro
+---
+import { Avatar as AvatarPrimitive } from "bits-ui";
+import { cn } from "$lib/utils.js";
+
+let {
+ ref = $bindable(null),
+ class: className,
+}: AvatarPrimitive.FallbackProps = $props();
+---
+
+
+
+
+```
+
+# Emitted Messages
+
+```block
+Checked 1 file in