UNPKG

commitmnt

Version:

Copy your gitlab and bitbucket commits to a new, publishable github repo

43 lines 2.21 kB
export class ChangeDirectory { current; last; /** * @param base the directory to start at * @constructor */ constructor(baseDir) { const dir = 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; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL2NkL2NkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxlQUFlO0lBQzFCLE9BQU8sQ0FBUztJQUNoQixJQUFJLENBQVM7SUFFYjs7O09BR0c7SUFDSCxZQUFZLE9BQWdCO1FBQzFCLE1BQU0sR0FBRyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXZCLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxFQUFFLENBQUMsR0FBVztRQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDaEIsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixPQUFPLENBQUMsR0FBRyxFQUFFLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRS9FLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIn0=