diff --git a/Cargo.toml b/Cargo.toml index ebfe288c5..c00f8f948 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,6 @@ members = [ "packages/rsx-rosetta", "packages/signals", "packages/hot-reload", - "packages/hot-reload-macro", "docs/guide", ] diff --git a/packages/hot-reload-macro/Cargo.toml b/packages/hot-reload-macro/Cargo.toml deleted file mode 100644 index 009c6501a..000000000 --- a/packages/hot-reload-macro/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "dioxus-hot-reload-macro" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -syn = { version = "1.0.107", features = ["full"] } -proc-macro2 = { version = "1.0" } - -[lib] -proc-macro = true \ No newline at end of file diff --git a/packages/hot-reload-macro/src/lib.rs b/packages/hot-reload-macro/src/lib.rs deleted file mode 100644 index 211be00cf..000000000 --- a/packages/hot-reload-macro/src/lib.rs +++ /dev/null @@ -1,7 +0,0 @@ -use proc_macro::TokenStream; -use syn::__private::quote::quote; - -#[proc_macro] -pub fn hot_reload(_: TokenStream) -> TokenStream { - quote!(dioxus_hot_reload::init(core::env!("CARGO_MANIFEST_DIR"))).into() -} diff --git a/packages/hot-reload/Cargo.toml b/packages/hot-reload/Cargo.toml index 5c9f34826..d6088a109 100644 --- a/packages/hot-reload/Cargo.toml +++ b/packages/hot-reload/Cargo.toml @@ -6,7 +6,6 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -dioxus-hot-reload-macro = { path = "../hot-reload-macro" } dioxus-rsx = { path = "../rsx" } dioxus-core = { path = "../core", features = ["serialize"] } dioxus-html = { path = "../html", features = ["hot-reload-context"] } diff --git a/packages/hot-reload/src/lib.rs b/packages/hot-reload/src/lib.rs index 554263c5f..14cc8e9c2 100644 --- a/packages/hot-reload/src/lib.rs +++ b/packages/hot-reload/src/lib.rs @@ -6,14 +6,13 @@ use std::{ }; use dioxus_core::Template; -pub use dioxus_hot_reload_macro::hot_reload; use dioxus_html::HtmlCtx; use dioxus_rsx::hot_reload::{FileMap, UpdateResult}; use interprocess::local_socket::{LocalSocketListener, LocalSocketStream}; use notify::{RecommendedWatcher, RecursiveMode, Watcher}; /// Initialize the hot reloading listener on the given path -pub fn init(path: &'static str) { +pub fn init(path: &'static str, listening_paths: &'static [&'static str]) { if let Ok(crate_dir) = PathBuf::from_str(path) { let temp_file = std::env::temp_dir().join("@dioxusin"); let channels = Arc::new(Mutex::new(Vec::new())); @@ -109,3 +108,14 @@ pub fn connect(mut f: impl FnMut(Template<'static>) + Send + 'static) { } }); } + +#[macro_export] +macro_rules! hot_reload { + () => { + dioxus_hot_reload::init(core::env!("CARGO_MANIFEST_DIR"), &[]) + }; + + ($($paths: literal,)*,?) => { + dioxus_hot_reload::init(core::env!("CARGO_MANIFEST_DIR"), &[$($path,)*]) + }; +}