From 9f14689ca03113fda4006b5a0aef8d02bb985955 Mon Sep 17 00:00:00 2001 From: Valerio Ageno <51341197+Valerioageno@users.noreply.github.com> Date: Sun, 9 Mar 2025 17:58:45 +0100 Subject: [PATCH] refactor: support crates sub-modules (#636) --- crates/tuono/Cargo.toml | 2 +- crates/tuono/src/cli.rs | 8 +++----- crates/tuono/src/{ => commands}/build.rs | 0 crates/tuono/src/{watch.rs => commands/dev.rs} | 0 crates/tuono/src/commands/mod.rs | 3 +++ crates/tuono/src/{scaffold_project.rs => commands/new.rs} | 0 crates/tuono/src/lib.rs | 4 +--- crates/tuono_internal/Cargo.toml | 2 +- crates/tuono_lib/Cargo.toml | 2 +- crates/tuono_lib/src/lib.rs | 2 +- crates/tuono_lib/src/server.rs | 2 +- crates/tuono_lib/src/{ => services}/logger.rs | 0 crates/tuono_lib/src/services/mod.rs | 1 + crates/tuono_lib_macros/Cargo.toml | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) rename crates/tuono/src/{ => commands}/build.rs (100%) rename crates/tuono/src/{watch.rs => commands/dev.rs} (100%) create mode 100644 crates/tuono/src/commands/mod.rs rename crates/tuono/src/{scaffold_project.rs => commands/new.rs} (100%) rename crates/tuono_lib/src/{ => services}/logger.rs (100%) create mode 100644 crates/tuono_lib/src/services/mod.rs diff --git a/crates/tuono/Cargo.toml b/crates/tuono/Cargo.toml index 4b124f38..9a7d251e 100644 --- a/crates/tuono/Cargo.toml +++ b/crates/tuono/Cargo.toml @@ -10,7 +10,7 @@ repository = "https://github.com/tuono-labs/tuono" readme = "../../README.md" license-file = "../../LICENSE.md" categories = ["web-programming"] -include = ["src/*.rs", "Cargo.toml"] +include = ["src/**/*.rs", "Cargo.toml"] [lib] name = "tuono" diff --git a/crates/tuono/src/cli.rs b/crates/tuono/src/cli.rs index 4115ca4b..9fbd69b9 100644 --- a/crates/tuono/src/cli.rs +++ b/crates/tuono/src/cli.rs @@ -5,13 +5,11 @@ use tracing::{span, Level}; use tracing_subscriber::EnvFilter; use crate::app::App; -use crate::build; +use crate::commands::{build, dev, new}; use crate::mode::Mode; -use crate::scaffold_project; use crate::source_builder::{ bundle_axum_source, check_tuono_folder, create_client_entry_files, generate_fallback_html, }; -use crate::watch; #[derive(Subcommand, Debug)] enum Actions { @@ -87,7 +85,7 @@ pub fn app() -> std::io::Result<()> { generate_fallback_html(&app)?; app.check_server_availability(Mode::Dev); - watch::watch().unwrap(); + dev::watch().unwrap(); } Actions::Build { ssg, no_js_emit } => { let span = span!(Level::TRACE, "BUILD"); @@ -107,7 +105,7 @@ pub fn app() -> std::io::Result<()> { let _guard = span.enter(); - scaffold_project::create_new_project(folder_name, template, head); + new::create_new_project(folder_name, template, head); } } diff --git a/crates/tuono/src/build.rs b/crates/tuono/src/commands/build.rs similarity index 100% rename from crates/tuono/src/build.rs rename to crates/tuono/src/commands/build.rs diff --git a/crates/tuono/src/watch.rs b/crates/tuono/src/commands/dev.rs similarity index 100% rename from crates/tuono/src/watch.rs rename to crates/tuono/src/commands/dev.rs diff --git a/crates/tuono/src/commands/mod.rs b/crates/tuono/src/commands/mod.rs new file mode 100644 index 00000000..2029ac58 --- /dev/null +++ b/crates/tuono/src/commands/mod.rs @@ -0,0 +1,3 @@ +pub mod build; +pub mod dev; +pub mod new; diff --git a/crates/tuono/src/scaffold_project.rs b/crates/tuono/src/commands/new.rs similarity index 100% rename from crates/tuono/src/scaffold_project.rs rename to crates/tuono/src/commands/new.rs diff --git a/crates/tuono/src/lib.rs b/crates/tuono/src/lib.rs index 5ed9c123..edb76ef7 100644 --- a/crates/tuono/src/lib.rs +++ b/crates/tuono/src/lib.rs @@ -4,10 +4,8 @@ //! You can find the full documentation at [tuono.dev](https://tuono.dev/) mod app; -mod build; pub mod cli; +mod commands; mod mode; mod route; -mod scaffold_project; mod source_builder; -mod watch; diff --git a/crates/tuono_internal/Cargo.toml b/crates/tuono_internal/Cargo.toml index 7bcd7af1..31ebe1c7 100644 --- a/crates/tuono_internal/Cargo.toml +++ b/crates/tuono_internal/Cargo.toml @@ -11,7 +11,7 @@ readme = "../../README.md" license-file = "../../LICENSE.md" categories = ["web-programming"] include = [ - "src/*.rs", + "src/**/*.rs", "Cargo.toml" ] diff --git a/crates/tuono_lib/Cargo.toml b/crates/tuono_lib/Cargo.toml index a9cf5a41..9f725831 100644 --- a/crates/tuono_lib/Cargo.toml +++ b/crates/tuono_lib/Cargo.toml @@ -11,7 +11,7 @@ readme = "../../README.md" license-file = "../../LICENSE.md" categories = ["web-programming"] include = [ - "src/*.rs", + "src/**/*.rs", "Cargo.toml" ] diff --git a/crates/tuono_lib/src/lib.rs b/crates/tuono_lib/src/lib.rs index 0f36c1e4..f6087496 100644 --- a/crates/tuono_lib/src/lib.rs +++ b/crates/tuono_lib/src/lib.rs @@ -6,13 +6,13 @@ mod catch_all; mod config; mod env; -mod logger; mod manifest; mod mode; mod payload; mod request; mod response; mod server; +mod services; mod ssr; mod vite_reverse_proxy; mod vite_websocket_proxy; diff --git a/crates/tuono_lib/src/server.rs b/crates/tuono_lib/src/server.rs index b28fafc0..0a13074a 100644 --- a/crates/tuono_lib/src/server.rs +++ b/crates/tuono_lib/src/server.rs @@ -9,7 +9,7 @@ use tuono_internal::config::Config; use crate::env::load_env_vars; use crate::{ - catch_all::catch_all, logger::LoggerLayer, vite_reverse_proxy::vite_reverse_proxy, + catch_all::catch_all, services::logger::LoggerLayer, vite_reverse_proxy::vite_reverse_proxy, vite_websocket_proxy::vite_websocket_proxy, }; diff --git a/crates/tuono_lib/src/logger.rs b/crates/tuono_lib/src/services/logger.rs similarity index 100% rename from crates/tuono_lib/src/logger.rs rename to crates/tuono_lib/src/services/logger.rs diff --git a/crates/tuono_lib/src/services/mod.rs b/crates/tuono_lib/src/services/mod.rs new file mode 100644 index 00000000..d9917284 --- /dev/null +++ b/crates/tuono_lib/src/services/mod.rs @@ -0,0 +1 @@ +pub mod logger; diff --git a/crates/tuono_lib_macros/Cargo.toml b/crates/tuono_lib_macros/Cargo.toml index e4a82aa3..9dd6e3ab 100644 --- a/crates/tuono_lib_macros/Cargo.toml +++ b/crates/tuono_lib_macros/Cargo.toml @@ -10,7 +10,7 @@ readme = "../../README.md" license-file = "../../LICENSE.md" categories = ["web-programming"] include = [ - "src/*.rs", + "src/**/*.rs", "Cargo.toml" ]