Files
topgrade/src/npm.rs
Roey Darwish Dror 0e2fe028e6 Utils module
2018-06-17 11:43:30 +03:00

33 lines
684 B
Rust

use super::utils::Check;
use failure;
use std::path::PathBuf;
use std::process::Command;
pub struct NPM {
command: PathBuf,
}
impl NPM {
pub fn new(command: PathBuf) -> Self {
Self { command }
}
pub fn root(&self) -> Result<PathBuf, failure::Error> {
let output = Command::new(&self.command).args(&["root", "-g"]).output()?;
output.status.check()?;
Ok(PathBuf::from(&String::from_utf8(output.stdout)?))
}
pub fn upgrade(&self) -> Result<(), failure::Error> {
Command::new(&self.command)
.args(&["update", "-g"])
.spawn()?
.wait()?
.check()?;
Ok(())
}
}