repopilot 0.12.0

Local-first CLI for repository audit, architecture risk detection, baseline tracking, and CI-friendly code review.
Documentation
use crate::frameworks::ReactNativeArchitectureProfile;
use crate::output::report_text::tristate_label;
use std::fmt::Write;

pub(crate) fn render_react_native_section(
    output: &mut String,
    rn: &ReactNativeArchitectureProfile,
) {
    let version = rn.react_native_version.as_deref().unwrap_or("unknown");
    let ios = if rn.has_ios { "yes" } else { "no" };
    let android = if rn.has_android { "yes" } else { "no" };
    let new_arch_android = tristate_label(rn.android_new_arch_enabled);
    let new_arch_ios = tristate_label(rn.ios_new_arch_enabled);
    let new_arch_expo = tristate_label(rn.expo_new_arch_enabled);
    let hermes = tristate_label(rn.hermes_enabled);
    let codegen = if rn.has_codegen_config { "yes" } else { "no" };
    let package_manager = rn.package_manager.as_deref().unwrap_or("unknown");

    output.push_str("React Native:\n");
    writeln!(
        output,
        "  Version: {version}  Kind: {:?}  Package manager: {package_manager}",
        rn.project_kind
    )
    .unwrap();
    writeln!(
        output,
        "  iOS: {ios}  Android: {android}  Expo config: {}",
        if rn.has_expo_config { "yes" } else { "no" }
    )
    .unwrap();
    writeln!(
        output,
        "  New Arch (Android): {new_arch_android}  New Arch (iOS): {new_arch_ios}  New Arch (Expo): {new_arch_expo}"
    )
    .unwrap();
    writeln!(output, "  Hermes: {hermes}  Codegen: {codegen}\n").unwrap();
}