@slsplus/ui
Version:
UI Tool for Serverless Plus CLI
54 lines (53 loc) • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generate = exports.init = void 0;
const tslib_1 = require("tslib");
const fs_1 = tslib_1.__importDefault(require("fs"));
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
const migrate_1 = require("@slsplus/migrate");
const utils_1 = require("@slsplus/migrate/dist/utils");
const object_1 = require("@ygkit/object");
const config_1 = require("../config");
/**
* POST /init
* init serverless config api.
*/
exports.init = (req, res) => {
if (fs_1.default.existsSync(config_1.YAML_PATH)) {
const oldYaml = fs_1.default.readFileSync(config_1.YAML_PATH, 'utf-8');
const config = js_yaml_1.default.load(oldYaml);
const { component } = config;
// only supported component need migrate
if (config_1.SUPORT_MIGRATE_COMPONENT.indexOf(component) !== -1) {
let migrateMethod = migrate_1.MIGRATE_METHOD_MAP.framework;
if (!utils_1.isFrameworkComponent(component)) {
migrateMethod = migrate_1.MIGRATE_METHOD_MAP[component];
}
if (migrateMethod && object_1.typeOf(migrateMethod) === 'Function') {
config.inputs = migrateMethod(config.inputs);
}
}
res.json({
code: 0,
yaml: js_yaml_1.default.dump(config),
js: config,
});
}
else {
res.json({
code: 1,
});
}
};
/**
* POST /generate
* generate serverless yaml api.
*/
exports.generate = (req, res) => {
const { config } = req.body;
fs_1.default.writeFileSync(config_1.YAML_PATH, config);
res.json({
yamlPath: config_1.YAML_PATH,
config,
});
};