mod build;
mod build_library;
mod build_project;
mod cli;
mod legacy;
mod regen;
mod resolve;
mod rolldown_bundler;
mod swc_compiler;
mod types;
mod utils;
mod web_bundler;
use anyhow::Result;
use clap::Parser;
use cli::{Cli, Commands};
#[tokio::main]
async fn main() -> Result<()> {
let cli = Cli::parse();
match cli.command {
Commands::Resolve(args) => resolve::run_resolve(args).await,
Commands::Build(args) => build::run_build(args),
Commands::BuildProject(args) => build_project::run_build_project(args),
Commands::BuildLibrary(args) => build_library::run_build_library(args),
Commands::Regen(args) => regen::run_regen(args).await,
Commands::CargoUpdate(args) => regen::run_cargo_update(args),
Commands::Link(args) => legacy::run_link(args),
Commands::BuildLibraries(args) => legacy::run_build_libraries(args),
Commands::BuildNodeModules(args) => legacy::run_build_node_modules(args),
}
}