dconfdeprecated

Configuration loader and monitor.

Usage no npm install needed!

<script type="module">
  import dconf from 'https://cdn.skypack.dev/dconf';
</script>

README

Configuration file loader and monitor for Node.js

Load and monitor a configuration file.

Installation

npm install dconf

Example

Suppose the following configuration file.

{
    "widget": {
        "debug": "on",
        "image": {
            "alignment": "center",
            "hOffset": 250,
            "name": "sun1",
            "src": "Images/Sun.png",
            "vOffset": 250
        },
        "window": {
            "height": 500,
            "name": "main_window",
            "title": "Sample Konfabulator Widget",
            "width": 500
        }
    }
}

To load it, one would do:

var dconf = require('dconf');

var config = dconf.loadSync('./config.json');

config.on('error', function(err) {
    console.log(err);
});

config.on('update', function() {
    console.log(util.inspect(config));

    console.log(config.get('widget.debug'));
    console.log(config.get('widget.window.title'));
    console.log(config.get('widget.window.height'));
});

API

dconf.load(filename, callback)

  • filename: configuration file path
  • callback: continuation callback

Asynchronously load a configuration file.

The callback will be called with two arguments (err, config). On error, config will be null and err will contain an error object.

Returns a Config instance (see bellow).

dconf.loadSync(filename)

  • filename: configuration file path

Asynchronously load a configuration file.

Returns a Config instance (see bellow).

Class Config

The Config class isn't intended to be instantiated directly by clients. Use dconf.load or dconf.loadSync to obtain a new instance.

config.get(path, default)

  • path: options path, e.g. foo.bar.biz
  • default: value to use if option isn't specified in config file

config.inspect()

Return a string representing the currently loaded configuration.

config.

Event: 'update'

Emitted when the configuration values are updated, i.e. when the configuration file is successfully reloaded.

Event: 'error'

  • err: error object

Emitted when an error occurs while watching/reading/parsing the config file.

License

This code is free to use under the terms of the MIT license.