UNPKG

projen

Version:

CDK for software projects

28 lines 3.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Clobber = void 0; const component_1 = require("./component"); class Clobber extends component_1.Component { constructor(project) { super(project); const task = this.project.addTask("clobber", { description: "hard resets to HEAD of origin and cleans the local repo", condition: "git diff --exit-code > /dev/null", env: { BRANCH: "$(git branch --show-current)", }, }); task.exec("git checkout -b scratch", { name: 'save current HEAD in "scratch" branch', }); task.exec("git checkout $BRANCH"); task.exec("git fetch origin", { name: "fetch latest changes from origin" }); task.exec("git reset --hard origin/$BRANCH", { name: "hard reset to origin commit", }); task.exec("git clean -fdx", { name: "clean all untracked files" }); task.say('ready to rock! (unpushed commits are under the "scratch" branch)'); } } exports.Clobber = Clobber; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvYmJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbG9iYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF3QztBQUd4QyxNQUFhLE9BQVEsU0FBUSxxQkFBUztJQUNwQyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUMzQyxXQUFXLEVBQUUseURBQXlEO1lBQ3RFLFNBQVMsRUFBRSxrQ0FBa0M7WUFDN0MsR0FBRyxFQUFFO2dCQUNILE1BQU0sRUFBRSw4QkFBOEI7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ25DLElBQUksRUFBRSx1Q0FBdUM7U0FDOUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0NBQWtDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxJQUFJLENBQUMsaUNBQWlDLEVBQUU7WUFDM0MsSUFBSSxFQUFFLDZCQUE2QjtTQUNwQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsR0FBRyxDQUNOLGtFQUFrRSxDQUNuRSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBekJELDBCQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuXG5leHBvcnQgY2xhc3MgQ2xvYmJlciBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIGNvbnN0IHRhc2sgPSB0aGlzLnByb2plY3QuYWRkVGFzayhcImNsb2JiZXJcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiaGFyZCByZXNldHMgdG8gSEVBRCBvZiBvcmlnaW4gYW5kIGNsZWFucyB0aGUgbG9jYWwgcmVwb1wiLFxuICAgICAgY29uZGl0aW9uOiBcImdpdCBkaWZmIC0tZXhpdC1jb2RlID4gL2Rldi9udWxsXCIsXG4gICAgICBlbnY6IHtcbiAgICAgICAgQlJBTkNIOiBcIiQoZ2l0IGJyYW5jaCAtLXNob3ctY3VycmVudClcIixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0YXNrLmV4ZWMoXCJnaXQgY2hlY2tvdXQgLWIgc2NyYXRjaFwiLCB7XG4gICAgICBuYW1lOiAnc2F2ZSBjdXJyZW50IEhFQUQgaW4gXCJzY3JhdGNoXCIgYnJhbmNoJyxcbiAgICB9KTtcbiAgICB0YXNrLmV4ZWMoXCJnaXQgY2hlY2tvdXQgJEJSQU5DSFwiKTtcbiAgICB0YXNrLmV4ZWMoXCJnaXQgZmV0Y2ggb3JpZ2luXCIsIHsgbmFtZTogXCJmZXRjaCBsYXRlc3QgY2hhbmdlcyBmcm9tIG9yaWdpblwiIH0pO1xuICAgIHRhc2suZXhlYyhcImdpdCByZXNldCAtLWhhcmQgb3JpZ2luLyRCUkFOQ0hcIiwge1xuICAgICAgbmFtZTogXCJoYXJkIHJlc2V0IHRvIG9yaWdpbiBjb21taXRcIixcbiAgICB9KTtcbiAgICB0YXNrLmV4ZWMoXCJnaXQgY2xlYW4gLWZkeFwiLCB7IG5hbWU6IFwiY2xlYW4gYWxsIHVudHJhY2tlZCBmaWxlc1wiIH0pO1xuICAgIHRhc2suc2F5KFxuICAgICAgJ3JlYWR5IHRvIHJvY2shICh1bnB1c2hlZCBjb21taXRzIGFyZSB1bmRlciB0aGUgXCJzY3JhdGNoXCIgYnJhbmNoKScsXG4gICAgKTtcbiAgfVxufVxuIl19