0.0.7 • Published 10 years ago

live-config v0.0.7

Weekly downloads
28
License
-
Repository
-
Last release
10 years ago

Convention-based configuration

NPM Version Linux Build Test Coverage

TODO

  • Remove dependency on globals: CLIENT and DEVELOPMENT.
  • Move live-browser-config-requires-generated dependency to tmp.

Install

npm i -S live-config

Usage

Project structure

config
  default.js
  development.js
  production.js
modules
  foo
    index.js
    config
      default.js
      development.js
      production.js
  bar
    index.js
    config
      default.js
      development.js
      production.js
index.js
// config/default.js
module.exports = { 
  { foo: {key: '456'} } 
}
// modules/foo/config/default.js
module.exports = { 
  { {key: '123'} } 
}
import {config} from 'live-config'

config.get('foo.key') // 456

Scoped config.

import makeConfig from 'live-config'

const config = makeConfig('foo') 

config.get('key') // 456

Design

  • Root config overrides all other config.
  • Convention-based. Searches for a top-level config directory inside each module.
  • Modules set default configuration by environment.
  • A module's config is scoped to the module name from package.json.

Goals

  • Predictable. Conventions for location of config directories and module-name scoping makes it easy to trace resolved configuration.
  • Isomorphic. Works for Node.js and the browser.

License

MIT

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago