home-config

0.1.0 • Public • Published

home-config Build status npm package

This Node.js module provides an easy way to read and write configuration files in a user's home directory, where many Linux applications store configuration files.

To install it: npm install home-config

The home directory is process.env.HOME, unless you are on Windows, in which case it is process.env.USERPROFILE.

Configuration files are stored in ini format as parsed by isaacs/ini. key = value lines work, and [section] appears as an object with any properties under it as keys.

Usage

Basic usage is to require the module and call .load() with your desired config filename:

var cfg = require('home-config').load('.myapprc');
 
// or
 
var cfg = require('home-config').load('.myapprc', {
    optionName : 'defaultValue'
});

You can make changes then save your config file (but any user comments or indentation will be removed):

cfg.section = {
    property : 'x'
};
 
cfg.save();
 
// or
 
cfg.save('some-other-filename');

The following top-level config key names are prohibited and will not be saved or loaded:

  • save
  • getAll
  • __filename

Finally, this package is designed to work with config files in the current user's home directory, but all filenames are passed to path.resolve, so if you pass an absolute path to .load() or .save() then it will be used as-is.

Package Sidebar

Install

npm i home-config

Weekly Downloads

876

Version

0.1.0

License

MIT

Last publish

Collaborators

  • nylen