ordinary-build 0.7.0

Build & codegen tool for Ordinary
// Copyright (C) 2026 Ordinary Labs, LLC.
//
// SPDX-License-Identifier: AGPL-3.0-only

use anyhow::bail;
use lightningcss::printer::PrinterOptions;
use lightningcss::stylesheet::{MinifyOptions, ParserOptions, StyleSheet};

pub fn minify(file_string: &str) -> anyhow::Result<String> {
    let mut stylesheet = match StyleSheet::parse(file_string, ParserOptions::default()) {
        Ok(s) => s,
        Err(err) => bail!(err.to_string()),
    };

    stylesheet.minify(MinifyOptions::default())?;

    let res = stylesheet.to_css(PrinterOptions {
        minify: true,
        ..PrinterOptions::default()
    })?;

    Ok(res.code)
}