Noosphere Possibilities Maximized

    @boost/args
    TypeScript icon, indicating that this package has built-in type declarations

    3.0.0 • Public • Published

    Args - Boost

    Build Status npm version npm deps

    A convention based argument parsing and formatting library, with strict validation checks. It is not a command line interface.

    import { parse } from '@boost/args';
    
    interface Options {
    	help: boolean;
    	logLevel: 'info' | 'error' | 'warn';
    	version: boolean;
    }
    
    const { command, errors, options, params, rest } = parse<Options>(process.argv.slice(2), {
    	commands: ['build', 'install', 'update'],
    	options: {
    		help: {
    			default: false,
    			description: 'Show a help menu',
    			type: 'boolean',
    			short: 'H',
    		},
    		logLevel: {
    			choices: ['info', 'error', 'warn'],
    			default: 'info',
    			description: 'Customize logging level',
    		},
    		version: {
    			default: false,
    			description: 'Show the version number',
    			type: 'boolean',
    			short: 'V',
    		},
    	},
    });

    Features

    • Commands and sub-commands: cmd, cmd:sub
    • Options (long and short) that set a value(s): --foo value, --foo=value, -f value, -f=value
      • Camel (preferred) or kebab cased option names.
    • Flags (boolean options) that take no value: --bar, -B
      • With implicit negation support: --no-bar
    • Parameters that act as standalone values: foo bar baz
      • Can be marked as required.
    • Rest arguments that are passed to subsequent scripts (aggregated after --): foo -- bar
    • Supports string, number, boolean, and list based values, with the addition of:
      • Single value based on a list of possible choices.
      • Multiple values with optional arity count requirements.
    • Group multiple short options under a single argument: -fBp
      • Increment a counter each time a short option is found in a group.
    • Strict parser and validation checks, allowing for informative interfaces.
      • Custom option and param validation for increased accuracy.

    Installation

    yarn add @boost/args
    

    Documentation

    Install

    npm i @boost/args

    DownloadsWeekly Downloads

    3,312

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    116 kB

    Total Files

    99

    Last publish

    Collaborators

    • milesj