linespin

Simple progress output

Usage no npm install needed!

<script type="module">
  import linespin from 'https://cdn.skypack.dev/linespin';
</script>

README

linespin

Simple progress output

Extracted from music.json

Why?

It's nice to know that your program is running and not dead with a simple spinner animation

Usage

  $ npm install linespin
  // linespin_example.js

  var Linespin = require('./linespin');

  // Create new instance of linespin
  var linespin = new Linespin('Spinning...', 'All done!', 100);

  // Start spinner at beginning of task
  linespin.start();


  // Some long running task...
  linespin.error('Error!');

  // Continuing process...
  linespin.warn('Warning!');

  // Say something...
  linespin.msg('Hello world!');

  // Results down the line...
  var results = 42;

  // Stop at the end of task and overwrite message with results
  linespin.stop('The answer is ' + results);
  $ node linespin_example.js
    [/] Spinning...

  # During process...

  $ node linespin_example.js
    [!] Error!          # Red
    [!] Warning!        # Yellow
    [•] Hello world!    # White
    [-] Spinning...     # Yellow/Blue

  # On finish

  $ node linespin_example.js
    [!] Error!            # Red
    [!] Warning!          # Yellow
    [•] Hello world!      # White
    [✓] The answer is 42  # Green/Blue

Notes

  • Assumes your progress does not print to console/stdout as the spinner works by replacing the same line over and over again to produce the animation
  • Add editable color and symbol options
  • Add replace text method to replace current text i.e. Progress done
  • Aggregate message output methods (wet code...)
  • Overwrite console.log or provide similar function i.e. @message
  • Need to add Gruntfile

License

Linespin is released under the MIT License.