Welcome to pop-config¶
pop-config
is a core component of POP and a key part of POP’s ability to “app merge” applications.
The word “config” has a lot of different meanings depending on context, so it’s important that we
clarify the capabilities of pop-config
. In the world of POP, think of
“config” as referring to command-line arguments for a program, plus a bunch of other cool
functionality related to command-line arguments. It might be best to pretend pop-config
is
actually named pop-args
. This would be a more accurate name and better convey its functionality.
The reason why the name pop-config
is used may be that pop-config
has a lot of very
useful functionality, and taken as a whole, can often be used to manage the entire configuration
of your application. For example, pop-config
allows you to:
- Define command-line arguments for your application.
- Optionally set these command-line arguments via environment variables.
- Optionally source these command-line arguments from a file.
- Merge in plugins which augment the command-line arguments of your application.
The important thing to keep in mind is that all this functionality is argument-centric, and
yes, many applications will find their configuration needs fully satisfied by pop-config
.
But it’s really pop-args
:) Just keep that in the back of your head. It will help.