diff --git a/Cargo.lock b/Cargo.lock index 703d07a7fd9..9b24762ffc9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -152,18 +152,18 @@ checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" [[package]] name = "bpaf" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "affa4185035a12636b90d7064d64fff3cca6ff5a2f65c3325a7eef0da2f272bb" +checksum = "c359c5e742f51d3238e83af24b289903591fbce38990eb9fcc903c7f8d5d95f9" dependencies = [ "bpaf_derive", ] [[package]] name = "bpaf_derive" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac88f5e10b620a207805c5a6f538a7777dc55e5469bbc0eec27e2bf75d5ee0f6" +checksum = "136d1184f80d42a8fa311570a1458e54e2e9f5537fbd19b4d2fba04110e30307" dependencies = [ "proc-macro2", "quote", @@ -3373,6 +3373,7 @@ dependencies = [ "rome_js_analyze", "rome_js_factory", "rome_js_formatter", + "rome_js_parser", "rome_js_syntax", "rome_json_analyze", "rome_json_formatter", diff --git a/Cargo.toml b/Cargo.toml index cddeaa8d09e..589827a8571 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -68,7 +68,7 @@ tests_macros = { path = "./crates/tests_macros" } # Crates needed in the workspace bitflags = "2.3.1" -bpaf = { version = "0.9.2", features = ["derive"] } +bpaf = { version = "0.9.3", features = ["derive"] } countme = "3.0.1" dashmap = "5.4.0" indexmap = "1.9.3" @@ -98,4 +98,3 @@ opt-level = "s" [profile.release.package.rome_wasm] debug = false opt-level = 3 - diff --git a/website/src/pages/cli.mdx b/website/src/pages/cli.mdx index c0e873b51c5..c708a65ec9a 100644 --- a/website/src/pages/cli.mdx +++ b/website/src/pages/cli.mdx @@ -9,7 +9,7 @@ description: Available commands and arguments in the Rome CLI. -## Command summary +# Command summary * [`rome`↴](#rome) * [`rome version`↴](#rome-version) diff --git a/xtask/codegen/Cargo.toml b/xtask/codegen/Cargo.toml index 25239599222..98acbd02d16 100644 --- a/xtask/codegen/Cargo.toml +++ b/xtask/codegen/Cargo.toml @@ -19,6 +19,7 @@ case = "1.0.0" pulldown-cmark = { version = "0.9", default-features = false, optional = true } fs_extra = "1.3.0" +rome_js_parser = { workspace = true, optional = true } rome_rowan = { path = "../../crates/rome_rowan", optional = true } rome_cli = { workspace = true, optional = true } rome_analyze = { path = "../../crates/rome_analyze", optional = true } @@ -47,7 +48,7 @@ configuration = [ "rome_json_syntax", "pulldown-cmark", ] -website = ["rome_service", "rome_cli/docgen"] +website = ["rome_service", "rome_cli/docgen", "rome_js_parser", "rome_js_formatter", "rome_js_syntax"] schema = [ "schemars", "serde_json", diff --git a/xtask/codegen/src/generate_website.rs b/xtask/codegen/src/generate_website.rs index f80feb5d868..dd42b9eaf38 100644 --- a/xtask/codegen/src/generate_website.rs +++ b/xtask/codegen/src/generate_website.rs @@ -1,4 +1,8 @@ use rome_cli::rome_command; +use rome_js_formatter::context::JsFormatOptions; +use rome_js_formatter::format_node; +use rome_js_parser::{parse_module, JsParserOptions}; +use rome_js_syntax::JsFileSource; use rome_service::VERSION; use std::fs; use xtask::{project_root, Result}; @@ -38,10 +42,6 @@ pub(crate) fn generate_files() -> Result<()> { if VERSION != "0.0.0" { let parser = rome_command(); let markdown = parser.render_markdown("rome"); - let markdown = markdown - .replace("\n### ", "\n#### ") - .replace("\n## ", "\n### ") - .replace("\n# ", "\n## "); let mut cli_content = fs::read_to_string(project_root().join("website/src/pages/cli.mdx"))?; let start = "\n[//]: # (Start-codegen)\n"; @@ -70,7 +70,13 @@ pub(crate) fn generate_files() -> Result<()> { fs::remove_dir(schema_version_folder.clone())?; } fs::create_dir(schema_version_folder.clone())?; - fs::write(schema_js_file.clone(), SCHEMA_TEMPLATE)?; + let node = parse_module(&SCHEMA_TEMPLATE, JsParserOptions::default()); + let result = format_node( + JsFormatOptions::new(JsFileSource::js_module()), + &node.syntax(), + ) + .unwrap(); + fs::write(schema_js_file.clone(), result.print().unwrap().as_code())?; } Ok(())