Fix bundling/path errors, sidecar support, iOS/Android simulator support, asset hotreload fixes, serverfn hotrelad, native tailwind support (#2779)
* 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
This commit is contained in:
1 parent
ef436e4ed0
commit
7ec3453ca3
156 files changed
+11544
-9005
No files matched your search
+67
-29
@@ -1,6 +1,26 @@
|
||||
[workspace]
|
||||
resolver = "2"
|
||||
members = [
|
||||
"packages/dioxus",
|
||||
"packages/dioxus-lib",
|
||||
"packages/core",
|
||||
"packages/core-types",
|
||||
"packages/cli",
|
||||
"packages/core-types",
|
||||
"packages/core-macro",
|
||||
"packages/config-macro",
|
||||
"packages/router-macro",
|
||||
"packages/extension",
|
||||
"packages/router",
|
||||
"packages/html",
|
||||
"packages/html-internal-macro",
|
||||
"packages/hooks",
|
||||
"packages/web",
|
||||
"packages/ssr",
|
||||
"packages/desktop",
|
||||
"packages/mobile",
|
||||
"packages/interpreter",
|
||||
"packages/liveview",
|
||||
"packages/autofmt",
|
||||
"packages/check",
|
||||
"packages/cli-config",
|
||||
@@ -34,7 +54,30 @@ members = [
|
||||
"packages/signals",
|
||||
"packages/ssr",
|
||||
"packages/static-generation",
|
||||
"packages/web",
|
||||
"packages/lazy-js-bundle",
|
||||
"packages/cli-config",
|
||||
"packages/devtools",
|
||||
"packages/devtools-types",
|
||||
"packages/isrg",
|
||||
"packages/rsx-hotreload",
|
||||
|
||||
# Static generation examples
|
||||
# "packages/static-generation/examples/simple",
|
||||
# "packages/static-generation/examples/router",
|
||||
# "packages/static-generation/examples/github-pages",
|
||||
|
||||
# Playwright tests
|
||||
"packages/playwright-tests/liveview",
|
||||
"packages/playwright-tests/web",
|
||||
"packages/playwright-tests/fullstack",
|
||||
"packages/playwright-tests/suspense-carousel",
|
||||
"packages/playwright-tests/nested-suspense",
|
||||
|
||||
# manganis
|
||||
"packages/manganis/manganis",
|
||||
"packages/manganis/manganis-macro",
|
||||
"packages/manganis/manganis-core",
|
||||
|
||||
|
||||
# Full project examples
|
||||
"example-projects/fullstack-hackernews",
|
||||
@@ -57,12 +100,10 @@ members = [
|
||||
# Playwright tests
|
||||
"packages/playwright-tests/liveview",
|
||||
"packages/playwright-tests/web",
|
||||
"packages/playwright-tests/static-generation",
|
||||
"packages/playwright-tests/fullstack",
|
||||
"packages/playwright-tests/suspense-carousel",
|
||||
"packages/playwright-tests/nested-suspense",
|
||||
]
|
||||
exclude = ["examples/mobile_demo", "examples/openid_connect_demo"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.6.0-alpha.3"
|
||||
@@ -75,16 +116,15 @@ dioxus-core = { path = "packages/core", version = "0.6.0-alpha.3" }
|
||||
dioxus-core-types = { path = "packages/core-types", version = "0.6.0-alpha.3" }
|
||||
dioxus-core-macro = { path = "packages/core-macro", version = "0.6.0-alpha.3" }
|
||||
dioxus-config-macro = { path = "packages/config-macro", version = "0.6.0-alpha.3" }
|
||||
dioxus-document = { path = "packages/document", version = "0.6.0-alpha.3" }
|
||||
dioxus-router = { path = "packages/router", version = "0.6.0-alpha.3" }
|
||||
dioxus-router-macro = { path = "packages/router-macro", version = "0.6.0-alpha.3" }
|
||||
dioxus-document = { path = "packages/document", version = "0.6.0-alpha.3", default-features = false }
|
||||
dioxus-html = { path = "packages/html", version = "0.6.0-alpha.3", default-features = false }
|
||||
dioxus-html-internal-macro = { path = "packages/html-internal-macro", version = "0.6.0-alpha.3" }
|
||||
dioxus-hooks = { path = "packages/hooks", version = "0.6.0-alpha.3" }
|
||||
dioxus-web = { path = "packages/web", version = "0.6.0-alpha.3", default-features = false }
|
||||
dioxus-isrg = { path = "packages/isrg", version = "0.6.0-alpha.3" }
|
||||
dioxus-ssr = { path = "packages/ssr", version = "0.6.0-alpha.3", default-features = false }
|
||||
dioxus-desktop = { path = "packages/desktop", version = "0.6.0-alpha.3", default-features = false }
|
||||
dioxus-desktop = { path = "packages/desktop", version = "0.6.0-alpha.3" }
|
||||
dioxus-mobile = { path = "packages/mobile", version = "0.6.0-alpha.3" }
|
||||
dioxus-interpreter-js = { path = "packages/interpreter", version = "0.6.0-alpha.3" }
|
||||
dioxus-liveview = { path = "packages/liveview", version = "0.6.0-alpha.3" }
|
||||
@@ -94,23 +134,26 @@ dioxus-rsx = { path = "packages/rsx", version = "0.6.0-alpha.3" }
|
||||
dioxus-rsx-hotreload = { path = "packages/rsx-hotreload", version = "0.6.0-alpha.3" }
|
||||
dioxus-rsx-rosetta = { path = "packages/rsx-rosetta", version = "0.6.0-alpha.3" }
|
||||
dioxus-signals = { path = "packages/signals", version = "0.6.0-alpha.3" }
|
||||
dioxus-cli-config = { path = "packages/cli-config", version = "0.6.0-alpha.3" }
|
||||
generational-box = { path = "packages/generational-box", version = "0.6.0-alpha.3" }
|
||||
dioxus-devtools = { path = "packages/devtools", version = "0.6.0-alpha.3" }
|
||||
dioxus-devtools-types = { path = "packages/devtools-types", version = "0.6.0-alpha.3" }
|
||||
dioxus-fullstack = { path = "packages/fullstack", version = "0.6.0-alpha.3" }
|
||||
dioxus-fullstack = { path = "packages/fullstack", version = "0.6.0-alpha.3", default-features = false }
|
||||
dioxus-static-site-generation = { path = "packages/static-generation", version = "0.6.0-alpha.3" }
|
||||
dioxus_server_macro = { path = "packages/server-macro", version = "0.6.0-alpha.3", default-features = false }
|
||||
dioxus-isrg = { path = "packages/isrg", version = "0.6.0-alpha.3" }
|
||||
lazy-js-bundle = { path = "packages/lazy-js-bundle", version = "0.6.0-alpha.3" }
|
||||
dioxus-cli-config = { path = "packages/cli-config", version = "0.6.0-alpha.3" }
|
||||
generational-box = { path = "packages/generational-box", version = "0.6.0-alpha.3" }
|
||||
|
||||
manganis = { path = "packages/manganis/manganis", version = "0.6.0-alpha.3" }
|
||||
manganis-macro = { path = "packages/manganis/manganis-macro", version = "0.6.0-alpha.3" }
|
||||
manganis-core = { path = "packages/manganis/manganis-core", version = "0.6.0-alpha.3" }
|
||||
|
||||
manganis-cli-support = { version = "0.3.0-alpha.3", features = ["html"] }
|
||||
manganis = { version = "0.3.0-alpha.3", default-features = false, features = ["html", "macro"]}
|
||||
warnings = { version = "0.2.0" }
|
||||
|
||||
|
||||
# a fork of pretty please for tests
|
||||
# a fork of pretty please for tests - let's get off of this if we can!
|
||||
prettier-please = { version = "0.3.0", features = ["verbatim"]}
|
||||
|
||||
clap = { version = "4.5.7" }
|
||||
askama_escape = "0.10.3"
|
||||
tracing = "0.1.37"
|
||||
tracing-futures = "0.2.5"
|
||||
@@ -128,8 +171,8 @@ thiserror = "1.0.40"
|
||||
prettyplease = { version = "0.2.20", features = ["verbatim"] }
|
||||
const_format = "0.2.32"
|
||||
cargo_toml = { version = "0.20.3" }
|
||||
tauri-utils = { version = "=1.5.*" }
|
||||
tauri-bundler = { version = "=1.4.*" }
|
||||
tauri-utils = { version = "=2.0.2" }
|
||||
tauri-bundler = { version = "=2.0.4" }
|
||||
lru = "0.12.2"
|
||||
async-trait = "0.1.77"
|
||||
axum = "0.7.0"
|
||||
@@ -178,7 +221,7 @@ criterion = { version = "0.5" }
|
||||
walrus = "*"
|
||||
|
||||
# desktop
|
||||
wry = { version = "0.43.0", default-features = false }
|
||||
wry = { version = "0.45.0", default-features = false }
|
||||
tao = { version = "0.30.0", features = ["rwh_05"] }
|
||||
webbrowser = "1.0.1"
|
||||
infer = "0.16.0"
|
||||
@@ -192,13 +235,11 @@ core-foundation = "0.10.0"
|
||||
objc = { version = "0.2.7", features = ["exception"] }
|
||||
objc_id = "0.1.1"
|
||||
|
||||
[profile.dev.package.dioxus-core-macro]
|
||||
opt-level = 3
|
||||
|
||||
# wasm bindgen is slooooooow, but it's because we're actually processing the wasm
|
||||
# so, lets just bump up walrus to make it faster, no need for any special profiles
|
||||
[profile.dev.package.walrus]
|
||||
opt-level = 3
|
||||
# our release profile should be fast to compile and fast to run
|
||||
# when we ship our CI builds, we turn on LTO which improves perf leftover by turning on incremental
|
||||
[profile.release]
|
||||
incremental = true
|
||||
debug = 0
|
||||
|
||||
# Disable debug assertions to check the released path of core and other packages, but build without optimizations to keep build times quick
|
||||
[profile.release-unoptimized]
|
||||
@@ -219,15 +260,13 @@ documentation = "https://dioxuslabs.com"
|
||||
keywords = ["dom", "ui", "gui", "react", "wasm"]
|
||||
rust-version = "1.79.0"
|
||||
publish = false
|
||||
version = "0.6.0-alpha.2"
|
||||
version = "0.6.0-alpha.3"
|
||||
|
||||
[dependencies]
|
||||
manganis = { workspace = true, optional = true }
|
||||
reqwest = { workspace = true, features = ["json"], optional = true }
|
||||
ciborium = { workspace = true, optional = true }
|
||||
base64 = { workspace = true, optional = true }
|
||||
http-range = { version = "0.1.5", optional = true }
|
||||
ciborium = { version = "0.2.1", optional = true }
|
||||
base64 = { version = "0.21.0", optional = true }
|
||||
tracing-subscriber = "0.3.17"
|
||||
|
||||
[dev-dependencies]
|
||||
dioxus = { workspace = true, features = ["router"] }
|
||||
@@ -264,7 +303,6 @@ fullstack = ["dioxus/fullstack"]
|
||||
axum = ["dioxus/axum"]
|
||||
server = ["dioxus/axum"]
|
||||
web = ["dioxus/web"]
|
||||
collect-assets = ["dep:manganis"]
|
||||
http = ["dep:reqwest", "dep:http-range"]
|
||||
|
||||
[[example]]
|
||||
|
||||
Reference in new issue
Block a user