2020-05-18 11:03:49 +02:00
fix
2020-05-18 11:03:49 +02:00
2020-05-15 16:53:45 +02:00
2020-05-05 11:56:36 +02:00
2020-05-15 16:53:45 +02:00
2020-05-05 11:56:36 +02:00
2020-05-05 13:32:40 +02:00
fix
2020-05-18 11:03:49 +02:00
2020-05-15 16:53:45 +02:00
2020-05-09 21:31:50 +02:00
2020-05-05 13:32:40 +02:00
2020-05-18 10:28:50 +02:00
2020-05-15 16:53:45 +02:00
2020-05-18 10:24:41 +02:00
fix
2020-05-06 07:32:51 +02:00
2020-05-17 19:44:30 +02:00

@sapphirecode/console-app

version: 1.1.x

read parameters from env, console args or interactively

Installation

npm:

npm i --save @sapphirecode/console-app

yarn:

yarn add @sapphirecode/console-app

Usage

const {InteractiveOptions} = require('@sapphirecode/console-app');

const reader = new InteractiveOptions([
  {
    name: 'foo', // name of the option
    type: 'boolean', // data type
    required: true, // require option to be specified (optional)
    default: false, // default value (optional)
    alias: 'f', // shorthand alias in the console (optional)
    env: 'fooenv', // environment variable to read from (optional)
    description: 'the switch foo', // description in the help page (optional)
    message: 'should foo be true?', // message when asking interactively (optional)
  },
]);

const result = await reader.parse();
console.log(result.foo);

available data types:

  • string
  • number
  • boolean
  • path: expects a path that exists
  • file: expects a path that exists and is a file
  • folder: expects a path that exists and is a folder
  • array: arrays made out of strings, numbers and booleans

the console reader automatically adds the options --help (-h) and --quiet (-q)

  • help: shows the yargs help screen
  • quiet: prevents interactive queries and throws an error when not all required parameters are specified

the reader can also be constructed with additional options that specify which sources should be used. It reads from all by default

const reader = new InteractiveOptions([], {
  args: true,
  env: true,
  interactive: true,
});

License

MIT © Timo Hocker timo@scode.ovh

Description
No description provided
Readme 409 KiB
Languages
TypeScript 96.5%
JavaScript 3.5%