mdbook-angular 0.5.0

mdbook renderer to run angular code samples
Documentation
use std::{
	path::Path,
	process::{Command, Stdio},
};

use anyhow::Context;

use crate::{Error, Result};

pub(super) const ANGULAR_CLI_CMD: &str = "ng";
pub(super) const TARGET_NAME: &str = "build";
pub(super) const PROJECT_NAME: &str = "application";

pub(super) fn ng_build(root: &Path) -> Result<()> {
	let result = Command::new(ANGULAR_CLI_CMD)
		.arg(TARGET_NAME)
		.arg(PROJECT_NAME)
		.current_dir(root)
		.stdout(Stdio::inherit())
		.stderr(Stdio::inherit())
		.stdin(Stdio::null())
		.status()
		.context("Failed to run ng")?;

	if result.success() {
		Ok(())
	} else {
		Err(Error::msg("Angular builder failed"))
	}
}