node-app-build 6.4.1

Mini app developer CLI: scaffold, validate, package node-app-* Debian packages
//! `node-app blueprint show` — print the blueprint this CLI release embeds.
//!
//! Phase 1 of econ-v1/node#868.

use crate::blueprint::CURRENT;

pub fn show(json: bool) -> anyhow::Result<()> {
    if json {
        println!("{}", serde_json::to_string_pretty(&CURRENT)?);
        return Ok(());
    }
    println!("Blueprint version: {}", CURRENT.version);
    println!("Manifest schema:   v{}", CURRENT.manifest_schema);
    println!("Deb layout:        {:?}", CURRENT.deb_layout);
    println!();
    println!("Shared externals (resolved at runtime from /usr/lib/node/shared/node_modules):");
    for ext in CURRENT.shared_externals {
        println!("  - {}", ext);
    }
    println!();
    println!("Apt deps every node-app must depend on:");
    for dep in CURRENT.apt_dep_chain {
        println!("  - {}", dep);
    }
    println!();
    println!("Auditable patterns:");
    for p in CURRENT.patterns {
        println!("  - {:?}", p);
    }
    Ok(())
}