Skip to content

Vendors: remove unused Lua dependencies - #250

Merged
Segfaultd merged 2 commits into
developfrom
chore/remove-lua
Aug 17, 2026
Merged

Vendors: remove unused Lua dependencies#250
Segfaultd merged 2 commits into
developfrom
chore/remove-lua

Conversation

@Segfaultd

@Segfaultd Segfaultd commented Aug 17, 2026

Copy link
Copy Markdown
Member

Summary

Lua is no longer used anywhere in the framework or projects — no source file includes lua.h or touches the Lua API (lua_State, luaL_*, …). Scripting is JavaScript/TypeScript (libnode on the server, V8 on the client).

  • Drop the vendored lua-5.2.1, lua-5.3.6 and lua-5.4.4 trees (~110k lines). The 5.2/5.3 copies were not even wired into the build.
  • Drop vendors/sol (sol2 Lua binding library, ~30k lines) — referenced by no build file or source.
  • Remove add_subdirectory(lua-5.4.4) from vendors/CMakeLists.txt.
  • Drop the vestigial lua54_static links from HogwartsMPClient and M2OClient — neither project uses the library.
  • Drop Tracy's optional TracyLua.hpp header and its CMake install entry; nothing includes it.
  • Remove the Lua entry from LICENSE.txt, update stale Lua-scripting mentions in the .cursor/memory-bank docs, and rephrase the FiveM/MTASA comparison in docs/resource_hot_reload.md so it no longer names Lua.

Intentionally left untouched (all third-party or about other software's Lua):

  • upstream vendor docs mentioning Lua in passing (imgui/json/glm)
  • Tracy's TracyProfiler.cpp, which trims callstacks at the lua_pcall symbol — functional upstream code
  • code/projects/m3o/CHANGES.md — reverse-engineering notes documenting the game's own embedded Lua VM symbols

Testing

  • cmake -B build configures and generates cleanly on macOS after the removal.
  • Repo-wide grep for lua/lua_/sol2/sol:: finds no remaining first-party references.

Lua is no longer used anywhere in the framework or projects: no
source file includes lua.h or touches the Lua API. Scripting is
JavaScript/TypeScript (libnode/V8).

- Drop vendored lua-5.2.1, lua-5.3.6 and lua-5.4.4
- Remove the lua-5.4.4 add_subdirectory from vendors/CMakeLists.txt
- Drop vestigial lua54_static links from HogwartsMPClient and
  M2OClient
- Remove the Lua entry from LICENSE.txt and update stale scripting
  mentions in .cursor/memory-bank docs
@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 224 files, which is 124 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e1ba2c81-243e-4d52-9b4e-01c946b5dbcb

📥 Commits

Reviewing files that changed from the base of the PR and between de79287 and cee9cca.

⛔ Files ignored due to path filters (6)
  • vendors/lua-5.2.1/doc/logo.gif is excluded by !**/*.gif
  • vendors/lua-5.2.1/doc/osi-certified-72x60.png is excluded by !**/*.png
  • vendors/lua-5.3.6/doc/logo.gif is excluded by !**/*.gif
  • vendors/lua-5.3.6/doc/osi-certified-72x60.png is excluded by !**/*.png
  • vendors/lua-5.4.4/doc/logo.gif is excluded by !**/*.gif
  • vendors/lua-5.4.4/doc/osi-certified-72x60.png is excluded by !**/*.png
📒 Files selected for processing (224)
  • .cursor/memory-bank/productContext.md
  • .cursor/memory-bank/progress.md
  • .cursor/memory-bank/projectbrief.md
  • .cursor/memory-bank/systemPatterns.md
  • .cursor/memory-bank/techContext.md
  • LICENSE.txt
  • docs/resource_hot_reload.md
  • vendors/CMakeLists.txt
  • vendors/lua-5.2.1/CMakeLists.txt
  • vendors/lua-5.2.1/Makefile
  • vendors/lua-5.2.1/README
  • vendors/lua-5.2.1/doc/contents.html
  • vendors/lua-5.2.1/doc/lua.1
  • vendors/lua-5.2.1/doc/lua.css
  • vendors/lua-5.2.1/doc/luac.1
  • vendors/lua-5.2.1/doc/manual.css
  • vendors/lua-5.2.1/doc/manual.html
  • vendors/lua-5.2.1/doc/readme.html
  • vendors/lua-5.2.1/src/Makefile
  • vendors/lua-5.2.1/src/lua52/lapi.c
  • vendors/lua-5.2.1/src/lua52/lapi.h
  • vendors/lua-5.2.1/src/lua52/lauxlib.c
  • vendors/lua-5.2.1/src/lua52/lauxlib.h
  • vendors/lua-5.2.1/src/lua52/lbaselib.c
  • vendors/lua-5.2.1/src/lua52/lbitlib.c
  • vendors/lua-5.2.1/src/lua52/lcode.c
  • vendors/lua-5.2.1/src/lua52/lcode.h
  • vendors/lua-5.2.1/src/lua52/lcorolib.c
  • vendors/lua-5.2.1/src/lua52/lctype.c
  • vendors/lua-5.2.1/src/lua52/lctype.h
  • vendors/lua-5.2.1/src/lua52/ldblib.c
  • vendors/lua-5.2.1/src/lua52/ldebug.c
  • vendors/lua-5.2.1/src/lua52/ldebug.h
  • vendors/lua-5.2.1/src/lua52/ldo.c
  • vendors/lua-5.2.1/src/lua52/ldo.h
  • vendors/lua-5.2.1/src/lua52/ldump.c
  • vendors/lua-5.2.1/src/lua52/lfunc.c
  • vendors/lua-5.2.1/src/lua52/lfunc.h
  • vendors/lua-5.2.1/src/lua52/lgc.c
  • vendors/lua-5.2.1/src/lua52/lgc.h
  • vendors/lua-5.2.1/src/lua52/linit.c
  • vendors/lua-5.2.1/src/lua52/liolib.c
  • vendors/lua-5.2.1/src/lua52/llex.c
  • vendors/lua-5.2.1/src/lua52/llex.h
  • vendors/lua-5.2.1/src/lua52/llimits.h
  • vendors/lua-5.2.1/src/lua52/lmathlib.c
  • vendors/lua-5.2.1/src/lua52/lmem.c
  • vendors/lua-5.2.1/src/lua52/lmem.h
  • vendors/lua-5.2.1/src/lua52/loadlib.c
  • vendors/lua-5.2.1/src/lua52/lobject.c
  • vendors/lua-5.2.1/src/lua52/lobject.h
  • vendors/lua-5.2.1/src/lua52/lopcodes.c
  • vendors/lua-5.2.1/src/lua52/lopcodes.h
  • vendors/lua-5.2.1/src/lua52/loslib.c
  • vendors/lua-5.2.1/src/lua52/lparser.c
  • vendors/lua-5.2.1/src/lua52/lparser.h
  • vendors/lua-5.2.1/src/lua52/lstate.c
  • vendors/lua-5.2.1/src/lua52/lstate.h
  • vendors/lua-5.2.1/src/lua52/lstring.c
  • vendors/lua-5.2.1/src/lua52/lstring.h
  • vendors/lua-5.2.1/src/lua52/lstrlib.c
  • vendors/lua-5.2.1/src/lua52/ltable.c
  • vendors/lua-5.2.1/src/lua52/ltable.h
  • vendors/lua-5.2.1/src/lua52/ltablib.c
  • vendors/lua-5.2.1/src/lua52/ltm.c
  • vendors/lua-5.2.1/src/lua52/ltm.h
  • vendors/lua-5.2.1/src/lua52/lua.c
  • vendors/lua-5.2.1/src/lua52/lua.h
  • vendors/lua-5.2.1/src/lua52/lua.hpp
  • vendors/lua-5.2.1/src/lua52/luac.c
  • vendors/lua-5.2.1/src/lua52/luaconf.h
  • vendors/lua-5.2.1/src/lua52/lualib.h
  • vendors/lua-5.2.1/src/lua52/lundump.c
  • vendors/lua-5.2.1/src/lua52/lundump.h
  • vendors/lua-5.2.1/src/lua52/lvm.c
  • vendors/lua-5.2.1/src/lua52/lvm.h
  • vendors/lua-5.2.1/src/lua52/lzio.c
  • vendors/lua-5.2.1/src/lua52/lzio.h
  • vendors/lua-5.3.6/CMakeLists.txt
  • vendors/lua-5.3.6/README
  • vendors/lua-5.3.6/doc/contents.html
  • vendors/lua-5.3.6/doc/lua.1
  • vendors/lua-5.3.6/doc/lua.css
  • vendors/lua-5.3.6/doc/luac.1
  • vendors/lua-5.3.6/doc/manual.css
  • vendors/lua-5.3.6/doc/manual.html
  • vendors/lua-5.3.6/doc/readme.html
  • vendors/lua-5.3.6/src/lua53/lapi.c
  • vendors/lua-5.3.6/src/lua53/lapi.h
  • vendors/lua-5.3.6/src/lua53/lauxlib.c
  • vendors/lua-5.3.6/src/lua53/lauxlib.h
  • vendors/lua-5.3.6/src/lua53/lbaselib.c
  • vendors/lua-5.3.6/src/lua53/lbitlib.c
  • vendors/lua-5.3.6/src/lua53/lcode.c
  • vendors/lua-5.3.6/src/lua53/lcode.h
  • vendors/lua-5.3.6/src/lua53/lcorolib.c
  • vendors/lua-5.3.6/src/lua53/lctype.c
  • vendors/lua-5.3.6/src/lua53/lctype.h
  • vendors/lua-5.3.6/src/lua53/ldblib.c
  • vendors/lua-5.3.6/src/lua53/ldebug.c
  • vendors/lua-5.3.6/src/lua53/ldebug.h
  • vendors/lua-5.3.6/src/lua53/ldo.c
  • vendors/lua-5.3.6/src/lua53/ldo.h
  • vendors/lua-5.3.6/src/lua53/ldump.c
  • vendors/lua-5.3.6/src/lua53/lfunc.c
  • vendors/lua-5.3.6/src/lua53/lfunc.h
  • vendors/lua-5.3.6/src/lua53/lgc.c
  • vendors/lua-5.3.6/src/lua53/lgc.h
  • vendors/lua-5.3.6/src/lua53/linit.c
  • vendors/lua-5.3.6/src/lua53/liolib.c
  • vendors/lua-5.3.6/src/lua53/llex.c
  • vendors/lua-5.3.6/src/lua53/llex.h
  • vendors/lua-5.3.6/src/lua53/llimits.h
  • vendors/lua-5.3.6/src/lua53/lmathlib.c
  • vendors/lua-5.3.6/src/lua53/lmem.c
  • vendors/lua-5.3.6/src/lua53/lmem.h
  • vendors/lua-5.3.6/src/lua53/loadlib.c
  • vendors/lua-5.3.6/src/lua53/lobject.c
  • vendors/lua-5.3.6/src/lua53/lobject.h
  • vendors/lua-5.3.6/src/lua53/lopcodes.c
  • vendors/lua-5.3.6/src/lua53/lopcodes.h
  • vendors/lua-5.3.6/src/lua53/loslib.c
  • vendors/lua-5.3.6/src/lua53/lparser.c
  • vendors/lua-5.3.6/src/lua53/lparser.h
  • vendors/lua-5.3.6/src/lua53/lprefix.h
  • vendors/lua-5.3.6/src/lua53/lstate.c
  • vendors/lua-5.3.6/src/lua53/lstate.h
  • vendors/lua-5.3.6/src/lua53/lstring.c
  • vendors/lua-5.3.6/src/lua53/lstring.h
  • vendors/lua-5.3.6/src/lua53/lstrlib.c
  • vendors/lua-5.3.6/src/lua53/ltable.c
  • vendors/lua-5.3.6/src/lua53/ltable.h
  • vendors/lua-5.3.6/src/lua53/ltablib.c
  • vendors/lua-5.3.6/src/lua53/ltm.c
  • vendors/lua-5.3.6/src/lua53/ltm.h
  • vendors/lua-5.3.6/src/lua53/lua.c
  • vendors/lua-5.3.6/src/lua53/lua.h
  • vendors/lua-5.3.6/src/lua53/lua.hpp
  • vendors/lua-5.3.6/src/lua53/luac.c
  • vendors/lua-5.3.6/src/lua53/luaconf.h
  • vendors/lua-5.3.6/src/lua53/lualib.h
  • vendors/lua-5.3.6/src/lua53/lundump.c
  • vendors/lua-5.3.6/src/lua53/lundump.h
  • vendors/lua-5.3.6/src/lua53/lutf8lib.c
  • vendors/lua-5.3.6/src/lua53/lvm.c
  • vendors/lua-5.3.6/src/lua53/lvm.h
  • vendors/lua-5.3.6/src/lua53/lzio.c
  • vendors/lua-5.3.6/src/lua53/lzio.h
  • vendors/lua-5.4.4/CMakeLists.txt
  • vendors/lua-5.4.4/README
  • vendors/lua-5.4.4/doc/contents.html
  • vendors/lua-5.4.4/doc/lua.1
  • vendors/lua-5.4.4/doc/lua.css
  • vendors/lua-5.4.4/doc/luac.1
  • vendors/lua-5.4.4/doc/manual.css
  • vendors/lua-5.4.4/doc/manual.html
  • vendors/lua-5.4.4/doc/readme.html
  • vendors/lua-5.4.4/src/lua54/lapi.c
  • vendors/lua-5.4.4/src/lua54/lapi.h
  • vendors/lua-5.4.4/src/lua54/lauxlib.c
  • vendors/lua-5.4.4/src/lua54/lauxlib.h
  • vendors/lua-5.4.4/src/lua54/lbaselib.c
  • vendors/lua-5.4.4/src/lua54/lcode.c
  • vendors/lua-5.4.4/src/lua54/lcode.h
  • vendors/lua-5.4.4/src/lua54/lcorolib.c
  • vendors/lua-5.4.4/src/lua54/lctype.c
  • vendors/lua-5.4.4/src/lua54/lctype.h
  • vendors/lua-5.4.4/src/lua54/ldblib.c
  • vendors/lua-5.4.4/src/lua54/ldebug.c
  • vendors/lua-5.4.4/src/lua54/ldebug.h
  • vendors/lua-5.4.4/src/lua54/ldo.c
  • vendors/lua-5.4.4/src/lua54/ldo.h
  • vendors/lua-5.4.4/src/lua54/ldump.c
  • vendors/lua-5.4.4/src/lua54/lfunc.c
  • vendors/lua-5.4.4/src/lua54/lfunc.h
  • vendors/lua-5.4.4/src/lua54/lgc.c
  • vendors/lua-5.4.4/src/lua54/lgc.h
  • vendors/lua-5.4.4/src/lua54/linit.c
  • vendors/lua-5.4.4/src/lua54/liolib.c
  • vendors/lua-5.4.4/src/lua54/ljumptab.h
  • vendors/lua-5.4.4/src/lua54/llex.c
  • vendors/lua-5.4.4/src/lua54/llex.h
  • vendors/lua-5.4.4/src/lua54/llimits.h
  • vendors/lua-5.4.4/src/lua54/lmathlib.c
  • vendors/lua-5.4.4/src/lua54/lmem.c
  • vendors/lua-5.4.4/src/lua54/lmem.h
  • vendors/lua-5.4.4/src/lua54/loadlib.c
  • vendors/lua-5.4.4/src/lua54/lobject.c
  • vendors/lua-5.4.4/src/lua54/lobject.h
  • vendors/lua-5.4.4/src/lua54/lopcodes.c
  • vendors/lua-5.4.4/src/lua54/lopcodes.h
  • vendors/lua-5.4.4/src/lua54/lopnames.h
  • vendors/lua-5.4.4/src/lua54/loslib.c
  • vendors/lua-5.4.4/src/lua54/lparser.c
  • vendors/lua-5.4.4/src/lua54/lparser.h
  • vendors/lua-5.4.4/src/lua54/lprefix.h
  • vendors/lua-5.4.4/src/lua54/lstate.c
  • vendors/lua-5.4.4/src/lua54/lstate.h
  • vendors/lua-5.4.4/src/lua54/lstring.c
  • vendors/lua-5.4.4/src/lua54/lstring.h
  • vendors/lua-5.4.4/src/lua54/lstrlib.c
  • vendors/lua-5.4.4/src/lua54/ltable.c
  • vendors/lua-5.4.4/src/lua54/ltable.h
  • vendors/lua-5.4.4/src/lua54/ltablib.c
  • vendors/lua-5.4.4/src/lua54/ltm.c
  • vendors/lua-5.4.4/src/lua54/ltm.h
  • vendors/lua-5.4.4/src/lua54/lua.c
  • vendors/lua-5.4.4/src/lua54/lua.h
  • vendors/lua-5.4.4/src/lua54/lua.hpp
  • vendors/lua-5.4.4/src/lua54/luac.c
  • vendors/lua-5.4.4/src/lua54/luaconf.h
  • vendors/lua-5.4.4/src/lua54/lualib.h
  • vendors/lua-5.4.4/src/lua54/lundump.c
  • vendors/lua-5.4.4/src/lua54/lundump.h
  • vendors/lua-5.4.4/src/lua54/lutf8lib.c
  • vendors/lua-5.4.4/src/lua54/lvm.c
  • vendors/lua-5.4.4/src/lua54/lvm.h
  • vendors/lua-5.4.4/src/lua54/lzio.c
  • vendors/lua-5.4.4/src/lua54/lzio.h
  • vendors/sol/config.hpp
  • vendors/sol/forward.hpp
  • vendors/sol/sol.hpp
  • vendors/tracy/CMakeLists.txt
  • vendors/tracy/public/tracy/TracyLua.hpp

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

- Remove vendors/sol (sol2 Lua binding library) — referenced by no
  build file or source
- Drop Tracy's optional TracyLua.hpp header and its CMake entry;
  nothing includes it
- Rephrase the FiveM/MTASA comparison in docs/resource_hot_reload.md
  to not name Lua
@Segfaultd
Segfaultd merged commit 7d552a2 into develop Aug 17, 2026
5 checks passed
@Segfaultd
Segfaultd deleted the chore/remove-lua branch August 17, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants