Skip to content

A commandline tool to manage application configuration files by generating a config example file automatically from your existing config file

Notifications You must be signed in to change notification settings

colin92/configuro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A commandline tool to manage application configuration files by generating a config example file automatically from your existing config file

Resources

Stars

Watchers

Forks

Packages

No packages published