dce-dev-wizard
Version:
Wizard for managing development apps at Harvard DCE.
61 lines • 2.91 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var clear_1 = __importDefault(require("clear"));
// Import helpers
var getDeploymentConfig_1 = __importDefault(require("../operations/getDeploymentConfig"));
var print_1 = __importDefault(require("../helpers/print"));
var prompt_1 = __importDefault(require("../helpers/prompt"));
var exec_1 = __importDefault(require("../helpers/exec"));
// Import shared constants
var BRANCH_VERSION_SEPARATOR_1 = __importDefault(require("../constants/BRANCH_VERSION_SEPARATOR"));
/**
* Show and/or modify the deployed branch
* @author Gabe Abrams
* @param deployment the currently selected deployment
*/
var chooseBranch = function (deployment) {
var _a;
// Show loading indicator
(0, clear_1.default)();
console.log('Loading current branch...\n');
// Get environment variables
var deployConfig = (0, getDeploymentConfig_1.default)(deployment);
// Get last part of the app image
var parts = deployConfig.appImage.split(':');
var branchAndVersion = parts[parts.length - 1];
var appImagePrefix = deployConfig.appImage.substring(0, deployConfig.appImage.length - branchAndVersion.length);
// Get the unprocessed branch name and version
var branchVersionParts = branchAndVersion.split(BRANCH_VERSION_SEPARATOR_1.default);
var unprocessedBranchName = branchVersionParts[0];
var versionNumber = ((_a = branchVersionParts[1]) !== null && _a !== void 0 ? _a : '');
// Process branch name
var processedBranchName = unprocessedBranchName.replace('-', '/');
// Print status
(0, clear_1.default)();
print_1.default.subtitle("Current branch: ".concat(processedBranchName));
console.log('');
console.log("Current branch: ".concat(processedBranchName));
console.log('');
console.log('Enter a new branch name (leave empty to go back):');
var newBranchName = String((0, prompt_1.default)('> ', true)).trim().replace('/', '-');
// Immediately go back if no new branch name
if (newBranchName.length === 0) {
return;
}
// Build a new app image
var newAppImage = "".concat(appImagePrefix).concat(newBranchName).concat(BRANCH_VERSION_SEPARATOR_1.default).concat(versionNumber);
// Update the configuration
(0, clear_1.default)();
console.log('Working...\n');
(0, exec_1.default)("./node_modules/.bin/caccl-deploy update --profile ".concat(deployment.profile, " --app ").concat(deployment.app, " appImage \"").concat(newAppImage, "\""), true);
// Confirmation
(0, clear_1.default)();
print_1.default.title('Branch Updated Successfully');
console.log('');
print_1.default.enterToContinue();
};
exports.default = chooseBranch;
//# sourceMappingURL=chooseBranch.js.map