feat: port el-ui vessels — rename crates→vessels, add El source + manifests

This commit is contained in:
Will Anderson
2026-05-05 04:19:22 -05:00
parent b580a63540
commit faee6fdb25
145 changed files with 4050 additions and 12 deletions
+46
View File
@@ -0,0 +1,46 @@
//! el-ui-compiler CLI
//!
//! Usage:
//! el-ui-compiler <input.el> [-o <output.js>]
use std::fs;
use std::path::PathBuf;
fn main() {
let args: Vec<String> = std::env::args().collect();
if args.len() < 2 {
eprintln!("Usage: el-ui-compiler <input.el> [-o output.js]");
std::process::exit(1);
}
let input = PathBuf::from(&args[1]);
let output = if args.len() >= 4 && args[2] == "-o" {
PathBuf::from(&args[3])
} else {
input.with_extension("js")
};
let source = match fs::read_to_string(&input) {
Ok(s) => s,
Err(e) => {
eprintln!("Error reading {}: {}", input.display(), e);
std::process::exit(1);
}
};
let compiler = el_ui_compiler::Compiler::new();
match compiler.compile_component(&source) {
Ok(js) => {
if let Err(e) = fs::write(&output, js) {
eprintln!("Error writing {}: {}", output.display(), e);
std::process::exit(1);
}
println!("Compiled {} -> {}", input.display(), output.display());
}
Err(e) => {
eprintln!("Compile error: {}", e);
std::process::exit(1);
}
}
}