Skip to content
A methodical comparison of Node.js config packages
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.history init May 27, 2018
config Added benchmark suite for all packages to root directory Jun 18, 2018
packages Added benchmark suite for all packages to root directory Jun 18, 2018
.gitignore init May 27, 2018
LICENSE init May 27, 2018
README.md Update README.md Jun 3, 2018
package-lock.json Added benchmark suite for all packages to root directory Jun 18, 2018
package.json Added benchmark suite for all packages to root directory Jun 18, 2018
perf-benchmark.js

README.md

Node Config Battle

A scientific comparison of Node.js config packages ::

Compared packages

Selected requirements

All tests/comparisons should include the following steps we selected as requirements to represent a reasonable workflow.

  1. Define a hierarchical configuration file
  2. Override one value with an environment variable
  3. Override another key with provided command arguments
  4. Override a few keys with additional file contents (for example local development environment definitions)
  5. One key should be a password and its value should not be set within the JSON, but rather through an environment variable, if a supplied key is missing or has an incorrect value, fail fast with exception
  6. Fail fast if one mandatoiry config key wasn't provided
  7. Cast keys to specific pre-defined types
  8. Define default values for keys
You can’t perform that action at this time.