The version catalog pointed kxs-ts-gen-core at a JitPack coordinate
(com.github.adamko-dev.kotlinx-serialization-typescript-generator) that
no longer serves real artifacts there, despite JitPack's build-status
API still reporting it as built. The library is properly published to
Maven Central under dev.adamko.kxstsgen - a commented-out line with
that exact coordinate was already sitting in the catalog. Swapping to
it fixes dependency resolution for every module depending on
versions-platform (which previously blocked any Gradle task touching
events-library, including all of its tests).
That unblocked two more pre-existing, unrelated bugs that had never
been caught because this module never previously compiled:
- LuaJsonList<T> : List<T> by list triggered a longstanding Kotlin
compiler bug (KT-3546, "accidental override" on generic toArray)
specific to delegating java.util.List via `by`. Replaced with a
hand-written Collection<T> implementation (no delegation codegen,
no bug), which still satisfies Kotest's forOne/forAll inspectors -
the only thing any code actually needs from it.
- The kxs-ts-gen Kotlin->TypeScript generator (kt2ts2.kt) still emitted
the pre-2.0 bare `uint`/`int` names and no import statement, since it
predates typed-factorio's move to virtual modules. Updated its
primitive-type mappings to uint32/int32 and added the "factorio:runtime"
import to its generated header, so the regenerated schema matches what
the rest of events-mod now expects.
Verified via real Gradle tasks (not just manual tooling): events-library
compiles and all tests pass; events-mod's full build - Kotlin schema
generation, npm install, tstl compile, and info.json generation (with
factorio_version "2.0" and the space-exploration/Krastorio2 optional
dependencies) - succeeds end-to-end.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>