Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Blueconfig

NPM version Build Status Coverage Status

Blueconfig is schema validator for your config files on production or development environment. Blueconfig merges configs and validates them depending of a pattern called schema. Configs can be an object or a file (json, yaml...).

Introducing a configuration schema, blueconfig gives project collaborators more context on each setting and enables validation and early failures for when configuration goes wrong.

This is a fork of node-convict 5.x because I had lot of changes todo (more than the workflow of node-convict can process).

Why Blueconfig ?

  1. Merge several config in one ;
  2. Support environmental variables and Command-line arguments ;
  3. Validate your config with your schema ;
  4. Customize your schema and your validation (with custom format, type and type converter) ;
  5. Use your own file format (JSON, JSON5, YAML, TOML, XML...) ; (JSON5 allows comment)
  6. Only 3 dependancies (Blueconfig 7.0 will have only 2 dependancies).

Install: npm install blueconfig

Exemple

Schema

# Schema <blueconfig.js.org>
# database.yml
db:
  name:
    # db.name
    format: 'String'
    default: ''
  password:
    # db.password
    format: 'String'
    sensitive: true
    required: true
    env: PWD
  host:
    # db.host (require https://www.npmjs.com/package/blueconfig-format-with-validator)
    format: 'ipaddress'
    default: '127.0.0.1'
  port:
    # db.port
    format: 'port'
    default: 80
    arg: 'port'

See more on: https://blueconfig.js.org/