[package] name = "lune" version = "0.7.8" edition = "2021" license = "MPL-2.0" repository = "https://github.com/filiptibell/lune" description = "A standalone Luau runtime" readme = "README.md" keywords = ["cli", "lua", "luau", "runtime"] categories = ["command-line-interface"] [[bin]] name = "lune" path = "src/main.rs" [lib] name = "lune" path = "src/lib.rs" [features] default = ["cli", "roblox"] cli = [ "dep:anyhow", "dep:env_logger", "dep:itertools", "dep:clap", "dep:include_dir", "dep:regex", "dep:rustyline", ] roblox = [ "dep:glam", "dep:rand", "dep:rbx_cookie", "dep:rbx_binary", "dep:rbx_dom_weak", "dep:rbx_reflection", "dep:rbx_reflection_database", "dep:rbx_xml", ] # Profile for building the release binary, with the following options set: # # 1. Optimize for size # 2. Automatically strip symbols from the binary # 3. Enable link-time optimization # # Note that we could abort instead of panicking to cut down on size # even more, but because we use the filesystem & some other APIs we # need the panic unwinding to properly handle usage of said APIs # [profile.release] opt-level = "z" strip = true lto = true # All of the dependencies for Lune. # # Dependencies are categorized as following: # # 1. General dependencies with no specific features set # 2. Large / core dependencies that have many different crates and / or features set # 3. Dependencies for specific features of Lune, eg. the CLI or massive Roblox builtin library # [dependencies] console = "0.15" directories = "5.0" futures-util = "0.3" once_cell = "1.17" thiserror = "1.0" async-trait = "0.1" dialoguer = "0.11" dunce = "1.0" lz4_flex = "0.11" path-clean = "1.0" pin-project = "1.0" os_str_bytes = "6.4" urlencoding = "2.1" ### RUNTIME tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } mlua = { version = "0.9.1", features = ["luau", "luau-jit", "serialize"] } tokio = { version = "1.24", features = ["full", "tracing"] } ### SERDE async-compression = { version = "0.4", features = [ "tokio", "brotli", "deflate", "gzip", "zlib", ] } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } serde_yaml = "0.9" toml = { version = "0.8", features = ["preserve_order"] } ### NET hyper = { version = "0.14", features = ["full"] } hyper-tungstenite = { version = "0.11" } reqwest = { version = "0.11", default-features = false, features = [ "rustls-tls", ] } tokio-tungstenite = { version = "0.20", features = ["rustls-tls-webpki-roots"] } ### DATETIME chrono = "0.4" chrono_lc = "0.1" num-traits = "0.2" ### CLI anyhow = { optional = true, version = "1.0" } env_logger = { optional = true, version = "0.10" } itertools = { optional = true, version = "0.11" } clap = { optional = true, version = "4.1", features = ["derive"] } include_dir = { optional = true, version = "0.7", features = ["glob"] } regex = { optional = true, version = "1.7", default-features = false, features = [ "std", "unicode-perl", ] } rustyline = { optional = true, version = "12.0" } ### ROBLOX glam = { optional = true, version = "0.24" } rand = { optional = true, version = "0.8" } rbx_cookie = { optional = true, version = "0.1.3", default-features = false } rbx_binary = { optional = true, version = "0.7.2" } rbx_dom_weak = { optional = true, version = "2.6.0" } rbx_reflection = { optional = true, version = "4.4.0" } rbx_reflection_database = { optional = true, version = "0.2.9" } rbx_xml = { optional = true, version = "0.13.2" }