Skip to content

Commit cc71c2a

Browse files
committed
Use seperate variables for bundle module system
1 parent b683a48 commit cc71c2a

2 files changed

Lines changed: 12 additions & 17 deletions

File tree

src/LuaTransformer.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -190,17 +190,14 @@ export class LuaTransformer {
190190
}
191191

192192
if (this.isWithinBundle) {
193-
const packagePreload = tstl.createTableIndexExpression(
194-
tstl.createIdentifier("tstlpackage"),
195-
tstl.createStringLiteral("preload")
196-
);
193+
const moduleTableIdentifier = tstl.createIdentifier("__TS__MODULES");
197194
const exportPath = tsHelper.getExportPath(sourceFile.fileName, this.options);
198195
const moduleParameters = this.visitedExportEquals ? undefined : [this.createExportsIdentifier()];
199-
const packagePreloadDeclaration = tstl.createAssignmentStatement(
200-
tstl.createTableIndexExpression(packagePreload, tstl.createStringLiteral(exportPath)),
196+
const moduleDeclaration = tstl.createAssignmentStatement(
197+
tstl.createTableIndexExpression(moduleTableIdentifier, tstl.createStringLiteral(exportPath)),
201198
tstl.createFunctionExpression(tstl.createBlock(statements, sourceFile), moduleParameters)
202199
);
203-
return tstl.createBlock([packagePreloadDeclaration], sourceFile);
200+
return tstl.createBlock([moduleDeclaration], sourceFile);
204201
}
205202

206203
return tstl.createBlock(statements, sourceFile);

src/lualib/LuaRequire.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1-
const tstlpackage: {
2-
preload: Record<string, (this: void, exports: object) => object>;
3-
loaded: Record<string, object>;
4-
} = { preload: {}, loaded: {} };
1+
const __TS__MODULES: Record<string, (this: void, exports: object) => any> = {};
2+
const __TS__MODULECACHE: Record<string, any> = {};
53

64
function __TS__LuaRequire(this: void, moduleName: string): any {
7-
if (tstlpackage.loaded[moduleName]) {
8-
return tstlpackage.loaded[moduleName];
5+
if (__TS__MODULECACHE[moduleName]) {
6+
return __TS__MODULECACHE[moduleName];
97
}
10-
const loadScript = tstlpackage.preload[moduleName];
8+
const loadScript = __TS__MODULES[moduleName];
119
if (!loadScript) {
1210
// tslint:disable-next-line: no-string-throw
1311
throw `module '${moduleName}' not found`;
1412
}
1513
const moduleExports = {};
16-
tstlpackage.loaded[moduleName] = moduleExports;
17-
tstlpackage.loaded[moduleName] = loadScript(moduleExports);
18-
return tstlpackage.loaded[moduleName];
14+
__TS__MODULECACHE[moduleName] = moduleExports;
15+
__TS__MODULECACHE[moduleName] = loadScript(moduleExports);
16+
return __TS__MODULECACHE[moduleName];
1917
}

0 commit comments

Comments
 (0)