Socket
Book a DemoInstallSign in
Socket

brutus

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

brutus

A tool for creating a cli which uses cli options and package.json options and merge them into default options

latest
Source
npmnpm
Version
2.0.0
Version published
Maintainers
1
Created
Source

brutus v2.0.0 Build Status codecov.io

A tool for creating a cli which uses cli options and package.json options and merge them into default options

Install

npm install --save brutus

Usage

var brutus = require('brutus')({

    name: 'mycommand',
    options: {
        foo: "abc",
        bar: {},
        baz: [100, 200]
    },
    delegate: {

        mergeCliOptionsToPackageOptions: function (cliOptions, pkgOptions) {
            // merge options
        },

        mergePackageOptionsToCommandOptions: function (pkgOptions, cmdOptions) {
            // merge options
        },

        execute: function (cliOptions, cmdOptions) {
            // main process
        }

    }

})

// execute as a cli command (using cli options)
brutus.execAsCli()

Options

name: String

The name of the command. This is used as the key of the user's package options.

{
    "name": "users-package",

    "snowball": {
        "foo": "bar"
    }
}

If your command name is snowball, then the user's package options are {"foo": "bar"} in the above example.

options: Object

The default options for the command.

delegate: CommandDelegate Interface

Brutus delegates the merging methods and command execution through delegate object.

mergeCliOptionsToPkgOptions(cliOptions, pkgOptions)

paramtype
cliOptionsObject
pkgOptionsObject

Merges the user's cli options to the user's package options.

cliOptions is the parsed argv using minimist (i.e. require('minimist')(process.argv.slice(2)) )

mergePkgOptionsToCommandOptions(pkgOptions, cmdOptions)

paramtype
pkgOptionsObject
cmdOptionsObject

Merges the user's package options to the command default options.

pkgOptions are the part of the user's package.json of the key of your command name.

For example, your cmdName is snowball and the user's package.json is like the below:

{
    "name": "my-package",
    "snowball": {
        "foo": "bar"
    }
}

Then the pkgOptions are {foo: "bar"}. This is useful when you make your command's behaviour configurable by the user's package.json.

execute(cliOptions, cmdOptions)

paramtype
cliOptionsObject
cmdOptionsObject

Executes the command with cli and command options. The return value of execute becomes the exit code of the cli.

cmdOptions include information merged from the user's cli options and the user's package options using the above 2 methods.

Keywords

cli

FAQs

Package last updated on 24 Nov 2015

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