diff --git a/packages/core/Cargo.toml b/packages/core/Cargo.toml index dd724eedf..84281dd1b 100644 --- a/packages/core/Cargo.toml +++ b/packages/core/Cargo.toml @@ -10,8 +10,6 @@ description = "Core functionality for Dioxus - a concurrent renderer-agnostic Vi # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -# todo: use wast for faster load/compile -dioxus-core-macro = { path = "../core-macro", version = "0.1.2" } # Bumpalo is used as a micro heap backing each component bumpalo = { version = "3.6.0", features = ["collections", "boxed"] } @@ -41,7 +39,6 @@ serde = { version = "1", features = ["derive"], optional = true } indexmap = "1.7.0" - [dev-dependencies] anyhow = "1.0.42" async-std = { version = "1.9.0", features = ["attributes"] } @@ -50,7 +47,7 @@ dioxus-html = { path = "../html" } fern = { version = "0.6.0", features = ["colored"] } rand = { version = "0.8.4", features = ["small_rng"] } simple_logger = "1.13.0" - +dioxus-core-macro = { path = "../core-macro", version = "0.1.2" } [features] default = ["serialize"] diff --git a/packages/core/benches/jsframework.rs b/packages/core/benches/jsframework.rs index e69fd9511..93147ab78 100644 --- a/packages/core/benches/jsframework.rs +++ b/packages/core/benches/jsframework.rs @@ -15,6 +15,7 @@ use criterion::{criterion_group, criterion_main, Criterion}; use dioxus_core as dioxus; use dioxus_core::prelude::*; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; use rand::prelude::*; diff --git a/packages/core/examples/jsframework.rs b/packages/core/examples/jsframework.rs index 902869f43..cbd5131cd 100644 --- a/packages/core/examples/jsframework.rs +++ b/packages/core/examples/jsframework.rs @@ -1,5 +1,6 @@ use dioxus_core as dioxus; use dioxus_core::prelude::*; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; use rand::prelude::*; use std::fmt::Display; diff --git a/packages/core/src/lib.rs b/packages/core/src/lib.rs index 33aa21ede..6404ebe73 100644 --- a/packages/core/src/lib.rs +++ b/packages/core/src/lib.rs @@ -55,14 +55,12 @@ pub(crate) mod innerlude { pub type DomTree<'a> = Option>; pub type FC

= for<'a> fn(Context<'a>, &'a P) -> DomTree<'a>; - - pub use dioxus_core_macro::{format_args_f, html, rsx}; } pub use crate::innerlude::{ - format_args_f, html, rsx, Context, DioxusElement, DomEdit, DomTree, ElementId, EventPriority, - LazyNodes, MountType, Mutations, NodeFactory, Properties, ScopeId, SuspendedContext, - SyntheticEvent, TaskHandle, TestDom, UserEvent, VNode, VirtualDom, FC, + Context, DioxusElement, DomEdit, DomTree, ElementId, EventPriority, LazyNodes, MountType, + Mutations, NodeFactory, Properties, ScopeId, SuspendedContext, SyntheticEvent, TaskHandle, + TestDom, UserEvent, VNode, VirtualDom, FC, }; pub mod prelude { @@ -72,7 +70,6 @@ pub mod prelude { pub use crate::innerlude::{DioxusElement, DomTree, LazyNodes, Mutations, NodeFactory, FC}; pub use crate::nodes::VNode; pub use crate::VirtualDom; - pub use dioxus_core_macro::{format_args_f, html, rsx, Props}; } pub mod exports { diff --git a/packages/core/tests/borrowedstate.rs b/packages/core/tests/borrowedstate.rs index 02fdd51c5..3ff26b69b 100644 --- a/packages/core/tests/borrowedstate.rs +++ b/packages/core/tests/borrowedstate.rs @@ -1,5 +1,6 @@ use dioxus::{nodes::VSuspended, prelude::*, DomEdit, TestDom}; use dioxus_core as dioxus; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; static Parent: FC<()> = |cx, props| { diff --git a/packages/core/tests/create_dom.rs b/packages/core/tests/create_dom.rs index b1b6639b8..537a2ef86 100644 --- a/packages/core/tests/create_dom.rs +++ b/packages/core/tests/create_dom.rs @@ -5,6 +5,7 @@ use dioxus::{prelude::*, DomEdit}; use dioxus_core as dioxus; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; mod test_logging; diff --git a/packages/core/tests/diffing.rs b/packages/core/tests/diffing.rs index fe952c82f..c8063c061 100644 --- a/packages/core/tests/diffing.rs +++ b/packages/core/tests/diffing.rs @@ -6,6 +6,7 @@ use dioxus::{nodes::VSuspended, prelude::*, DomEdit, TestDom}; use dioxus_core as dioxus; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; mod test_logging; diff --git a/packages/core/tests/display_vdom.rs b/packages/core/tests/display_vdom.rs index 461a9068b..ac34fdcc2 100644 --- a/packages/core/tests/display_vdom.rs +++ b/packages/core/tests/display_vdom.rs @@ -8,6 +8,7 @@ use std::{cell::RefCell, rc::Rc}; use anyhow::{Context, Result}; use dioxus::prelude::*; use dioxus_core as dioxus; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; mod test_logging; diff --git a/packages/core/tests/eventsystem.rs b/packages/core/tests/eventsystem.rs index ccdd03810..50a86617e 100644 --- a/packages/core/tests/eventsystem.rs +++ b/packages/core/tests/eventsystem.rs @@ -3,6 +3,7 @@ use bumpalo::Bump; use anyhow::{Context, Result}; use dioxus::{prelude::*, DomEdit}; use dioxus_core as dioxus; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; #[async_std::test] diff --git a/packages/core/tests/lifecycle.rs b/packages/core/tests/lifecycle.rs index 6faf8d9e4..f22ce246d 100644 --- a/packages/core/tests/lifecycle.rs +++ b/packages/core/tests/lifecycle.rs @@ -5,7 +5,9 @@ use std::{cell::RefCell, rc::Rc}; use anyhow::{Context, Result}; use dioxus::prelude::*; use dioxus_core as dioxus; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; + mod test_logging; const IS_LOGGING_ENABLED: bool = true; diff --git a/packages/core/tests/sharedstate.rs b/packages/core/tests/sharedstate.rs index b34980b64..3c88d52a5 100644 --- a/packages/core/tests/sharedstate.rs +++ b/packages/core/tests/sharedstate.rs @@ -1,6 +1,8 @@ use dioxus::{nodes::VSuspended, prelude::*, DomEdit, TestDom}; use dioxus_core as dioxus; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; + use DomEdit::*; mod test_logging; diff --git a/packages/core/tests/vdom_rebuild.rs b/packages/core/tests/vdom_rebuild.rs index 13f30a0eb..883e24468 100644 --- a/packages/core/tests/vdom_rebuild.rs +++ b/packages/core/tests/vdom_rebuild.rs @@ -10,6 +10,7 @@ use dioxus::prelude::*; use dioxus_core as dioxus; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; #[test] diff --git a/packages/ssr/Cargo.toml b/packages/ssr/Cargo.toml index 841d4e0cf..261acdd14 100644 --- a/packages/ssr/Cargo.toml +++ b/packages/ssr/Cargo.toml @@ -21,3 +21,4 @@ argh = "0.1.4" serde = "1.0.120" serde_json = "1.0.61" fs_extra = "1.2.0" +dioxus-core-macro = { path = "../core-macro" } diff --git a/packages/ssr/examples/basic.rs b/packages/ssr/examples/basic.rs index 5934f2cc8..c89c425e3 100644 --- a/packages/ssr/examples/basic.rs +++ b/packages/ssr/examples/basic.rs @@ -1,8 +1,8 @@ use dioxus::virtual_dom::VirtualDom; use dioxus_core as dioxus; use dioxus_core::prelude::*; +use dioxus_core_macro::*; use dioxus_html as dioxus_elements; - fn main() { let mut dom = VirtualDom::new(App); dom.rebuild(); @@ -12,7 +12,7 @@ fn main() { ) } -pub static App: FC<()> = |cx, props|{ +pub static App: FC<()> = |cx, props| { cx.render(rsx!( div { class: "overflow-hidden" diff --git a/packages/ssr/examples/tide.rs b/packages/ssr/examples/tide.rs index ae1805622..12b085fe8 100644 --- a/packages/ssr/examples/tide.rs +++ b/packages/ssr/examples/tide.rs @@ -4,6 +4,7 @@ use dioxus::virtual_dom::VirtualDom; use dioxus_core as dioxus; use dioxus_core::prelude::*; +use dioxus_core_macro::*; use dioxus_hooks::use_state; use dioxus_html as dioxus_elements; diff --git a/packages/ssr/examples/tofile.rs b/packages/ssr/examples/tofile.rs index 6a14b4f85..518991511 100644 --- a/packages/ssr/examples/tofile.rs +++ b/packages/ssr/examples/tofile.rs @@ -1,6 +1,7 @@ use dioxus::virtual_dom::VirtualDom; use dioxus_core as dioxus; use dioxus_core::prelude::*; +use dioxus_core_macro::*; use dioxus_hooks::use_state; use dioxus_html as dioxus_elements; use dioxus_html::{GlobalAttributes, SvgAttributes}; @@ -23,7 +24,7 @@ fn main() { .unwrap(); } -pub static App: FC<()> = |cx, props|{ +pub static App: FC<()> = |cx, props| { cx.render(rsx!( div { class: "overflow-hidden" link { href:"https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel:"stylesheet" } @@ -38,7 +39,7 @@ pub static App: FC<()> = |cx, props|{ )) }; -pub static Header: FC<()> = |cx, props|{ +pub static Header: FC<()> = |cx, props| { cx.render(rsx! { div { header { class: "text-gray-400 bg-gray-900 body-font" @@ -64,7 +65,7 @@ pub static Header: FC<()> = |cx, props|{ }) }; -pub static Hero: FC<()> = |cx, props|{ +pub static Hero: FC<()> = |cx, props| { // cx.render(rsx! { section{ class: "text-gray-400 bg-gray-900 body-font" @@ -102,7 +103,7 @@ pub static Hero: FC<()> = |cx, props|{ } }) }; -pub static Entry: FC<()> = |cx, props|{ +pub static Entry: FC<()> = |cx, props| { // cx.render(rsx! { section{ class: "text-gray-400 bg-gray-900 body-font" @@ -115,7 +116,7 @@ pub static Entry: FC<()> = |cx, props|{ }) }; -pub static StacksIcon: FC<()> = |cx, props|{ +pub static StacksIcon: FC<()> = |cx, props| { cx.render(rsx!( svg { // xmlns: "http://www.w3.org/2000/svg" @@ -130,7 +131,7 @@ pub static StacksIcon: FC<()> = |cx, props|{ } )) }; -pub static RightArrowIcon: FC<()> = |cx, props|{ +pub static RightArrowIcon: FC<()> = |cx, props| { cx.render(rsx!( svg { fill: "none" diff --git a/packages/ssr/src/lib.rs b/packages/ssr/src/lib.rs index eb51883fc..d483b3c5a 100644 --- a/packages/ssr/src/lib.rs +++ b/packages/ssr/src/lib.rs @@ -241,6 +241,7 @@ mod tests { use dioxus_core as dioxus; use dioxus_core::prelude::*; use dioxus_html as dioxus_elements; + use dioxus_core_macro::*; static SIMPLE_APP: FC<()> = |cx, props|{ cx.render(rsx!(div { diff --git a/packages/web/Cargo.toml b/packages/web/Cargo.toml index 1f6607a6e..c4dbc8bd8 100644 --- a/packages/web/Cargo.toml +++ b/packages/web/Cargo.toml @@ -75,7 +75,7 @@ uuid = { version = "0.8.2", features = ["v4", "wasm-bindgen"] } dioxus-hooks = { path = "../hooks" } serde = { version = "1.0.126", features = ["derive"] } reqwest = { version = "0.11", features = ["json"] } - +dioxus-core-macro = { path = "../core-macro" } # rand = { version="0.8.4", features=["small_rng"] } # surf = { version = "2.3.1", default-features = false, features = [ # "wasm-client", diff --git a/packages/web/examples/async_web.rs b/packages/web/examples/async_web.rs index a19becdf0..1e1f8b384 100644 --- a/packages/web/examples/async_web.rs +++ b/packages/web/examples/async_web.rs @@ -3,6 +3,7 @@ use dioxus_core as dioxus; use dioxus_core::prelude::*; use dioxus_hooks::*; use dioxus_html as dioxus_elements; +use dioxus_core_macro::*; fn main() { console_error_panic_hook::set_once(); diff --git a/packages/web/examples/basic.rs b/packages/web/examples/basic.rs index 4913657e5..bee94bcdf 100644 --- a/packages/web/examples/basic.rs +++ b/packages/web/examples/basic.rs @@ -1,6 +1,7 @@ //! Basic example that renders a simple VNode to the browser. use dioxus_core as dioxus; use dioxus_core::prelude::*; +use dioxus_core_macro::*; use dioxus_hooks::*; use dioxus_html as dioxus_elements; diff --git a/packages/web/examples/blah.rs b/packages/web/examples/blah.rs index b167d0a93..3bcac4f72 100644 --- a/packages/web/examples/blah.rs +++ b/packages/web/examples/blah.rs @@ -3,9 +3,9 @@ use dioxus::events::on::MouseEvent; use dioxus_core as dioxus; use dioxus_core::prelude::*; +use dioxus_core_macro::*; use dioxus_hooks::*; use dioxus_html as dioxus_elements; -// use wasm_timer; use std::future::Future; diff --git a/packages/web/examples/btns.rs b/packages/web/examples/btns.rs index c354fea5b..179074ee7 100644 --- a/packages/web/examples/btns.rs +++ b/packages/web/examples/btns.rs @@ -11,6 +11,7 @@ use dioxus::prelude::*; use dioxus_core as dioxus; +use dioxus_core_macro::*; use dioxus_hooks::*; use dioxus_html as dioxus_elements; @@ -22,7 +23,7 @@ fn main() { // dioxus::web::launch(App, |c| c); } -static App: FC<()> = |cx, props|{ +static App: FC<()> = |cx, props| { dbg!("rednering parent"); cx.render(rsx! { div { @@ -39,7 +40,7 @@ static App: FC<()> = |cx, props|{ }) }; -static But: FC<()> = |cx, props|{ +static But: FC<()> = |cx, props| { let mut count = use_state(cx, || 0); // let d = Dropper { name: "asd" }; diff --git a/packages/web/examples/crm2.rs b/packages/web/examples/crm2.rs index 1c5dbcbaf..46dfd484d 100644 --- a/packages/web/examples/crm2.rs +++ b/packages/web/examples/crm2.rs @@ -4,9 +4,9 @@ Tiny CRM: A port of the Yew CRM example to Dioxus. use dioxus_core as dioxus; use dioxus_core::prelude::*; +use dioxus_core_macro::*; use dioxus_hooks::*; use dioxus_html as dioxus_elements; - fn main() { // Setup logging wasm_logger::init(wasm_logger::Config::new(log::Level::Debug)); diff --git a/packages/web/examples/demo.rs b/packages/web/examples/demo.rs index 304715377..603b84de5 100644 --- a/packages/web/examples/demo.rs +++ b/packages/web/examples/demo.rs @@ -3,10 +3,9 @@ use dioxus::events::on::MouseEvent; use dioxus_core as dioxus; use dioxus_core::prelude::*; +use dioxus_core_macro::*; use dioxus_hooks::*; use dioxus_html as dioxus_elements; -// use wasm_timer; - use std::future::Future; use std::{pin::Pin, time::Duration}; @@ -25,7 +24,7 @@ fn main() { dioxus_web::launch(App, |c| c) } -pub static App: FC<()> = |cx, props|{ +pub static App: FC<()> = |cx, props| { cx.render(rsx!( div { class: "overflow-hidden" link { href:"https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel:"stylesheet" } @@ -40,7 +39,7 @@ pub static App: FC<()> = |cx, props|{ )) }; -pub static Header: FC<()> = |cx, props|{ +pub static Header: FC<()> = |cx, props| { cx.render(rsx! { div { header { class: "text-gray-400 bg-gray-900 body-font" @@ -66,7 +65,7 @@ pub static Header: FC<()> = |cx, props|{ }) }; -pub static Hero: FC<()> = |cx, props|{ +pub static Hero: FC<()> = |cx, props| { // cx.render(rsx! { section{ class: "text-gray-400 bg-gray-900 body-font" @@ -104,7 +103,7 @@ pub static Hero: FC<()> = |cx, props|{ } }) }; -pub static Entry: FC<()> = |cx, props|{ +pub static Entry: FC<()> = |cx, props| { // cx.render(rsx! { section{ class: "text-gray-400 bg-gray-900 body-font" @@ -117,7 +116,7 @@ pub static Entry: FC<()> = |cx, props|{ }) }; -pub static StacksIcon: FC<()> = |cx, props|{ +pub static StacksIcon: FC<()> = |cx, props| { cx.render(rsx!( svg { // xmlns: "http://www.w3.org/2000/svg" @@ -132,7 +131,7 @@ pub static StacksIcon: FC<()> = |cx, props|{ } )) }; -pub static RightArrowIcon: FC<()> = |cx, props|{ +pub static RightArrowIcon: FC<()> = |cx, props| { cx.render(rsx!( svg { fill: "none" diff --git a/src/lib.rs b/src/lib.rs index 0248ea19e..9f406cceb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -193,6 +193,7 @@ pub mod debug {} pub mod prelude { //! A glob import that includes helper types like FC, rsx!, html!, and required traits pub use dioxus_core::prelude::*; + use dioxus_core_macro::{format_args_f, html, rsx, Props}; pub use dioxus_elements::{GlobalAttributes, SvgAttributes}; pub use dioxus_hooks::*; pub use dioxus_html as dioxus_elements;