@lenne.tech/cli
Version:
lenne.Tech CLI: lt
66 lines • 4.73 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Reset current branch
*/
const NewCommand = {
alias: ['rs'],
description: 'Reset current branch',
hidden: false,
name: 'reset',
run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
// Retrieve the tools we need
const { git, helper, npm, parameters, print: { error, info, spin, success }, prompt, system, } = toolbox;
// Start timer
const timer = system.startTimer();
// Check git
if (!(yield git.gitInstalled())) {
return;
}
// Current branch
const branch = yield git.currentBranch();
if (!branch) {
error('No current branch!');
return;
}
// Check remote
const remoteBranch = yield system.run(`git ls-remote --heads origin ${branch}`);
if (!remoteBranch) {
error(`No remote branch ${branch} found!`);
return;
}
// Ask for reset
if (!parameters.options.noConfirm && !(yield prompt.confirm(`Reset branch ${branch} to the remote state`))) {
return;
}
// Reset
const resetSpin = spin(`Reset ${branch}`);
yield system.run('git clean -fd && '
+ 'git reset HEAD --hard && '
+ 'git checkout main && '
+ 'git fetch && '
+ 'git pull && '
+ `git branch -D ${branch} && `
+ `git checkout ${branch} && `
+ 'git pull');
resetSpin.succeed();
// Install npm packages
yield npm.install();
// Success info
success(`Branch ${branch} was reset in in ${helper.msToMinutesAndSeconds(timer())}m.`);
info('');
// For tests
return `reset branch ${branch}`;
}),
};
exports.default = NewCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZ2l0L3Jlc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBSUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBbUI7SUFDakMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2IsV0FBVyxFQUFFLHNCQUFzQjtJQUNuQyxNQUFNLEVBQUUsS0FBSztJQUNiLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFO1FBQzdDLDZCQUE2QjtRQUM3QixNQUFNLEVBQ0osR0FBRyxFQUNILE1BQU0sRUFDTixHQUFHLEVBQ0gsVUFBVSxFQUNWLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUNyQyxNQUFNLEVBQ04sTUFBTSxHQUNQLEdBQUcsT0FBTyxDQUFDO1FBRVosY0FBYztRQUNkLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQyxZQUFZO1FBQ1osSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDVCxDQUFDO1FBRUQsaUJBQWlCO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBRUQsZUFBZTtRQUNmLE1BQU0sWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsS0FBSyxDQUFDLG9CQUFvQixNQUFNLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLE9BQU87UUFDVCxDQUFDO1FBRUQsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixNQUFNLHNCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzNHLE9BQU87UUFDVCxDQUFDO1FBRUQsUUFBUTtRQUNSLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDMUMsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUNkLG1CQUFtQjtjQUNmLDJCQUEyQjtjQUMzQix1QkFBdUI7Y0FDdkIsZUFBZTtjQUNmLGNBQWM7Y0FDZCxpQkFDRixNQUNBLE1BQU07Y0FDSixnQkFDRixNQUNBLE1BQU07Y0FDSixVQUFVLENBQ2YsQ0FBQztRQUNGLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVwQix1QkFBdUI7UUFDdkIsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFcEIsZUFBZTtRQUNmLE9BQU8sQ0FBQyxVQUFVLE1BQU0sb0JBQW9CLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFVCxZQUFZO1FBQ1osT0FBTyxnQkFBZ0IsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQyxDQUFBO0NBQ0YsQ0FBQztBQUVGLGtCQUFlLFVBQVUsQ0FBQyJ9