use anyhow::Result;
use crate::cli::{CargoUpdateArgs, RegenArgs, ResolveArgs};
use crate::resolve::run_resolve;
pub async fn run_regen(args: RegenArgs) -> Result<()> {
println!("pleme-linker regen: Regenerating web project dependencies");
println!(" Project: {}", args.project_root.display());
println!();
println!("Resolving npm dependencies...");
let deps_output = args.project_root.join("deps.nix");
run_resolve(ResolveArgs {
project: args.project_root.clone(),
output: Some(deps_output),
include_dev: true,
registry: "https://registry.npmjs.org".to_string(),
platform: "linux".to_string(),
})
.await?;
println!();
println!("Done!");
println!();
println!("Next steps:");
println!(" 1. Review the changes: git diff");
println!(" 2. Commit the generated files: git add -A && git commit");
println!(" 3. Run the release: nix run .#release:<product>:<service>");
Ok(())
}
pub fn run_cargo_update(args: CargoUpdateArgs) -> Result<()> {
println!("⚠️ pleme-linker cargo-update is DEPRECATED");
println!();
println!("Use cargo update directly in your service directory, then regenerate:");
println!();
println!(" cd <service-dir> && cargo update && crate2nix generate");
let _ = args;
Ok(())
}