@slsplus/migrate
Version:
Serverless Plus Migrate Tool
65 lines (64 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.migrateFramework = void 0;
var object_1 = require("@ygkit/object");
var utils_1 = require("../utils");
var faas_1 = require("./faas");
var apigw_1 = require("./apigw");
var static_1 = require("./static");
function clearInvalidProps(obj, props) {
props.forEach(function (p) {
delete obj[p];
});
}
/**
* migrate framework configs
* @param oldConfigs framework inputs in yaml file
*/
function migrateFramework(oldConfigs) {
var newConfigs = object_1.deepClone(oldConfigs);
if (oldConfigs.region) {
newConfigs.region = oldConfigs.region;
}
if (oldConfigs.entryFile) {
newConfigs.entryFile = oldConfigs.entryFile;
}
if (object_1.typeOf(oldConfigs.src) === 'String') {
newConfigs.src = {
src: oldConfigs.src,
};
}
else {
newConfigs.src = oldConfigs.src;
}
// faas
var faasConfig = faas_1.migrateFaas(oldConfigs, oldConfigs.faas || oldConfigs.functionConf);
// apigw
var apigwConfig = apigw_1.migrateApigw(oldConfigs, oldConfigs.apigw || oldConfigs.apigatewayConf);
// static
var staticConfig = static_1.migrateStatic(oldConfigs.staticConf || oldConfigs.static);
if (!utils_1.isEmptyObject(faasConfig)) {
newConfigs.faas = faasConfig;
}
if (!utils_1.isEmptyObject(apigwConfig)) {
newConfigs.apigw = apigwConfig;
}
if (!utils_1.isEmptyObject(staticConfig)) {
newConfigs.static = staticConfig;
}
// clear global old configs
var InvalidProps = [
'functionName',
'layers',
'runtime',
'functionConf',
'serviceId',
'serviceName',
'serviceDesc',
'apigatewayConf',
'staticConf',
];
clearInvalidProps(newConfigs, InvalidProps);
return newConfigs;
}
exports.migrateFramework = migrateFramework;