1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pub use dioxus_class::build::*;

use std::path::Path;
use std::process::Command;

pub fn tailwindcss<P: AsRef<Path> + Clone>(
    path: P,
    input: &str,
    output: &str
) -> Result<(), Box<dyn std::error::Error>> {
    let mut cmd = Command::new("tailwindcss");
    cmd.current_dir(path);
    let result = cmd
        .arg("-i").arg(input)
        .arg("-o").arg(output).output()?;
    if !result.status.success() {
        Err(format!("tailwindcss failed: {} {} -> {:?}", input, output, result).into())
    } else {
        println!("cargo:warning=dioxus-tailwind::build::tailwindcss: {} {}", input, output);
        let stdout = String::from_utf8(result.stdout)?;
        for line in stdout.lines() {
            println!("cargo:warning=    {:#?}", line);
        }
        Ok(())
    }
}