Socket
Book a DemoInstallSign in
Socket

shoutjs

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

shoutjs

Beautiful output for your ShellJS commands

latest
Source
npmnpm
Version
0.0.2
Version published
Maintainers
1
Created
Source

ShoutJS

Make your ShellJS commands explicit and get a beautiful output.

Example

Get this:

With this:

var shout = require('shoutjs');

shout.mkdir('bleach');
shout.to('bleach/ichigo', 'Bankai!');
shout.rm('-rf', 'bleach');

Commands

Supported ShellJS commands are: cp, rm, mv, mkdir, to.

ShoutJS only wraps ShellJS commands which change the filesystem. For usage information, you can go here ShellJS.

There's only to which differs from ShellJS:

var shell = require('shelljs/global'),
    shout = require('shoutjs');

'Bankai!'.to('file');        // ShellJS
shout.to('file', 'Bankai!'); // ShoutJS

Theming

ShoutJS supports theming through Logan. So it's possible to customize ShoutJS output pretty much the way you want.

Here is the default theme:

// Default theme
shout.logan.set({
  cp    : ['  copy   % to %', 'cyan . cyan .'],
  rm    : ['  remove %     ', 'red          '],
  mv    : ['  move   % to %', 'cyan . cyan .'],
  mkdir : ['  create %     ', 'cyan         '],
  to    : ['  create %     ', 'cyan         '],
  exec  : ['  exec   %     ', 'blue .       ']
});

To override it:

//  A bit more old fashioned theme...
shout.logan.set({
  cp    : ['cp % %', 'grey'],
  rm    : ['rm %  ', 'grey'],
  // ...
});

Adding new messages

In many cases, you may want to log more than ShellJS commands for your users.
The recommanded way is to use Logan.

Here's an example:

var shout = require('shoutjs'),
    logan = require('logan');

logan.set({
  info: ['  info %', 'yellow']
});

logan.info('starting script...');
shout.rm('file.txt');
logan.info('done');

Configuration

You can disable ShoutJS output using logan.silent option.

shout.logan.silent = true;
shout.to('ichigo.txt', 'Bankai!'); // No output

Issues

Have a bug or missing a new command introduced in ShellJS? Please create an issue here on GitHub!

Themes

If you've created a theme for ShellJS feel free to drop me a message @typicode.

Keywords

shelljs

FAQs

Package last updated on 18 Nov 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts