1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[]
= "kevy-lua"
= "Lua scripting bridge for kevy — wraps the luna-core interpreter into the Redis EVAL/EVALSHA/SCRIPT command surface with default Lua 5.1 + per-script `#!lua version=N` dialect opt-in (5.1-5.5)."
= true
= true
= true
= true
= true
= true
= true
= "https://docs.rs/kevy-lua"
= "README.md"
= ["redis", "lua", "kevy", "script", "embedded"]
= ["database-implementations", "embedded"]
[]
= true
# v1.27 carved exemption from the workspace's "0 third-party deps" rule.
# Justification (memory `project-lua-runtime-direction.md`):
# 1. luna is GOLIA's own pure-Rust Lua runtime — same author,
# same audit standard.
# 2. luna-core itself is 0-dep (CI-enforced via cargo-deny on the
# luna side; `cargo tree -p luna-core` must equal 1).
# 3. Adding luna-core here adds **0 new transitive third-party deps**
# to kevy's tree (luna-core's own [dependencies] is empty). Verify
# (filter out workspace path-deps and `(*)` repeats):
# cargo tree -p kevy-lua --prefix none \
# | grep -E " v[0-9]" \
# | grep -v "(\*)" \
# | grep -v "(/Users/doracawl/workspace/goliajp/kevy/" \
# | wc -l
# must equal 1 (luna-core only).
# 4. DO NOT use the `luna` or `luna-jit` crates — `luna` was renamed to
# `luna-jit` at v1.1 ship time (the `luna` name on crates.io was
# taken by an unrelated utilities crate), and `luna-jit` pulls in
# 74 transitive cranelift + std-ecosystem crates. kevy must stay
# with `luna-core`.
[]
= "=2.16.0" # pinned exact: luna v2.16. Bridge surface
# (Vm/Value/Table/Gc/LuaError/LuaVersion)
# audited on each bump — build + the full
# kevy-lua test suite are the audit pass.
= { = "../kevy-bytes", = "3.18.0" }
= { = "../kevy-resp", = "3.18.0" }
[]
= { = "../kevy-bench" }
# luna-core in dev-deps so integration tests can use `LuaVersion` to
# call `Bridge::set_allowed_dialects`. The crate is already in the
# regular `[dependencies]` of kevy-lua — this is just a re-declaration
# so the dev `tests/*.rs` files can name the type directly. Must
# match the regular [dependencies] pin to avoid pulling two luna-core
# semver buckets into the workspace cache.
= "=2.16.0"