diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 48f697fcc..fd888576a 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -233,7 +233,7 @@ export abstract class LuaTranspiler { } // Inline lualib features - if (this.options.luaLibImport === LuaLibImportKind.Inline) { + if (this.options.luaLibImport === LuaLibImportKind.Inline && this.luaLibFeatureSet.size > 0) { result += "\n" + "-- Lua Library Imports\n"; for (const feature of this.luaLibFeatureSet) { const featureFile = path.resolve(__dirname, `../dist/lualib/${feature}.lua`); diff --git a/test/unit/modules.spec.ts b/test/unit/modules.spec.ts index 62187e060..7d2509376 100644 --- a/test/unit/modules.spec.ts +++ b/test/unit/modules.spec.ts @@ -23,15 +23,6 @@ export class LuaModuleTests { Expect(lua.startsWith(`require("lualib_bundle")`)); } - @Test("lualibRequireNoUses") - public lualibRequireNoUses(): void { - // Transpile - const lua = util.transpileString(``, { luaLibImport: LuaLibImportKind.Require, luaTarget: LuaTarget.LuaJIT }); - - // Assert - Expect(lua).toBe(``); - } - @Test("lualibRequireAlways") public lualibRequireAlways(): void { // Transpile @@ -63,4 +54,16 @@ export class LuaModuleTests { Expect(result).toBe(3); } + + @TestCase(LuaLibImportKind.Inline) + @TestCase(LuaLibImportKind.None) + @TestCase(LuaLibImportKind.Require) + @Test("LuaLib no uses? No code") + public lualibNoUsesNoCode(impKind: LuaLibImportKind): void { + // Transpile + const lua = util.transpileString(``, { luaLibImport: impKind }); + + // Assert + Expect(lua).toBe(``); + } }