diff --git a/Cargo.lock b/Cargo.lock
index 94df744e5..64dcaaec5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -62,7 +62,7 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "biome_analyze"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_deserialize",
@@ -82,7 +82,7 @@ dependencies = [
[[package]]
name = "biome_analyze_macros"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"anyhow",
"biome_string_case",
@@ -96,7 +96,7 @@ dependencies = [
[[package]]
name = "biome_aria"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_aria_metadata",
]
@@ -104,7 +104,7 @@ dependencies = [
[[package]]
name = "biome_aria_metadata"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_deserialize",
"biome_deserialize_macros",
@@ -120,7 +120,7 @@ dependencies = [
[[package]]
name = "biome_cli"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"anyhow",
"biome_analyze",
@@ -182,7 +182,7 @@ dependencies = [
[[package]]
name = "biome_configuration"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_configuration_macros",
@@ -214,7 +214,7 @@ dependencies = [
[[package]]
name = "biome_configuration_macros"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_css_analyze",
@@ -236,7 +236,7 @@ dependencies = [
[[package]]
name = "biome_console"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_markup",
"biome_text_size",
@@ -250,7 +250,7 @@ dependencies = [
[[package]]
name = "biome_control_flow"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_rowan",
"rustc-hash 2.1.1",
@@ -259,7 +259,7 @@ dependencies = [
[[package]]
name = "biome_css_analyze"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_analyze_macros",
@@ -284,7 +284,7 @@ dependencies = [
[[package]]
name = "biome_css_factory"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_css_syntax",
"biome_rowan",
@@ -293,7 +293,7 @@ dependencies = [
[[package]]
name = "biome_css_formatter"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_css_syntax",
"biome_diagnostics",
@@ -306,7 +306,7 @@ dependencies = [
[[package]]
name = "biome_css_parser"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_css_factory",
@@ -321,7 +321,7 @@ dependencies = [
[[package]]
name = "biome_css_semantic"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_css_syntax",
"biome_formatter",
@@ -332,7 +332,7 @@ dependencies = [
[[package]]
name = "biome_css_syntax"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_rowan",
"biome_string_case",
@@ -344,7 +344,7 @@ dependencies = [
[[package]]
name = "biome_deserialize"
version = "0.6.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_diagnostics",
@@ -362,7 +362,7 @@ dependencies = [
[[package]]
name = "biome_deserialize_macros"
version = "0.6.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_string_case",
"proc-macro-error2",
@@ -374,7 +374,7 @@ dependencies = [
[[package]]
name = "biome_diagnostics"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"backtrace",
"biome_console",
@@ -397,7 +397,7 @@ dependencies = [
[[package]]
name = "biome_diagnostics_categories"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"quote",
"schemars",
@@ -408,7 +408,7 @@ dependencies = [
[[package]]
name = "biome_diagnostics_macros"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"proc-macro-error2",
"proc-macro2",
@@ -419,7 +419,7 @@ dependencies = [
[[package]]
name = "biome_flags"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
]
@@ -427,7 +427,7 @@ dependencies = [
[[package]]
name = "biome_formatter"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_deserialize",
@@ -448,7 +448,7 @@ dependencies = [
[[package]]
name = "biome_fs"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_diagnostics",
"camino",
@@ -469,7 +469,7 @@ dependencies = [
[[package]]
name = "biome_glob"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_deserialize",
"biome_deserialize_macros",
@@ -482,7 +482,7 @@ dependencies = [
[[package]]
name = "biome_graphql_analyze"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_analyze_macros",
@@ -505,7 +505,7 @@ dependencies = [
[[package]]
name = "biome_graphql_factory"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_graphql_syntax",
"biome_rowan",
@@ -514,7 +514,7 @@ dependencies = [
[[package]]
name = "biome_graphql_formatter"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_diagnostics",
"biome_formatter",
@@ -526,7 +526,7 @@ dependencies = [
[[package]]
name = "biome_graphql_parser"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_diagnostics",
@@ -542,7 +542,7 @@ dependencies = [
[[package]]
name = "biome_graphql_syntax"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_rowan",
"biome_string_case",
@@ -554,7 +554,7 @@ dependencies = [
[[package]]
name = "biome_grit_factory"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_grit_syntax",
"biome_rowan",
@@ -563,7 +563,7 @@ dependencies = [
[[package]]
name = "biome_grit_formatter"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_diagnostics_categories",
"biome_formatter",
@@ -575,7 +575,7 @@ dependencies = [
[[package]]
name = "biome_grit_parser"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_diagnostics",
@@ -593,7 +593,7 @@ dependencies = [
[[package]]
name = "biome_grit_patterns"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_console",
@@ -624,7 +624,7 @@ dependencies = [
[[package]]
name = "biome_grit_syntax"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_rowan",
"biome_string_case",
@@ -636,7 +636,7 @@ dependencies = [
[[package]]
name = "biome_html_analyze"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_analyze_macros",
@@ -659,7 +659,7 @@ dependencies = [
[[package]]
name = "biome_html_factory"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_html_syntax",
"biome_rowan",
@@ -668,7 +668,7 @@ dependencies = [
[[package]]
name = "biome_html_formatter"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_deserialize",
"biome_deserialize_macros",
@@ -686,7 +686,7 @@ dependencies = [
[[package]]
name = "biome_html_parser"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_diagnostics",
@@ -701,7 +701,7 @@ dependencies = [
[[package]]
name = "biome_html_syntax"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_rowan",
"biome_string_case",
@@ -713,7 +713,7 @@ dependencies = [
[[package]]
name = "biome_js_analyze"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_analyze_macros",
@@ -756,7 +756,7 @@ dependencies = [
[[package]]
name = "biome_js_factory"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_js_syntax",
"biome_rowan",
@@ -765,7 +765,7 @@ dependencies = [
[[package]]
name = "biome_js_formatter"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_deserialize",
"biome_deserialize_macros",
@@ -788,7 +788,7 @@ dependencies = [
[[package]]
name = "biome_js_parser"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_diagnostics",
@@ -811,7 +811,7 @@ dependencies = [
[[package]]
name = "biome_js_semantic"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_formatter",
"biome_js_syntax",
@@ -824,7 +824,7 @@ dependencies = [
[[package]]
name = "biome_js_syntax"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_aria",
"biome_aria_metadata",
@@ -839,7 +839,7 @@ dependencies = [
[[package]]
name = "biome_js_type_info"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_formatter",
"biome_js_syntax",
@@ -855,7 +855,7 @@ dependencies = [
[[package]]
name = "biome_js_type_info_macros"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"proc-macro-error2",
"proc-macro2",
@@ -866,7 +866,7 @@ dependencies = [
[[package]]
name = "biome_jsdoc_comment"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_formatter",
"biome_js_parser",
@@ -878,7 +878,7 @@ dependencies = [
[[package]]
name = "biome_json_analyze"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_analyze_macros",
@@ -898,7 +898,7 @@ dependencies = [
[[package]]
name = "biome_json_factory"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_json_syntax",
"biome_rowan",
@@ -907,7 +907,7 @@ dependencies = [
[[package]]
name = "biome_json_formatter"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_deserialize",
"biome_deserialize_macros",
@@ -924,7 +924,7 @@ dependencies = [
[[package]]
name = "biome_json_parser"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_diagnostics",
@@ -940,7 +940,7 @@ dependencies = [
[[package]]
name = "biome_json_syntax"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_rowan",
"biome_string_case",
@@ -953,7 +953,7 @@ dependencies = [
[[package]]
name = "biome_json_value"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_deserialize",
"biome_deserialize_macros",
@@ -967,7 +967,7 @@ dependencies = [
[[package]]
name = "biome_line_index"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_text_size",
"rustc-hash 2.1.1",
@@ -976,7 +976,7 @@ dependencies = [
[[package]]
name = "biome_lsp"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"anyhow",
"biome_analyze",
@@ -1007,7 +1007,7 @@ dependencies = [
[[package]]
name = "biome_lsp_converters"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"anyhow",
"biome_line_index",
@@ -1019,7 +1019,7 @@ dependencies = [
[[package]]
name = "biome_markup"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"proc-macro-error2",
"proc-macro2",
@@ -1029,7 +1029,7 @@ dependencies = [
[[package]]
name = "biome_migrate"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_configuration",
@@ -1047,7 +1047,7 @@ dependencies = [
[[package]]
name = "biome_module_graph"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_css_semantic",
@@ -1079,7 +1079,7 @@ dependencies = [
[[package]]
name = "biome_package"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_deserialize",
@@ -1102,7 +1102,7 @@ dependencies = [
[[package]]
name = "biome_parser"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_diagnostics",
@@ -1116,7 +1116,7 @@ dependencies = [
[[package]]
name = "biome_plugin_loader"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_console",
@@ -1145,7 +1145,7 @@ dependencies = [
[[package]]
name = "biome_project_layout"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_package",
"biome_parser",
@@ -1158,7 +1158,7 @@ dependencies = [
[[package]]
name = "biome_resolver"
version = "0.1.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_diagnostics",
@@ -1172,7 +1172,7 @@ dependencies = [
[[package]]
name = "biome_rowan"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_text_edit",
"biome_text_size",
@@ -1185,7 +1185,7 @@ dependencies = [
[[package]]
name = "biome_rule_options"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_deserialize",
@@ -1209,7 +1209,7 @@ dependencies = [
[[package]]
name = "biome_ruledoc_utils"
version = "0.0.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"anyhow",
"biome_analyze",
@@ -1228,7 +1228,7 @@ dependencies = [
[[package]]
name = "biome_service"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_configuration",
@@ -1301,7 +1301,7 @@ dependencies = [
[[package]]
name = "biome_string_case"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_rowan",
"caseless",
@@ -1310,7 +1310,7 @@ dependencies = [
[[package]]
name = "biome_suppression"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_console",
"biome_diagnostics",
@@ -1320,7 +1320,7 @@ dependencies = [
[[package]]
name = "biome_test_utils"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_analyze",
"biome_configuration",
@@ -1354,7 +1354,7 @@ dependencies = [
[[package]]
name = "biome_text_edit"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"biome_text_size",
"schemars",
@@ -1365,7 +1365,7 @@ dependencies = [
[[package]]
name = "biome_text_size"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"schemars",
"serde",
@@ -1374,12 +1374,12 @@ dependencies = [
[[package]]
name = "biome_ungrammar"
version = "0.3.1"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
[[package]]
name = "biome_unicode_table"
version = "0.5.7"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
[[package]]
name = "bitflags"
@@ -4320,7 +4320,7 @@ dependencies = [
[[package]]
name = "xtask_codegen"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"anyhow",
"biome_analyze",
@@ -4348,7 +4348,7 @@ dependencies = [
[[package]]
name = "xtask_glue"
version = "0.0.0"
-source = "git+https://github.com/biomejs/biome.git?rev=66ef5baf6325d324efcb3a1a527496406cfbf72e#66ef5baf6325d324efcb3a1a527496406cfbf72e"
+source = "git+https://github.com/biomejs/biome.git?rev=e0143366bd60eb6f123ea1325135754bf2107f34#e0143366bd60eb6f123ea1325135754bf2107f34"
dependencies = [
"anyhow",
]
diff --git a/Cargo.toml b/Cargo.toml
index 29b2cddac..fdb5f1c18 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -16,46 +16,46 @@
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
anyhow = "1.0.100"
- biome_analyze = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e", features = [
+ biome_analyze = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34", features = [
"schema",
] }
- biome_cli = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_configuration = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e", features = [
+ biome_cli = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_configuration = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34", features = [
"schema",
] }
- biome_console = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_css_analyze = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_css_parser = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_css_semantic = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_css_syntax = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_deserialize = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_diagnostics = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_flags = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_formatter = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_fs = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_graphql_analyze = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_graphql_parser = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_graphql_syntax = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_html_analyze = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_html_parser = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_html_syntax = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_js_analyze = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_js_formatter = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_js_parser = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_js_syntax = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_json_analyze = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_json_factory = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_json_formatter = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_json_parser = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_json_syntax = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_module_graph = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_project_layout = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_rowan = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_ruledoc_utils = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_service = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_string_case = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_test_utils = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
- biome_text_edit = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e" }
+ biome_console = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_css_analyze = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_css_parser = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_css_semantic = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_css_syntax = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_deserialize = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_diagnostics = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_flags = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_formatter = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_fs = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_graphql_analyze = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_graphql_parser = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_graphql_syntax = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_html_analyze = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_html_parser = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_html_syntax = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_js_analyze = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_js_formatter = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_js_parser = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_js_syntax = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_json_analyze = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_json_factory = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_json_formatter = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_json_parser = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_json_syntax = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_module_graph = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_project_layout = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_rowan = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_ruledoc_utils = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_service = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_string_case = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_test_utils = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
+ biome_text_edit = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34" }
bpaf = { version = "0.9.20", features = ["docgen"] }
# If you update this library, be aware of the breaking changes
camino = "1.2.2"
@@ -66,6 +66,6 @@
serde = "1.0.228"
serde_json = "1.0.145"
ureq = "3.1.4"
- xtask_codegen = { git = "https://github.com/biomejs/biome.git", rev = "66ef5baf6325d324efcb3a1a527496406cfbf72e", features = [
+ xtask_codegen = { git = "https://github.com/biomejs/biome.git", rev = "e0143366bd60eb6f123ea1325135754bf2107f34", features = [
"schema",
] }
diff --git a/package.json b/package.json
index e9ab7bda8..38fe15545 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,7 @@
"@astrojs/starlight": "0.37.6",
"@biomejs/biome": "2.3.14",
"@biomejs/version-utils": "0.4.0",
- "@biomejs/wasm-web": "https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@66ef5ba",
+ "@biomejs/wasm-web": "https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@e014336",
"@codemirror/lang-css": "6.3.1",
"@codemirror/lang-html": "6.4.11",
"@codemirror/lang-javascript": "6.2.4",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 975cdfe07..71b5f2413 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -40,8 +40,8 @@ importers:
specifier: ^0.4.0
version: 0.4.0
'@biomejs/wasm-web':
- specifier: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@66ef5ba
- version: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@66ef5ba
+ specifier: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@e014336
+ version: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@e014336
'@codemirror/lang-css':
specifier: 6.3.1
version: 6.3.1(@codemirror/view@6.39.12)
@@ -512,9 +512,9 @@ packages:
'@biomejs/version-utils@0.4.0':
resolution: {integrity: sha512-jboDhjZY8/bAPl2kgvjrbbyXyM6uimPsasY3TvFhSpPaNorij0UZROi/NjDQqQeZFSaIK3ieiRZXWwoBZh6rQQ==}
- '@biomejs/wasm-web@https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@66ef5ba':
- resolution: {integrity: sha512-xfgnu5+CUC9QmDl3XuktttbLCDLXWBsfTCMcWzh5hl5PWFoKAVY2+rUnw3+lBKtHMTicoh/Z2mc3eXN3fONLWA==, tarball: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@66ef5ba}
- version: 0.0.0-rev.66ef5baf6325d324efcb3a1a527496406cfbf72e
+ '@biomejs/wasm-web@https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@e014336':
+ resolution: {integrity: sha512-3eKhmO5ruaDKE3c4rUK3GKsSYmDFQT/1MZqYxJyWTPFRcbNynZ3eG81zOq3PJ5mBN6koy6z+lJ5y48cG+qpOvQ==, tarball: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@e014336}
+ version: 0.0.0-rev.e0143366bd60eb6f123ea1325135754bf2107f34
'@braintree/sanitize-url@7.1.1':
resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==}
@@ -7138,7 +7138,7 @@ snapshots:
undici: 6.21.3
yaml: 2.8.0
- '@biomejs/wasm-web@https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@66ef5ba': {}
+ '@biomejs/wasm-web@https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@e014336': {}
'@braintree/sanitize-url@7.1.1': {}
diff --git a/src/content/docs/linter/css/rules.mdx b/src/content/docs/linter/css/rules.mdx
index 9a9ae81a9..10b44632e 100644
--- a/src/content/docs/linter/css/rules.mdx
+++ b/src/content/docs/linter/css/rules.mdx
@@ -49,7 +49,6 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| Rule name | Description | Properties |
| --- | --- | --- |
| [noDeprecatedMediaType](/linter/rules/no-deprecated-media-type) | Disallow deprecated media types. | |
-| [noEmptySource](/linter/rules/no-empty-source) | Disallow empty sources. | |
| [noExcessiveLinesPerFile](/linter/rules/no-excessive-lines-per-file) | Restrict the number of lines in a file. | |
| [noHexColors](/linter/rules/no-hex-colors) | Disallow hex colors. | |
@@ -70,6 +69,7 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noDuplicateProperties](/linter/rules/no-duplicate-properties) | Disallow duplicate properties within declaration blocks. | |
| [noDuplicateSelectorsKeyframeBlock](/linter/rules/no-duplicate-selectors-keyframe-block) | Disallow duplicate selectors within keyframe blocks. | |
| [noEmptyBlock](/linter/rules/no-empty-block) | Disallow CSS empty blocks. | |
+| [noEmptySource](/linter/rules/no-empty-source) | Disallow empty sources. | |
| [noImportantInKeyframe](/linter/rules/no-important-in-keyframe) | Disallow invalid `!important` within keyframe declarations | |
| [noIrregularWhitespace](/linter/rules/no-irregular-whitespace) | Disallows the use of irregular whitespace characters. | |
| [noShorthandPropertyOverrides](/linter/rules/no-shorthand-property-overrides) | Disallow shorthand properties that override related longhand properties. | |
diff --git a/src/content/docs/linter/domains.mdx b/src/content/docs/linter/domains.mdx
index a97539d1a..7144bed0a 100644
--- a/src/content/docs/linter/domains.mdx
+++ b/src/content/docs/linter/domains.mdx
@@ -42,10 +42,10 @@ Enabled when the following dependencies are declared:
### Next rules
Rules that belong to the domain:
+- [noNextAsyncClientComponent](/linter/rules/no-next-async-client-component)
- [useExhaustiveDependencies](/linter/rules/use-exhaustive-dependencies) (recommended)
- [useHookAtTopLevel](/linter/rules/use-hook-at-top-level) (recommended)
- [noBeforeInteractiveScriptOutsideDocument](/linter/rules/no-before-interactive-script-outside-document) [(nursery)](/linter/#nursery)
-- [noNextAsyncClientComponent](/linter/rules/no-next-async-client-component) [(nursery)](/linter/#nursery)
- [noSyncScripts](/linter/rules/no-sync-scripts) [(nursery)](/linter/#nursery)
- [useInlineScriptId](/linter/rules/use-inline-script-id) [(nursery)](/linter/#nursery)
- [noImgElement](/linter/rules/no-img-element) (recommended)
@@ -91,11 +91,11 @@ Enabled the **all** rules of the domain:
Rules that belong to the domain:
- [noPrivateImports](/linter/rules/no-private-imports) (recommended)
- [noUndeclaredDependencies](/linter/rules/no-undeclared-dependencies)
+- [noUnresolvedImports](/linter/rules/no-unresolved-imports)
- [useImportExtensions](/linter/rules/use-import-extensions)
- [useJsonImportAttributes](/linter/rules/use-json-import-attributes)
-- [noDeprecatedImports](/linter/rules/no-deprecated-imports) [(nursery)](/linter/#nursery)
-- [noImportCycles](/linter/rules/no-import-cycles) [(nursery)](/linter/#nursery)
-- [noUnresolvedImports](/linter/rules/no-unresolved-imports) [(nursery)](/linter/#nursery)
+- [noDeprecatedImports](/linter/rules/no-deprecated-imports)
+- [noImportCycles](/linter/rules/no-import-cycles)
## Qwik
Use this domain inside Qwik projects. This domain enables rules that are specific to Qwik projects.
### Qwik activation
@@ -140,8 +140,8 @@ Rules that belong to the domain:
- [useImageSize](/linter/rules/use-image-size) (recommended)
- [useJsxKeyInIterable](/linter/rules/use-jsx-key-in-iterable) (recommended)
- [useQwikClasslist](/linter/rules/use-qwik-classlist) (recommended)
-- [useQwikMethodUsage](/linter/rules/use-qwik-method-usage) [(nursery)](/linter/#nursery)
-- [useQwikValidLexicalScope](/linter/rules/use-qwik-valid-lexical-scope) [(nursery)](/linter/#nursery)
+- [useQwikMethodUsage](/linter/rules/use-qwik-method-usage) (recommended)
+- [useQwikValidLexicalScope](/linter/rules/use-qwik-valid-lexical-scope) (recommended)
- [noReactSpecificProps](/linter/rules/no-react-specific-props) (recommended)
## React
Use this domain inside React projects. It enables a set of rules that can help catching bugs and enforce correct practices. This domain enable rules that might conflict with the Solid domain.
@@ -193,7 +193,6 @@ Rules that belong to the domain:
- [noDuplicatedSpreadProps](/linter/rules/no-duplicated-spread-props) [(nursery)](/linter/#nursery)
- [noJsxPropsBind](/linter/rules/no-jsx-props-bind) [(nursery)](/linter/#nursery)
- [noLeakedRender](/linter/rules/no-leaked-render) [(nursery)](/linter/#nursery)
-- [noReactForwardRef](/linter/rules/no-react-forward-ref) [(nursery)](/linter/#nursery)
- [noSyncScripts](/linter/rules/no-sync-scripts) [(nursery)](/linter/#nursery)
- [noUnknownAttribute](/linter/rules/no-unknown-attribute) [(nursery)](/linter/#nursery)
- [noDangerouslySetInnerHtml](/linter/rules/no-dangerously-set-inner-html) (recommended)
@@ -201,6 +200,7 @@ Rules that belong to the domain:
- [useComponentExportOnlyModules](/linter/rules/use-component-export-only-modules)
- [useReactFunctionComponents](/linter/rules/use-react-function-components)
- [noArrayIndexKey](/linter/rules/no-array-index-key) (recommended)
+- [noReactForwardRef](/linter/rules/no-react-forward-ref)
## Solid
Use this domain inside Solid projects. This domain enables rules that might conflict with the React domain.
### Solid activation
@@ -406,9 +406,6 @@ Enable the **recommended, non-nursery** rules of the domain:
}
}
```
-
-:::note[No recommended rules]
-Since all rules in this domain are nursery rules, no rules will be activated when enabling the domain. You need to enable the single rules.:::#
Enabled the **all** rules of the domain:
```json title="biome.json" ins={3-5}
{
@@ -435,13 +432,13 @@ Enabled when the following dependencies are declared:
### Vue rules
Rules that belong to the domain:
+- [noVueDataObjectDeclaration](/linter/rules/no-vue-data-object-declaration) (recommended)
+- [noVueDuplicateKeys](/linter/rules/no-vue-duplicate-keys) (recommended)
+- [noVueReservedKeys](/linter/rules/no-vue-reserved-keys) (recommended)
+- [noVueReservedProps](/linter/rules/no-vue-reserved-props) (recommended)
+- [noVueSetupPropsReactivityLoss](/linter/rules/no-vue-setup-props-reactivity-loss)
- [noVueArrowFuncInWatch](/linter/rules/no-vue-arrow-func-in-watch) [(nursery)](/linter/#nursery)
-- [noVueDataObjectDeclaration](/linter/rules/no-vue-data-object-declaration) [(nursery)](/linter/#nursery)
-- [noVueDuplicateKeys](/linter/rules/no-vue-duplicate-keys) [(nursery)](/linter/#nursery)
- [noVueOptionsApi](/linter/rules/no-vue-options-api) [(nursery)](/linter/#nursery)
-- [noVueReservedKeys](/linter/rules/no-vue-reserved-keys) [(nursery)](/linter/#nursery)
-- [noVueReservedProps](/linter/rules/no-vue-reserved-props) [(nursery)](/linter/#nursery)
-- [noVueSetupPropsReactivityLoss](/linter/rules/no-vue-setup-props-reactivity-loss) [(nursery)](/linter/#nursery)
- [useVueConsistentDefinePropsDeclaration](/linter/rules/use-vue-consistent-define-props-declaration) [(nursery)](/linter/#nursery)
- [useVueDefineMacrosOrder](/linter/rules/use-vue-define-macros-order) [(nursery)](/linter/#nursery)
- [useVueMultiWordComponentNames](/linter/rules/use-vue-multi-word-component-names) [(nursery)](/linter/#nursery)
diff --git a/src/content/docs/linter/graphql/rules.mdx b/src/content/docs/linter/graphql/rules.mdx
index bbfba94bc..f3be2ce40 100644
--- a/src/content/docs/linter/graphql/rules.mdx
+++ b/src/content/docs/linter/graphql/rules.mdx
@@ -31,11 +31,9 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noDuplicateGraphqlOperationName](/linter/rules/no-duplicate-graphql-operation-name) | Enforce unique operation names across a GraphQL document. | |
| [noDuplicateInputFieldNames](/linter/rules/no-duplicate-input-field-names) | Require fields within an input object to be unique. | |
| [noDuplicateVariableNames](/linter/rules/no-duplicate-variable-names) | Require all variable definitions to be unique. | |
-| [noEmptySource](/linter/rules/no-empty-source) | Disallow empty sources. | |
| [noExcessiveLinesPerFile](/linter/rules/no-excessive-lines-per-file) | Restrict the number of lines in a file. | |
| [noRootType](/linter/rules/no-root-type) | Disallow the usage of specified root types | |
| [useConsistentGraphqlDescriptions](/linter/rules/use-consistent-graphql-descriptions) | Require all descriptions to follow the same style (either block or inline) to maintain consistency and improve readability across the schema. | |
-| [useDeprecatedDate](/linter/rules/use-deprecated-date) | Require the `@deprecated` directive to specify a deletion date. | |
| [useInputName](/linter/rules/use-input-name) | Require mutation argument to be always called "input" | |
| [useLoneAnonymousOperation](/linter/rules/use-lone-anonymous-operation) | Disallow anonymous operations when more than one operation specified in document. | |
| [useLoneExecutableDefinition](/linter/rules/use-lone-executable-definition) | Require queries, mutations, subscriptions or fragments each to be located in separate files. | |
@@ -52,6 +50,8 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| Rule name | Description | Properties |
| --- | --- | --- |
| [noDuplicateFields](/linter/rules/no-duplicate-fields) | No duplicated fields in GraphQL operations. | |
+| [noEmptySource](/linter/rules/no-empty-source) | Disallow empty sources. | |
+| [useDeprecatedDate](/linter/rules/use-deprecated-date) | Require the `@deprecated` directive to specify a deletion date. | |
## Recommended rules
- [useGraphqlNamedOperations](/linter/rules/use-graphql-named-operations) (Severity: [error](/reference/diagnostics#error))
- [useDeprecatedReason](/linter/rules/use-deprecated-reason) (Severity: [warning](/reference/diagnostics#warning))
diff --git a/src/content/docs/linter/javascript/rules.mdx b/src/content/docs/linter/javascript/rules.mdx
index cc789353a..59b6c038d 100644
--- a/src/content/docs/linter/javascript/rules.mdx
+++ b/src/content/docs/linter/javascript/rules.mdx
@@ -75,6 +75,7 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noStaticOnlyClass](/linter/rules/no-static-only-class) | This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace. | |
| [noThisInStatic](/linter/rules/no-this-in-static) | Disallow `this` and `super` in `static` contexts. | |
| [noUselessCatch](/linter/rules/no-useless-catch) | Disallow unnecessary `catch` clauses. | |
+| [noUselessCatchBinding](/linter/rules/no-useless-catch-binding) | Disallow unused catch bindings. | |
| [noUselessConstructor](/linter/rules/no-useless-constructor) | Disallow unnecessary constructors. | |
| [noUselessContinue](/linter/rules/no-useless-continue) | Avoid using unnecessary `continue`. | |
| [noUselessEmptyExport](/linter/rules/no-useless-empty-export) | Disallow empty exports that don't change anything in a module file. | |
@@ -89,6 +90,7 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noUselessTernary](/linter/rules/no-useless-ternary) | Disallow ternary operators when simpler alternatives exist. | |
| [noUselessThisAlias](/linter/rules/no-useless-this-alias) | Disallow useless `this` aliasing. | |
| [noUselessTypeConstraint](/linter/rules/no-useless-type-constraint) | Disallow using `any` or `unknown` as type constraint. | |
+| [noUselessUndefined](/linter/rules/no-useless-undefined) | Disallow the use of useless `undefined`. | |
| [noUselessUndefinedInitialization](/linter/rules/no-useless-undefined-initialization) | Disallow initializing variables to `undefined`. | |
| [noVoid](/linter/rules/no-void) | Disallow the use of `void` operators, which is not a familiar operator. | |
| [useArrowFunction](/linter/rules/use-arrow-function) | Use arrow functions over function expressions. | |
@@ -96,6 +98,7 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [useFlatMap](/linter/rules/use-flat-map) | Promotes the use of `.flatMap()` when `map().flat()` are used together. | |
| [useIndexOf](/linter/rules/use-index-of) | Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item. | |
| [useLiteralKeys](/linter/rules/use-literal-keys) | Enforce the usage of a literal access to properties over computed property access. | |
+| [useMaxParams](/linter/rules/use-max-params) | Enforce a maximum number of parameters in function definitions. | |
| [useNumericLiterals](/linter/rules/use-numeric-literals) | Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals | |
| [useOptionalChain](/linter/rules/use-optional-chain) | Enforce using concise optional chain instead of chained logical expressions. | |
| [useRegexLiterals](/linter/rules/use-regex-literals) | Enforce the use of the regular expression literals instead of the RegExp constructor if possible. | |
@@ -121,6 +124,7 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noInvalidConstructorSuper](/linter/rules/no-invalid-constructor-super) | Prevents the incorrect use of `super()` inside classes. It also checks whether a call `super()` is missing from classes that extends other constructors. | |
| [noInvalidUseBeforeDeclaration](/linter/rules/no-invalid-use-before-declaration) | Disallow the use of variables, function parameters, classes, and enums before their declaration | |
| [noNestedComponentDefinitions](/linter/rules/no-nested-component-definitions) | Disallows defining React components inside other components. | |
+| [noNextAsyncClientComponent](/linter/rules/no-next-async-client-component) | Prevent client components from being async functions. | |
| [noNodejsModules](/linter/rules/no-nodejs-modules) | Forbid the use of Node.js builtin modules. | |
| [noNonoctalDecimalEscape](/linter/rules/no-nonoctal-decimal-escape) | Disallow `\8` and `\9` escape sequences in string literals. | |
| [noPrecisionLoss](/linter/rules/no-precision-loss) | Disallow literal numbers that lose precision | |
@@ -139,6 +143,7 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noUndeclaredVariables](/linter/rules/no-undeclared-variables) | Prevents the usage of variables that haven't been declared inside the document. | |
| [noUnreachable](/linter/rules/no-unreachable) | Disallow unreachable code | |
| [noUnreachableSuper](/linter/rules/no-unreachable-super) | Ensures the `super()` constructor is called exactly once on every code path in a class constructor before `this` is accessed if the class has a superclass | |
+| [noUnresolvedImports](/linter/rules/no-unresolved-imports) | Warn when importing non-existing exports. | |
| [noUnsafeFinally](/linter/rules/no-unsafe-finally) | Disallow control flow statements in finally blocks. | |
| [noUnsafeOptionalChaining](/linter/rules/no-unsafe-optional-chaining) | Disallow the use of optional chaining in contexts where the undefined value is not allowed. | |
| [noUnusedFunctionParameters](/linter/rules/no-unused-function-parameters) | Disallow unused function parameters. | |
@@ -148,6 +153,11 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noUnusedVariables](/linter/rules/no-unused-variables) | Disallow unused variables. | |
| [noVoidElementsWithChildren](/linter/rules/no-void-elements-with-children) | This rules prevents void elements (AKA self-closing elements) from having children. | |
| [noVoidTypeReturn](/linter/rules/no-void-type-return) | Disallow returning a value from a function with the return type 'void' | |
+| [noVueDataObjectDeclaration](/linter/rules/no-vue-data-object-declaration) | Enforce that Vue component `data` options are declared as functions. | |
+| [noVueDuplicateKeys](/linter/rules/no-vue-duplicate-keys) | Disallow duplicate keys in Vue component data, methods, computed properties, and other options. | |
+| [noVueReservedKeys](/linter/rules/no-vue-reserved-keys) | Disallow reserved keys in Vue component data and computed properties. | |
+| [noVueReservedProps](/linter/rules/no-vue-reserved-props) | Disallow reserved names to be used as props. | |
+| [noVueSetupPropsReactivityLoss](/linter/rules/no-vue-setup-props-reactivity-loss) | Disallow destructuring of `props` passed to `setup` in Vue projects. | |
| [useExhaustiveDependencies](/linter/rules/use-exhaustive-dependencies) | Enforce correct dependency usage within React hooks. | |
| [useHookAtTopLevel](/linter/rules/use-hook-at-top-level) | Enforce that all React hooks are being called from the Top Level component functions. | |
| [useImageSize](/linter/rules/use-image-size) | Enforces that `` elements have both width and height attributes. | |
@@ -157,6 +167,8 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [useJsxKeyInIterable](/linter/rules/use-jsx-key-in-iterable) | Disallow missing key props in iterators/collection literals. | |
| [useParseIntRadix](/linter/rules/use-parse-int-radix) | Enforce the consistent use of the radix argument when using `parseInt()`. | |
| [useQwikClasslist](/linter/rules/use-qwik-classlist) | Prefer using the `class` prop as a classlist over the `classnames` helper. | |
+| [useQwikMethodUsage](/linter/rules/use-qwik-method-usage) | Disallow `use*` hooks outside of `component$` or other `use*` hooks in Qwik applications. | |
+| [useQwikValidLexicalScope](/linter/rules/use-qwik-valid-lexical-scope) | Disallow unserializable expressions in Qwik dollar ($) scopes. | |
| [useSingleJsDocAsterisk](/linter/rules/use-single-js-doc-asterisk) | Enforce JSDoc comment lines to start with a single asterisk, except for the first one. | |
| [useUniqueElementIds](/linter/rules/use-unique-element-ids) | Prevent the usage of static string literal `id` attribute on elements. | |
| [useValidForDirection](/linter/rules/use-valid-for-direction) | Enforce "for" loop update clause moving the counter in the right direction. | |
@@ -170,30 +182,24 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noAmbiguousAnchorText](/linter/rules/no-ambiguous-anchor-text) | Disallow ambiguous anchor descriptions. | |
| [noBeforeInteractiveScriptOutsideDocument](/linter/rules/no-before-interactive-script-outside-document) | Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js` in a Next.js project. | |
| [noContinue](/linter/rules/no-continue) | Disallow continue statements. | |
-| [noDeprecatedImports](/linter/rules/no-deprecated-imports) | Restrict imports of deprecated exports. | |
| [noDivRegex](/linter/rules/no-div-regex) | Disallow equal signs explicitly at the beginning of regular expressions. | |
| [noDuplicateEnumValues](/linter/rules/no-duplicate-enum-values) | Disallow duplicate enum member values. | |
| [noDuplicatedSpreadProps](/linter/rules/no-duplicated-spread-props) | Disallow JSX prop spreading the same identifier multiple times. | |
-| [noEmptySource](/linter/rules/no-empty-source) | Disallow empty sources. | |
| [noEqualsToNull](/linter/rules/no-equals-to-null) | Require the use of `===` or `!==` for comparison with `null`. | |
| [noExcessiveClassesPerFile](/linter/rules/no-excessive-classes-per-file) | Enforce a maximum number of classes per file. | |
| [noExcessiveLinesPerFile](/linter/rules/no-excessive-lines-per-file) | Restrict the number of lines in a file. | |
| [noFloatingClasses](/linter/rules/no-floating-classes) | Disallow `new` operators outside of assignments or comparisons. | |
| [noFloatingPromises](/linter/rules/no-floating-promises) | Require Promise-like statements to be handled appropriately. | |
| [noForIn](/linter/rules/no-for-in) | Disallow iterating using a for-in loop. | |
-| [noImportCycles](/linter/rules/no-import-cycles) | Prevent import cycles. | |
| [noIncrementDecrement](/linter/rules/no-increment-decrement) | Disallows the usage of the unary operators ++ and --. | |
-| [noJsxLiterals](/linter/rules/no-jsx-literals) | Disallow string literals inside JSX elements. | |
| [noJsxPropsBind](/linter/rules/no-jsx-props-bind) | Disallow .bind(), arrow functions, or function expressions in JSX props | |
| [noLeakedRender](/linter/rules/no-leaked-render) | Prevent problematic leaked values from being rendered. | |
| [noMisusedPromises](/linter/rules/no-misused-promises) | Disallow Promises to be used in places where they are almost certainly a | |
| [noMultiAssign](/linter/rules/no-multi-assign) | Disallow use of chained assignment expressions | |
| [noMultiStr](/linter/rules/no-multi-str) | Disallow creating multiline strings by escaping newlines. | |
| [noNestedPromises](/linter/rules/no-nested-promises) | Disallow nested `.then()` or `.catch()` promise calls. | |
-| [noNextAsyncClientComponent](/linter/rules/no-next-async-client-component) | Prevent client components from being async functions. | |
| [noParametersOnlyUsedInRecursion](/linter/rules/no-parameters-only-used-in-recursion) | Disallow function parameters that are only used in recursive calls. | |
| [noProto](/linter/rules/no-proto) | Disallow the use of the deprecated `__proto__` object property. | |
-| [noReactForwardRef](/linter/rules/no-react-forward-ref) | Replaces usages of `forwardRef` with passing `ref` as a prop. | |
| [noRedundantDefaultExport](/linter/rules/no-redundant-default-export) | Checks if a default export exports the same symbol as a named export. | |
| [noReturnAssign](/linter/rules/no-return-assign) | Disallow assignments in return statements. | |
| [noScriptUrl](/linter/rules/no-script-url) | Disallow `javascript:` URLs. | |
@@ -203,21 +209,11 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noUndeclaredEnvVars](/linter/rules/no-undeclared-env-vars) | Disallow the use of undeclared environment variables. | |
| [noUnknownAttribute](/linter/rules/no-unknown-attribute) | Disallow unknown DOM properties. | |
| [noUnnecessaryConditions](/linter/rules/no-unnecessary-conditions) | Disallow unnecessary type-based conditions that can be statically determined as redundant. | |
-| [noUnresolvedImports](/linter/rules/no-unresolved-imports) | Warn when importing non-existing exports. | |
-| [noUnusedExpressions](/linter/rules/no-unused-expressions) | Disallow expression statements that are neither a function call nor an | |
-| [noUselessCatchBinding](/linter/rules/no-useless-catch-binding) | Disallow unused catch bindings. | |
| [noUselessReturn](/linter/rules/no-useless-return) | Disallow redundant return statements. | |
-| [noUselessUndefined](/linter/rules/no-useless-undefined) | Disallow the use of useless `undefined`. | |
| [noVueArrowFuncInWatch](/linter/rules/no-vue-arrow-func-in-watch) | Disallows using arrow functions when defining a watcher. | |
-| [noVueDataObjectDeclaration](/linter/rules/no-vue-data-object-declaration) | Enforce that Vue component `data` options are declared as functions. | |
-| [noVueDuplicateKeys](/linter/rules/no-vue-duplicate-keys) | Disallow duplicate keys in Vue component data, methods, computed properties, and other options. | |
| [noVueOptionsApi](/linter/rules/no-vue-options-api) | Disallow the use of Vue Options API. | |
-| [noVueReservedKeys](/linter/rules/no-vue-reserved-keys) | Disallow reserved keys in Vue component data and computed properties. | |
-| [noVueReservedProps](/linter/rules/no-vue-reserved-props) | Disallow reserved names to be used as props. | |
-| [noVueSetupPropsReactivityLoss](/linter/rules/no-vue-setup-props-reactivity-loss) | Disallow destructuring of `props` passed to `setup` in Vue projects. | |
| [useArraySortCompare](/linter/rules/use-array-sort-compare) | Require Array#sort and Array#toSorted calls to always provide a compareFunction. | |
| [useAwaitThenable](/linter/rules/use-await-thenable) | Enforce that `await` is only used on `Promise` values. | |
-| [useConsistentArrowReturn](/linter/rules/use-consistent-arrow-return) | Enforce consistent arrow function bodies. | |
| [useConsistentEnumValueType](/linter/rules/use-consistent-enum-value-type) | Disallow enums from having both number and string members. | |
| [useConsistentMethodSignatures](/linter/rules/use-consistent-method-signatures) | Enforce consistent use of either method signatures or function properties within interfaces and type aliases. | |
| [useDestructuring](/linter/rules/use-destructuring) | Require destructuring from arrays and/or objects | |
@@ -227,9 +223,6 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [useFind](/linter/rules/use-find) | Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result. | |
| [useGlobalThis](/linter/rules/use-global-this) | Enforce the use of `globalThis` over `window`, `self`, and `global`. | |
| [useInlineScriptId](/linter/rules/use-inline-script-id) | Enforce `id` attribute on `next/script` components with inline content or `dangerouslySetInnerHTML`. | |
-| [useMaxParams](/linter/rules/use-max-params) | Enforce a maximum number of parameters in function definitions. | |
-| [useQwikMethodUsage](/linter/rules/use-qwik-method-usage) | Disallow `use*` hooks outside of `component$` or other `use*` hooks in Qwik applications. | |
-| [useQwikValidLexicalScope](/linter/rules/use-qwik-valid-lexical-scope) | Disallow unserializable expressions in Qwik dollar ($) scopes. | |
| [useRegexpExec](/linter/rules/use-regexp-exec) | Enforce `RegExp#exec` over `String#match` if no global flag is provided. | |
| [useSortedClasses](/linter/rules/use-sorted-classes) | Enforce the sorting of CSS utility classes. | |
| [useSpread](/linter/rules/use-spread) | Enforce the use of the spread operator over `.apply()`. | |
@@ -276,6 +269,7 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of
| [noHeadElement](/linter/rules/no-head-element) | Prevent usage of `
/foo.js:1:10 lint/nursery/noDeprecatedImports ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Deprecated import.
> 1 │ import { oldUtility } from "./utils.js";
│ ^^^^^^^^^^
2 │
ℹ An @deprecated annotation indicates the author doesn't want you to rely on this import anymore.
ℹ You should probably import a different symbol instead.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+/foo.js:1:10 lint/suspicious/noDeprecatedImports ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Deprecated import.
> 1 │ import { oldUtility } from "./utils.js";
│ ^^^^^^^^^^
2 │
ℹ An @deprecated annotation indicates the author doesn't want you to rely on this import anymore.
ℹ You should probably import a different symbol instead.
```js title='utils.js'
/**
@@ -81,8 +79,8 @@ export function oldUtility() {}
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_deprecated_imports.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noDeprecatedImports)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/suspicious/no_deprecated_imports.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/suspicious/noDeprecatedImports)
code-block.graphql:2:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.graphql:2:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
```graphql
```
@@ -74,7 +72,7 @@ Default `false`
{
"linter": {
"rules": {
- "nursery": {
+ "suspicious": {
"noEmptySource": {
"options": {
"allowComments": true
@@ -93,7 +91,7 @@ Default `false`
```
-code-block.graphql:2:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.graphql:2:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
#### Valid
@@ -105,19 +103,17 @@ Default `false`
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_graphql_analyze/src/lint/nursery/no_empty_source.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_graphql_analyze/tests/specs/nursery/noEmptySource)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_graphql_analyze/src/lint/suspicious/no_empty_source.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_graphql_analyze/tests/specs/suspicious/noEmptySource)
code-block.css:2:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.css:2:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
```css
/* Only comments */
```
-code-block.css:2:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
1 │ /* Only comments */
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.css:2:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
1 │ /* Only comments */
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
### Valid
@@ -177,7 +173,7 @@ Default `false`
{
"linter": {
"rules": {
- "nursery": {
+ "suspicious": {
"noEmptySource": {
"options": {
"allowComments": true
@@ -196,7 +192,7 @@ Default `false`
```
-code-block.css:2:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.css:2:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
#### Valid
@@ -209,19 +205,17 @@ Default `false`
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_css_analyze/src/lint/nursery/no_empty_source.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_css_analyze/tests/specs/nursery/noEmptySource)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_css_analyze/src/lint/suspicious/no_empty_source.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_css_analyze/tests/specs/suspicious/noEmptySource)
code-block.js:2:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
```js
// Only comments
```
-code-block.js:2:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
1 │ // Only comments
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
1 │ // Only comments
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
```js
/* Only comments */
```
-code-block.js:2:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
1 │ /* Only comments */
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
1 │ /* Only comments */
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
```js
'use strict';
```
-code-block.js:1:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 1 │ 'use strict';
│ ^^^^^^^^^^^^^
2 │
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 1 │ 'use strict';
│ ^^^^^^^^^^^^^
2 │
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
```js
;
```
-code-block.js:1:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 1 │ ;
│ ^
2 │
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 1 │ ;
│ ^
2 │
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
```js
{
}
```
-code-block.js:1:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 1 │ {
│ ^
> 2 │ }
│ ^
3 │
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 1 │ {
│ ^
> 2 │ }
│ ^
3 │
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
```js
#!/usr/bin/env node
```
-code-block.js:1:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 1 │ #!/usr/bin/env node
│ ^^^^^^^^^^^^^^^^^^^
2 │
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 1 │ #!/usr/bin/env node
│ ^^^^^^^^^^^^^^^^^^^
2 │
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
### Valid
@@ -332,7 +326,7 @@ Default `false`
{
"linter": {
"rules": {
- "nursery": {
+ "suspicious": {
"noEmptySource": {
"options": {
"allowComments": true
@@ -351,7 +345,7 @@ Default `false`
```
-code-block.js:2:1 lint/nursery/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:1 lint/suspicious/noEmptySource ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ An empty source is not allowed.
> 2 │
│
ℹ Empty sources can clutter the codebase and increase cognitive load; deleting empty sources can help reduce it.
#### Valid
@@ -364,8 +358,8 @@ Default `false`
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_empty_source.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noEmptySource)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/suspicious/no_empty_source.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/suspicious/noEmptySource)
/foobar.js:1:21 lint/nursery/noImportCycles ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This import is part of a cycle.
> 1 │ import { baz } from "./baz.js";
│ ^^^^^^^^^^
2 │
3 │ export function foo() {
ℹ This import resolves to /baz.js
... which imports /foobar.js
... which is the file we're importing from.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+/foobar.js:1:21 lint/suspicious/noImportCycles ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This import is part of a cycle.
> 1 │ import { baz } from "./baz.js";
│ ^^^^^^^^^^
2 │
3 │ export function foo() {
ℹ This import resolves to /baz.js
... which imports /foobar.js
... which is the file we're importing from.
```js title='baz.js'
import { bar } from "./foobar.js";
@@ -87,7 +85,7 @@ export function baz() {
}
```
-/baz.js:1:21 lint/nursery/noImportCycles ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This import is part of a cycle.
> 1 │ import { bar } from "./foobar.js";
│ ^^^^^^^^^^^^^
2 │
3 │ export function baz() {
ℹ This import resolves to /foobar.js
... which imports /baz.js
... which is the file we're importing from.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+/baz.js:1:21 lint/suspicious/noImportCycles ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This import is part of a cycle.
> 1 │ import { bar } from "./foobar.js";
│ ^^^^^^^^^^^^^
2 │
3 │ export function baz() {
ℹ This import resolves to /foobar.js
... which imports /baz.js
... which is the file we're importing from.
### Valid
@@ -154,7 +152,7 @@ the compiler if the `verbatimModuleSyntax` option is enabled. Enabled by default
{
"linter": {
"rules": {
- "nursery": {
+ "suspicious": {
"noImportCycles": {
"options": {
"ignoreTypes": false
@@ -185,15 +183,15 @@ export function bar(foo: Foo) {
}
```
-/qux.ts:1:26 lint/nursery/noImportCycles ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This import is part of a cycle.
> 1 │ import type { Foo } from "./types.ts";
│ ^^^^^^^^^^^^
2 │
3 │ export function bar(foo: Foo) {
ℹ This import resolves to /types.ts
... which imports /qux.ts
... which is the file we're importing from.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+/qux.ts:1:26 lint/suspicious/noImportCycles ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This import is part of a cycle.
> 1 │ import type { Foo } from "./types.ts";
│ ^^^^^^^^^^^^
2 │
3 │ export function bar(foo: Foo) {
ℹ This import resolves to /types.ts
... which imports /qux.ts
... which is the file we're importing from.
## Related links
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_import_cycles.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noImportCycles)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/suspicious/no_import_cycles.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/suspicious/noImportCycles)
code-block.jsx:1:6 lint/nursery/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
> 1 │ <div>Hello World</div>
│ ^^^^^^^^^^^
2 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.jsx:1:6 lint/style/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
> 1 │ <div>Hello World</div>
│ ^^^^^^^^^^^
2 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
```jsx
<>Welcome to our site>
```
-code-block.jsx:1:3 lint/nursery/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
> 1 │ <>Welcome to our site</>
│ ^^^^^^^^^^^^^^^^^^^
2 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.jsx:1:3 lint/style/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
> 1 │ <>Welcome to our site</>
│ ^^^^^^^^^^^^^^^^^^^
2 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
```jsx
@@ -62,7 +60,7 @@ to maintain, especially in applications that require internationalization or dyn
```
-code-block.jsx:1:7 lint/nursery/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
> 1 │ <span>
│
> 2 │ Please enter your name
> 3 │ </span>
│
4 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.jsx:1:7 lint/style/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
> 1 │ <span>
│
> 2 │ Please enter your name
> 3 │ </span>
│
4 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
### Valid
@@ -97,7 +95,7 @@ When enabled, the rule will also flag string literals inside JSX expressions and
{
"linter": {
"rules": {
- "nursery": {
+ "style": {
"noJsxLiterals": {
"options": {
"noStrings": true
@@ -116,13 +114,13 @@ When enabled, the rule will also flag string literals inside JSX expressions and
```
-code-block.jsx:2:4 lint/nursery/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
1 │ <span>
> 2 │ {'Please enter your name'}
│ ^^^^^^^^^^^^^^^^^^^^^^^^
3 │ </span>
4 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.jsx:2:4 lint/style/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
1 │ <span>
> 2 │ {'Please enter your name'}
│ ^^^^^^^^^^^^^^^^^^^^^^^^
3 │ </span>
4 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
```jsx
code-block.jsx:1:18 lint/nursery/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
> 1 │ <Component title="Hello!" />
│ ^^^^^^^^
2 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.jsx:1:18 lint/style/noJsxLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Incorrect use of string literal detected.
> 1 │ <Component title="Hello!" />
│ ^^^^^^^^
2 │
ℹ String literals in JSX can make code harder to maintain and internationalize.
ℹ Consider avoiding hardcoded strings entirely.
### `allowedStrings`
@@ -133,7 +131,7 @@ or characters that don't need to be wrapped in expressions.
{
"linter": {
"rules": {
- "nursery": {
+ "style": {
"noJsxLiterals": {
"options": {
"allowedStrings": [
@@ -169,7 +167,7 @@ When enabled, the rule will ignore string literals used as prop values.
{
"linter": {
"rules": {
- "nursery": {
+ "style": {
"noJsxLiterals": {
"options": {
"ignoreProps": true
@@ -194,8 +192,8 @@ When enabled, the rule will ignore string literals used as prop values.
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_jsx_literals.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noJsxLiterals)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/style/no_jsx_literals.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/style/noJsxLiterals)
code-block.jsx:3:16 lint/nursery/noNextAsyncClientComponent ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ The component MyComponent is an async client component, which is not allowed.
1 │ "use client";
2 │
> 3 │ export default async function MyComponent() {
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 4 │ return <div>Hello</div>;
> 5 │ }
│ ^
6 │
ℹ Client components with "use client" directive should not be async functions as this can cause hydration mismatches and break React's rendering lifecycle.
ℹ Consider using useEffect for async operations inside the component, or remove the "use client" directive if this should be a server component.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.jsx:3:16 lint/correctness/noNextAsyncClientComponent ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The component MyComponent is an async client component, which is not allowed.
1 │ "use client";
2 │
> 3 │ export default async function MyComponent() {
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 4 │ return <div>Hello</div>;
> 5 │ }
│ ^
6 │
ℹ Client components with "use client" directive should not be async functions as this can cause hydration mismatches and break React's rendering lifecycle.
ℹ Consider using useEffect for async operations inside the component, or remove the "use client" directive if this should be a server component.
### Valid
@@ -80,8 +78,8 @@ export default async function ServerComponent() {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_next_async_client_component.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noNextAsyncClientComponent)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/correctness/no_next_async_client_component.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/correctness/noNextAsyncClientComponent)
code-block.jsx:3:17 lint/nursery/noReactForwardRef FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Use of forwardRef is detected, which is deprecated.
1 │ import { forwardRef } from "react";
2 │
> 3 │ const MyInput = forwardRef(function MyInput(props, ref) {
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 4 │ return <input ref={ref} {...props} />;
> 5 │ });
│ ^^
6 │
ℹ In React 19, 'forwardRef' is no longer necessary. Pass 'ref' as a prop instead.
ℹ Replace the use of forwardRef with passing ref as a prop.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Unsafe fix: Remove the forwardRef() call and receive the ref as a prop.
1 1 │ import { forwardRef } from "react";
2 2 │
3 │ - const·MyInput·=·forwardRef(function·MyInput(props,·ref)·{
3 │ + const·MyInput·=·function·MyInput({·ref,·...props·})·{
4 4 │ return <input ref={ref} {...props} />;
5 │ - });
5 │ + };
6 6 │
+code-block.jsx:3:17 lint/suspicious/noReactForwardRef FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Use of forwardRef is detected, which is deprecated.
1 │ import { forwardRef } from "react";
2 │
> 3 │ const MyInput = forwardRef(function MyInput(props, ref) {
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 4 │ return <input ref={ref} {...props} />;
> 5 │ });
│ ^^
6 │
ℹ In React 19, 'forwardRef' is no longer necessary. Pass 'ref' as a prop instead.
ℹ Replace the use of forwardRef with passing ref as a prop.
ℹ Unsafe fix: Remove the forwardRef() call and receive the ref as a prop.
1 1 │ import { forwardRef } from "react";
2 2 │
3 │ - const·MyInput·=·forwardRef(function·MyInput(props,·ref)·{
3 │ + const·MyInput·=·function·MyInput({·ref,·...props·})·{
4 4 │ return <input ref={ref} {...props} />;
5 │ - });
5 │ + };
6 6 │
```jsx
import { forwardRef } from "react";
@@ -68,7 +66,7 @@ const MyInput = forwardRef((props, ref) => {
});
```
-code-block.jsx:3:17 lint/nursery/noReactForwardRef FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Use of forwardRef is detected, which is deprecated.
1 │ import { forwardRef } from "react";
2 │
> 3 │ const MyInput = forwardRef((props, ref) => {
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 4 │ return <input ref={ref} {...props} />;
> 5 │ });
│ ^^
6 │
ℹ In React 19, 'forwardRef' is no longer necessary. Pass 'ref' as a prop instead.
ℹ Replace the use of forwardRef with passing ref as a prop.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Unsafe fix: Remove the forwardRef() call and receive the ref as a prop.
1 1 │ import { forwardRef } from "react";
2 2 │
3 │ - const·MyInput·=·forwardRef((props,·ref)·=>·{
3 │ + const·MyInput·=·({·ref,·...props·})·=>·{
4 4 │ return <input ref={ref} {...props} />;
5 │ - });
5 │ + };
6 6 │
+code-block.jsx:3:17 lint/suspicious/noReactForwardRef FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Use of forwardRef is detected, which is deprecated.
1 │ import { forwardRef } from "react";
2 │
> 3 │ const MyInput = forwardRef((props, ref) => {
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 4 │ return <input ref={ref} {...props} />;
> 5 │ });
│ ^^
6 │
ℹ In React 19, 'forwardRef' is no longer necessary. Pass 'ref' as a prop instead.
ℹ Replace the use of forwardRef with passing ref as a prop.
ℹ Unsafe fix: Remove the forwardRef() call and receive the ref as a prop.
1 1 │ import { forwardRef } from "react";
2 2 │
3 │ - const·MyInput·=·forwardRef((props,·ref)·=>·{
3 │ + const·MyInput·=·({·ref,·...props·})·=>·{
4 4 │ return <input ref={ref} {...props} />;
5 │ - });
5 │ + };
6 6 │
### Valid
@@ -89,8 +87,8 @@ const MyInput = ({ ref, ...props }) => {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_react_forward_ref.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noReactForwardRef)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/suspicious/no_react_forward_ref.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/suspicious/noReactForwardRef)
code-block.js:3:10 lint/nursery/noShadow ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ This variable shadows another variable with the same name in the outer scope.
1 │ const foo = "bar";
2 │ if (true) {
> 3 │ const foo = "baz";
│ ^^^
4 │ }
5 │
ℹ This is the shadowed variable, which is now inaccessible in the inner scope.
> 1 │ const foo = "bar";
│ ^^^
2 │ if (true) {
3 │ const foo = "baz";
ℹ Consider renaming this variable. It's easy to confuse the origin of variables if they share the same name.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:3:10 lint/nursery/noShadow ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This variable shadows another variable with the same name in the outer scope.
1 │ const foo = "bar";
2 │ if (true) {
> 3 │ const foo = "baz";
│ ^^^
4 │ }
5 │
ℹ This is the shadowed variable, which is now inaccessible in the inner scope.
> 1 │ const foo = "bar";
│ ^^^
2 │ if (true) {
3 │ const foo = "baz";
ℹ Consider renaming this variable. It's easy to confuse the origin of variables if they share the same name.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
Variable declarations in functions can shadow variables in the outer scope:
@@ -62,7 +62,7 @@ const bar = function () {
}
```
-code-block.js:3:11 lint/nursery/noShadow ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ This variable shadows another variable with the same name in the outer scope.
1 │ const foo = "bar";
2 │ const bar = function () {
> 3 │ const foo = 10;
│ ^^^
4 │ }
5 │
ℹ This is the shadowed variable, which is now inaccessible in the inner scope.
> 1 │ const foo = "bar";
│ ^^^
2 │ const bar = function () {
3 │ const foo = 10;
ℹ Consider renaming this variable. It's easy to confuse the origin of variables if they share the same name.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:3:11 lint/nursery/noShadow ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This variable shadows another variable with the same name in the outer scope.
1 │ const foo = "bar";
2 │ const bar = function () {
> 3 │ const foo = 10;
│ ^^^
4 │ }
5 │
ℹ This is the shadowed variable, which is now inaccessible in the inner scope.
> 1 │ const foo = "bar";
│ ^^^
2 │ const bar = function () {
3 │ const foo = 10;
ℹ Consider renaming this variable. It's easy to confuse the origin of variables if they share the same name.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
Function argument names can shadow variables in the outer scope:
@@ -73,7 +73,7 @@ function bar(foo) {
}
```
-code-block.js:2:14 lint/nursery/noShadow ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ This variable shadows another variable with the same name in the outer scope.
1 │ const foo = "bar";
> 2 │ function bar(foo) {
│ ^^^
3 │ foo = 10;
4 │ }
ℹ This is the shadowed variable, which is now inaccessible in the inner scope.
> 1 │ const foo = "bar";
│ ^^^
2 │ function bar(foo) {
3 │ foo = 10;
ℹ Consider renaming this variable. It's easy to confuse the origin of variables if they share the same name.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:14 lint/nursery/noShadow ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This variable shadows another variable with the same name in the outer scope.
1 │ const foo = "bar";
> 2 │ function bar(foo) {
│ ^^^
3 │ foo = 10;
4 │ }
ℹ This is the shadowed variable, which is now inaccessible in the inner scope.
> 1 │ const foo = "bar";
│ ^^^
2 │ function bar(foo) {
3 │ foo = 10;
ℹ Consider renaming this variable. It's easy to confuse the origin of variables if they share the same name.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
### Valid
diff --git a/src/content/docs/linter/rules/no-svg-without-title.mdx b/src/content/docs/linter/rules/no-svg-without-title.mdx
index ae37a7adc..40db57e72 100644
--- a/src/content/docs/linter/rules/no-svg-without-title.mdx
+++ b/src/content/docs/linter/rules/no-svg-without-title.mdx
@@ -110,10 +110,6 @@ To make svg accessible, the following methods are available:
```
-```jsx
-
-```
-
```jsx
```
@@ -265,10 +261,6 @@ To make svg accessible, the following methods are available:
```
-```html
-
-```
-
```html
```
diff --git a/src/content/docs/linter/rules/no-unresolved-imports.mdx b/src/content/docs/linter/rules/no-unresolved-imports.mdx
index 20dc36e19..b68b4e4df 100644
--- a/src/content/docs/linter/rules/no-unresolved-imports.mdx
+++ b/src/content/docs/linter/rules/no-unresolved-imports.mdx
@@ -9,17 +9,15 @@ import { Tabs, TabItem } from '@astrojs/starlight/components';
/bar.js:2:10 lint/nursery/noUnresolvedImports ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ The path ./foo.js has no export named fooo.
1 │ // Attempt to import symbol with a typo:
> 2 │ import { fooo } from "./foo.js";
│ ^^^^
3 │
ℹ Make sure that the path is correct and that you're importing the right symbol.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+/bar.js:2:10 lint/correctness/noUnresolvedImports ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The path ./foo.js has no export named fooo.
1 │ // Attempt to import symbol with a typo:
> 2 │ import { fooo } from "./foo.js";
│ ^^^^
3 │
ℹ Make sure that the path is correct and that you're importing the right symbol.
### Valid
@@ -83,8 +81,8 @@ import { foo } from "./foo.js";
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_unresolved_imports.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noUnresolvedImports)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/correctness/no_unresolved_imports.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/correctness/noUnresolvedImports)
code-block.js:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ 0
│ ^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ 0
│ ^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
if(0) 0
```
-code-block.js:1:7 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ if(0) 0
│ ^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:7 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ if(0) 0
│ ^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
{0}
```
-code-block.js:1:2 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ {0}
│ ^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:2 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ {0}
│ ^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
f(0), {}
```
-code-block.js:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ f(0), {}
│ ^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ f(0), {}
│ ^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
a && b()
```
-code-block.js:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ a && b()
│ ^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ a && b()
│ ^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
a, b()
```
-code-block.js:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ a, b()
│ ^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ a, b()
│ ^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
c = a, b
```
-code-block.js:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ c = a, b
│ ^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ c = a, b
│ ^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
a() && function namedFunctionInExpressionContext () {f();}
```
-code-block.js:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ a() && function namedFunctionInExpressionContext () {f();}
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ a() && function namedFunctionInExpressionContext () {f();}
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
(function anIncompleteIIFE () {});
```
-code-block.js:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ (function anIncompleteIIFE () {});
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ (function anIncompleteIIFE () {});
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
injectGlobal`body{ color: red; }`
```
-code-block.js:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ injectGlobal`body{ color: red; }`
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ injectGlobal`body{ color: red; }`
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```ts
Setcode-block.ts:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ Set<number>
│ ^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ Set<number>
│ ^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```ts
1 as number
```
-code-block.ts:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ 1 as number
│ ^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ 1 as number
│ ^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```ts
window!
```
-code-block.ts:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ window!
│ ^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ window!
│ ^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
JSX expressions are considered invalid when used as a statement too:
@@ -135,13 +133,13 @@ JSX expressions are considered invalid when used as a statement too:
code-block.jsx:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ <MyComponent />
│ ^^^^^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.jsx:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ <MyComponent />
│ ^^^^^^^^^^^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```jsx
<>>
```
-code-block.jsx:1:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
> 1 │ <></>
│ ^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.jsx:1:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
> 1 │ <></>
│ ^^^^^
2 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
### Valid
@@ -196,7 +194,7 @@ doSomething();
"use strict"; // this isn't in a directive prologue, because there is a non-directive statement before it
```
-code-block.js:2:1 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
1 │ doSomething();
> 2 │ "use strict"; // this isn't in a directive prologue, because there is a non-directive statement before it
│ ^^^^^^^^^^^^^
3 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:1 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
1 │ doSomething();
> 2 │ "use strict"; // this isn't in a directive prologue, because there is a non-directive statement before it
│ ^^^^^^^^^^^^^
3 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
function foo() {
@@ -204,7 +202,7 @@ function foo() {
}
```
-code-block.js:2:5 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
1 │ function foo() {
> 2 │ "bar" + 1;
│ ^^^^^^^^^
3 │ }
4 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:5 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
1 │ function foo() {
> 2 │ "bar" + 1;
│ ^^^^^^^^^
3 │ }
4 │
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
```js
class Foo {
@@ -214,15 +212,15 @@ class Foo {
}
```
-code-block.js:3:9 lint/nursery/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Expected an assignment or function call but found an expression instead.
1 │ class Foo {
2 │ static {
> 3 │ "use strict"; // class static blocks do not have directive prologues
│ ^^^^^^^^^^^^^
4 │ }
5 │ }
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:3:9 lint/suspicious/noUnusedExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Expected an assignment or function call but found an expression instead.
1 │ class Foo {
2 │ static {
> 3 │ "use strict"; // class static blocks do not have directive prologues
│ ^^^^^^^^^^^^^
4 │ }
5 │ }
ℹ This expression may be unintentionally unused or it might be a function that you forgot to call.
## Related links
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_unused_expressions.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noUnusedExpressions)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/suspicious/no_unused_expressions.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/suspicious/noUnusedExpressions)
code-block.js:3:9 lint/nursery/noUselessCatchBinding FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ This catch binding is unused.
1 │ try {
2 │ // Do something
> 3 │ } catch (unused) {}
│ ^^^^^^^^
4 │
ℹ Since ECMAScript 2019, catch bindings are optional; you can omit the catch binding if you don't need it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Unsafe fix: Remove the catch binding.
3 │ }·catch·(unused)·{}
│ ---------
+code-block.js:3:9 lint/complexity/noUselessCatchBinding FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ This catch binding is unused.
1 │ try {
2 │ // Do something
> 3 │ } catch (unused) {}
│ ^^^^^^^^
4 │
ℹ Since ECMAScript 2019, catch bindings are optional; you can omit the catch binding if you don't need it.
ℹ Unsafe fix: Remove the catch binding.
3 │ }·catch·(unused)·{}
│ ---------
```js
try {
@@ -54,7 +52,7 @@ try {
} catch ({ unused }) {}
```
-code-block.js:3:9 lint/nursery/noUselessCatchBinding FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ This catch binding is unused.
1 │ try {
2 │ // Do something
> 3 │ } catch ({ unused }) {}
│ ^^^^^^^^^^^^
4 │
ℹ Since ECMAScript 2019, catch bindings are optional; you can omit the catch binding if you don't need it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Unsafe fix: Remove the catch binding.
3 │ }·catch·({·unused·})·{}
│ -------------
+code-block.js:3:9 lint/complexity/noUselessCatchBinding FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ This catch binding is unused.
1 │ try {
2 │ // Do something
> 3 │ } catch ({ unused }) {}
│ ^^^^^^^^^^^^
4 │
ℹ Since ECMAScript 2019, catch bindings are optional; you can omit the catch binding if you don't need it.
ℹ Unsafe fix: Remove the catch binding.
3 │ }·catch·({·unused·})·{}
│ -------------
```js
try {
@@ -62,7 +60,7 @@ try {
} catch ({ unused1, unused2 }) {}
```
-code-block.js:3:9 lint/nursery/noUselessCatchBinding FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ This catch binding is unused.
1 │ try {
2 │ // Do something
> 3 │ } catch ({ unused1, unused2 }) {}
│ ^^^^^^^^^^^^^^^^^^^^^^
4 │
ℹ Since ECMAScript 2019, catch bindings are optional; you can omit the catch binding if you don't need it.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Unsafe fix: Remove the catch binding.
3 │ }·catch·({·unused1,·unused2·})·{}
│ -----------------------
+code-block.js:3:9 lint/complexity/noUselessCatchBinding FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ This catch binding is unused.
1 │ try {
2 │ // Do something
> 3 │ } catch ({ unused1, unused2 }) {}
│ ^^^^^^^^^^^^^^^^^^^^^^
4 │
ℹ Since ECMAScript 2019, catch bindings are optional; you can omit the catch binding if you don't need it.
ℹ Unsafe fix: Remove the catch binding.
3 │ }·catch·({·unused1,·unused2·})·{}
│ -----------------------
### Valid
@@ -101,8 +99,8 @@ try {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_useless_catch_binding.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noUselessCatchBinding)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/complexity/no_useless_catch_binding.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/complexity/noUselessCatchBinding)
code-block.js:1:11 lint/nursery/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
> 1 │ let foo = undefined;
│ ^^^^^^^^^
2 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Safe fix: Remove the undefined.
1 │ let·foo·=·undefined;
│ -----------
+code-block.js:1:11 lint/complexity/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
> 1 │ let foo = undefined;
│ ^^^^^^^^^
2 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ Safe fix: Remove the undefined.
1 │ let·foo·=·undefined;
│ -----------
```js
const {foo = undefined} = bar;
```
-code-block.js:1:14 lint/nursery/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
> 1 │ const {foo = undefined} = bar;
│ ^^^^^^^^^
2 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Safe fix: Remove the undefined.
1 │ const·{foo·=·undefined}·=·bar;
│ -----------
+code-block.js:1:14 lint/complexity/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
> 1 │ const {foo = undefined} = bar;
│ ^^^^^^^^^
2 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ Safe fix: Remove the undefined.
1 │ const·{foo·=·undefined}·=·bar;
│ -----------
```js
function foo() {
@@ -60,7 +58,7 @@ function foo() {
}
```
-code-block.js:2:11 lint/nursery/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
1 │ function foo() {
> 2 │ return undefined;
│ ^^^^^^^^^
3 │ }
4 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Safe fix: Remove the undefined.
2 │ ···return·undefined;
│ ---------
+code-block.js:2:11 lint/complexity/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
1 │ function foo() {
> 2 │ return undefined;
│ ^^^^^^^^^
3 │ }
4 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ Safe fix: Remove the undefined.
2 │ ···return·undefined;
│ ---------
```js
function* foo() {
@@ -68,19 +66,19 @@ function* foo() {
}
```
-code-block.js:2:9 lint/nursery/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
1 │ function* foo() {
> 2 │ yield undefined;
│ ^^^^^^^^^
3 │ }
4 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Safe fix: Remove the undefined.
2 │ ··yield·undefined;
│ ---------
+code-block.js:2:9 lint/complexity/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
1 │ function* foo() {
> 2 │ yield undefined;
│ ^^^^^^^^^
3 │ }
4 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ Safe fix: Remove the undefined.
2 │ ··yield·undefined;
│ ---------
```js
function foo(bar = undefined) {}
```
-code-block.js:1:20 lint/nursery/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
> 1 │ function foo(bar = undefined) {}
│ ^^^^^^^^^
2 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Safe fix: Remove the undefined.
1 │ function·foo(bar·=·undefined)·{}
│ -----------
+code-block.js:1:20 lint/complexity/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
> 1 │ function foo(bar = undefined) {}
│ ^^^^^^^^^
2 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ Safe fix: Remove the undefined.
1 │ function·foo(bar·=·undefined)·{}
│ -----------
```js
function foo({bar = undefined}) {}
```
-code-block.js:1:21 lint/nursery/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
> 1 │ function foo({bar = undefined}) {}
│ ^^^^^^^^^
2 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Safe fix: Remove the undefined.
1 │ function·foo({bar·=·undefined})·{}
│ -----------
+code-block.js:1:21 lint/complexity/noUselessUndefined FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Don't use unnecessary undefined.
> 1 │ function foo({bar = undefined}) {}
│ ^^^^^^^^^
2 │
ℹ undefined is the default value for new variables, parameters, return statements, etc… so specifying it doesn't make any difference.
ℹ Safe fix: Remove the undefined.
1 │ function·foo({bar·=·undefined})·{}
│ -----------
### Valid
@@ -103,8 +101,8 @@ foo();
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_useless_undefined.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noUselessUndefined)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/complexity/no_useless_undefined.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/complexity/noUselessUndefined)
code-block.vue:2:13 lint/nursery/noVueDuplicateKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Duplicate key foo found in Vue component.
1 │ export default {
> 2 │ props: ['foo'],
│ ^^^^^
3 │ data() {
4 │ return {
ℹ Key foo is also defined here.
3 │ data() {
4 │ return {
> 5 │ foo: 'bar'
│ ^^^
6 │ };
7 │ }
ℹ Keys defined in different Vue component options (props, data, methods, computed) can conflict when accessed in the template. Rename the key to avoid conflicts.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:2:13 lint/correctness/noVueDuplicateKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Duplicate key foo found in Vue component.
1 │ export default {
> 2 │ props: ['foo'],
│ ^^^^^
3 │ data() {
4 │ return {
ℹ Key foo is also defined here.
3 │ data() {
4 │ return {
> 5 │ foo: 'bar'
│ ^^^
6 │ };
7 │ }
ℹ Keys defined in different Vue component options (props, data, methods, computed) can conflict when accessed in the template. Rename the key to avoid conflicts.
```vue
```
-code-block.vue:4:13 lint/nursery/noVueDuplicateKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Duplicate key message found in Vue component.
2 │ data() {
3 │ return {
> 4 │ message: 'hello'
│ ^^^^^^^
5 │ };
6 │ },
ℹ Key message is also defined here.
6 │ },
7 │ methods: {
> 8 │ message() {
│ ^^^^^^^
9 │ console.log('duplicate key');
10 │ }
ℹ Keys defined in different Vue component options (props, data, methods, computed) can conflict when accessed in the template. Rename the key to avoid conflicts.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:4:13 lint/correctness/noVueDuplicateKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Duplicate key message found in Vue component.
2 │ data() {
3 │ return {
> 4 │ message: 'hello'
│ ^^^^^^^
5 │ };
6 │ },
ℹ Key message is also defined here.
6 │ },
7 │ methods: {
> 8 │ message() {
│ ^^^^^^^
9 │ console.log('duplicate key');
10 │ }
ℹ Keys defined in different Vue component options (props, data, methods, computed) can conflict when accessed in the template. Rename the key to avoid conflicts.
```vue
```
-code-block.vue:3:9 lint/nursery/noVueDuplicateKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Duplicate key count found in Vue component.
1 │ export default {
2 │ computed: {
> 3 │ count() {
│ ^^^^^
4 │ return this.value * 2;
5 │ }
ℹ Key count is also defined here.
6 │ },
7 │ methods: {
> 8 │ count() {
│ ^^^^^
9 │ this.value++;
10 │ }
ℹ Keys defined in different Vue component options (props, data, methods, computed) can conflict when accessed in the template. Rename the key to avoid conflicts.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:3:9 lint/correctness/noVueDuplicateKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Duplicate key count found in Vue component.
1 │ export default {
2 │ computed: {
> 3 │ count() {
│ ^^^^^
4 │ return this.value * 2;
5 │ }
ℹ Key count is also defined here.
6 │ },
7 │ methods: {
> 8 │ count() {
│ ^^^^^
9 │ this.value++;
10 │ }
ℹ Keys defined in different Vue component options (props, data, methods, computed) can conflict when accessed in the template. Rename the key to avoid conflicts.
### Valid
@@ -142,8 +140,8 @@ export default {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_vue_duplicate_keys.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noVueDuplicateKeys)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/correctness/no_vue_duplicate_keys.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/correctness/noVueDuplicateKeys)
code-block.vue:3:9 lint/nursery/noVueReservedKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Key $el is reserved in Vue.
1 │ export default {
2 │ data: {
> 3 │ $el: '',
│ ^^^
4 │ },
5 │ };
ℹ Rename the key to avoid conflicts with Vue reserved keys.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:3:9 lint/correctness/noVueReservedKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Key $el is reserved in Vue.
1 │ export default {
2 │ data: {
> 3 │ $el: '',
│ ^^^
4 │ },
5 │ };
ℹ Rename the key to avoid conflicts with Vue reserved keys.
```vue
```
-code-block.vue:4:13 lint/nursery/noVueReservedKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Keys starting with an underscore are reserved in Vue.
2 │ data() {
3 │ return {
> 4 │ _foo: 'bar',
│ ^^^^
5 │ };
6 │ },
ℹ Rename the key to avoid conflicts with Vue reserved keys.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:4:13 lint/correctness/noVueReservedKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Keys starting with an underscore are reserved in Vue.
2 │ data() {
3 │ return {
> 4 │ _foo: 'bar',
│ ^^^^
5 │ };
6 │ },
ℹ Rename the key to avoid conflicts with Vue reserved keys.
```vue
```
-code-block.vue:3:9 lint/nursery/noVueReservedKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Key $data is reserved in Vue.
1 │ export default {
2 │ computed: {
> 3 │ $data() {
│ ^^^^^
4 │ return this.someData;
5 │ },
ℹ Rename the key to avoid conflicts with Vue reserved keys.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:3:9 lint/correctness/noVueReservedKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Key $data is reserved in Vue.
1 │ export default {
2 │ computed: {
> 3 │ $data() {
│ ^^^^^
4 │ return this.someData;
5 │ },
ℹ Rename the key to avoid conflicts with Vue reserved keys.
```vue
```
-code-block.vue:3:9 lint/nursery/noVueReservedKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Key $emit is reserved in Vue.
1 │ export default {
2 │ methods: {
> 3 │ $emit() {
│ ^^^^^
4 │ // This conflicts with Vue's built-in $emit
5 │ },
ℹ Rename the key to avoid conflicts with Vue reserved keys.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:3:9 lint/correctness/noVueReservedKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Key $emit is reserved in Vue.
1 │ export default {
2 │ methods: {
> 3 │ $emit() {
│ ^^^^^
4 │ // This conflicts with Vue's built-in $emit
5 │ },
ℹ Rename the key to avoid conflicts with Vue reserved keys.
### Valid
@@ -137,8 +135,8 @@ export default {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_vue_reserved_keys.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/correctness/no_vue_reserved_keys.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/correctness/noVueReservedKeys)
code-block.vue:2:5 lint/nursery/noVueReservedProps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ ref is a reserved attribute and cannot be used as props.
1 │ defineProps({
> 2 │ ref: String,
│ ^^^
3 │ });
4 │
ℹ Rename the prop to avoid possible conflicts.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:2:5 lint/correctness/noVueReservedProps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ ref is a reserved attribute and cannot be used as props.
1 │ defineProps({
> 2 │ ref: String,
│ ^^^
3 │ });
4 │
ℹ Rename the prop to avoid possible conflicts.
```js
import {defineComponent} from 'vue';
@@ -70,7 +68,7 @@ export default defineComponent({
});
```
-code-block.js:5:9 lint/nursery/noVueReservedProps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ key is a reserved attribute and cannot be used as props.
3 │ export default defineComponent({
4 │ props: [
> 5 │ 'key',
│ ^^^^^
6 │ ]
7 │ });
ℹ Rename the prop to avoid possible conflicts.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:5:9 lint/correctness/noVueReservedProps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ key is a reserved attribute and cannot be used as props.
3 │ export default defineComponent({
4 │ props: [
> 5 │ 'key',
│ ^^^^^
6 │ ]
7 │ });
ℹ Rename the prop to avoid possible conflicts.
```vue
```
-code-block.vue:2:5 lint/nursery/noVueReservedProps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ ref is a reserved attribute and cannot be used as props.
1 │ defineProps<{
> 2 │ ref: string,
│ ^^^
3 │ }>();
4 │
ℹ Rename the prop to avoid possible conflicts.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:2:5 lint/correctness/noVueReservedProps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ ref is a reserved attribute and cannot be used as props.
1 │ defineProps<{
> 2 │ ref: string,
│ ^^^
3 │ }>();
4 │
ℹ Rename the prop to avoid possible conflicts.
```vue
```
-code-block.vue:3:9 lint/nursery/noVueReservedProps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ key is a reserved attribute and cannot be used as props.
1 │ export default {
2 │ props: {
> 3 │ key: String,
│ ^^^
4 │ }
5 │ };
ℹ Rename the prop to avoid possible conflicts.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.vue:3:9 lint/correctness/noVueReservedProps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ key is a reserved attribute and cannot be used as props.
1 │ export default {
2 │ props: {
> 3 │ key: String,
│ ^^^
4 │ }
5 │ };
ℹ Rename the prop to avoid possible conflicts.
### Valid
@@ -135,8 +133,8 @@ export default {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_vue_reserved_props.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/correctness/no_vue_reserved_props.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/correctness/noVueReservedProps)
code-block.js:2:9 lint/nursery/noVueSetupPropsReactivityLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Destructuring `props` in the `setup` function parameters loses reactivity.
1 │ export default {
> 2 │ setup({ count }) {
│ ^^^^^^^^^
3 │ return () => h('div', count);
4 │ }
ℹ To preserve reactivity, access props as properties: `props.propertyName`.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:9 lint/correctness/noVueSetupPropsReactivityLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Destructuring `props` in the `setup` function parameters loses reactivity.
1 │ export default {
> 2 │ setup({ count }) {
│ ^^^^^^^^^
3 │ return () => h('div', count);
4 │ }
ℹ To preserve reactivity, access props as properties: `props.propertyName`.
### Valid
@@ -71,8 +69,8 @@ export default {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_vue_setup_props_reactivity_loss.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noVueSetupPropsReactivityLoss)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/correctness/no_vue_setup_props_reactivity_loss.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/correctness/noVueSetupPropsReactivityLoss)
code-block.js:1:14 lint/nursery/useConsistentArrowReturn FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ The body of this arrow function contains a single return statement.
> 1 │ const bar = () => {
│ ^^^^^^^
> 2 │ return {
> 3 │ bar: {
> 4 │ foo: 1,
> 5 │ bar: 2,
> 6 │ }
> 7 │ };
> 8 │ };
│ ^
9 │
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
ℹ Safe fix: Remove the return statement.
1 │ - ·const·bar·=·()·=>·{
2 │ - ·····return·{
1 │ + ·const·bar·=·()·=>·({
3 2 │ bar: {
4 3 │ foo: 1,
5 4 │ bar: 2,
6 5 │ }
7 │ - ·····};
8 │ - ·};
6 │ + ·····});
9 7 │
+code-block.js:1:14 lint/style/useConsistentArrowReturn FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ The body of this arrow function contains a single return statement.
> 1 │ const bar = () => {
│ ^^^^^^^
> 2 │ return {
> 3 │ bar: {
> 4 │ foo: 1,
> 5 │ bar: 2,
> 6 │ }
> 7 │ };
> 8 │ };
│ ^
9 │
ℹ Safe fix: Remove the return statement.
1 │ - ·const·bar·=·()·=>·{
2 │ - ·····return·{
1 │ + ·const·bar·=·()·=>·({
3 2 │ bar: {
4 3 │ foo: 1,
5 4 │ bar: 2,
6 5 │ }
7 │ - ·····};
8 │ - ·};
6 │ + ·····});
9 7 │
### Valid
@@ -76,8 +74,8 @@ const qux = () => ({ a: 1 }) // already concise with parens
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/use_consistent_arrow_return.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/useConsistentArrowReturn)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/style/use_consistent_arrow_return.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/style/useConsistentArrowReturn)
code-block.graphql:2:10 lint/nursery/useDeprecatedDate ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ The directive `@deprecated` should have a `deletionDate` argument.
1 │ query {
> 2 │ member @deprecated(reason: "Use `members` instead") {
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 │ id
4 │ }
ℹ Add a `deletionDate` argument to the directive.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.graphql:2:10 lint/suspicious/useDeprecatedDate ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ The directive `@deprecated` should have a `deletionDate` argument.
1 │ query {
> 2 │ member @deprecated(reason: "Use `members` instead") {
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 │ id
4 │ }
ℹ Add a `deletionDate` argument to the directive.
### Valid
@@ -67,8 +65,8 @@ query {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_graphql_analyze/src/lint/nursery/use_deprecated_date.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_graphql_analyze/tests/specs/nursery/useDeprecatedDate)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_graphql_analyze/src/lint/suspicious/use_deprecated_date.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_graphql_analyze/tests/specs/suspicious/useDeprecatedDate)
code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should indicate that no value is returned (void)
> 2 │ function test() {
│ ^^^^^^^^^^^^^
3 │ return;
4 │ }
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should indicate that no value is returned (void)
> 2 │ function test() {
│ ^^^^^^^^^^^^^
3 │ return;
4 │ }
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
// Should indicate that a number is returned
@@ -70,14 +70,14 @@ var fn = function () {
};
```
-code-block.ts:2:10 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should indicate that a number is returned
> 2 │ var fn = function () {
│ ^^^^^^^^^^^^^
> 3 │ return 1;
> 4 │ };
│ ^
5 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:10 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should indicate that a number is returned
> 2 │ var fn = function () {
│ ^^^^^^^^^^^^^
> 3 │ return 1;
> 4 │ };
│ ^
5 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
// Should indicate that a string is returned
var arrowFn = () => 'test';
```
-code-block.ts:2:15 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should indicate that a string is returned
> 2 │ var arrowFn = () => 'test';
│ ^^^^^^^^^^^^
3 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:15 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should indicate that a string is returned
> 2 │ var arrowFn = () => 'test';
│ ^^^^^^^^^^^^
3 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
class Test {
@@ -88,7 +88,7 @@ class Test {
}
```
-code-block.ts:3:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ class Test {
2 │ // Should indicate that no value is returned (void)
> 3 │ method() {
│ ^^^^^^^^^^
> 4 │ return;
> 5 │ }
│ ^
6 │ }
7 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:3:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ class Test {
2 │ // Should indicate that no value is returned (void)
> 3 │ method() {
│ ^^^^^^^^^^
> 4 │ return;
> 5 │ }
│ ^
6 │ }
7 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
// Should indicate that no value is returned (void)
@@ -97,14 +97,14 @@ function test(a: number) {
}
```
-code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should indicate that no value is returned (void)
> 2 │ function test(a: number) {
│ ^^^^^^^^^^^^^
3 │ a += 1;
4 │ }
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should indicate that no value is returned (void)
> 2 │ function test(a: number) {
│ ^^^^^^^^^^^^^
3 │ a += 1;
4 │ }
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
// Should use const assertions
var func = (value: number) => ({ type: 'X', value }) as any;
```
-code-block.ts:2:12 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should use const assertions
> 2 │ var func = (value: number) => ({ type: 'X', value }) as any;
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:12 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // Should use const assertions
> 2 │ var func = (value: number) => ({ type: 'X', value }) as any;
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
// Unspecified variable type
@@ -114,7 +114,7 @@ function fn(): string {
const direct = fn();
```
-code-block.ts:5:7 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The variable doesn't have a type defined.
3 │ return "Not inline";
4 │ }
> 5 │ const direct = fn();
│ ^^^^^^
6 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a type to the variable.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:5:7 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The variable doesn't have a type defined.
3 │ return "Not inline";
4 │ }
> 5 │ const direct = fn();
│ ^^^^^^
6 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a type to the variable.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
// Unspecified object member type
@@ -124,14 +124,14 @@ function fn(): string {
const nested = { result: fn() };
```
-code-block.ts:5:7 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The variable doesn't have a type defined.
3 │ return "Not inline";
4 │ }
> 5 │ const nested = { result: fn() };
│ ^^^^^^
6 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a type to the variable.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:5:7 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The variable doesn't have a type defined.
3 │ return "Not inline";
4 │ }
> 5 │ const nested = { result: fn() };
│ ^^^^^^
6 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a type to the variable.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
// let bindings of null and undefined are usually overwritten by other code
let foo = null;
```
-code-block.ts:2:5 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The variable doesn't have a type defined.
1 │ // let bindings of null and undefined are usually overwritten by other code
> 2 │ let foo = null;
│ ^^^
3 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a type to the variable.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:5 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The variable doesn't have a type defined.
1 │ // let bindings of null and undefined are usually overwritten by other code
> 2 │ let foo = null;
│ ^^^
3 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a type to the variable.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
The following example is considered incorrect for a higher-order function, as the returned function does not specify a return type:
@@ -139,7 +139,7 @@ The following example is considered incorrect for a higher-order function, as th
var arrowFn = () => () => {};
```
-code-block.ts:1:21 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
> 1 │ var arrowFn = () => () => {};
│ ^^^^^^^^
2 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:1:21 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
> 1 │ var arrowFn = () => () => {};
│ ^^^^^^^^
2 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
var arrowFn = () => {
@@ -147,7 +147,7 @@ var arrowFn = () => {
}
```
-code-block.ts:2:10 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ var arrowFn = () => {
> 2 │ return () => { };
│ ^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:10 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ var arrowFn = () => {
> 2 │ return () => { };
│ ^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
The following example is considered incorrect for a higher-order function because the function body contains multiple statements. We only check whether the first statement is a function return.
@@ -161,7 +161,7 @@ function f() {
}
```
-code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // A function has multiple statements in the body
> 2 │ function f() {
│ ^^^^^^^^^^
3 │ if (x) {
4 │ return 0;
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // A function has multiple statements in the body
> 2 │ function f() {
│ ^^^^^^^^^^
3 │ if (x) {
4 │ return 0;
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
// A function has multiple statements in the body
@@ -173,7 +173,7 @@ function f() {
}
```
-code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // A function has multiple statements in the body
> 2 │ function f() {
│ ^^^^^^^^^^
3 │ let str = "test";
4 │ return (): string => {
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // A function has multiple statements in the body
> 2 │ function f() {
│ ^^^^^^^^^^
3 │ let str = "test";
4 │ return (): string => {
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
```ts
// A function has multiple statements in the body
@@ -182,7 +182,7 @@ function f() {
}
```
-code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // A function has multiple statements in the body
> 2 │ function f() {
│ ^^^^^^^^^^
3 │ let str = "test";
4 │ }
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function.
1 │ // A function has multiple statements in the body
> 2 │ function f() {
│ ^^^^^^^^^^
3 │ let str = "test";
4 │ }
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
The following example is considered incorrect for an interface method without a return type:
@@ -192,7 +192,7 @@ interface Arraycode-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ interface Array<Type> {
> 2 │ method();
│ ^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ interface Array<Type> {
> 2 │ method();
│ ^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
The following example is considered incorrect for a type declaration of a function without a return type:
@@ -203,7 +203,7 @@ type MyObject = {
};
```
-code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ type MyObject = {
> 2 │ (input: string);
│ ^^^^^^^^^^^^^^^^
3 │ propertyName: string;
4 │ };
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ type MyObject = {
> 2 │ (input: string);
│ ^^^^^^^^^^^^^^^^
3 │ propertyName: string;
4 │ };
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
The following example is considered incorrect for an abstract class method without a return type:
@@ -213,7 +213,7 @@ abstract class MyClass {
}
```
-code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ abstract class MyClass {
> 2 │ public abstract method();
│ ^^^^^^^^^^^^^^^^^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ abstract class MyClass {
> 2 │ public abstract method();
│ ^^^^^^^^^^^^^^^^^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
The following example is considered incorrect for an abstract class getter without a return type:
@@ -223,7 +223,7 @@ abstract class Pcode-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ abstract class P<T> {
> 2 │ abstract get poke();
│ ^^^^^^^^^^^^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on member.
1 │ abstract class P<T> {
> 2 │ abstract get poke();
│ ^^^^^^^^^^^^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the member.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
The following example is considered incorrect for a function declaration in a namespace without a return type:
@@ -233,7 +233,7 @@ declare namespace myLib {
}
```
-code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function declaration.
1 │ declare namespace myLib {
> 2 │ function makeGreeting(s: string);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function declaration.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function declaration.
1 │ declare namespace myLib {
> 2 │ function makeGreeting(s: string);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function declaration.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
The following example is considered incorrect for a module function export without a return type:
@@ -243,7 +243,7 @@ declare module "foo" {
}
```
-code-block.ts:2:18 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function declaration.
1 │ declare module "foo" {
> 2 │ export default function bar();
│ ^^^^^^^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function declaration.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:2:18 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Missing return type on function declaration.
1 │ declare module "foo" {
> 2 │ export default function bar();
│ ^^^^^^^^^^^^^^^
3 │ }
4 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Add a return type to the function declaration.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
The following example is considered incorrect because `arg` has `any` type.
@@ -251,7 +251,7 @@ The following example is considered incorrect because `arg` has `any` type.
var arrowFn = (arg: any): string => `test ${arg}`;
```
-code-block.ts:1:21 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The parameter has an any type.
> 1 │ var arrowFn = (arg: any): string => `test ${arg}`;
│ ^^^
2 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Replace any with unknown or a more specific type.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.ts:1:21 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The parameter has an any type.
> 1 │ var arrowFn = (arg: any): string => `test ${arg}`;
│ ^^^
2 │
ℹ Declaring the type makes the code self-documented and can speed up TypeScript type checking.
ℹ Replace any with unknown or a more specific type.
ℹ This rule is still being actively worked on, so it may be missing features or have rough edges. Visit https://github.com/biomejs/biome/issues/2017 for more information or to report possible bugs.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
### Valid
diff --git a/src/content/docs/linter/rules/use-max-params.mdx b/src/content/docs/linter/rules/use-max-params.mdx
index e816d9761..286ca2701 100644
--- a/src/content/docs/linter/rules/use-max-params.mdx
+++ b/src/content/docs/linter/rules/use-max-params.mdx
@@ -9,12 +9,10 @@ import { Tabs, TabItem } from '@astrojs/starlight/components';
code-block.js:1:13 lint/nursery/useMaxParams ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Function has 8 parameters, but only 4 are allowed.
> 1 │ function foo(a, b, c, d, e, f, g, h) {
│ ^^^^^^^^^^^^^^^^^^^^^^^^
2 │ // too many parameters
3 │ }
ℹ Functions with many parameters are hard to read and maintain.
ℹ Consider using an options object, splitting into smaller functions, or grouping related parameters.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:13 lint/complexity/useMaxParams ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Function has 8 parameters, but only 4 are allowed.
> 1 │ function foo(a, b, c, d, e, f, g, h) {
│ ^^^^^^^^^^^^^^^^^^^^^^^^
2 │ // too many parameters
3 │ }
ℹ Functions with many parameters are hard to read and maintain.
ℹ Consider using an options object, splitting into smaller functions, or grouping related parameters.
```js
const bar = (a, b, c, d, e, f, g, h) => {
@@ -60,7 +58,7 @@ const bar = (a, b, c, d, e, f, g, h) => {
}
```
-code-block.js:1:13 lint/nursery/useMaxParams ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Function has 8 parameters, but only 4 are allowed.
> 1 │ const bar = (a, b, c, d, e, f, g, h) => {
│ ^^^^^^^^^^^^^^^^^^^^^^^^
2 │ // too many parameters
3 │ }
ℹ Functions with many parameters are hard to read and maintain.
ℹ Consider using an options object, splitting into smaller functions, or grouping related parameters.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:1:13 lint/complexity/useMaxParams ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Function has 8 parameters, but only 4 are allowed.
> 1 │ const bar = (a, b, c, d, e, f, g, h) => {
│ ^^^^^^^^^^^^^^^^^^^^^^^^
2 │ // too many parameters
3 │ }
ℹ Functions with many parameters are hard to read and maintain.
ℹ Consider using an options object, splitting into smaller functions, or grouping related parameters.
```js
class Baz {
@@ -70,7 +68,7 @@ class Baz {
}
```
-code-block.js:2:11 lint/nursery/useMaxParams ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Function has 8 parameters, but only 4 are allowed.
1 │ class Baz {
> 2 │ method(a, b, c, d, e, f, g, h) {
│ ^^^^^^^^^^^^^^^^^^^^^^^^
3 │ // too many parameters
4 │ }
ℹ Functions with many parameters are hard to read and maintain.
ℹ Consider using an options object, splitting into smaller functions, or grouping related parameters.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:11 lint/complexity/useMaxParams ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Function has 8 parameters, but only 4 are allowed.
1 │ class Baz {
> 2 │ method(a, b, c, d, e, f, g, h) {
│ ^^^^^^^^^^^^^^^^^^^^^^^^
3 │ // too many parameters
4 │ }
ℹ Functions with many parameters are hard to read and maintain.
ℹ Consider using an options object, splitting into smaller functions, or grouping related parameters.
### Valid
@@ -105,8 +103,8 @@ The maximum number of parameters allowed (default: 4).
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/use_max_params.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/useMaxParams)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/complexity/use_max_params.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/complexity/useMaxParams)
code-block.js:4:17 lint/nursery/useQwikMethodUsage ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Qwik hook detected outside of an allowed scope.
3 │ export const Counter = () => {
> 4 │ const count = useSignal(0);
│ ^^^^^^^^^^^^
5 │ };
6 │
ℹ Qwik's reactive hooks (functions starting with use* followed by uppercase letter) must be:
- Used exclusively within `component$` functions
- Or encapsulated within other valid Qwik hooks
ℹ Check the Qwik documentation.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:4:17 lint/correctness/useQwikMethodUsage ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Qwik hook detected outside of an allowed scope.
3 │ export const Counter = () => {
> 4 │ const count = useSignal(0);
│ ^^^^^^^^^^^^
5 │ };
6 │
ℹ Qwik's reactive hooks (functions starting with use* followed by uppercase letter) must be:
- Used exclusively within `component$` functions
- Or encapsulated within other valid Qwik hooks
ℹ Check the Qwik documentation.
### Valid
@@ -75,8 +73,8 @@ export const useCounter = () => {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/use_qwik_method_usage.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/useQwikMethodUsage)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/correctness/use_qwik_method_usage.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/correctness/useQwikMethodUsage)
code-block.js:2:21 lint/nursery/useQwikValidLexicalScope ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Non-serializable expression must be wrapped with $(...)
1 │ // Arrow function assigned without wrapping it in $(...)
> 2 │ const handleClick = () => {
│ ^^^^^^^
> 3 │ console.log("clicked");
> 4 │ };
│ ^
5 │
ℹ Qwik requires serializable closures for:
- Resumability (pausing/resuming execution)
- Code splitting (lazy loading components)
- Optimized rehydration (client-side continuation)
ℹ Wrap the expression with $(...) to make it serializable. Learn more: Qwik documentation.
ℹ This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.
+code-block.js:2:21 lint/correctness/useQwikValidLexicalScope ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Non-serializable expression must be wrapped with $(...)
1 │ // Arrow function assigned without wrapping it in $(...)
> 2 │ const handleClick = () => {
│ ^^^^^^^
> 3 │ console.log("clicked");
> 4 │ };
│ ^
5 │
ℹ Qwik requires serializable closures for:
- Resumability (pausing/resuming execution)
- Code splitting (lazy loading components)
- Optimized rehydration (client-side continuation)
ℹ Wrap the expression with $(...) to make it serializable. Learn more: Qwik documentation.
### Valid
@@ -68,8 +66,8 @@ const handleClick = $(() => {
- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
-- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/use_qwik_valid_lexical_scope.rs)
-- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/useQwikValidLexicalScope)
+- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/correctness/use_qwik_valid_lexical_scope.rs)
+- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/correctness/useQwikValidLexicalScope)