diff --git a/crates/rome_js_analyze/src/semantic_analyzers/nursery/use_hook_at_top_level.rs b/crates/rome_js_analyze/src/semantic_analyzers/nursery/use_hook_at_top_level.rs index 7399cc8d319f..3bdc87336f36 100644 --- a/crates/rome_js_analyze/src/semantic_analyzers/nursery/use_hook_at_top_level.rs +++ b/crates/rome_js_analyze/src/semantic_analyzers/nursery/use_hook_at_top_level.rs @@ -11,7 +11,7 @@ use super::use_exhaustive_dependencies::ReactExtensiveDependenciesOptions; declare_rule! { /// Enforce that all React hooks are being called from the Top Level /// component functions. - /// + /// /// To understand why this required see https://reactjs.org/docs/hooks-rules.html#only-call-hooks-at-the-top-level /// /// ## Examples diff --git a/crates/rome_js_unicode_table/src/tables.rs b/crates/rome_js_unicode_table/src/tables.rs index eb783866c931..7f67057597cf 100644 --- a/crates/rome_js_unicode_table/src/tables.rs +++ b/crates/rome_js_unicode_table/src/tables.rs @@ -787,7 +787,9 @@ pub mod derived_property { ('\u{31350}', '\u{323af}'), ('\u{e0100}', '\u{e01ef}'), ]; - pub fn ID_Continue(c: char) -> bool { super::bsearch_range_table(c, ID_Continue_table) } + pub fn ID_Continue(c: char) -> bool { + super::bsearch_range_table(c, ID_Continue_table) + } pub const ID_Start_table: &[(char, char)] = &[ ('A', 'Z'), ('a', 'z'), @@ -1449,5 +1451,7 @@ pub mod derived_property { ('𰀀', '𱍊'), ('\u{31350}', '\u{323af}'), ]; - pub fn ID_Start(c: char) -> bool { super::bsearch_range_table(c, ID_Start_table) } + pub fn ID_Start(c: char) -> bool { + super::bsearch_range_table(c, ID_Start_table) + } } diff --git a/justfile b/justfile index e679e787192b..998b3163e920 100644 --- a/justfile +++ b/justfile @@ -17,7 +17,16 @@ new-lintrule path name: just codegen just documentation +[unix] +touch file: + touch {{file}} + +[windows] +touch file: + (gci {{file}}).LastWriteTime = Get-Date + test-lintrule name: + just touch crates/rome_js_analyze/tests/spec_tests.rs cargo test -p rome_js_analyze -- {{snakecase(name)}} check-ready: diff --git a/xtask/codegen/src/generate_new_lintrule.rs b/xtask/codegen/src/generate_new_lintrule.rs index ee0316e64a24..ac06a01cf6fb 100644 --- a/xtask/codegen/src/generate_new_lintrule.rs +++ b/xtask/codegen/src/generate_new_lintrule.rs @@ -4,15 +4,13 @@ use case::CaseExt; pub fn generate_new_lintrule(path: &str, rule_name: &str) { let rule_folder = PathBuf::from_str(path).unwrap(); - match rule_folder.file_stem() - .and_then(|x| x.to_str()) { - Some("nursery") => {}, + match rule_folder.file_stem().and_then(|x| x.to_str()) { + Some("nursery") => {} _ => { panic!("all new rules must be at a nursery folder"); - }, + } } - let rule_name_upper_camel = rule_name.to_camel(); let rule_name_snake = rule_name.to_snake(); let rule_name_lower_camel = rule_name_snake.to_camel_lowercase(); @@ -65,7 +63,6 @@ None let file_name = format!("{path}/{rule_name_snake}.rs"); std::fs::write(file_name, code).unwrap(); - let categories_path = "crates/rome_diagnostics_categories/src/categories.rs"; let categories = std::fs::read_to_string(categories_path).unwrap(); let insertion_point = r#" @@ -82,5 +79,4 @@ None // General categories"#)); debug_assert!(categories.contains(&rule_name_lower_camel)); std::fs::write(categories_path, categories).unwrap(); - -} \ No newline at end of file +} diff --git a/xtask/codegen/src/lib.rs b/xtask/codegen/src/lib.rs index 6c2de23a62ce..798ee2381cce 100644 --- a/xtask/codegen/src/lib.rs +++ b/xtask/codegen/src/lib.rs @@ -5,6 +5,7 @@ mod css_kinds_src; mod formatter; mod generate_analyzer; mod generate_macros; +pub mod generate_new_lintrule; mod generate_node_factory; mod generate_nodes; mod generate_nodes_mut; @@ -15,7 +16,6 @@ mod kinds_src; mod parser_tests; mod termcolorful; mod unicode; -pub mod generate_new_lintrule; use proc_macro2::{Ident, Span, TokenStream}; use quote::quote; use std::path::Path; diff --git a/xtask/codegen/src/main.rs b/xtask/codegen/src/main.rs index 158aceb7ef3a..c146c21f73f0 100644 --- a/xtask/codegen/src/main.rs +++ b/xtask/codegen/src/main.rs @@ -4,9 +4,9 @@ mod generate_aria; mod generate_bindings; #[cfg(feature = "configuration")] mod generate_configuration; +mod generate_new_lintrule; #[cfg(feature = "schema")] mod generate_schema; -mod generate_new_lintrule; use pico_args::Arguments; use xtask::{project_root, pushd, Mode, Result}; @@ -19,10 +19,10 @@ use crate::generate_bindings::generate_workspace_bindings; use crate::generate_configuration::generate_rules_configuration; #[cfg(feature = "schema")] use crate::generate_schema::generate_configuration_schema; +use generate_new_lintrule::*; use xtask_codegen::{ generate_analyzer, generate_ast, generate_formatters, generate_parser_tests, generate_tables, }; -use generate_new_lintrule::*; fn main() -> Result<()> { let _d = pushd(project_root()); diff --git a/xtask/codegen/src/unicode.rs b/xtask/codegen/src/unicode.rs index a54e37a5200c..c9a3069338b2 100644 --- a/xtask/codegen/src/unicode.rs +++ b/xtask/codegen/src/unicode.rs @@ -28,9 +28,7 @@ pub fn generate_tables() -> Result<()> { #(#ranges),* ]; - pub fn #fn_ident(c: char) -> bool { - super::bsearch_range_table(c, #table_ident) - } + pub fn #fn_ident(c: char) -> bool { super::bsearch_range_table(c, #table_ident) } }) }) .collect::, _>>()?;