* wip: fix manganis import path * upgrade tauri bundler, convert todo!() to unimplemented!() * feat: mobile hotreloading + ios asset configuration * remove oid demo and its associated env vars * nuke all the things that cause cache thrashing * swap to Asset type * add some more logs * display impl for attrvalue * dont panic on collect failure * cut down web deps to 150 * clean up deps in a lot of places, simplify build scripts * clean up asset resolution and cli-dev profile * wire up absolute paths for manganis asset in a particular mode * move document related things around to shorten compile times * move most things to `document::Item` and then decompose the cli-config * switch link to stylesheet for clarity in examples * move manganis workspace example to examples folder * decompose manganis-cli-support * dont need mobile demo anymore * remove gloo dialogs * html doesnt need document * rename hotreload to devtools * really clean up the html crate * fix weird rsx spacing * clean up desktop to use callback * clean up document a bit * re-wire up devsocket * fix utf css * yeeeet that js out of here * synthetic web system works * web crate almost done being cleaned up * desktop mostly cleaned up too * clean up cli a bit * more cli cleanup * cli builds again * clean up cli, inline structs, cut down number of unique types where possible * hotreload works again for desktop and this time, mobile too * cfg out tungstenite * devserver err * more refactor to cli builder * switch to unbounded_send * new structure is much cleaner * add http serve subcommand * bundled hotreload * kick stylsheets * clean up a bit more, split up eventloop * amazingly serve seems done * change from pub to pub(crate) in cli * remove tools * bit more polish to cli * fix issue with join * gracefully handle fullstack without a server * fullstack mobile demo * fix launch function, move projects into example-projects folder * hoist examples * add "run" command * clean up launch * remove old manual websocket receiver * doctor command * allow desktop to scroll * cut apart router crate * dont put launch in prelude * use dioxus::launch where possible * rename rsx, cut out hotreload tests * remove liveview project * bump native * fix compile for renderers * move sync event response out of interpreter * move render in serve * rollback settings change * cli compiles, huzzah! * change uris for asset * fix asset * new tui screen * new cargo-like tui works * very very verty close * it works! very small bug with incorrect grapheme calc * Clean up devserver a bit * status sytem * tidy up debug filters * clean up logging situation * Fix a number of bugs with log printing * new printing system is more reliable * wire up more stuff * things working but fullstack is having issues * fullstack works again! * hotreloading bundled assets works again * bundled hotreload and beginnings of macos bundling * Hotreload desktop * combined server builds * add build handle * fix fullstack assets * make open async, add some hooks for ios * migrate filemap to runner * wip global crate system * fixup bundles + organize asset * fix asset location bug * all the bundled reloading! * open ios simulator! * full hotreload support for mobile + serverfn * basic cleanups * clean up dx * Move filemap * fix cutting of newlines * assets workibg, some android * hoist wry/tao * use sync locks and headers to fix issues with android * desktop -> mac/win/linux with alias * better logging * feat: workspace (entire computer!) hotreload * should rebuild toggle, ios simulator bootup * proper mobile support in launch * more robust handling of assets * fix cargo * bring back some of tauri bundle * make warnings go away, clippy happy on cli * some final clippy cleanups * fmt * move manganis to its own folder * upgrade bundle to stable * drastically slim down manganis, prepping for merge * typos, failing test, docsrs config * remove static gen test * nix static gen test * we use --platform web instead of --platform fullstack now * only bind dev urls in desktop/mobile * install gtk * nix static gen * split build dir by app name
111 lines
4.1 KiB
Rust
111 lines
4.1 KiB
Rust
#![doc = include_str!("../README.md")]
|
|
#![doc(html_logo_url = "https://avatars.githubusercontent.com/u/79236386")]
|
|
#![doc(html_favicon_url = "https://avatars.githubusercontent.com/u/79236386")]
|
|
#![warn(missing_docs)]
|
|
|
|
mod any_props;
|
|
mod arena;
|
|
mod diff;
|
|
mod effect;
|
|
mod error_boundary;
|
|
mod events;
|
|
mod fragment;
|
|
mod generational_box;
|
|
mod global_context;
|
|
mod launch;
|
|
mod mutations;
|
|
mod nodes;
|
|
mod properties;
|
|
mod reactive_context;
|
|
mod render_error;
|
|
mod root_wrapper;
|
|
mod runtime;
|
|
mod scheduler;
|
|
mod scope_arena;
|
|
mod scope_context;
|
|
mod scopes;
|
|
mod suspense;
|
|
mod tasks;
|
|
mod virtual_dom;
|
|
|
|
mod hotreload_utils;
|
|
|
|
/// Items exported from this module are used in macros and should not be used directly.
|
|
#[doc(hidden)]
|
|
pub mod internal {
|
|
pub use crate::properties::verify_component_called_as_component;
|
|
|
|
#[doc(hidden)]
|
|
pub use crate::hotreload_utils::{
|
|
DynamicLiteralPool, DynamicValuePool, FmtSegment, FmtedSegments, HotReloadAttributeValue,
|
|
HotReloadDynamicAttribute, HotReloadDynamicNode, HotReloadLiteral,
|
|
HotReloadTemplateWithLocation, HotReloadedTemplate, HotreloadedLiteral, NamedAttribute,
|
|
TemplateGlobalKey,
|
|
};
|
|
|
|
#[doc(hidden)]
|
|
pub use generational_box;
|
|
}
|
|
|
|
pub(crate) mod innerlude {
|
|
pub(crate) use crate::any_props::*;
|
|
pub use crate::arena::*;
|
|
pub(crate) use crate::effect::*;
|
|
pub use crate::error_boundary::*;
|
|
pub use crate::events::*;
|
|
pub use crate::fragment::*;
|
|
pub use crate::generational_box::*;
|
|
pub use crate::global_context::*;
|
|
pub use crate::launch::*;
|
|
pub use crate::mutations::*;
|
|
pub use crate::nodes::*;
|
|
pub use crate::properties::*;
|
|
pub use crate::reactive_context::*;
|
|
pub use crate::render_error::*;
|
|
pub use crate::runtime::{Runtime, RuntimeGuard};
|
|
pub use crate::scheduler::*;
|
|
pub use crate::scopes::*;
|
|
pub use crate::suspense::*;
|
|
pub use crate::tasks::*;
|
|
pub use crate::virtual_dom::*;
|
|
|
|
/// An [`Element`] is a possibly-none [`VNode`] created by calling `render` on [`ScopeId`] or [`ScopeState`].
|
|
///
|
|
/// An Errored [`Element`] will propagate the error to the nearest error boundary.
|
|
pub type Element = std::result::Result<VNode, RenderError>;
|
|
|
|
/// A [`Component`] is a function that takes [`Properties`] and returns an [`Element`].
|
|
pub type Component<P = ()> = fn(P) -> Element;
|
|
}
|
|
|
|
pub use crate::innerlude::{
|
|
fc_to_builder, generation, schedule_update, schedule_update_any, use_hook, vdom_is_rendering,
|
|
AnyValue, Attribute, AttributeValue, CapturedError, Component, ComponentFunction, DynamicNode,
|
|
Element, ElementId, Event, Fragment, HasAttributes, IntoDynNode, LaunchConfig, MarkerWrapper,
|
|
Mutation, Mutations, NoOpMutations, Ok, Properties, Result, Runtime, ScopeId, ScopeState,
|
|
SpawnIfAsync, Task, Template, TemplateAttribute, TemplateNode, VComponent, VNode, VNodeInner,
|
|
VPlaceholder, VText, VirtualDom, WriteMutations,
|
|
};
|
|
|
|
/// The purpose of this module is to alleviate imports of many common types
|
|
///
|
|
/// This includes types like [`Element`], and [`Component`].
|
|
pub mod prelude {
|
|
pub use crate::innerlude::{
|
|
consume_context, consume_context_from_scope, current_owner, current_scope_id,
|
|
fc_to_builder, generation, has_context, needs_update, needs_update_any, parent_scope,
|
|
provide_context, provide_error_boundary, provide_root_context, queue_effect, remove_future,
|
|
schedule_update, schedule_update_any, spawn, spawn_forever, spawn_isomorphic, suspend,
|
|
throw_error, try_consume_context, use_after_render, use_before_render, use_drop, use_hook,
|
|
use_hook_with_cleanup, with_owner, AnyValue, Attribute, Callback, Component,
|
|
ComponentFunction, Context, Element, ErrorBoundary, ErrorContext, Event, EventHandler,
|
|
Fragment, HasAttributes, IntoAttributeValue, IntoDynNode, OptionStringFromMarker,
|
|
Properties, ReactiveContext, RenderError, Runtime, RuntimeGuard, ScopeId, ScopeState,
|
|
SuperFrom, SuperInto, SuspendedFuture, SuspenseBoundary, SuspenseBoundaryProps,
|
|
SuspenseContext, SuspenseExtension, Task, Template, TemplateAttribute, TemplateNode, VNode,
|
|
VNodeInner, VirtualDom,
|
|
};
|
|
}
|
|
|
|
pub use const_format;
|