2020-06-15 11:56:33 +02:00
2020-06-09 13:13:27 +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
2020-06-09 21:23:26 +02:00
2020-05-15 16:53:45 +02:00
2020-06-09 21:33:48 +02:00
2020-05-05 13:32:40 +02:00
2020-05-27 17:39:32 +02:00
2020-06-12 14:34:53 +02:00
2020-05-18 10:24:41 +02:00
2020-05-27 17:39:32 +02:00
2020-06-11 20:29:33 +02:00

@sapphirecode/console-app

version: 2.0.x

read parameters from env, config files, console args or interactively

Installation

npm:

npm i --save @sapphirecode/console-app

yarn:

yarn add @sapphirecode/console-app

Usage

const {
  ArrayOption, // arrays made out of numbers, strings and booleans
  BooleanOption,
  FileOption, // paths that exist and are a file
  FolderOption, // paths that exist and are a folder
  NumberOption,
  PathOption, // paths that exist in the file system
  StringOption,
} = require('@sapphirecode/console-app');

const input = await new BooleanOption({
  name: 'foo', // option name used in configs and console arguments
  
  // optional settings:
  default: false, // default value
  sources: {
    configs: [], // config files to read from. none by default
    interactive: true, // use interactive prompts
    console: true // read from console arguments
    // environment is always on if the 'env' option below is specified
  },
  alias: 'f', // shorthand console argument name
  env: 'foo_env', // name of the environment variable to read from
  message: 'input foo', // message to display in interactive prompt
  error: 'failed to read foo', // message to display when input was invalid
  error_callback: (opt, val, err)=>{...}, // function to call when an option value could not be read
  exit_on_interrupt: true,  // exit program when user cancels the interactive prompt
}).parse();

config files can import other config files with #include. example:

#include base.json
{
  "foo": "bar"
}

config files are parsed using hjson

License

MIT © Timo Hocker timo@scode.ovh

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