UNPKG

@dlillyatx/dc-cli

Version:
75 lines (74 loc) 2.54 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 export_1.handler({ dir: 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 export_1.handler({ dir: 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 import_1.handler({ dir: 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 && fs_1.existsSync(path_1.join(state.path, 'oldExtension'))) { try { await import_1.handler({ dir: 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;