next-configify is just a small extension to the existing @itgorillaz/configify project with following features which I needed in my own project.
- environment profile (dev, prod, stage, test) based configuration files loading
- register configuration properties as environment variables e.g.
app.my.property --> APP_MY_PROPERTY
orapp.my-property.default --> APP_MY_PROPERTY_DEFAULT
- If duplicate properties are found, lateral ones will be considered
- Environement properties will always take precedence
- if all config type files are provided then precedence would be as follows:
application.yml -> application.yaml -> application.json -> .env -> customprops.[yml|json|.env] --> environemntVariables
whenenvProfile
is setapplication.yml -> application.yaml -> application.json -> .env -> application-<envProfile>.yml -> application-<envProfile>.yaml -> application-<envProfile>.json -> .<envProfile>.env -> customprops.[yml|json|.env] --> environemntVariables
You can add module otions by providing an object as argumento to the forRootAsync()
method:
/**
* then environment name to load environemnt specific file.
*
* e.g. if envProfile: 'prod'; ```applicaition-prod.yml or application-prod.json or .prod.env``` files will be loaded in addition to default files
*/
envProfile?: string
for rest of the Readme please go @it-gorillaz/configify
This code is licensed under the MIT License.
All files located in the node_modules and external directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms in the MIT License.