Pin factoriomod-debug to 2.1.3 in the lint workflow (#449)

FMTK 2.1.4 onwards reshapes its generated typedefs for EmmyLua, which
LuaLS misreads: 2.1.4 changed dicts to table<K,V> (game.surfaces.nauvis
now reports undefined-field) and 2.1.5 changed LocalisedString to the
variadic tuple [string, LocalisedString...], which LuaLS 3.18.2 cannot
match against a plain string. Together those account for all 279
findings CI has reported since 2026-07-13; with 2.1.3 the check is
clean.

Upstream FMTK has announced it is dropping sumneko/LuaLS support in
favour of EmmyLua, so this pin is a stopgap until the check is ported
to emmylua_check.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bastiaan
2026-08-06 21:32:43 +01:00
committed by GitHub
co-authored by Claude Opus 5
parent a324388bc8
commit 70471c5085
+2 -1
View File
@@ -17,7 +17,8 @@ jobs:
node-version: lts/* node-version: lts/*
- name: Install FMTK - name: Install FMTK
run: | run: |
pnpm install factoriomod-debug # Pinned: 2.1.4+ generates typedefs targeting EmmyLua that LuaLS misreads
pnpm install factoriomod-debug@2.1.3
pnpm exec fmtk luals-addon pnpm exec fmtk luals-addon
jq '.["workspace.library"] += ["${{ github.workspace }}/factorio/library"] | .["runtime.plugin"] = "${{ github.workspace }}/factorio/plugin.lua"' .luarc.json > temp.luarc.json jq '.["workspace.library"] += ["${{ github.workspace }}/factorio/library"] | .["runtime.plugin"] = "${{ github.workspace }}/factorio/plugin.lua"' .luarc.json > temp.luarc.json
jq -s '.[0] * .[1].settings' temp.luarc.json ${{ github.workspace }}/factorio/config.json > check.luarc.json jq -s '.[0] * .[1].settings' temp.luarc.json ${{ github.workspace }}/factorio/config.json > check.luarc.json