Skip to content
Encapsulated commands for managing configuration in flatiron CLI apps
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples
lib
test
.gitignore
LICENSE
README.md
package.json

README.md

flatiron-cli-config

Encapsulated commands for managing configuration in flatiron CLI apps

Example

At its core flatiron-cli-config is a broadway-compatible plugin which can be used by any flatiron application:

  var flatiron = require('flatiron'),
      app = flatiron.app;

  //
  // Configure the Application to be a CLI app with
  // a JSON configuration file `test-config.json`
  //
  app.name = 'app.js';
  app.config.file({ file: 'test-config.json' });
  app.use(flatiron.plugins.cli, {
    usage: 'A simple CLI app using flatiron-cli-config'
  });

  //
  // Expose CLI commands using `flatiron-cli-config`
  //
  app.use(require('flatiron-cli-config'));

  if (!module.parent) {
    //
    // Start the application
    //
    app.start();
  }

If you run the above script:

  $ node app.js config set foo bar
  $ node app.js config get foo

The output will be:

  data: foo bar

And the contents of test-config.json will be:

  { "foo": "bar" }

API Documentation

Commands exposed

  $ node examples/app.js help config
  help:   `app.js config *` commands allow you to edit your
  help:   local app.js configuration file. Valid commands are:
  help:
  help:   app.js config list
  help:   app.js config set    <key> <value>
  help:   app.js config get    <key>
  help:   app.js config delete <key>

Options

  {
    //
    // Name of the store in `app.config` to use for `config list`. [Default: all config]
    //
    store: 'file'

    //
    // Set of properties which cannot be deleted using `config delete <key>`
    //
    restricted: ['foo', 'bar'],

    //
    // Set of functions which will execute before named commands: get, set, list, delete
    //
    before: { list: function () { ... } }
  }

Installation

Installing npm (node package manager)

  curl http://npmjs.org/install.sh | sh

Installing flatiron-cli-config

  [sudo] npm install flatiron-cli-config

Run Tests

Tests are written in vows and give complete coverage of all APIs and storage engines.

  $ npm test

Author: Charlie Robbins

License: MIT

Something went wrong with that request. Please try again.