JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 55
  • Score
    100M100P100Q64090F
  • License Apache-2.0

Merge and validate your config depending of your schema, forked from node-convict.

Package Exports

  • blueconfig

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (blueconfig) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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/