Fix kxs-ts-gen-core dependency resolution and unblocked compile bugs

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>
This commit is contained in:
Lazzexus 2026-10-12 15:40:33 +02:00
parent e296a9aa90
commit 509832d26d
4 changed files with 25 additions and 10 deletions

View file

@ -1,6 +1,6 @@
// Generated by kxs-ts-gen - do not edit this file manually
import {double, float, int32 as int, int8, PlayerIndex, SurfaceIndex, uint32 as uint, uint8, UnitNumber} from "factorio:runtime"
import {double, float, int32, int8, PlayerIndex, SurfaceIndex, uint32, uint8, UnitNumber} from "factorio:runtime"
export interface KafkatorioPacket {
modVersion: string;
@ -145,7 +145,7 @@ export namespace KafkatorioPacketData {
}
}
export type UInt = uint;
export type UInt = uint32;
export interface ConfigurationUpdateGameData {
oldVersion?: string | null;
@ -212,7 +212,7 @@ export type Colour = [
alpha: Float,
];
export type Int = int;
export type Int = int32;
export interface ConfigurationUpdateModData {
modName: string;