@slsplus/migrate
Version:
Serverless Plus Migrate Tool
81 lines (80 loc) • 2.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.migrateFaas = void 0;
var tslib_1 = require("tslib");
var utils_1 = require("../utils");
var apigw_1 = require("./apigw");
/**
* migrate faas config
* @param oldConfigs inputs in yaml file
* @param oldFaasConfigs faas config in yaml file
*/
function migrateFaas(oldConfigs, oldFaasConfigs) {
var faasConfig = utils_1.deepClone(oldFaasConfigs || oldConfigs || {});
if (faasConfig.src) {
if (utils_1.typeOf(faasConfig.src) === 'String') {
faasConfig.src = {
src: faasConfig.src,
};
}
else {
faasConfig.src = faasConfig.src;
}
}
if (faasConfig.functionName || oldConfigs.functionName) {
utils_1.addProperty(faasConfig, 'name', oldConfigs.functionName || oldConfigs.functionName);
delete faasConfig.functionName;
}
if (oldConfigs.runtime) {
utils_1.addProperty(faasConfig, 'runtime', oldConfigs.runtime);
}
if (oldConfigs.layers) {
utils_1.addProperty(faasConfig, 'layers', oldConfigs.layers);
}
if (faasConfig.environment && faasConfig.environment.variables) {
var variables = utils_1.deepClone(faasConfig.environment).variables;
faasConfig.environments = Object.entries(variables).map(function (_a) {
var _b = tslib_1.__read(_a, 2), key = _b[0], val = _b[1];
return {
key: key,
value: val,
};
});
delete faasConfig.environment;
}
if (faasConfig.tags) {
var tags = utils_1.deepClone(faasConfig.tags);
if (utils_1.typeOf(tags) === 'Object') {
faasConfig.tags = Object.entries(tags).map(function (_a) {
var _b = tslib_1.__read(_a, 2), key = _b[0], val = _b[1];
return {
key: key,
value: val,
};
});
}
}
if (faasConfig.vpcConfig) {
faasConfig.vpc = utils_1.deepClone(faasConfig.vpcConfig);
delete faasConfig.vpcConfig;
}
// transfer events -> triggers
if (faasConfig.events && faasConfig.events.length > 0) {
var events = utils_1.deepClone(faasConfig.events);
var newEvents_1 = [];
events.forEach(function (item) {
Object.entries(item).forEach(function (_a) {
var _b = tslib_1.__read(_a, 2), key = _b[0], value = _b[1];
var triggerConfigs = value.parameters || value;
if (key === 'apigw') {
triggerConfigs = apigw_1.migrateApigw(triggerConfigs);
}
newEvents_1.push(tslib_1.__assign({ type: key }, triggerConfigs));
});
});
faasConfig.triggers = newEvents_1;
delete faasConfig.events;
}
return faasConfig;
}
exports.migrateFaas = migrateFaas;