diff --git a/src/main.rs b/src/main.rs index 2eadbda..e6737bc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,7 @@ use std::io; use std::num::ParseIntError; -use std::process::Command; + +mod pinia; fn main() { let mut parsed_input: Result; @@ -38,46 +39,7 @@ fn print_options() { } fn install_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); - } - } + pinia::install(); } fn install_husky() { diff --git a/src/pinia.rs b/src/pinia.rs new file mode 100644 index 0000000..9cb0dc4 --- /dev/null +++ b/src/pinia.rs @@ -0,0 +1,44 @@ +use std::process::Command; + +pub fn install() { + 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); + } + } +} diff --git a/src/pinia/App.vue b/src/pinia/App.vue new file mode 100644 index 0000000..aa36e1c --- /dev/null +++ b/src/pinia/App.vue @@ -0,0 +1,3 @@ + diff --git a/store/store.js b/tmp/pinia/store.js similarity index 100% rename from store/store.js rename to tmp/pinia/store.js