3fa23c16975e92338d8749734735a0ffdc8bbd8b
				
			
			
		
	@sapphirecode/console-app
version: 1.8.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)
    preset: [], // preset choices for string and path types (optional)
    error: 'wrong input' // message to display when the user gives invalid input
  },
]);
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, except config files by default
config files can import other config files with #include. example:
#include base.json
{
  "foo": "bar"
}
config files are parsed using hjson
the option exit_on_interrupt determines whether an error should be thrown or the process should exit when the user presses control + c in an interactive prompt.
const reader = new InteractiveOptions([], {
  args: true,
  env: true,
  interactive: true,
  configs: ['json files to search for options'],
  exit_on_interrupt: true,  // exit when user cancels prompt
  error_callback: (opt, val, err)=>{...} // function to call when an option value could not be read
});
License
MIT © Timo Hocker timo@scode.ovh
Description
				
					Languages
				
				
								
								
									TypeScript
								
								96.5%
							
						
							
								
								
									JavaScript
								
								3.5%