Confabulous is a pluggable, hierarchical, asynchronous configuration loader and post-processor for Node.js. Version 2.1.2 is the current stable release. It supports loading config from command line arguments, environment variables, JSON/JavaScript files, HTTP endpoints, Vault, etcd, and PostgreSQL. Config sources can be watched for changes, and post-processors can transform loaded data (e.g., decrypt secrets or unflatten objects). It merges configs recursively using a customizable merge strategy. Compared to alternatives like node-config or dotenv, Confabulous emphasizes async loading, hierarchical merging, and extensive source support.
npm install confabulousNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows how to create a Confabulous instance, add loaders for args, env, and JSON files, apply a post-processor to unflatten keys, and handle the final configuration.
Replace loaders.http({...}) with loaders.https({...}).Update to Node.js >= 10 and adjust any code relying on removed callback parameters.
Access the key as config.myOption, not config['my-option'].
Set mandatory: false for optional sources to avoid blocking startup.
Remove any watch: true option from require loader config; it is now the default.
Run 'npm install confabulous' in your project directory.
Ensure you use 'new Confabulous()' and that your variable references the instance.
Double-check the path passed to loaders.require() or set mandatory: false if the file is optional.
Use 'const { loaders } = require('confabulous');' or 'const loaders = require('confabulous').loaders;'.Replace loaders.http() with loaders.https() and update options accordingly.