ztl-cli 0.1.0

Interactive cli for running scripts from Package.json
use serde::Deserialize;
use std::collections::HashMap;
use std::fs;

use crate::error::ZtlError;

#[derive(Debug, Deserialize)]
struct PackageJson {
    scripts: HashMap<String, String>
}

pub fn read_scripts() -> Result<Vec<String>, ZtlError> {
    let content: String = fs::read_to_string("package.json")?;
    let package: PackageJson = serde_json::from_str(&content)?;

    let mut scripts: Vec<String> = package.scripts.keys().cloned().collect();
    scripts.sort();

    Ok(scripts)
}