simple cli for configuration and key/value's + oclif plugin for configuration
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.typings/conf
.vscode
bin
example
src
test
.editorconfig
.gitignore
LICENSE
README.md
package.json
tsconfig.json
tslint.json

README.md

conf-cli

  • simple cli interface for sindresorhus/conf
  • oclif plugin that adds a conf command that lets you manage state/configuration between commands
  • standalone key/value store

oclif Version Downloads/week License

Install

npm install -g conf-cli

conf [KEY] [VALUE]

manage configuration

USAGE
  $ conf [KEY] [VALUE]

ARGUMENTS
  KEY    key of the config
  VALUE  value of the config

OPTIONS
  -d, --cwd=cwd          config file location
  -d, --delete           delete?
  -h, --help             show CLI help
  -k, --key=key          key of the config
  -n, --name=name        config file name
  -p, --project=project  project name
  -v, --value=value      value of the config
  • if [VALUE] is not provided, value of the key is printed
  • if [KEY] and [VALUE] is not provided, all the keys will be printed

See code: src\commands\conf.ts

Usage

as sindresorhus/conf cli interface

use sindresorhus/conf in your app

// simple-example/index.js
const Conf = require('conf');
const config = new Conf();
console.log(`hello ${config.get('name')}!`);

use conf-cli to update name property from outside the app. --project/-p flag sets the target project (package name).

$ conf name world -p simple-example

see it affect simple-example

$ node simple-example/index.js
hello world!

as an oclif plugin

create a new oclif project

$ oclif multi oclif-example

install conf-cli

$ npm install --save conf-cli

add to oclif plugins in package.json

 "oclif": {
    "plugins": [
      "conf-cli"
    ]
  },
$ oclif-example
VERSION
  oclif-example/0.0.0 win32-x64 node-v8.9.1

USAGE
  $ oclif-example [COMMAND]

COMMANDS
  conf   manage configuration <=========== yahoo! ;)
  hello  Describe the command here
  help   display help for oclif-example

When used as a plugin, -p will default to the parent cli package name.

$ oclif-example conf name daenarys
$ oclif-example hello
hello daenarys!
$ conf -p oclif-example name
daenarys
//src/commands/hello.js
class HelloCommand extends Command {
  async run() {
    this.log(`hello ${config.get('name')}!`);
  }
}

as a standalone key/value store

$ conf hello jonsnow
$ conf hi varys
$ conf hello
jonsnow
$ conf hi
varys
$ conf
hello
hi

Examples

here