Introduction
Configurator is a schema-oriented NodeJS configuration management library that exposes a rich API
for customization and extension.
Developers have control over the entire configuration pipeline, from input to output.
Philosophy
Unlike command-line oriented libraries that focus on expressive argument parsing, Configurator takes a
data-first approach, and focuses on the "correctness" of the configured data that will be consumed by your
application and its subsystems.
The idea is that if the configuration system offers a strong contract for validating inputs against well-defined configurable fields, then the output can be trusted, and treated more like a data model. The final populated configuration should be exactly what was expected, no more, no less.
Architecture
The architecture is straightforward, and was driven by two principles:
- Sources of configuration data should be self-contained and composable.
- Data should pass through an extensible type-checking and validation system.

Requirements
- NodeJS 20.9.0+
- ESM Modules only