Skip to content

nuttyjs/nutty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nutty

nutty

npm npm npm

A small and minimal CLI framework

Install

Install the package using NPM:

npm install nutty

Example

//Import nutty
var nutty = require('nutty');

//Set the CLI name
nutty.set('name', 'hello');

//Set the CLI description
nutty.set('description', 'Say hello');

//Set the CLI version
nutty.set('version', '1.0.0');

//Use a middleware
nutty.use(function(args, next)
{
  //Get the name
  var name = args.arguments[0];

  //Get the hello word
  var hello = (args.options.idiom === 'spanish') ? 'Hola' : 'Hello';

  //Display in console
  console.log('>>>>>>> ' + hello + ' ' + name + '!');
});

//Run the CLI
nutty.run();

Simple usage:

$ hello John
>>>>>>> Hello John!

Use it with options:

$ hello Susan --idiom spanish
>>>>>>> Hola Susan!

API

nutty.set(key, value)

Assigns the value of the setting variable called key to value.

nutty.set('name', 'my-app'); //Initialize the 'name' variable to 'my-app'
nutty.get('name'); //--> Return: ' my-app'
key description type default
name The CLI name string ''
description The CLI description string ''
version The CLI version string ''

nutty.get(key)

Returns the value of the setting variable called key.

nutty.use(fn)

Add a new middleware to the CLI. Nutty is based on middlewares, that are functions that have access to the arguments object and the next function.

Example:

nutty.use(function(args, next)
{
  // Do your magic
  // ....

  //Next middleware
  return next();
});

args

Args is an object with all the arguments of the CLI. It has the following keys:

  • args.options: an object with all the options with the format key = value.
  • args.arguments: a list with all the arguments that didn't have an option associated with them.

Example:

myapp argument1 argument2 --option1 argument3 --option2 --option3 3.123

Then the args object will has the following structure:

{
  "arguments": [ "argument1", "argument2" ],
  "options":
  {
    "option1": "argument3",
    "option2": true,
    "option3": "3.123"
  }
}

next

The next argument is a function that will call the next middleware on the list when is invoked.

nutty.run()

Run the CLI.

Related

License

MIT LICENSE.