[package]
name = "mlua-luau-scheduler"
version = "0.0.2"
edition = "2021"
license = "MPL-2.0"
repository = "https://github.com/lune-org/lune"
description = "Luau-based async scheduler, using mlua and async-executor"
readme = "README.md"
keywords = ["async", "luau", "scheduler"]
categories = ["async"]

[lib]
path = "src/lib.rs"

[lints]
workspace = true

[dependencies]
async-executor = "1.8"
blocking = "1.5"
concurrent-queue = "2.4"
derive_more = "0.99"
event-listener = "4.0"
futures-lite = "2.2"
rustc-hash = "1.1"
tracing = "0.1"

mlua = { version = "0.9.9", features = [
    "luau",
    "luau-jit",
    "async",
    "serialize",
] }

[dev-dependencies]
async-fs = "2.1"
async-io = "2.3"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing-tracy = "0.11"

[[example]]
name = "basic_sleep"
test = true

[[example]]
name = "basic_spawn"
test = true

[[example]]
name = "callbacks"
test = true

[[example]]
name = "exit_code"
test = true

[[example]]
name = "lots_of_threads"
test = true

[[example]]
name = "scheduler_ordering"
test = true

[[example]]
name = "tracy"
test = false
