var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.getRegisteredEngines=exports.getEngineRunner=exports.getEngineSubTasks=exports.hasEngineTask=exports.getEngineTask=exports.getEngineRunnerByPlatform=exports.getPlatformExtensions=exports.generateEnvVars=exports.loadEngines=exports.loadEnginePackageDeps=exports.loadEnginePluginDeps=exports.registerAllPlatformEngines=exports.registerMissingPlatformEngines=exports.configureEngines=exports.generateEngineTasks=exports.generateEngineExtensions=exports.registerEngineExtension=exports.registerEngine=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));
var _path=_interopRequireDefault(require("path"));
var _fileutils=require("../systemManager/fileutils");
var _npmUtils=require("../systemManager/npmUtils");
var _constants=require("../constants");
var _logger=require("../systemManager/logger");
var _common=require("../common");
var _resolve=require("../systemManager/resolve");
var _utils=require("../systemManager/utils");
var _configManager=require("../configManager");
var _pluginManager=require("../pluginManager");function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});}keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){(0,_defineProperty2.default)(target,key,source[key]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}}return target;}

var ENGINE_CORE='engine-core';

var registerEngine=function registerEngine(c,engine,platform,engConfig){return _regenerator.default.async(function registerEngine$(_context){while(1){switch(_context.prev=_context.next){case 0:
(0,_logger.logTask)("registerEngine:"+engine.config.id);
c.runtime.enginesById[engine.config.id]=engine;
engine.initializeRuntimeConfig(c);
c.runtime.enginesByIndex.push(engine);
if(engConfig!=null&&engConfig.packageName){
engine.rootPath=_resolvePkgPath(c,engConfig.packageName);
engine.originalTemplatePlatformsDir=_path.default.join(engine.rootPath,'templates/platforms');
engine.originalTemplateAssetsDir=_path.default.join(engine.rootPath,'templates/assets');
engine.originalTemplatePlatformProjectDir=_path.default.join(
engine.originalTemplatePlatformsDir,
engine.projectDirName);

}
_registerEnginePlatform(c,platform,engine);case 6:case"end":return _context.stop();}}},null,null,null,Promise);};exports.registerEngine=registerEngine;


var _registerEnginePlatform=function _registerEnginePlatform(c,platform,engine){
if(platform){
c.runtime.enginesByPlatform[platform]=engine;
}
};

var registerEngineExtension=function registerEngineExtension(ext,eExt){var extras=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];
var e1=ext?ext+".":'';
var e2=eExt?eExt+".":'';
var extArr;
if(eExt){
extArr=[""+
e1+e2+"jsx",e1+"jsx",""+e1+e2+"js",e1+"js",""+
e1+e2+"tsx",e1+"tsx",""+e1+e2+"ts",e1+"ts"].concat((0,_toConsumableArray2.default)(
extras));

}else{
extArr=[
e1+"jsx",e1+"js",
e1+"tsx",e1+"ts"].concat((0,_toConsumableArray2.default)(
extras));

}

return extArr;
};exports.registerEngineExtension=registerEngineExtension;

var generateEngineExtensions=function generateEngineExtensions(exts,config){
var id=config.id,engineExtension=config.engineExtension;
var extArr=(0,_toConsumableArray2.default)(registerEngineExtension(id));
exts.forEach(function(ext){
extArr=extArr.concat(registerEngineExtension(ext,engineExtension));
});
extArr=extArr.concat(registerEngineExtension(null,null,['mjs','json','wasm']));
return extArr;
};exports.generateEngineExtensions=generateEngineExtensions;

var generateEngineTasks=function generateEngineTasks(taskArr){
var tasks={};
taskArr.forEach(function(taskInstance){
tasks[taskInstance.task]=taskInstance;
});
return tasks;
};exports.generateEngineTasks=generateEngineTasks;

var configureEngines=function configureEngines(c){var engines,devDependencies,needsPackageUpdate;return _regenerator.default.async(function configureEngines$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:
(0,_logger.logTask)('configureEngines');if(!
c.runtime.isWrapper){_context2.next=3;break;}return _context2.abrupt("return",true);case 3:
engines=c.files.project.config.engines;
devDependencies=c.files.project.package.devDependencies;
needsPackageUpdate=false;
if(engines&&!c.runtime.skipPackageUpdate&&!c.program.skipDependencyCheck){
Object.keys(engines).forEach(function(k){var _c$buildConfig$engine,_c$buildConfig$engine2;
var engVer=(_c$buildConfig$engine=c.buildConfig.engineTemplates)==null?void 0:(_c$buildConfig$engine2=_c$buildConfig$engine[k])==null?void 0:_c$buildConfig$engine2.version;
if(engVer){
if(devDependencies[k]){
if(devDependencies[k]!==engVer){
needsPackageUpdate=true;
(0,_logger.logInfo)("Updating missing engine "+k+" "+
(0,_logger.chalk)().red(devDependencies[k])+"=>"+(0,_logger.chalk)().green(engVer)+" to package.json");
devDependencies[k]=engVer;
}
}else{
needsPackageUpdate=true;
(0,_logger.logInfo)("Adding missing engine "+k+"@"+engVer+" to package.json");
devDependencies[k]=engVer;
}
}
});
if(needsPackageUpdate){
(0,_fileutils.writeFileSync)(c.paths.project.package,c.files.project.package);
}
}return _context2.abrupt("return",
true);case 8:case"end":return _context2.stop();}}},null,null,null,Promise);};exports.configureEngines=configureEngines;


var registerMissingPlatformEngines=function registerMissingPlatformEngines(c,taskInstance){var _taskInstance$platfor;var registerEngineList;return _regenerator.default.async(function registerMissingPlatformEngines$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:
(0,_logger.logTask)('registerMissingPlatformEngines');if(!(
!taskInstance||!taskInstance.isGlobalScope&&(taskInstance==null?void 0:(_taskInstance$platfor=taskInstance.platforms)==null?void 0:_taskInstance$platfor.length)===0)){_context3.next=7;break;}
registerEngineList=[];
c.buildConfig.defaults.supportedPlatforms.forEach(function(platform){
registerEngineList.push(
_registerPlatformEngine(c,platform));

});if(!

registerEngineList.length){_context3.next=7;break;}_context3.next=7;return _regenerator.default.awrap(
Promise.all(registerEngineList));case 7:return _context3.abrupt("return",



true);case 8:case"end":return _context3.stop();}}},null,null,null,Promise);};exports.registerMissingPlatformEngines=registerMissingPlatformEngines;


var registerAllPlatformEngines=function registerAllPlatformEngines(c){var _c$buildConfig,_c$buildConfig$defaul,_c$buildConfig$defaul2;var registerEngineList;return _regenerator.default.async(function registerAllPlatformEngines$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:
(0,_logger.logTask)('registerAllPlatformEngines');if((_c$buildConfig=
c.buildConfig)!=null&&(_c$buildConfig$defaul=_c$buildConfig.defaults)!=null&&(_c$buildConfig$defaul2=_c$buildConfig$defaul.supportedPlatforms)!=null&&_c$buildConfig$defaul2.forEach){_context4.next=4;break;}
c.runtime.hasAllEnginesRegistered=true;return _context4.abrupt("return",
true);case 4:

registerEngineList=[];
c.buildConfig.defaults.supportedPlatforms.forEach(function(platform){
registerEngineList.push(
_registerPlatformEngine(c,platform));

});if(!

registerEngineList.length){_context4.next=9;break;}_context4.next=9;return _regenerator.default.awrap(
Promise.all(registerEngineList));case 9:

c.runtime.hasAllEnginesRegistered=true;return _context4.abrupt("return",
true);case 11:case"end":return _context4.stop();}}},null,null,null,Promise);};exports.registerAllPlatformEngines=registerAllPlatformEngines;


var loadEnginePluginDeps=function loadEnginePluginDeps(c,engineConfigs){var addedPlugins;return _regenerator.default.async(function loadEnginePluginDeps$(_context5){while(1){switch(_context5.prev=_context5.next){case 0:
(0,_logger.logTask)('loadEnginePluginDeps');

addedPlugins=[];
engineConfigs.forEach(function(ecf){
var engineConfig=(0,_fileutils.readObjectSync)(ecf.configPath);

if(engineConfig!=null&&engineConfig.plugins){
var projectPlugins=c.files.project.config.plugins;
Object.keys(engineConfig==null?void 0:engineConfig.plugins).forEach(function(k){
if(!projectPlugins[k]){
(0,_logger.logInfo)("Engine "+ecf.key+" requires plugin "+k+". ADDING...DONE");
projectPlugins[k]=engineConfig==null?void 0:engineConfig.plugins[k];
addedPlugins.push(k);
}
});
if(addedPlugins.length>0){
(0,_configManager.writeRenativeConfigFile)(c,c.paths.project.config,c.files.project.config);
}

}
});return _context5.abrupt("return",
addedPlugins.length);case 4:case"end":return _context5.stop();}}},null,null,null,Promise);};exports.loadEnginePluginDeps=loadEnginePluginDeps;


var loadEnginePackageDeps=function loadEnginePackageDeps(c,engineConfigs){var addedDeps;return _regenerator.default.async(function loadEnginePackageDeps$(_context6){while(1){switch(_context6.prev=_context6.next){case 0:
(0,_logger.logTask)('loadEnginePackageDeps');

addedDeps=[];
engineConfigs.forEach(function(ecf){
var engineConfig=(0,_fileutils.readObjectSync)(ecf.configPath);
c.buildConfig.defaults.supportedPlatforms.forEach(function(platform){var _engineConfig$platfor,_engineConfig$platfor2;
var npm=engineConfig==null?void 0:(_engineConfig$platfor=engineConfig.platforms)==null?void 0:(_engineConfig$platfor2=_engineConfig$platfor[platform])==null?void 0:_engineConfig$platfor2.npm;
if(npm){
if(npm.devDependencies){
var deps=c.files.project.package.devDependencies||{};
Object.keys(npm.devDependencies).forEach(function(k){
if(!deps[k]){
(0,_logger.logInfo)("Engine "+ecf.key+" requires npm devDependency "+k+" for platform "+platform+". ADDING...DONE");
deps[k]=npm==null?void 0:npm.devDependencies[k];
addedDeps.push(k);
}
});
c.files.project.package.devDependencies=deps;
}
if(npm.dependencies){
var _deps=c.files.project.package.dependencies||{};
Object.keys(npm.dependencies).forEach(function(k){
if(!_deps[k]){
(0,_logger.logInfo)("Engine "+ecf.key+" requires npm dependency "+k+" for platform "+platform+". ADDING...DONE");
_deps[k]=npm==null?void 0:npm.dependencies[k];
addedDeps.push(k);
}
});
c.files.project.package.dependencies=_deps;
}
if(npm.optionalDependencies){
var _deps2=c.files.project.package.optionalDependencies||{};
Object.keys(npm.optionalDependencies).forEach(function(k){
if(!_deps2[k]){
(0,_logger.logInfo)("Engine "+ecf.key+" requires npm optionalDependency "+k+" for platform "+platform+". ADDING...DONE");
_deps2[k]=npm==null?void 0:npm.optionalDependencies[k];
addedDeps.push(k);
}
});
c.files.project.package.optionalDependencies=_deps2;
}

if(addedDeps.length>0){
(0,_fileutils.writeFileSync)(c.paths.project.package,c.files.project.package);
}

}
});
});return _context6.abrupt("return",



addedDeps.length);case 4:case"end":return _context6.stop();}}},null,null,null,Promise);};exports.loadEnginePackageDeps=loadEnginePackageDeps;


var loadEngines=function loadEngines(c,failOnMissingDeps){var _c$buildConfig2;var engines,enginesToInstall,readyEngines,engineConfigs,plugDepsCount,pkgDepsCount;return _regenerator.default.async(function loadEngines$(_context7){while(1){switch(_context7.prev=_context7.next){case 0:
(0,_logger.logTask)('loadEngines');
engines=(_c$buildConfig2=c.buildConfig)==null?void 0:_c$buildConfig2.engines;

enginesToInstall=[];
readyEngines=[];
engineConfigs=[];if(!
engines){_context7.next=34;break;}
Object.keys(engines).forEach(function(k){
var engineRootPath=(0,_resolve.doResolve)(k);
var configPath=engineRootPath?_path.default.join(engineRootPath,'renative.engine.json'):null;
if(!configPath||!(0,_fileutils.fsExistsSync)(configPath)){
var engVer=(0,_utils.getScopedVersion)(c,k,engines[k],'engineTemplates');
if(engVer){
enginesToInstall.push({
key:k,
version:engVer,
engineRootPath:engineRootPath});

}
}else{
readyEngines.push(k);
engineConfigs.push({
key:k,
engineRootPath:engineRootPath,
configPath:configPath});

}
});if(!


enginesToInstall.length){_context7.next=17;break;}if(!
failOnMissingDeps){_context7.next=10;break;}return _context7.abrupt("return",
Promise.reject("Failed to load some engines:\n"+
enginesToInstall.map(function(v){return"> "+v.key+"@"+v.version+" path: "+v.engineRootPath;}).join('\n')));case 10:

(0,_logger.logInfo)("Some engines not installed in your project:\n"+
enginesToInstall.map(function(v){return"> "+v.key+"@"+v.version;}).join('\n')+"\n ADDING TO PACKAGE.JSON...DONE");_context7.next=13;return _regenerator.default.awrap(


(0,_npmUtils.checkAndCreateProjectPackage)(c));case 13:
enginesToInstall.forEach(function(v){
c.files.project.package.devDependencies[v.key]=v.version;
(0,_fileutils.writeFileSync)(c.paths.project.package,c.files.project.package);
});_context7.next=16;return _regenerator.default.awrap(
(0,_npmUtils.installPackageDependencies)(c));case 16:return _context7.abrupt("return",
loadEngines(c,true));case 17:if(

c.runtime.isWrapper){_context7.next=31;break;}_context7.next=20;return _regenerator.default.awrap(
loadEnginePluginDeps(c,engineConfigs));case 20:plugDepsCount=_context7.sent;_context7.next=23;return _regenerator.default.awrap(
loadEnginePackageDeps(c,engineConfigs));case 23:pkgDepsCount=_context7.sent;if(!(

plugDepsCount+pkgDepsCount>0)){_context7.next=31;break;}
c.runtime._skipPluginScopeWarnings=true;_context7.next=28;return _regenerator.default.awrap(
(0,_pluginManager.configurePlugins)(c,true));case 28:
c.runtime._skipPluginScopeWarnings=false;_context7.next=31;return _regenerator.default.awrap(
(0,_npmUtils.installPackageDependencies)(c));case 31:





_registerPlatformEngine(c,c.platform);_context7.next=40;break;case 34:if(!
c.files.project.config){_context7.next=40;break;}
(0,_logger.logInfo)('Engine configs missing in your renative.json. FIXING...DONE');
c.files.project.config.engines={
'@rnv/engine-rn':'source:rnv',
'@rnv/engine-rn-web':'source:rnv',
'@rnv/engine-rn-next':'source:rnv',
'@rnv/engine-rn-electron':'source:rnv',
'@rnv/engine-lightning':'source:rnv',
'@rnv/engine-rn-macos':'source:rnv'};


c.buildConfig.engines=c.files.project.config.engines;

(0,_fileutils.writeFileSync)(c.paths.project.config,c.files.project.config);return _context7.abrupt("return",
loadEngines(c));case 40:return _context7.abrupt("return",

true);case 41:case"end":return _context7.stop();}}},null,null,null,Promise);};exports.loadEngines=loadEngines;


var _getMergedEngineConfigs=function _getMergedEngineConfigs(c){var _c$buildConfig3,_c$buildConfig4;
var engines=(_c$buildConfig3=c.buildConfig)==null?void 0:_c$buildConfig3.engines;
var engineTemplates=(_c$buildConfig4=c.buildConfig)==null?void 0:_c$buildConfig4.engineTemplates;
var mergedEngineConfigs={};
Object.keys(engineTemplates).forEach(function(packageName){
mergedEngineConfigs[packageName]=_objectSpread({
packageName:packageName},
engineTemplates[packageName]);

});

var engineTemplatesKeys=Object.keys(engineTemplates);
if(engines){
Object.keys(engines).forEach(function(enginePackageName){
var engineVal=engines[enginePackageName];
if(engineVal==='source:rnv'){
if(!engineTemplatesKeys.includes(enginePackageName)){
(0,_logger.logWarning)("Engine "+enginePackageName+" not found in default engineTemplates");
}
}else{
mergedEngineConfigs[enginePackageName]=engineVal;
}
});
}
return mergedEngineConfigs;
};

var _getEngineConfigByPlatform=function _getEngineConfigByPlatform(c,platform){
var mergedEngineConfigs=_getMergedEngineConfigs(c);
var engineId=c.program.engine||(0,_common.getConfigProp)(c,platform,'engine');
var selectedEngineConfig;
Object.values(mergedEngineConfigs).forEach(function(engineConfig){
if(engineConfig.id===engineId){
selectedEngineConfig=engineConfig;
}
});

return selectedEngineConfig;
};

var _resolvePkgPath=function _resolvePkgPath(c,packageName){
if(_constants.IS_LINKED){

try{
var pkgPathLocal=require.resolve(packageName,{paths:[_path.default.join(_constants.RNV_HOME_DIR,'..')]});
pkgPathLocal=pkgPathLocal.replace('/dist/index.js','').replace('\\dist\\index.js','');
return pkgPathLocal;
}catch(_unused){
(0,_logger.logInfo)("Running local rnv but did not find linked "+packageName+". moving on...");
}
}
var pkgPath=_path.default.join(c.paths.project.dir,'node_modules',packageName);
if((0,_fileutils.fsExistsSync)(pkgPath)){
return pkgPath;
}
var monoRoot=(0,_common.getConfigProp)(c,c.platform,'monoRoot');
pkgPath=_path.default.join(c.paths.project.dir,monoRoot||'../..','node_modules',packageName);
if((0,_fileutils.fsExistsSync)(pkgPath)){
return pkgPath;
}
pkgPath=require.resolve(packageName);

return pkgPath;
};


var _registerPlatformEngine=function _registerPlatformEngine(c,platform){

if(platform===true||!platform)return;
var selectedEngineConfig=_getEngineConfigByPlatform(c,platform);
if(selectedEngineConfig){
var existingEngine=c.runtime.enginesById[selectedEngineConfig.id];
if(!existingEngine){var _require;












registerEngine(c,(_require=require(
_resolvePkgPath(c,selectedEngineConfig.packageName)))==null?void 0:_require.
default,
platform,selectedEngineConfig);
}else{
_registerEnginePlatform(c,platform,existingEngine);
}
}else if(platform!==true&&platform){
(0,_logger.logWarning)("Could not find suitable engine for platform "+platform+"\nMaybe you forgot to define platforms."+
platform+".engine in your renative.json?");
}
};

var generateEnvVars=function generateEnvVars(c,moduleConfig,nextConfig){
var isMonorepo=(0,_common.getConfigProp)(c,c.platform,'isMonorepo');
var monoRoot=(0,_common.getConfigProp)(c,c.platform,'monoRoot');

return{
RNV_EXTENSIONS:getPlatformExtensions(c),
RNV_MODULE_PATHS:(moduleConfig==null?void 0:moduleConfig.modulePaths)||[],
RNV_MODULE_ALIASES:(moduleConfig==null?void 0:moduleConfig.moduleAliasesArray)||[],
RNV_NEXT_TRANSPILE_MODULES:nextConfig,
RNV_PROJECT_ROOT:c.paths.project.dir,
RNV_APP_BUILD_DIR:(0,_common.getAppFolder)(c),
RNV_IS_MONOREPO:isMonorepo,
RNV_MONO_ROOT:c.runtime.isWrapper||isMonorepo?_path.default.join(c.paths.project.dir,monoRoot||'../..'):c.paths.project.dir,
RNV_ENGINE:c.runtime.engine.config.id,
RNV_IS_NATIVE_TV:[_constants.TVOS,_constants.ANDROID_TV,_constants.FIRE_TV].includes(c.platform)};

};exports.generateEnvVars=generateEnvVars;

var getPlatformExtensions=function getPlatformExtensions(c){var excludeServer=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var addDotPrefix=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;
var engine=c.runtime.engine;
var output;
var platforms=engine.platforms;

if(addDotPrefix){
output=platforms[c.platform].extenstions.map(function(v){return"."+v;}).filter(function(ext){return!excludeServer||!ext.includes('server.');});
}else{
output=platforms[c.platform].extenstions.filter(function(ext){return!excludeServer||!ext.includes('server.');});
}
return output;
};exports.getPlatformExtensions=getPlatformExtensions;

var getEngineRunnerByPlatform=function getEngineRunnerByPlatform(c,platform,ignoreMissingError){
var selectedEngine=c.runtime.enginesByPlatform[platform];
if(!selectedEngine&&!ignoreMissingError){
(0,_logger.logDebug)("ERROR: Engine for platform: "+platform+" does not exists or is not registered "+new Error());

}
return selectedEngine;
};exports.getEngineRunnerByPlatform=getEngineRunnerByPlatform;

var getEngineTask=function getEngineTask(task,tasks,customTasks){
var customTask=customTasks==null?void 0:customTasks[task];
if(customTask)return customTask;
var tsk;
var taskCleaned=task.split(' ')[0];
tsk=tasks[task];
if(!tsk){
tsk=tasks[taskCleaned];
}
return tsk;
};exports.getEngineTask=getEngineTask;

var hasEngineTask=function hasEngineTask(task,tasks,isProjectScope){var _getEngineTask;return(
isProjectScope?!!getEngineTask(task,tasks):(_getEngineTask=getEngineTask(task,tasks))==null?void 0:_getEngineTask.isGlobalScope);};exports.hasEngineTask=hasEngineTask;

var getEngineSubTasks=function getEngineSubTasks(task,tasks,exactMatch){return Object.values(tasks).filter(function(v){return exactMatch?v.task.split(' ')[0]===task:v.task.startsWith(task);});};exports.getEngineSubTasks=getEngineSubTasks;

var getEngineRunner=function getEngineRunner(c,task,customTasks){var failOnMissingEngine=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;
if(customTasks!=null&&customTasks[task]){
return c.runtime.enginesById[ENGINE_CORE];
}

var configExists=c.paths.project.configExists;
var engine=c.runtime.enginesByPlatform[c.platform];
if(!engine){
engine=c.runtime.enginesById['engine-core'];
}
if(!engine){
if(hasEngineTask(task,c.runtime.enginesById[ENGINE_CORE].tasks,configExists)){
return c.runtime.enginesById[ENGINE_CORE];
}
if(failOnMissingEngine){
throw new Error("Cound not find active engine for platform "+c.platform+". Available engines:\n        "+
c.runtime.enginesByIndex.map(function(v){return v.config.id;}).join(', '));
}
return null;
}
if(hasEngineTask(task,engine.tasks,configExists))return engine;
if(hasEngineTask(task,c.runtime.enginesById[ENGINE_CORE].tasks,configExists)){
return c.runtime.enginesById[ENGINE_CORE];
}
if(failOnMissingEngine)throw new Error("Cound not find suitable executor for task "+(0,_logger.chalk)().white(task));
return null;
};exports.getEngineRunner=getEngineRunner;

var getRegisteredEngines=function getRegisteredEngines(c){return c.runtime.enginesByIndex;};exports.getRegisteredEngines=getRegisteredEngines;
//# sourceMappingURL=index.js.map