From 70471c508584c2798f4e0a092d4d8e3fa227e837 Mon Sep 17 00:00:00 2001 From: Bastiaan <17990055+bbassie@users.noreply.github.com> Date: Thu, 6 Aug 2026 22:32:43 +0200 Subject: [PATCH] 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 (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) --- .github/workflows/fmtk.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/fmtk.yml b/.github/workflows/fmtk.yml index 870b9f42..4050b457 100644 --- a/.github/workflows/fmtk.yml +++ b/.github/workflows/fmtk.yml @@ -17,7 +17,8 @@ jobs: node-version: lts/* - name: Install FMTK 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 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