feat: unix adaptor for elm called starmelon
Introduce starmelon, a program for executing elm functions with input from files and writing the output back to files. Support evaluating 4 types of values and 12 types of functions. ```elm x : String x : Bytes x : VirtualDom.Node msg x : Json.Encode.Value f : String -> String f : String -> Bytes f : String -> VirtualDom.Node msg f : String -> Json.Encode.Value f : Bytes -> String f : Bytes -> Bytes f : Bytes -> VirtualDom.Node msg f : Bytes -> Json.Encode.Value f : Json.Encode.Value -> String f : Json.Encode.Value -> Bytes f : Json.Encode.Value -> VirtualDom.Node msg f : Json.Encode.Value -> Json.Encode.Value ``` My target use case for starmelon is generating html files. It is nice to be able to write parameterized framgents of markup in multiple modules and then compose them into a final value. I also have in mind attempting to replace helm (kubernetes pacakge manager) because I hate how error prone its string based templating language is.
This commit is contained in:
commit
f7aff7585d
8 changed files with 1356 additions and 0 deletions
24
Cargo.toml
Normal file
24
Cargo.toml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
[package]
|
||||
name = "starmelon"
|
||||
version = "0.1.0"
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
structopt = { version = "0.3" }
|
||||
elmi = { path = "../../../infra/rust-elmi" }
|
||||
uuid = { version = "0.8", features = [ "v4" ] }
|
||||
ahash = "0.7"
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
serde_json = { version ="1.0", features = [] }
|
||||
|
||||
# All of these are required for deno's javascript runtime. We need to keep the
|
||||
# same versions as other projects in our cargo workspace. Multiple different
|
||||
# versions of rust_v8 seem to break its build script.
|
||||
deno_runtime = "0.21.0"
|
||||
tokio = { version = "1.6", features = ["full"] }
|
||||
deno_core = "0.95.0"
|
||||
deno_web = "0.44"
|
||||
rusty_v8 = "0.25.3"
|
||||
futures = "0.3.15"
|
||||
Loading…
Add table
Add a link
Reference in a new issue