@develop-x/adonisjs-config-loader
v0.0.5
Published
`@develop-x/adonisjs-config-loader` is a plugin designed to load and manage configurations in AdonisJS applications. Below is the complete guide for installation and usage.
Keywords
Readme
AdonisJS Config Loader Plugin Guide
@develop-x/adonisjs-config-loader is a plugin designed to load and manage configurations in AdonisJS applications. Below is the complete guide for installation and usage.
Plugin Installation
Prerequisite Dependency
Before installing this plugin, ensure that @develop-x/adonisjs-consul is installed and properly configured. This plugin depends on @develop-x/adonisjs-consul.
Install the Config Loader Plugin
Run the following command to install the plugin:
node ace add @develop-x/adonisjs-config-loaderThis command adds the plugin to your project and registers it in the AdonisJS Providers list.
Environment Variables
The plugin adds the following three environment variables that you need to configure in your .env file:
SERVICE_NAME: The name of the current service to identify it.CONFIG_SERVICE_NAME: The name of the configuration service (discovered via Consul).CONFIG_REFRESH_INTERVAL: The configuration refresh interval in milliseconds. Default is60000(60 seconds).
Example configuration:
SERVICE_NAME=auth-service
CONFIG_SERVICE_NAME=config-service
CONFIG_REFRESH_INTERVAL=30000Usage
1. Load Configuration in the Application
The plugin automatically loads configurations into memory when the application initializes. Once loaded, you can access the configurations using the static methods provided by ConfigLoaderService.
Import the Config Loader
import ConfigLoaderService from "@develop-x/adonisjs-config-loader";Get Configuration Values
Use the ConfigLoaderService.get method to retrieve configuration values:
const jwtSecret = ConfigLoaderService.get('jwt_secret', 'default-secret');
console.log('JWT Secret:', jwtSecret);- Parameters:
key: The key of the configuration item.defaultValue: An optional default value to return if the key is not found.
Features
- Automatic Configuration Loading:
- The plugin automatically discovers the configuration service via Consul and loads the configurations into memory when the application starts.
- Configurations are refreshed at the specified interval (set by
CONFIG_REFRESH_INTERVAL).
- In-Memory Caching:
- All loaded configurations are cached in memory for quick access.
- Reduces frequent requests to the configuration service, improving performance.
- Dynamic Refresh:
- Configurations are dynamically refreshed based on the specified interval, ensuring the latest configurations are loaded without restarting the application.
