@tryghost/listr-smart-renderer

0.5.13 • Public • Published

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

yarn 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

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-2023 Ghost Foundation, Sam Verschueren - Released under the MIT license.

Package Sidebar

Install

npm i @tryghost/listr-smart-renderer

Weekly Downloads

72

Version

0.5.13

License

MIT

Unpacked Size

11.5 kB

Total Files

7

Last publish

Collaborators

  • ryan_feigenbaum
  • erik-ghost
  • dvdwinden
  • vershwal
  • 9larsons
  • mike182uk
  • sagzy
  • chrisraible
  • jonhickman
  • kernalghost
  • hadret
  • minimaluminium
  • ronaldlangeveld
  • joeegrigg
  • sanne-san
  • djordjevlais
  • bobvaneck
  • zimoatghost
  • allouis
  • gargol
  • erisds
  • johnonolan
  • kevinansfield
  • cobbspur
  • aileencgn
  • jloh
  • daniellockyer
  • sam-lord
  • pauladamdavis