Socket
Socket
Sign inDemoInstall

load-config-file

Package Overview
Dependencies
6
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    load-config-file

Load the config file as a plain object. The config file format can be registered.


Version published
Weekly downloads
970
decreased by-19.17%
Maintainers
1
Install size
406 kB
Created
Weekly downloads
 

Readme

Source

load-config-file npm

Build Status Code Climate Test Coverage downloads license

Load the config file as a plain object.

  • The config file format can be registered.
  • The registered file format order is the search order.
  • the virtual file system can be specfied: loadConfig.setFileSystem(fs)
    • fs.path = require('path.js/lib/path').path for the virtual POSIX path.
      • you must set the path first before call setFileSystem.

Usage

var loadConfig = require('load-config-file');
var yaml  = require('js-yaml');
var cson  = require('cson');

loadConfig.register(['.yaml', '.yml'], yaml.safeLoad); //first search.
loadConfig.register('.cson', cson.parseCSONString.bind(cson)); //second search
loadConfig.register('.json', JSON.parse); //third search.

//Synchronously load config from file.
//it will search config.yaml, config.yml, config.cson, config.json in the current folder.
//the first exist file will be loaded.
//the default encoding is "utf8" if no encoding.
//loadConfig('config', {encoding: 'ascii'})
//the non-enumerable "$cfgPath" property added.
console.log(loadConfig('config'));

//Asynchronously load config from file
loadConfig('config', function(err, result){
  if (err) {
    console.log('error:', err);
  } else {
    console.log(result);
  }
})

API

var config = require('load-config-file');
  • config.register(extensionNames, parserFunc): register the configuration file format to load. return the configurators if successful.
    • extensionNames (Sting|ArrayOf String): the configuration file extension name(s) with dot.
    • parserFunc Function(context): the configuration context parser function:
      • parse the configuration context and return the plain object.
  • config.setFileSystem(fs): set your favour file system. defaults to 'fs'.
    • the "file system" must implement readFile(path[, options], done) and readFileSync(path[, options])
  • load(path, options, done): Asynchronously load config from file
    • options
      • raiseError (Boolean): raise error if nothing loaded defaults to false.
      • exclude (String|ArrayOf String): excludes some files.
      • encoding (String): the file encoding name. defaults to 'utf8'.
    • return the plain object and the $cfgPath property added if successful.
  • loadSync(path, options): Synchronously load config from file
    • return the plain object and the $cfgPath property added if successful.

Changes

v0.2

  • raiseError option to load function asynchronously.

  • add the $cfgPath(String) non-enumerable property to the result.

  • add object usage supports:

    var cfgObj = new Config(aPath, aOptions) //create a configuration object.
    result = cfgObj.loadSync()
    

TODO

  • ! how to use the specified promise library via any-promise?
    • currently use the bluebird by default.

License

MIT

Keywords

FAQs

Last updated on 30 Sep 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc