* 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
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>
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>
* switch to tracing in the dioxus-cli
* bump manganis
* fix manganis features
* only print processing assets if skip assets is disabled
* switch all logs to tracing
* switch to published version of manganis
* undo all changes to cargo.toml
* remove reference to log
* not using bin, until needed
also removes an unnecessary warning!
* removed redundant line
maybe, it was readability?
* using same `if let` pattern as below
* to `get_bin(args.bin)?` with `Ok(())` at last
* unreachable!
* Related to #1547: use `dioxus-cli` within a workspace
Although the `dx` CLI allows to specify a package name to chose from workspace members,
it does not support workspace members specified as glob-wildcards.
Neither it respects the effective package name, specified in the crate's `Cargo.toml`.
This PR addresses that issue:
- upon `dx build ...`, if the `--bin` CLI-argument is provided, treat the current dir as a workspace;
- search through the workspace's `members`: resolve each of them with `glob`;
- assume that any workspace member has a `Cargo.toml` in it (cargo does it, so it's okay);
- read said manifest, and check the package name in it;
- if found — there we have our sought package.
* Use cargo-metadata to find out the workspace structure
* glob is unused
Previously an invalid `Dioxus.toml` file would yield this error when running e.g. `dx serve`:
```
Error: Failed to load `Dioxus.toml` because: Dioxus.toml parse failed
```
This doesn't give any indication why it failed to parse. This commit updates it to include why the parsing failed, e.g.:
```
Error: Failed to load Dioxus config because: Dioxus.toml missing field `name` for key `application` at line 38 column 1
```
I initially had it format the message to include `Dioxus.toml:38:1` to be clickable in some terminals, but the location specified didn't always seem particularly relevant to the actual problem so I left it as-is.
This also fixes what I believe would be an issue on case-sensitive file systems where if `dioxus.toml` existed it would try to read `Dioxus.toml`.
I'm still fairly new to Rust, so the `.as_path()` calls may not be the best way to deal with the fact that the borrow checker wouldn't let me re-use `crate_dir` and `dioxus_conf_file`. I'm open to suggestions!