UNPKG

@rnv/engine-core

Version:
81 lines 3.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPluginList = void 0; var tslib_1 = require("tslib"); var core_1 = require("@rnv/core"); var intersection_1 = tslib_1.__importDefault(require("lodash/intersection")); var getPluginList = function (isUpdate) { if (isUpdate === void 0) { isUpdate = false; } var c = (0, core_1.getContext)(); var output = { asString: '', asArray: [], plugins: [], allPlugins: {}, // this is used by taskPluginAdd }; var i = 1; Object.keys(c.files.scopedConfigTemplates).forEach(function (pk) { var _a; var plugins = (_a = c.files.scopedConfigTemplates[pk]) === null || _a === void 0 ? void 0 : _a.pluginTemplates; if (!plugins) return; Object.keys(plugins).forEach(function (k) { var plugin = plugins[k]; var platforms = ''; var pluginPlatforms = (0, intersection_1.default)(c.runtime.supportedPlatforms.map(function (pl) { return pl.platform; }), Object.keys(plugin)); pluginPlatforms.forEach(function (v) { platforms += "".concat(v, ", "); }); if (platforms.length) { platforms = platforms.slice(0, platforms.length - 2); } var installedPlugin = c.buildConfig && c.buildConfig.plugins && c.buildConfig.plugins[k]; var installedString = installedPlugin ? (0, core_1.chalk)().yellow('installed') : (0, core_1.chalk)().green('not installed'); var versionString = plugin.version; if (isUpdate && installedPlugin) { output.plugins.push(k); var installedPluginVersion = typeof installedPlugin !== 'string' ? installedPlugin.version : installedPlugin; if (installedPluginVersion !== plugin.version) { versionString = "(".concat((0, core_1.chalk)().yellow(installedPluginVersion), ") => (").concat((0, core_1.chalk)().green(plugin.version), ")"); } else { versionString = "(".concat((0, core_1.chalk)().green(installedPluginVersion), ")"); } output.asString += " [".concat(i, "]> ").concat((0, core_1.chalk)().bold.white(k), " ").concat(versionString, "\n"); output.asArray.push({ name: "".concat(k, " ").concat(versionString), value: k, }); i++; } else if (!isUpdate) { output.plugins.push(k); output.asString += " [".concat(i, "]> ").concat((0, core_1.chalk)().bold.white(k), " (").concat((0, core_1.chalk)().grey(plugin.disableNpm ? '(no npm)' : plugin.version), ") [").concat(platforms, "] - ").concat(installedString, "\n"); output.asArray.push({ name: "".concat(k, " (").concat((0, core_1.chalk)().grey(plugin.disableNpm ? '(no npm)' : plugin.version), ") [").concat(platforms, "] - ").concat(installedString), value: k, }); i++; } output.allPlugins[k] = { name: "".concat(k, " ").concat(versionString), value: k, }; // this is used by taskPluginAdd output.asArray.sort(function (a, b) { var aStr = a.name.toLowerCase(); var bStr = b.name.toLowerCase(); var com = 0; if (aStr > bStr) { com = 1; } else if (aStr < bStr) { com = -1; } return com; }); }); }); return output; }; exports.getPluginList = getPluginList; //# sourceMappingURL=taskHelpers.js.map