1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pub fn get(package_manager: &str, script_name: &str, args: Option<&str>) -> String {
    if script_name == "install" {
        return if package_manager == "yarn" {
            "yarn".to_string()
        } else {
            format!("{} install", package_manager)
        };
    }

    if let Some(args) = args {
        return if package_manager == "npm" {
            format!("npm run {} -- {}", script_name, args)
        } else {
            format!("{} {} {}", package_manager, script_name, args)
        };
    } else {
        return if package_manager == "npm" {
            format!("npm run {}", script_name)
        } else {
            format!("{} {}", package_manager, script_name)
        };
    }
}