folder-upload-webpack-plugin
Version:
Upload your folder to ssh sftp server after build, add support to 'webpack --watch'
30 lines (26 loc) • 1.03 kB
text/typescript
import {stdout as slog} from "single-line-log";
export default class Progress {
private readonly description: string;
private readonly length: number;
private lastCell: number;
constructor(description:string, bar_length:number) {
this.description = description || 'Progress';
this.length = bar_length || 25;
this.lastCell = -1;
}
render(opts: {percent: number, completed: number, total: number}) {
const cell_num = Math.floor(opts.percent * this.length);
if(this.lastCell === cell_num) return;
this.lastCell = cell_num;
let cell = '';
for (let i = 0; i < cell_num; i++) {
cell += '█';
}
let empty = '';
for (let i = 0; i < this.length - cell_num; i++) {
empty += '░';
}
const cmdText = this.description + ' ' + (100 * opts.percent).toFixed(2) + '% ' + cell + empty + ' ' + opts.completed + '/' + opts.total;
slog(cmdText);
}
}