JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 427
  • Score
    100M100P100Q91827F
  • License MIT

basic argument parser with built in help screen

Package Exports

  • basic-args
  • basic-args/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (basic-args) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

basic-args

NPM version Build Status Discord Try it on gitpod

Basic argument parsing library using yargs-parser with built-in help screen

Installation

npm install basic-args

Usage

CommonJS import

const args = require('basic-args')({
  name: 'basic-args-example',
  version: '1.0.0',
  description: 'A basic example of basic-args',
  errorOnUnknown: true,
  options: {
    version: { type: String, description: 'Version to connect as', alias: 'v' },
    port: { type: Number, description: 'Port to listen on', default: 25565 },
    online: { type: Boolean, description: 'Whether to run in online mode' },
    path: { type: String, description: 'Path to the server directory', default: '.' }
  }
})

console.log(args)

After being ran with node index.js --version 1.16 we would get:

{ version: '1.16.1', port: 25565, online: false, path: '.' }

Help screen

If we run with --help or get a argument error, we see the help screen:

> node example.js --help   
basic-args-example - v1.0.0
A basic example of basic-args

Options:
  --version     Version to connect as
  --port        Port to listen on  (default: 25565)
  --online      Whether to run in online mode
  --path        Path to the server directory  (default: .)

Custom args

The second argument is the custom arg array if any, if it's not set, we default to process.argv.

require('basic-args')(options, process.argv)

ES6 import

import basicArg from 'basic-args'
const args = basicArg({
  name: 'basic-args-example',
  version: '1.0.0',
  description: 'A basic example of basic-args',
  throwOnError: false, // Throw an error instead of calling process.exit() with help screen (default: false)
  helpCommand: 'help', // The -- command for opening the built-in help screen (default: help)
  options: {
    version: { type: String, description: 'Version to connect as', alias: 'v' },
    port: { type: Number, description: 'Port to listen on', default: 25565 },
    online: { type: Boolean, description: 'Whether to run in online mode' },
    path: { type: String, description: 'Path to the server directory', default: '.' }
  }
})
// ...

Testing

npm test

History

See history