* disable strip setting in profile and manually strip with llvm the build
* remove rustc_llvm
* disable debug if wasm opt will run
* fix clippy
* don't strip if we are splitting with wasm-split
* keep names when running wasm-split
This flag allows users to get the raw JSON output from cargo instead
of having it processed by Dioxus. This is useful for integration with
other tools that expect cargo's native JSON diagnostic format.
When enabled, cargo's JSON messages are relayed directly to stdout
while still allowing DX to track essential build information internally.
Usage: dx build --raw-json-diagnostics
* fix(hotpatch): Gracefully handle missing '-flavor' flag during WASM link
* drops logs
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* add component subcommand
* add dx component add, remove and list commands
* handle rust dependencies
* handle component dependencies
* fetch remote registries
* sort components before listing them
* remove local dependency
* move te component manifest into the dioxus workspace
* add additional instalation instructions the first time the component
module is created
* fix mod name
* fix clippy
* improve docs and move to the main branch of components
* fix typos
* more typos
* undo const-serialize changes
* remove a few unwraps
* Allow adding multiple components at once and add a `--all` flag
* add options to the config for the base path, global asset path and
default registry
* component_path -> component_dir
* component_dir is always relative to the crate root
* fix clippy
* fix hot patching with a base path
* read the hot patch file from stdin instead of a CLI arg to allow for longer inputs
* fix request imports
* wip: code style changes
* rename to "components" instead of "component"
* bump lock
* move to method on request
* read until eof in the case of pretty json
* strip is now copy
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* add component subcommand
* add dx component add, remove and list commands
* handle rust dependencies
* handle component dependencies
* fetch remote registries
* sort components before listing them
* remove local dependency
* move te component manifest into the dioxus workspace
* add additional instalation instructions the first time the component
module is created
* fix mod name
* fix clippy
* improve docs and move to the main branch of components
* fix typos
* more typos
* undo const-serialize changes
* remove a few unwraps
* Allow adding multiple components at once and add a `--all` flag
* add options to the config for the base path, global asset path and
default registry
* component_path -> component_dir
* component_dir is always relative to the crate root
* fix clippy
* fix request imports
* wip: code style changes
* rename to "components" instead of "component"
* bump lock
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* Add optional static_dir support
- add optional application.static_dir field defaulting to none
- copy configured static directory into web output during build/serve
- document config knob and add unit tests
- force full rebuild when static_dir contents change
- sync removes stale outputs and logs copy activity
- track static manifest next to platform dir
Tests: cargo fmt
* default to public dir to match vite
* static_dir -> public_dir
* wip
* deser as none...
* wip... use .manifest.json
* implement dumb form of asset manifest generation
* implement manifest using asset system directly
* cleanup
* dont create extra asset dir for server
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* allow `--server` only builds!
* rollback example
* capture `/:route` routes
* fix: properly implement file uploads in forms
* implement desktop form uploads
* Performant serialization of form bytes
* finish up file stuff
* cleanups
* add request headers to streaming context
* remove some unwraps
* Look for strip settings in inherited profiles and global configs
* fix clippy
* use cargo home env var if it exists
* fix cargo home config path
* small stylistic changes
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
overhaul dioxus fullstack using a new implementation of server_fn
This PR is a complete rewrite of dioxus fullstack designed to improve compatibility with axum and to fix a number of compilation errors based on feature flag unification plumbing through macros.
* feat: add dx print command
* small tweak to how client_target is handled
* hotpatching engine wired up!
* small cleanups
* lighter diff
* little bit more light cleanups
* remove changes to manganis
* fix wrong dir error
* move session_cache fixing to prebuild step
* fix the server extension on windows server bundles
* fix formatting
* retry extracting assets if windows antivirus is holding the lock
* fix exe hash with extension
* add a timeout
* wip, make async
* use async methods
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* wip
* wip: basic telemetry
* fix merge
* keep errors for telemetry
* fix upload when queued events are empty
* add per session id and keep track of build timing
* keep track of what commands are run
* capture panics
* keep track of panics
* better path stripping
* better tracing error telemetry
* only sync every week and check settings before sending any telemetry
* keep track of the args passed to commands
* anonymize commands
* more error tolerant
* wip
* wip
* wip
* merge cnflict
* other merg conflict
* migrate everything from telemetry to logging
* update docs
* wip... about to merge trace controller
* lil bit more refactor to clean up tracer
* more performant log writer
* cleanup ci detecting
* wire up to posthog
* re-uploads work
* yoink out the anon from each file
* cleanup sig
* lil bit cleaner
* dont write empty files
* wip log handler
* fmt
* cleanup logging of backtraces
* add proper backtrace support
* use stable reporter
* adhere to posthog format
* fix stacktraces
* use anyhow for capturing backtraces
* I think we're done?
* cleanup logging
* properly collect!
* move out keycode handling
* she works
* typo
* add extra fields
* fix cargo doc
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* fix linux bundle
* fix release mode
* fix resource path
* only use asset dir if it exists
* add comment about directory structure
* don't unwrap parent
* Add --renderer argument to the CLI
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Make `--platform native` work
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Emit `krates` error when cargo metadata fails
* Reinstate default "desktop" feature for examples
* Remove commented 'no platform specified' error
Signed-off-by: Nico Burns <nico@nicoburns.com>
* use the target tripple and bundle format as the source of truth for the build
* resolve renderer and bundle format
* add shorthand flags
* add headings to the help for shorthands
* resolve the renderer from the target triple if it isn't passed
* make value after --fullstack optional
* convert desktop -> mobile when targeting mobile webview
* use the new shorthand flags in the playwright tests
* fix clippy
* merge fix
* cleanup merge conflicts
* fix clippy
* remove nit
* restore platform as a legacy argument
* improve help message
* vendor openssl on native, pin server_fn
* print build errors as warnings
* add --desktop arg compat
* adjust cli headings
* prefer self.is_wasm_or_wasi()
---------
Signed-off-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* warn if we both find manganis in the dependencies and strip is enabled in the current profile
* bump node
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* Update dependencies in Cargo.lock
* added in the missing bevy example which was included in recent merge
* undo unneccessary library installation in gh actions
* cleaned up further
* Update dependencies in Cargo.toml and Cargo.lock askana_escape to 0.13
* updated code to make tests work
* updated the wgpu texture example
* replaced all direct reference with use
* fixed wgpu and jsframework errors in benches and examples
* Fix: Import black_box from std::hint
* grand finale upgrade
* updated cargo.lock
* Bump hyper-util to 0.1.15 and plist to 1.7.4
* remove some unused swc dependencies and add a command to update them in the future
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* wip: openssl autodetection
* add voltaile read inside of asset fn
* support xcode 15 for --device
* vendor openssl on android
* Smaller width TUI
* switch to anyhow for the entire CLI
* add backtrace and print double printing of cargo_metadata errors
* add some padding to multi-line anyhow error
* check semvers
* don't open if not interactive
* set the tailwind current_dir so it doesn't twitch
* get the oboe demo working
* copy the c++ library on android
* cleanup env vars
* add depinfo watcher
* fix stale hotpatches and crate count
* add musl support
* remove outdated autofmt test
* update scanner app
* add hotdog app and bundle to ci
* upload dx on every branch
* collapse mobile into desktop
* `dx doctor` command
* windows command files
* no pipe on doctor
* fix ci?
* fix links
* fix ci
* use main instead of nightly
* bump node
* build cli for host
* cargo doc
* prep dog_app for bundle
* package hotdog
* no bundle or nightly cli
* comment out nightly cli
* add quotes to linker files
* chore(deps): upgrade wry from 0.45.0 to v0.51.2
* Unwrap webview
* update tauri
* fix more versions
* switch to a single websocket per app to communicate edits in desktop
* use websockets on the ts side
* queue pending edits before the websocket connects
* fix decoding the websocket blobs in ts
* rebuild js
* fix clippy
* more sensible struct names
* allow http on android and require a key to match between the webview and native sides
* remove out.txt
* clippy
* small style changes
* More light cleanups
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>