1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #![doc = include_str!("../README.md")]
- #![doc(html_logo_url = "https://avatars.githubusercontent.com/u/79236386")]
- #![doc(html_favicon_url = "https://avatars.githubusercontent.com/u/79236386")]
- #![cfg_attr(docsrs, feature(doc_cfg))]
- mod build;
- mod bundle_utils;
- mod cli;
- mod config;
- mod dioxus_crate;
- mod dx_build_info;
- mod error;
- mod fastfs;
- mod filemap;
- mod logging;
- mod metadata;
- mod platform;
- mod rustc;
- mod serve;
- mod settings;
- mod wasm_bindgen;
- mod wasm_opt;
- pub(crate) use build::*;
- pub(crate) use cli::*;
- pub(crate) use config::*;
- pub(crate) use dioxus_crate::*;
- pub(crate) use dioxus_dx_wire_format::*;
- pub(crate) use error::*;
- pub(crate) use filemap::*;
- pub(crate) use logging::*;
- pub(crate) use platform::*;
- pub(crate) use rustc::*;
- pub(crate) use settings::*;
- #[tokio::main]
- async fn main() {
- // If we're being ran as a linker (likely from ourselves), we want to act as a linker instead.
- if let Some(link_action) = link::LinkAction::from_env() {
- return link_action.run();
- }
- let args = TraceController::initialize();
- let result = match args.action {
- Commands::Translate(opts) => opts.translate(),
- Commands::New(opts) => opts.create(),
- Commands::Init(opts) => opts.init(),
- Commands::Config(opts) => opts.config(),
- Commands::Autoformat(opts) => opts.autoformat(),
- Commands::Check(opts) => opts.check().await,
- Commands::Clean(opts) => opts.clean().await,
- Commands::Build(opts) => opts.run_cmd().await,
- Commands::Serve(opts) => opts.serve().await,
- Commands::Bundle(opts) => opts.bundle().await,
- Commands::Run(opts) => opts.run().await,
- };
- // Provide a structured output for third party tools that can consume the output of the CLI
- match result {
- Ok(output) => {
- tracing::debug!(json = ?output);
- }
- Err(err) => {
- tracing::error!(
- ?err,
- json = ?StructuredOutput::Error {
- message: format!("{err:?}"),
- },
- );
- std::process::exit(1);
- }
- };
- }
|