typescript-to-lua
Version:
A generic TypeScript to Lua transpiler. Write your code in TypeScript and publish Lua!
36 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPlugins = getPlugins;
const utils_1 = require("./utils");
const performance = require("../measure-performance");
function getPlugins(program) {
var _a;
performance.startSection("getPlugins");
const diagnostics = [];
const pluginsFromOptions = [];
const options = program.getCompilerOptions();
for (const [index, pluginOption] of ((_a = options.luaPlugins) !== null && _a !== void 0 ? _a : []).entries()) {
const optionName = `tstl.luaPlugins[${index}]`;
const factory = (() => {
if ("plugin" in pluginOption) {
return pluginOption.plugin;
}
else {
const { error: resolveError, result: factory } = (0, utils_1.resolvePlugin)("plugin", `${optionName}.name`, (0, utils_1.getConfigDirectory)(options), pluginOption.name, pluginOption.import);
if (resolveError)
diagnostics.push(resolveError);
return factory;
}
})();
if (factory === undefined)
continue;
const plugin = typeof factory === "function" ? factory(pluginOption) : factory;
pluginsFromOptions.push(plugin);
}
if (options.tstlVerbose) {
console.log(`Loaded ${pluginsFromOptions.length} plugins`);
}
performance.endSection("getPlugins");
return { diagnostics, plugins: pluginsFromOptions };
}
//# sourceMappingURL=plugins.js.map