Without an explicit rootDir, tstl computed output paths relative to
tsconfig.json's own directory (modules/events-mod/) rather than the
actual TypeScript source root (src/main/typescript/), so control.lua
and settings.lua ended up nested under src/main/typescript/ in the
packaged mod zip instead of at its root - where Factorio requires them
to be. The mod would not have loaded at all as packaged.
This went uncaught because packageFactorioMod never previously
produced real output (blocked by the now-fixed kxs-ts-gen-core/JitPack
issue). Verified by actually running packageFactorioMod and inspecting
the resulting zip: control.lua, settings.lua and info.json are now at
the root, and control.lua's require() calls ("main.global-init" etc.)
correctly resolve against that flat layout.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| events-library | ||
| events-mod | ||
| events-processor-core | ||
| events-processors | ||
| events-server | ||
| events-server-syslog | ||
| events-server-web | ||
| infra-factorio-client | ||
| infra-factorio-server | ||
| infra-kafka-cluster | ||
| infra-kafka-pipe | ||
| kt-rcon | ||
| versions-platform | ||
| web-map | ||
| modules.md | ||