node-prune 0.0.1

Remove unnecessary files from node_modules
Documentation
use log::{set_max_level, LevelFilter};
use node_prune::{Config, Prune};
use std::path::Path;
use std::time::Instant;
use structopt::StructOpt;

fn main() {
    set_max_level(LevelFilter::Warn);
    let now = Instant::now();

    let config = Config::from_args();
    if config.verbose {
        set_max_level(LevelFilter::Debug);
    }

    let prune = Prune::new();

    let stats = match prune.run() {
        Ok(s) => s,
        Err(err) => {
            let path = err.path().unwrap_or(Path::new("")).display();
            panic!("failed to access entry {}", path)
        }
    };

    println!();
    println!("\t files total: {}", stats.files_total);
    println!("\t files removed: {}", stats.files_removed);
    println!(
        "\t removed size: {:.2}KB",
        (stats.removed_size as f64) / 1024f64
    );
    println!("\t duration: {}ms", now.elapsed().as_millis());
    println!();
}