UNPKG

@amplience/dc-cli

Version:
75 lines (74 loc) 2.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExtensionCloneStep = void 0; const clone_hub_step_1 = require("../model/clone-hub-step"); const path_1 = require("path"); const export_1 = require("../../extension/export"); const import_1 = require("../../extension/import"); const fs_1 = require("fs"); class ExtensionCloneStep { getId() { return clone_hub_step_1.CloneHubStepId.Extension; } getName() { return 'Clone Extensions'; } async run(state) { try { state.logFile.appendLine(`Exporting existing extensions from destination.`); await (0, export_1.handler)({ dir: (0, path_1.join)(state.path, 'oldExtension'), force: true, logFile: state.logFile, ...state.to }); } catch (e) { state.logFile.appendLine(`ERROR: Could not export existing extensions. \n${e}`); return false; } try { state.logFile.appendLine(`Exporting extensions from source.`); await (0, export_1.handler)({ dir: (0, path_1.join)(state.path, 'extension'), force: true, logFile: state.logFile, ...state.from }); } catch (e) { state.logFile.appendLine(`ERROR: Could not export extensions. \n${e}`); return false; } try { await (0, import_1.handler)({ dir: (0, path_1.join)(state.path, 'extension'), logFile: state.logFile, ...state.to }); } catch (e) { state.logFile.appendLine(`ERROR: Could not import extensions. \n${e}`); return false; } return true; } async revert(state) { const toUpdate = state.revertLog.getData('UPDATE', this.getName()); if (toUpdate.length > 0 && (0, fs_1.existsSync)((0, path_1.join)(state.path, 'oldExtension'))) { try { await (0, import_1.handler)({ dir: (0, path_1.join)(state.path, 'oldExtension'), logFile: state.logFile, ...state.to }, toUpdate.map(item => item.split(' ')[0])); } catch (e) { state.logFile.appendLine(`ERROR: Could not import old extensions. \n${e}`); return false; } } return true; } } exports.ExtensionCloneStep = ExtensionCloneStep;