You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

load-config-file

Package Overview
Dependencies
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

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.

2.1.0
latest
Source
npmnpm
Version published
Weekly downloads
1K
-14.61%
Maintainers
1
Weekly downloads
 
Created
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

import { Config as loadConfig } from 'load-config-file'
import { parse as parseYaml } from 'yaml'
import * as cson from 'cson';

loadConfig.register(['.yaml', '.yml'], parseYaml); //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'));

const result = await 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

load

FAQs

Package last updated on 02 Aug 2025

Did you know?

Socket

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

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.