Using `"fullstack"` feature is not equivalent to using it separately for server and web client
Opened this issue · 1 comments
Problem
I want to only use Dioxus Fullstack for the Web platform, so I have to separately add fullstack to the web and server features, but this disables the fullstack, i.e., the build is broken/not working in the end.
Even though this is not the expected usage, I think it's valid, since it reduces the bloat during development for other platforms and for the release binaries for these platforms.
Steps To Reproduce
Steps to reproduce the behavior:
dx new test --subtemplate Bare-Bones -o is_fullstack=false -o is_router=false -o is_tailwind=false -o default_platform=web
cd test
sed '/default/d' Cargo.toml | sd 'web"]' 'web", "dioxus/fullstack"]' | sed '/web/iserver = ["dioxus/server", "dioxus/fullstack"]' | sponge Cargo.toml
dx serve --platform web
Expected behavior
It should be the same as doing
dx new test --subtemplate Bare-Bones -o is_fullstack=true -o is_router=false -o is_tailwind=false -o default_platform=web
cd test
dx serve --platform web
Environment:
- Dioxus version: v0.6.1
- Rust version: rustc 1.83.0-nightly (fb4aebddd 2024-09-30)
- OS info: Pop!_OS 22.04
- App platform: web
Questionnaire
I'm interested in fixing this myself but don't know where to start.
I don't have time to fix this right now, but maybe later.
I found that there is a --fullstack
flag present, which is weird, because I never saw it or knew that it is used for something. But it fixes the issue:
dx serve --platform web --fullstack
Though if it's a fix or a workaround, I don't know.