archdevconfig

    1.6.5 • Public • Published

    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'.

    Keywords

    none

    Install

    npm i archdevconfig

    DownloadsWeekly Downloads

    2

    Version

    1.6.5

    License

    ISC

    Last publish

    Collaborators

    • panit