@enspirit/emb
Version:
A replacement for our Makefile-for-monorepos
35 lines (34 loc) • 987 B
JavaScript
import { Manager } from '@listr2/manager';
import { ListrDefaultRendererLogLevels, PRESET_TIMER, } from 'listr2';
export class TaskManagerFactory {
renderer;
constructor(renderer = 'default') {
this.renderer = renderer;
}
setRenderer(renderer) {
this.renderer = renderer;
}
factor() {
if (this.renderer !== 'default') {
return new Manager({
renderer: this.renderer,
});
}
return new Manager({
collectErrors: 'minimal',
concurrent: false,
exitOnError: true,
rendererOptions: {
collapseErrors: false,
collapseSubtasks: false,
collapseSkips: false,
icon: {
[ListrDefaultRendererLogLevels.SKIPPED_WITH_COLLAPSE]: '♺',
},
timer: {
...PRESET_TIMER,
},
},
});
}
}