commitmnt
Version:
Copy your gitlab and bitbucket commits to a new, publishable github repo
45 lines • 2.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChangeDirectory = void 0;
class ChangeDirectory {
/**
* @param base the directory to start at
* @constructor
*/
constructor(baseDir) {
const dir = baseDir !== null && baseDir !== void 0 ? baseDir : process.cwd();
this.go(dir);
}
/**
* Changes back to the last directory
*/
back() {
const last = this.last;
this.go(last);
}
/**
* Changes to a directory
*
* @param dir the directory to go to
*/
go(dir) {
this.last = process.cwd();
process.chdir(dir);
this.current = process.cwd();
this.ensure(dir);
}
/**
* Ensures the process is in the specified directory
*
* @param dir the directory to test
* @returns true if the directory matches
* @throws error if the directory does not match
*/
ensure(dir) {
if (process.cwd() !== dir)
throw new Error(`Unexpected directory: ${process.cwd()} - Expected: ${dir}`);
return true;
}
}
exports.ChangeDirectory = ChangeDirectory;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL2NkL2NkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQWEsZUFBZTtJQUkxQjs7O09BR0c7SUFDSCxZQUFZLE9BQWdCO1FBQzFCLE1BQU0sR0FBRyxHQUFHLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEVBQUUsQ0FBQyxHQUFXO1FBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNoQixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxHQUFHO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFL0UsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFoREQsMENBZ0RDIn0=