@@ -112,12 +112,16 @@ export interface LuaLibFeatureInfo {
112112}
113113export type LuaLibModulesInfo = Record < LuaLibFeature , LuaLibFeatureInfo > ;
114114
115+ export function resolveLuaLibDir ( luaTarget : LuaTarget ) {
116+ const luaLibDir = luaTarget === LuaTarget . Lua50 ? "lualib-lua50" : "lualib" ;
117+ return path . resolve ( __dirname , path . join ( ".." , "dist" , luaLibDir ) ) ;
118+ }
119+
115120export const luaLibModulesInfoFileName = "lualib_module_info.json" ;
116121let luaLibModulesInfo : LuaLibModulesInfo | undefined ;
117122export function getLuaLibModulesInfo ( luaTarget : LuaTarget , emitHost : EmitHost ) : LuaLibModulesInfo {
118123 if ( luaLibModulesInfo === undefined ) {
119- const lualibDir = `../dist/${ luaTarget === LuaTarget . Lua50 ? "lualib-lua50" : "lualib" } ` ;
120- const lualibPath = path . resolve ( __dirname , `${ lualibDir } /${ luaLibModulesInfoFileName } ` ) ;
124+ const lualibPath = path . join ( resolveLuaLibDir ( luaTarget ) , luaLibModulesInfoFileName ) ;
121125 const result = emitHost . readFile ( lualibPath ) ;
122126 if ( result !== undefined ) {
123127 luaLibModulesInfo = JSON . parse ( result ) as LuaLibModulesInfo ;
@@ -129,8 +133,7 @@ export function getLuaLibModulesInfo(luaTarget: LuaTarget, emitHost: EmitHost):
129133}
130134
131135export function readLuaLibFeature ( feature : LuaLibFeature , luaTarget : LuaTarget , emitHost : EmitHost ) : string {
132- const lualibDir = `../dist/${ luaTarget === LuaTarget . Lua50 ? "lualib-lua50" : "lualib" } ` ;
133- const featurePath = path . resolve ( __dirname , `${ lualibDir } /${ feature } .lua` ) ;
136+ const featurePath = path . join ( resolveLuaLibDir ( luaTarget ) , `${ feature } .lua` ) ;
134137 const luaLibFeature = emitHost . readFile ( featurePath ) ;
135138 if ( luaLibFeature === undefined ) {
136139 throw new Error ( `Could not load lualib feature from '${ featurePath } '` ) ;
@@ -215,8 +218,7 @@ export function loadImportedLualibFeatures(
215218let luaLibBundleContent : string ;
216219export function getLuaLibBundle ( luaTarget : LuaTarget , emitHost : EmitHost ) : string {
217220 if ( luaLibBundleContent === undefined ) {
218- const lualibDir = `../dist/${ luaTarget === LuaTarget . Lua50 ? "lualib-lua50" : "lualib" } ` ;
219- const lualibPath = path . resolve ( __dirname , `${ lualibDir } /lualib_bundle.lua` ) ;
221+ const lualibPath = path . join ( resolveLuaLibDir ( luaTarget ) , "lualib_bundle.lua" ) ;
220222 const result = emitHost . readFile ( lualibPath ) ;
221223 if ( result !== undefined ) {
222224 luaLibBundleContent = result ;
0 commit comments