@tryghost/listr-smart-renderer
v0.10.0
Published
A renderer for [Listr](https://github.com/SamVerschueren/listr) & [listr2](https://github.com/cenk1cenk2/listr2) that handles extremely long lists of tasks by collapsing into a summary view.
Downloads
6,809
Readme
Listr Smart Renderer
A renderer for Listr & listr2 that handles extremely long lists of tasks by collapsing into a summary view.
Pass in maxFullTasks to tell the renderer when to collapse into summary view.
The summary outputs one line for each task that is currently being executed, one line for each task that fails and a final summary line.
Heavily based on listr-update-renderer, with all the same nice UI features.
Install
npm install @tryghost/listr-smart-renderer --save
or
pnpm add @tryghost/listr-smart-renderer
Usage
// Either of these 2 will work
import Listr from 'listr';
import {Listr} from 'listr2';
import SmartRenderer from '@tryghost/listr-smart-renderer';
const list = new Listr([
{
title: 'foo',
task: () => Promise.resolve('bar')
}
], {
renderer: SmartRenderer,
maxFullTasks: 10
});
list.run();This package also exports a makeTaskRunner method that simplifies your script. listr2 is used here.
import {makeTaskRunner} from '@tryghost/listr-smart-renderer';
let tasks = [
{
title: 'Do some thing',
task: async (ctx) => {
// Things here
}
},
{
title: 'Do more thing',
task: async (ctx) => {
// more here
}
}
];
let taskRunner = makeTaskRunner(tasks);
await taskRunner.run();Options
These options should be provided in theListr or listr2 options object.
maxFullTasks
Type: number
Default: 30
How many tasks to output in "full" mode before collapsing to summary mode.
clearOutput
Type: boolean
Default: false
Clear the output when all the tasks are executed successfully.
Related
- listr - Terminal task list
- listr-verbose-renderer - Listr verbose renderer
Develop
This is a mono repository, managed with Nx and pnpm workspaces.
Follow the instructions for the top-level repo.
git clonethis repo &cdinto it as usual- Run
pnpm installto install top-level dependencies.
Run
pnpm dev
Test
pnpm lintrun just eslintpnpm testrun lint and tests
Copyright & License
Copyright (c) 2013-2026 Ghost Foundation, Sam Verschueren - Released under the MIT license.
