@tryghost/listr-smart-renderer

A renderer for Listr that handles extremely long lists of tasks by collapsing into a summary view.

Usage no npm install needed!

<script type="module">
  import tryghostListrSmartRenderer from 'https://cdn.skypack.dev/@tryghost/listr-smart-renderer';
</script>

README

Listr Smart Renderer

A renderer for Listr 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

yarn add @tryghost/listr-smart-renderer

Usage

const SmartRenderer = require('@tryghost/listr-smart-renderer');
const Listr = require('listr');

const list = new Listr([
    {
        title: 'foo',
        task: () => Promise.resolve('bar')
    }
], {
    renderer: SmartRenderer,
    maxFullTasks: 10
});

list.run();

Options

These options should be provided in the Listr 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

Develop

This is a mono repository, managed with lerna.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Run

  • yarn dev

Test

  • yarn lint run just eslint
  • yarn test run lint and tests

Copyright & License

Copyright (c) 2013-2021 Ghost Foundation, Sam Verschueren - Released under the MIT license.