[package] name = "netsblox-vm" version = "0.4.5" edition = "2021" license = "MIT OR Apache-2.0" authors = ["Devin Jean "] repository = "https://github.com/dragazo/netsblox-vm" documentation = "https://docs.rs/netsblox-vm" description = "A crate for running NetsBlox code with optional native extensions." # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [[bin]] name = "nb" path = "src/main.rs" required-features = ["cli"] [profile.release] lto = true codegen-units = 1 panic = "abort" strip = true [features] default = [ "cli", "native-tls", ] std = [ "time/std", ] std-system = [ "std", "tokio", "futures", "async-channel", "reqwest", "tokio-tungstenite", "rand_chacha", "getrandom", "names", "uuid", ] cli = [ "std-system", "actix-web", "actix-cors", "clap", "crossterm", "serde", "time/local-offset", ] native-tls = [ "reqwest/native-tls", "tokio-tungstenite/native-tls", ] native-tls-vendored = [ "reqwest/native-tls-vendored", "tokio-tungstenite/native-tls-vendored", ] rustls-tls-native-roots = [ "reqwest/rustls-tls-native-roots", "tokio-tungstenite/rustls-tls-native-roots", ] rustls-tls-webpki-roots = [ "reqwest/rustls-tls-webpki-roots", "tokio-tungstenite/rustls-tls-webpki-roots", ] [dependencies] # core deps serde_json = { version = "1.0", default-features = false, features = ["alloc"] } gc-arena = { version = "=0.5.3", default-features = false } netsblox-ast = { version = "=0.5.9", default-features = false } # netsblox-ast = { path = "../netsblox-ast", default-features = false } num-traits = { version = "0.2.19", default-features = false } num-derive = { version = "0.4.2", default-features = false } bin-pool = { version = "0.1.1", default-features = false } rand = { version = "0.8.5", default-features = false } checked-float = { version = "0.1.5", default-features = false, features = ["serde"] } educe = { version = "0.6.0", default-features = false, features = ["Debug", "Clone", "Copy", "PartialOrd", "Ord", "PartialEq", "Eq", "Default"] } libm = { version = "0.2.8", default-features = false } monostate = { version = "0.1.13", default-features = false } replace_with = { version = "0.1.7", default-features = false } unicase = { version = "2.7.0", default-features = false } time = { version = "0.3.36", default-features = false } typed-arena = { version = "2.0.2", default-features = false } xmlparser = { version = "0.13.6", default-features = false } base64 = { version = "0.22.1", default-features = false, features = ["alloc"] } compact_str = { version = "0.8.0-beta", default-features = false, features = ["serde"] } ryu = { version = "1.0", default-features = false } # std deps tokio = { version = "1", default-features = false, features = ["macros", "rt-multi-thread"], optional = true } futures = { version = "0.3.30", default-features = false, optional = true } async-channel = { version = "2.3.1", default-features = false, optional = true } reqwest = { version = "0.12", default-features = false, features = ["json"], optional = true } tokio-tungstenite = { version = "0.23", default-features = false, features = ["connect"], optional = true } names = { version = "0.14.0", default-features = false, optional = true } uuid = { version = "1.8.0", default-features = false, features = ["v4", "fast-rng"], optional = true } rand_chacha = { version = "0.3.1", default-features = false, optional = true } getrandom = { version = "0.2.15", default-features = false, optional = true } # cli deps clap = { version = "4.5.6", features = ["derive"], optional = true } crossterm = { version = "0.27.0", default-features = false, optional = true, features = ["events"] } actix-web = { version = "4.6.0", default-features = false, features = ["macros"], optional = true } actix-cors = { version = "0.7.0", default-features = false, optional = true } # misc deps serde = { version = "1.0", default-features = false, features = ["derive"], optional = true } [build-dependencies] md5 = "0.7.0"