Commit Graph
136 Commits
Author SHA1 Message Date
Vinicius Gobbo Antunes de Oliveira ce2b223af9 CryptoProvider error. (#3619) 2025-01-21 18:46:59 -08:00
Evan Almloff 13dcd80fbf Optimize wasm bindgen asset with manganis (#3531) 2025-01-21 15:14:45 -08:00
Jonathan Kelley 8334f7fbaa feat: device hot-reload, tools-relative adb, auto port bind (#3586)
* wip: bind to 0.0.0.0 instead of 127.0.0.1

* dont hang in background - ignore suspend commands when tty is disabled

* use system adb

* pass configs through to android mobile launch

* fix: line sizes + clear pushes frame

* dont resume window state on mobile

* fix screen sizing for ipad

* attempt and fail to implement codesigning

* Clippy and note about safety in android bindings
2025-01-20 17:42:13 -08:00
CathalandJonathan Kelley c7951b7dd5 feat(cli): add feature to disable downloads (#3465)
* feat(cli): add feature to disable downloads

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-16 16:49:30 -08:00
19d5fae12d Fix outdir not work when run dx bundle --platform web --outdir mydir (#3572)
* Make legacy asset dir optional
* properly implement outdir

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Co-authored-by:  Nathy-bajo <bajon7680@gmail.com>
2025-01-16 15:17:33 -08:00
Evan Almloff ecc419df0a Fix ssg race condition (#3521)
* Fix server crash logging and opening fullstack apps

* Fix race condition during SSG

* move route prerendering into a separate stage

* Fix static site generation with dx serve

* only proxy the fullstack server if ssg is disabled

* test nested-suspense with ssg in playwright
2025-01-08 19:52:10 -08:00
Miles Murgaw a3812d66da Fix: Asset Cache On Windows & Asset Status (#3525)
* fix: asset caching on windows
* fix: asset status
2025-01-08 15:08:18 -08:00
Jonathan Kelley 773d805037 fix: bump futures-channel to prevent locked versions from conflicting (#3510)
* chore: hoist some versions, drop pretty_env_logger

* bump futures-channel
2025-01-07 12:52:01 -08:00
Jonathan Kelley eb76d48eae Fix: unwraps while ignoring log lines (#3370) 2024-12-16 17:13:52 -08:00
Miles MurgawandJonathan Kelley ccf500c77b Feat: CLI wasm-bindgen-cli Installer (#3335)
* feat: wasm-bindgen-cli installer

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-12-11 11:27:11 -08:00
Jonathan Kelley 66a50240bc Update all docs links to 0.6, release 0.6 (#3225)
* update doc links to 0.6
* add new splash pages for crates
* update keyword features
* remove some unnecessary links
2024-12-06 19:15:15 -08:00
Jonathan Kelley 7d490dc3bd feat: integrate dioxus-logger inline (#3302)
* feat: integrate dioxus-logger inline

* remove log/simple logger references

* fix: add dioxus-data-id-0 to root elements to not emit errors internally

* drop config.toml and use cargo.toml profiles instead

* make clippy happy with the unit value lint

* feat: better presentation for logging
2024-12-06 16:27:05 -08:00
Jonathan Kelley 1cbfcde6cd improve build times by extracting asset opt into its own crate (#3273)
* improve build types by extracing asset opt as a dylib
* dont use dylib, but let regular workspace caching do the heavy lifting
* add prebuild to cli for better lock contention
* hoist deps
* disable slow tests
* re-enable sequential, debug=0 for dev
* use vfs for windows
* dont cache on failure, fix windows vfs caceh
* free disk space re-order
* add clippy + fmt to windows channel
* yoink makefile
* proper rustfmt/clippy on toolchain
* set incremental to zero since cargo-cache disables it
2024-12-02 16:52:40 -08:00
Jonathan Kelley b114ed39f3 drop reference types due to deprecation, pin browserlist (fix ci) (#3272)
* drop reference types due to deprecation

* also downgrade browserlist
2024-12-02 13:34:14 -08:00
Evan Almloff f9617c8d33 Restore manganis optimizations (#3195)
* Create a crate for constant serialization of config structs for manganis
* use SerializeConst for the image asset builder
* switch to a declarative macro for assets
* add serializable options for each asset type
* implement the new manganis macro
* optimize assets in the CLI
* Fix assets with dioxus formattable
* reduce fuzzing test limits
* use the new syntax in examples
* fix avif support
* Fix manganis doc tests
* cache asset optimization
* Split out asset and bundled asset
* make hash pointer width independent
* Fix manganis macro docs
* add constvec::is_empty method to fix clippy lint
* remove nasm feature
* simplify test_rsplit_once test so typos passes
* revert example change from clippy fix
* always accept unix paths
* fix windows path seperator
* fix folder asset hash
* Optimize assets in a blocking task
* Fix asset options docs
* Document Asset and BundledAsset
* simplify the linker macro a bit
* add more docs to AssetParser expansion
* add image format helpers
* Split by  both unix and windows path separators and take the smallest one
2024-11-26 18:12:24 +01:00
Andrew Voynov fca5a82e2b Fix (and rewrite) dx init/dx new (#2822)
* fix(cli)!: init subcommand now works correctly
* test(cli): added tests for init subcommands
* chore: moved `init` subcommand tests to its own file
* removed unnecessary arguments from tested command
* refactor(cli)!: new subcommand now behaves like cargo
* moved the hidden cursor workaround into a function
* feat(cli): added `branch` flag for init/new subcommands
* feat(cli): added `revision` and `tag` options
2024-11-16 01:20:59 -05:00
Jonathan Kelley fb7c568275 fix: java_home and cli swallowing logs (#3221)
* fix: http examples with android, add more important flags
- set java_home from assumed installations
- fix tracing redirection bug
2024-11-15 23:23:45 -05:00
Jonathan Kelley ac3e33af46 cli json output, dx bundle fix, dx serve --platform android, race condition, drop ssg platform (#3186)
* clean up logging to avoid random extra trace

* fix race condition with updates

* properly wire up verbose

* fix bundling (macos) and logging

* Add structured output

* clean up clap names

* extract out wire format

* switch structured key to json

* fix random println, fallback to `dioxus/platform`

* clean up logging for run/build

* clean up logging around project

* remove manual exits

* fix tokio runtime for mobile

* rework dog app

* rip out ssg

* Switch dioxus/axum to dioxus/server

* add android template inline

* pre restructure for bundle prep

* add the whole res directory

* Better theme for the app

* remove mobile demo now that most apps work natively

* self-referential android

* only use deep linking for assets

* fix imports for android

* clippy, fixup ios and android

* I'm not boxing compiler message you can't make me

* fix clippy on unix
2024-11-12 09:01:01 -05:00
Jonathan Kelley 8b586352a2 Make wasm-bindgen parallel/disable log, speed up 2-10x (#3161)
* wip: pull out incr linker intercept and debug=true for wasm for faster builds

* make walrus parallel

* clean up impl
2024-11-04 18:32:23 -08:00
Jonathan Kelley 61f5aa090c hoist and bump versions 2024-11-01 16:24:51 -07:00
Jonathan Kelley 4a7f669245 fix: pin throbber widgets 2024-11-01 15:45:45 -07:00
Jonathan Kelley 7ec3453ca3 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
2024-10-25 17:23:45 -07:00
Miles Murgaw 0995b5d2c5 Fix: Windows File Drag-N-Drop (#3046)
* fix: windows file drop
* update: tokio + fix eval
2024-10-14 11:00:11 -07:00
Peter Holloway c6ab2904cd Remove dependency on atty (#3047)
It is no longer maintained and has been replaced by functionality in the
stdlib (std::io::IsTerminal).
2024-10-10 13:24:50 +00:00
Jonathan Kelley 33841c054d Clippy, fmt, configs 2024-09-17 17:45:21 -07:00
Jonathan Kelley 3fb1f739d1 Simplify cli-config, hotreload -> devtools (drop to 0 deps, fast compile times) (#2975)
* simplify cli-config crate
* clean up configs
* add devtools crate, update cargo imports
* fix serve addr, fix websocket proxy issue
* add comment about opt profiles
* rename hot-reload to devtools
2024-09-17 17:18:23 -07:00
Jonathan Kelley 463e67cd12 Improve compile times by splitting out rsx-hotreload from rsx (#2971)
* fix imports, migrate over rsx-hotreload
2024-09-16 17:35:05 -07:00
Jonathan Kelley f0d814fede Extract some simple cleanups from 2779 (#2966)
* Chore: remove random old test fixture from CLI

* nuke oidc

* remove weird useless desktop example

* remove lua globals vscode setting for cli

* remove cli testcase

* hoist deps in core-macro

* we dont need prettyplease

* add hoisted dependencies

* hoist more despt

* rename rsx_rosetta to dioxus_rsx_rosetta

* drop cache thrashing when listening for features

* drop flag from mobile dep

* drop cli-config warning

* hoist more deps

* clippy...

* we dont use the tools module...

* bump lock
2024-09-16 16:04:20 -07:00
Miles MurgawandJonathan Kelley 8d68886310 CLI Fixes & Tweaks (#2846)
Fixes scrolling on vscode using simple fix
 Adds scroll modifier, scroll at 5 lines per scroll while holding shift key.
 Adds error handling for manganis failure that still lets the build run.
 Revises TUI rendering code.
 Move TUI "info bars" to the bottom of the terminal.
 Revised logging system with tracing
 Working [c] clear keybind. This has been removed.
 Removal of [h] hide keybind text (it does nothing)
 Some opinionated cleanups and renames to make tui logic easier to understand.
 Rolling log file & maybe add some more "internal" logging. Closes CLI Rolling Log File #2764
 Removes log tabs. Closes CLI: Color-code logs and get rid of tabs #2857
 Combines info bars.
 Working and good text selection.
 Print launch URL in console.
 Handle log lines properly and add formatting.
 Move MessageSource to a more reasonable location.
 Add some background styling to powerline (info bar) - Tried this and it doesn't look the greatest.
 Log Filtering
 Final Cleaning & Changes - I could do this forever
 Test Linux

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-09-13 01:34:19 -07:00
Drew Pirrone-Brusse eac7f65551 Bump dependencies to transitively bump git2 from 0.18 to 0.19 (#2873)
* Bump built to version 0.7.4

* Bump cargo-generate to 0.21.3

* Update Cargo.lock
2024-08-22 18:05:36 -07:00
Evan Almloff 5a7a91323a Make desktop fullstack work with the CLI (#2862)
* Make desktop fullstack work with the CLI
* Simplify desktop fullstack example
* move the profiles to the workspace
2024-08-20 14:57:51 -07:00
Jonathan Kelley 0cbcef735f Pre-release 0.6.0-alpha.0 (#2755)
* CI: add docsrs to ci

* add env vars

* no need for tokio things

* whoops, wrong rust nightly

* add swc

* bump crate versions to 0.6.0-alpha.0

* hoist up warnings and shuffle cargo.toml

* update cargos and disable warnings from ci

* attempt fix of aws

* attempt disabling aws_lc_sys globally

* pull in lc-sys

* add fips feature to fix docs

* turn on features for aws-lc-sys on cargo-doc-all

* pass along more args

* fix cfg docs

* fix: flakey gen box test

* fix: doc_cfg in static gen

* dont include readme

* fix error on static gen

* remove random line

* temporarily disable warnings

* simplify axum desktop so it doesnt count as a lib

* fix binstall link

* bump locks

* lock fixes

* revert axum desktop

* dont publish some crates
2024-07-31 22:37:39 -05:00
Jonathan Kelley 8aa07b0a75 speed up incremental cli builds by making wasm-opt optional (#2720)
* speed up incremental builds by making wasm-opt optional
2024-07-29 13:20:46 -07:00
Jonathan Kelley c4e55c7fb6 Fix #2378: CLI MSRV and add MSRV to CI (#2716)
* Fix: bump msrv up to be valid for cli
* add binstall check to ci
* adjust msrv of tomls
2024-07-26 19:24:40 -05:00
Tristan F.andJonathan Kelley 9167cd9dec fix most typos, add crate-ci/typos to CI (#2653)
* fix most typos, add crate-ci/typos to CI

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 17:49:33 -07:00
FragrantArmpitandJonathan Kelley 28d1b305c4 Add a signal handler to reset the cursor on interrupt (#2603)
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 11:00:57 -07:00
c6126f688e Remove Dioxus CLI NASM dependency #2666 (#2682)
* fix issue with AWS-LC-SYS

* after mergo of manganis revert back to original

---------

Co-authored-by: Oliver Schnabl <oliver.schnabl@drei.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 10:39:21 -07:00
88af3e7eff Hotreloading of for/if/body, formatted strings, literals, component props, nested rsx, light CLI rewrite, cli TUI (#2258)
Hotreload the contents of for loops, if chains, component bodies, props, attributes, and any literals discovered in rsx!
Add a TUI renderer to the CLI.
Improve the CLI build system to be async and parallel.
Refactor RSX to allow partial expansion of expressions.
Merge autofmt implementations for consistency.
Merge the representation of elements and components under the hood.
Add a diagnostics system for rsx for improved error messages.
Drop interprocess and move to websockets for communication between the CLI and the server.
Assign IDs to nodes and attributes in a stable way to be used in non compiler contexts.
Add hotreloading to any body of component/for loop/if chain/etc.

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Liam Mitchell <liamkarlmitchell@gmail.com>
2024-07-17 19:11:18 -07:00
Miles MurgawandJonathan Kelley 9567674a63 Feat: CLI Settings (#2424)
* feat: cli settings

* revision: lower msrv

* add previous line about hotreload settings just in case

* Fix issue with open

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-02 21:43:58 -07:00
Evan Almloff a09548d80e Remove implicit optional dependency features (#2512)
* remove implicit optional dependency features

* switch to new features in desktop, router and signals crates
2024-06-18 18:39:15 -05:00
Evan Almloff 9d55bfc1dc Integrate wasm-opt into the CLI (#2434)
* integrate wasm-opt

* include wasm opt configuration in the default dioxus.toml
2024-06-10 20:48:04 -07:00
Evan Almloff 245003a5d4 Create a Static Site Generation platform; Deduplicate hot reloading code (#2226)
* create static site generation helpers in the router crate

* work on integrating static site generation into fullstack

* move ssg into a separate crate

* integrate ssg with the launch builder

* simplify ssg example

* fix static_routes for child routes

* move CLI hot reloading websocket code into dioxus-hot-reload

* fix some unused imports

* use the same hot reloading websocket code for fullstack

* fix fullstack hot reloading

* move cli hot reloading logic into the hot reload crate

* ssg example working with dx serve

* add more examples

* fix clippy

* fix formatting

* fix hot reload doctest imports

* fix axum imports

* don't run server doc tests

* Fix hot reload websocket doc examples
2024-05-22 07:24:15 -05:00
Andrew Voynov 720899e19e feat(cli): now user interaction can be skipped (#1872)
when creating a new project
2024-05-14 09:39:56 -05:00
Evan Almloff a27d4e71ed Only compress web assets in the CLI (#2329)
* only compress web assets in the CLI

* precompressed -> pre-compressed

* only enable pre-compression in release builds
2024-04-26 00:47:04 -04:00
Jonathan Kelley 7eccc7a104 Release 0.5.2
dioxus-cli@0.5.2
dioxus-fullstack@0.5.2

Generated by cargo-workspaces
2024-04-04 18:32:14 -07:00
Jonathan Kelley 9c5e5f969f Release 0.5.1
dioxus@0.5.1
dioxus-autofmt@0.5.1
dioxus-check@0.5.1
dioxus-cli@0.5.1
dioxus-core@0.5.1
dioxus-core-macro@0.5.1
dioxus-desktop@0.5.1
dioxus-fullstack@0.5.1
dioxus-hooks@0.5.1
dioxus-html@0.5.1
dioxus-interpreter-js@0.5.1
dioxus-lib@0.5.1
dioxus-liveview@0.5.1
dioxus-mobile@0.5.1
dioxus-router-macro@0.5.1
dioxus-rsx@0.5.1
dioxus-signals@0.5.1
dioxus-ssr@0.5.1
dioxus-web@0.5.1
dioxus_server_macro@0.5.1
generational-box@0.5.1
rsx-rosetta@0.5.1

Generated by cargo-workspaces
2024-04-04 17:05:21 -07:00
Jonathan Kelley 2461790baf bump cli to 0.5.4 2024-03-28 21:11:54 -07:00
Jonathan Kelley ac1aea4783 Binstalls not working, need archive suffix 2024-03-27 19:35:38 -07:00
Jonathan Kelley 1f6c7cfbd0 fix binstall 2024-03-27 18:55:29 -07:00
Miles Murgaw 44f3047780 Revision: Change Default Logging In CLI (#2157)
* revision: filter to warn logs

* revision: change to use DIOXUS_LOG
2024-03-27 12:07:44 -07:00