graphile_worker_admin_ui 0.2.1

Embedded Leptos admin UI for graphile_worker
Documentation
use std::env;
use std::path::{Path, PathBuf};

pub(super) fn rerun_if_changed(path: &Path) {
    println!("cargo:rerun-if-changed={}", path.display());
}

pub(super) fn rerun_if_env_changed(name: &str) {
    println!("cargo:rerun-if-env-changed={name}");
}

pub(super) fn env_flag(name: &str) -> bool {
    env::var(name)
        .map(|value| {
            matches!(
                value.as_str(),
                "1" | "true" | "TRUE" | "yes" | "YES" | "on" | "ON"
            )
        })
        .unwrap_or(false)
}

pub(super) fn js_path(path: &Path) -> String {
    path.to_string_lossy()
        .replace('\\', "/")
        .replace('"', "\\\"")
}

pub(super) fn npm_bin(npm_dir: &Path, bin: &str) -> PathBuf {
    let bin_name = if cfg!(windows) {
        format!("{bin}.cmd")
    } else {
        bin.to_string()
    };
    npm_dir.join("node_modules").join(".bin").join(bin_name)
}