From 0366bc7c084b1692ab0f0d2ea466d51884b8894f Mon Sep 17 00:00:00 2001 From: all123all Date: Mon, 13 Nov 2023 21:37:55 +0000 Subject: [PATCH] update main.rs --- src/main.rs | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 93e0003..2eadbda 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ use std::io; use std::num::ParseIntError; +use std::process::Command; fn main() { let mut parsed_input: Result; @@ -37,7 +38,46 @@ fn print_options() { } fn install_pinia() { - println!("Installing Pinia..."); + println!("Installing Pinia..."); + + let npm_install = Command::new("npm") + .arg("install") + .arg("pinia") + .spawn(); + + match npm_install { + Ok(mut child) => { + let status = child.wait().expect("Failed to wait for npm install"); + + if status.success() { + let mkdir_status = Command::new("mkdir") + .arg("store") + .status() + .expect("Failed to execute mkdir command"); + + if mkdir_status.success() { + let mv_status = Command::new("mv") + .arg("store.js") + .arg("./store/store.js") + .status() + .expect("Failed to execute mv command"); + + if mv_status.success() { + println!("Pinia successfully installed!"); + } else { + println!("Failed to move store.js. mv command failed."); + } + } else { + println!("Failed to create the 'store' directory. mkdir command failed."); + } + } else { + println!("Failed to install Pinia. npm install command failed."); + } + } + Err(e) => { + println!("Failed to run npm install: {}", e); + } + } } fn install_husky() {