mirror of
https://github.com/DioxusLabs/dioxus
synced 2025-02-16 21:58:25 +00:00
fix fullstack playwright test features
This commit is contained in:
parent
1b7c31792e
commit
b4f2a925c7
15 changed files with 93 additions and 66 deletions
3
Cargo.lock
generated
3
Cargo.lock
generated
|
@ -2791,11 +2791,8 @@ dependencies = [
|
|||
name = "dioxus-playwright-fullstack-test"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"axum 0.6.20",
|
||||
"dioxus",
|
||||
"execute",
|
||||
"serde",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
@ -150,7 +150,7 @@ fullstack = ["dioxus/fullstack"]
|
|||
axum = ["dioxus/axum"]
|
||||
salvo = ["dioxus/salvo"]
|
||||
rocket = ["dioxus/rocket"]
|
||||
server = ["dioxus/server"]
|
||||
server = ["dioxus/axum"]
|
||||
default = ["dioxus/desktop"]
|
||||
web = ["dioxus/web"]
|
||||
collect-assets = ["manganis"]
|
||||
|
|
|
@ -47,12 +47,11 @@ fullstack = ["dioxus-fullstack", "dioxus-config-macro/fullstack", "serde", "diox
|
|||
desktop = ["dioxus-desktop", "dioxus-fullstack?/desktop", "dioxus-config-macro/desktop"]
|
||||
mobile = ["dioxus-mobile", "dioxus-fullstack?/mobile", "dioxus-config-macro/mobile"]
|
||||
web = ["dioxus-web", "dioxus-fullstack?/web", "dioxus-config-macro/web", "dioxus-router?/web"]
|
||||
server = ["dioxus-fullstack?/server", "dioxus-config-macro/ssr", "dioxus-router?/ssr"]
|
||||
ssr = ["dioxus-ssr"]
|
||||
ssr = ["dioxus-ssr", "dioxus-router?/ssr", "dioxus-config-macro/ssr"]
|
||||
liveview = ["dioxus-liveview", "dioxus-config-macro/liveview", "dioxus-router?/liveview"]
|
||||
axum = ["dioxus-fullstack?/axum", "dioxus-liveview?/axum"]
|
||||
salvo = ["dioxus-fullstack?/salvo", "dioxus-liveview?/salvo"]
|
||||
warp = ["dioxus-fullstack?/warp", "dioxus-liveview?/warp"]
|
||||
axum = ["dioxus-fullstack?/axum", "ssr", "dioxus-liveview?/axum"]
|
||||
salvo = ["dioxus-fullstack?/salvo", "ssr", "dioxus-liveview?/salvo"]
|
||||
warp = ["dioxus-fullstack?/warp", "ssr", "dioxus-liveview?/warp"]
|
||||
rocket = ["dioxus-liveview?/rocket"]
|
||||
tui = ["dioxus-tui", "dioxus-config-macro/tui"]
|
||||
|
||||
|
|
|
@ -78,6 +78,6 @@ mobile = ["dioxus-mobile"]
|
|||
warp = ["dep:warp", "server"]
|
||||
axum = ["dep:axum", "tower-http", "server"]
|
||||
salvo = ["dep:salvo", "server", "http-body-util"]
|
||||
server = ["server_fn/ssr", "dioxus_server_macro/ssr", "tokio", "tokio-util", "tokio-stream", "dioxus-ssr", "dioxus-ssr/incremental", "tower", "hyper", "http", "tower-layer", "anymap", "tracing-futures", "pin-project", "thiserror", "dioxus-cli-config"]
|
||||
server = ["server_fn/ssr", "dioxus_server_macro/server", "tokio", "tokio-util", "tokio-stream", "dioxus-ssr", "dioxus-ssr/incremental", "tower", "hyper", "http", "tower-layer", "anymap", "tracing-futures", "pin-project", "thiserror", "dioxus-cli-config"]
|
||||
default-tls = ["server_fn/default-tls"]
|
||||
rustls = ["server_fn/rustls"]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
//!
|
||||
//! ```sh
|
||||
//! dx build --features web
|
||||
//! cargo run --features ssr
|
||||
//! cargo run --features server
|
||||
//! ```
|
||||
|
||||
#![allow(non_snake_case, unused)]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Run with:
|
||||
// ```bash
|
||||
// cargo run --bin server --features ssr
|
||||
// cargo run --bin server --features server
|
||||
// ```
|
||||
|
||||
use axum_desktop::*;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
//!
|
||||
//! ```sh
|
||||
//! dx build --features web --release
|
||||
//! cargo run --features ssr
|
||||
//! cargo run --features server
|
||||
//! ```
|
||||
|
||||
#![allow(unused)]
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
.dioxus
|
||||
dist
|
||||
target
|
|
@ -7,13 +7,10 @@ publish = false
|
|||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
dioxus = { workspace = true }
|
||||
axum = { version = "0.6.12", optional = true }
|
||||
tokio = { version = "1.27.0", features = ["full"], optional = true }
|
||||
dioxus = { workspace = true, features = ["fullstack"] }
|
||||
serde = "1.0.159"
|
||||
execute = "0.2.12"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
server = ["axum", "tokio", "dioxus/axum"]
|
||||
server = ["dioxus/axum"]
|
||||
web = ["dioxus/web"]
|
||||
|
|
|
@ -6,55 +6,18 @@
|
|||
|
||||
#![allow(non_snake_case)]
|
||||
use dioxus::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
fn main() {
|
||||
#[cfg(feature = "web")]
|
||||
dioxus_web::launch_with_props(
|
||||
app,
|
||||
get_root_props_from_document().unwrap_or_default(),
|
||||
dioxus_web::Config::new().hydrate(true),
|
||||
);
|
||||
#[cfg(feature = "ssr")]
|
||||
{
|
||||
// Start hot reloading
|
||||
hot_reload_init!(dioxus_hot_reload::Config::new().with_rebuild_callback(|| {
|
||||
execute::shell("dx build --features web")
|
||||
.spawn()
|
||||
.unwrap()
|
||||
.wait()
|
||||
.unwrap();
|
||||
execute::shell("cargo run --features ssr").spawn().unwrap();
|
||||
true
|
||||
}));
|
||||
|
||||
tokio::runtime::Runtime::new()
|
||||
.unwrap()
|
||||
.block_on(async move {
|
||||
let addr = std::net::SocketAddr::from(([127, 0, 0, 1], 3333));
|
||||
axum::Server::bind(&addr)
|
||||
.serve(
|
||||
axum::Router::new()
|
||||
.serve_dioxus_application(
|
||||
"",
|
||||
ServeConfigBuilder::new(app, AppProps { count: 12345 }).build(),
|
||||
)
|
||||
.into_make_service(),
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Props, PartialEq, Debug, Default, Serialize, Deserialize, Clone)]
|
||||
struct AppProps {
|
||||
count: i32,
|
||||
LaunchBuilder::fullstack()
|
||||
.with_cfg(ssr! {
|
||||
dioxus::fullstack::Config::default().addr(std::net::SocketAddr::from(([127, 0, 0, 1], 3333)))
|
||||
})
|
||||
.launch(app);
|
||||
}
|
||||
|
||||
#[allow(unused)]
|
||||
fn app(props: AppProps) -> Element {
|
||||
let mut count = use_signal(|| props.count);
|
||||
fn app() -> Element {
|
||||
let mut count = use_signal(|| 12345);
|
||||
let mut text = use_signal(|| "...".to_string());
|
||||
|
||||
rsx! {
|
||||
|
|
69
packages/playwright-tests/playwright-report/index.html
Normal file
69
packages/playwright-tests/playwright-report/index.html
Normal file
File diff suppressed because one or more lines are too long
|
@ -90,7 +90,7 @@ module.exports = defineConfig({
|
|||
},
|
||||
{
|
||||
cwd: path.join(process.cwd(), 'fullstack'),
|
||||
command: 'cargo run --package dioxus-cli --release -- build --features web --release --skip-assets\ncargo run --release --features ssr',
|
||||
command: 'cargo run --package dioxus-cli --release -- serve --platform fullstack --skip-assets',
|
||||
port: 3333,
|
||||
timeout: 20 * 60 * 1000,
|
||||
reuseExistingServer: !process.env.CI,
|
||||
|
|
3
packages/playwright-tests/web/.gitignore
vendored
3
packages/playwright-tests/web/.gitignore
vendored
|
@ -1 +1,2 @@
|
|||
dist/
|
||||
dist
|
||||
target
|
||||
|
|
|
@ -24,4 +24,4 @@ proc-macro = true
|
|||
|
||||
[features]
|
||||
default = []
|
||||
ssr = ["server_fn_macro/ssr"]
|
||||
server = ["server_fn_macro/ssr"]
|
||||
|
|
|
@ -123,7 +123,7 @@ pub fn server(args: proc_macro::TokenStream, s: TokenStream) -> TokenStream {
|
|||
Err(e) => e.to_compile_error().into(),
|
||||
Ok(tokens) => quote::quote! {
|
||||
#tokens
|
||||
#[cfg(feature = "ssr")]
|
||||
#[cfg(feature = "server")]
|
||||
#server_fn_path::inventory::submit! {
|
||||
::dioxus::fullstack::prelude::ServerFnMiddleware {
|
||||
prefix: #struct_name::PREFIX,
|
||||
|
|
Loading…
Add table
Reference in a new issue