@rnv/engine-core
Version:
ReNative Engine Core
81 lines • 3.85 kB
JavaScript
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
;