archdevconfig
v1.6.5
Published
Architecode File-based Configuration Library using hostname
Downloads
64
Readme
ARCHDEVCONFIG
This is the dynamics, file-based application configuration library. The configuration file is selected by the server name.
const AppConfig = require('archdevconfig');
const appConfig = AppConfig.getInstance();
// appConfig = {
// "name": "The name of configuration",
// "pkgpath": "The path of the 'package.json' file, ex. /sample_application",
// "pkgjson": "The 'package.json' file, ex. /sample_application/package.json",
// "hostname": "The server name",
// "configPath": "The path of configuration files, ex. /sample_application/configs",
// "logPath": "The path of log files, ex. /sample_application/logs"
// };
Installation
$ npm install archdevconfig --save
Features
- Stores a default configuration as the singleton
- Loads a configuration file by hostname or setup
Usage
const AppConfig = require('archdevconfig');
1. Getting a default configuration:
const defaultConfig = AppConfig.getInstance();
The AppConfig.getInstance() returns the 'default configuration'.
2. Providing the Setup for creating the default configuration on the first call:
const defaultConfig = AppConfig.getInstance(setup);
After the default configuration created on the first call, the provided Setup will be ignored when calling the function.
SETUP:
const setup = { name: "production" };
const defaultConfig = AppConfig.getInstance(setup);
// it loads the configuration file on 'config/path/production.config.json'.
- Name - setup the name of specified configuration file (*.config.json). If none is provided, it will use '[hostname].config.json' or 'default.config.json' as default.
const setup = { path: "./sample/configs/path" };
const defaultConfig = AppConfig.getInstance(setup);
- Path - setup where the path of configuration files are. If none is provided, it will use 'application_location/configs' as default.
const setup = { log: "./sample/logs/path" };
const defaultConfig = AppConfig.getInstance(setup);
- Log - setup where the path of log files are. If none is provided, it will use 'application_location/logs' as default.
// Put them all together..
const setup = { name: "production", path: "./lib/configs", log: "./lib/logs" };
const defaultConfig = AppConfig.getInstance(setup);
3. Setting the default configuration:
const defaultConfig = AppConfig.setInstance(newConfig);
It will set a new configuration to the default one.
4. Resetting the default configuration:
// defaultConfig becomes 'undefined'
const defaultConfig = AppConfig.setInstance();
It will reset the default configuration when 'undefined' is provided.
5. Loading the configuration by Setup:
const config = AppConfig.load(setup);
This loads a configuration using Setup. It will NOT change the 'default configuration'.