configuro

0.2.1 • Public • Published

Configuro

Built at Fullstack npm version

Configuro is a command line tool that allows you to easily create and update configuration files, and maintain seperate configurations for production and development environments. This is geared towards node.js based projects.

It generates a config.example.js file from your config and updates it whenever you run configuro update. It also does the reverse whenever you pull down a more updated config example file. Values added to the config example file include only the property name, not the key, that way your API keys and other sensitive info will not be uploaded to a public repository accidentally.

Install

npm install -g configuro

Usage

To create a new config.js and corresponding config.example.js,

configuro new

Note: the config.example.js file comes with default values which will be removed after the first time configuro update is run.

To synchronize and update changes between your config.example.js and config.js,

configuro update

To use the config file in your app, simply add,

var config = require('./config.js');

Be sure to replace the './config.js' with whatever the relative path to the file is.

Structure

These are the default values configuro comes with, feel free to change them. The development and production objects refer to the environment as defined by your NODE_ENV environment variable. You can add other objects (for example if you have a test environment), if you have specific keys for that environment.

config = {
  development: {
    database: {
      name: 'default-dev',
      hostName: 'localhost',
      port: '27017'
    },
    server: {
      port: '3000'
    }
  },
  production: {
    database: {
      name: 'default-production',
      hostName: 'localhost',
      port: '27017'
    },
    server: {
      port: '3000'
    }
  }
}

Inspired in part by the ruby gem dotenv for rails

Author:

Colin Meret

Dependents (0)

Package Sidebar

Install

npm i configuro

Weekly Downloads

0

Version

0.2.1

License

ISC

Last publish

Collaborators

  • colin92