59 lines
1.3 KiB
Rust
59 lines
1.3 KiB
Rust
pub mod build;
|
|
pub mod cfg;
|
|
pub mod clean;
|
|
pub mod config;
|
|
pub mod create;
|
|
pub mod serve;
|
|
pub mod tool;
|
|
pub mod translate;
|
|
|
|
use crate::{
|
|
cfg::{ConfigOptsBuild, ConfigOptsServe},
|
|
custom_error,
|
|
error::Result,
|
|
gen_page, server, CrateConfig, Error,
|
|
};
|
|
use clap::{Parser, Subcommand};
|
|
use html_parser::{Dom, Element, Node};
|
|
use regex::Regex;
|
|
use serde::Deserialize;
|
|
use std::{
|
|
fmt::{Display, Formatter},
|
|
fs::{remove_dir_all, File},
|
|
io::{Read, Write},
|
|
path::PathBuf,
|
|
process::{Command, Stdio},
|
|
};
|
|
|
|
/// Build, Bundle & Ship Dioxus Apps.
|
|
#[derive(Parser)]
|
|
#[clap(name = "dioxus", version)]
|
|
pub struct Cli {
|
|
#[clap(subcommand)]
|
|
pub action: Commands,
|
|
|
|
/// Enable verbose logging.
|
|
#[clap(short)]
|
|
pub v: bool,
|
|
}
|
|
|
|
#[derive(Parser)]
|
|
pub enum Commands {
|
|
/// Build the Rust WASM app and all of its assets.
|
|
Build(build::Build),
|
|
/// Translate some source file into Dioxus code.
|
|
Translate(translate::Translate),
|
|
/// Build, watch & serve the Rust WASM app and all of its assets.
|
|
Serve(serve::Serve),
|
|
/// Init a new project for Dioxus.
|
|
Create(create::Create),
|
|
/// Clean output artifacts.
|
|
Clean(clean::Clean),
|
|
/// Dioxus config file controls.
|
|
#[clap(subcommand)]
|
|
Config(config::Config),
|
|
/// Install & Manage tools for Dioxus-cli.
|
|
#[clap(subcommand)]
|
|
Tool(tool::Tool),
|
|
}
|