configuration
Automatic YAML configuration loader for Angel.
About
Any web app needs different configuration for development and production. This plugin will searchfor a config/default.yaml
file. If it is found, configuration from it is loaded into app.configuration
.Then, it will look for a config/$ANGEL_ENV
file. (i.e. config/development.yaml). If this found, all of itsconfiguration be loaded, and will override anything loaded from the default.yaml
file. This allows for yourapp to work under different conditions without you re-coding anything. :)
Installation
In pubspec.yaml
:
- dependencies:
- angel_configuration: ^2.0.0
Usage
Example Configuration
- # Define normal YAML objects
- some_key: foo
- this_is_a_map:
- a_string: "string"
- another_string: "string"
You can also load configuration from the environment:
- # Loaded from the environment
- system_path: $PATH
If a .env
file is present in your configuration directory, then it will be loaded beforeapplying YAML configuration.
Server-sideCall configuration()
. The loaded configuration will be available in your application'sconfiguration
map.
configuration
also accepts a sourceDirectory
or overrideEnvironmentName
parameter.The former will allow you to search in a directory other than config
, and the latter lets youoverride $ANGEL_ENV
by specifying a specific configuration name to look for (i.e. production
).
This package usespackage:merge_map
internally, so existing configurations can be deeply merged.
Example:
- # default.yaml
- foo:
- bar: baz
- quux: hello
- # production.yaml
- foo:
- quux: goodbye
- yellow: submarine
- # Propagates to:
- foo:
- bar: baz
- quux: goodbye
- yellow: submarine