console-app/README.md
2020-05-18 12:38:28 +02:00

70 lines
1.7 KiB
Markdown

# @sapphirecode/console-app
version: 1.2.x
read parameters from env, console args or interactively
## Installation
npm:
> npm i --save @sapphirecode/console-app
yarn:
> yarn add @sapphirecode/console-app
## Usage
```js
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)
},
]);
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
```js
const reader = new InteractiveOptions([], {
args: true,
env: true,
interactive: true,
});
```
## License
MIT © Timo Hocker <timo@scode.ovh>