Graphile Config
PRERELEASE: this is pre-release software; use at your own risk. This will likely change a lot before it is ultimately released.
Graphile Config helps Node.js library authors make their libraries configurable and extensible. Graphile Config is used across the Graphile suite to provide a standard configuration and plugin interface.
Features
- Define and document strongly typed configuration options for your library.
- Allow users to extend the functionality of your library via plugins.
- Plugins can add their own additional configuration options.
- Bundle configuration options and plugins into default presets for your users.
- You and your users can compose presets with preset extension.
- Allow your users to share configuration across multiple modes (e.g. CLI and library).
- Powerful middleware system to make your library extensible.
- Users don't need to put plugins in a particular order, thanks to the ordering system.
- View the available options and resolved values of a preset with the
graphile
CLI (available to sponsors).
Different Users
As a user of Graphile Config, you may not need to understand everything. There are three common levels of usage, in order of the amount of knowledge required:
- Library consumers ⚙️
- Plugin authors 🔌
- Library authors 📚
Each section in the Graphile Config docs will indicate the intended audience. Feel free to learn only what you need, or learn it all!