DX components command (#4669)

* 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>
This commit is contained in:
Evan AlmloffandJonathan Kelley authored and GitHub committed 2025-10-20 17:20:46 -04:00
1 parent b3966c3509
commit 79613f9db9
18 files changed
+1101 -17

No files matched your search

+3 -7
View File
@@ -1,6 +1,6 @@
use crate::{
serve::WebServer, BuildArtifacts, BuildRequest, BuildStage, BuilderUpdate, BundleFormat,
ProgressRx, ProgressTx, Result, RustcArgs, StructuredOutput,
serve::WebServer, verbosity_or_default, BuildArtifacts, BuildRequest, BuildStage,
BuilderUpdate, BundleFormat, ProgressRx, ProgressTx, Result, RustcArgs, StructuredOutput,
};
use anyhow::{bail, Context};
use dioxus_cli_opt::process_file_to;
@@ -489,11 +489,7 @@ impl AppBuilder {
));
}
if crate::VERBOSITY
.get()
.map(|f| f.verbose)
.unwrap_or_default()
{
if verbosity_or_default().verbose {
envs.push(("RUST_BACKTRACE".into(), "1".to_string()));
}
+1 -1
View File
@@ -2567,7 +2567,7 @@ impl BuildRequest {
cargo_args.push(self.executable_name().to_string());
// Set offline/locked/frozen
let lock_opts = crate::VERBOSITY.get().cloned().unwrap_or_default();
let lock_opts = crate::verbosity_or_default();
if lock_opts.frozen {
cargo_args.push("--frozen".to_string());
}