pkg-config

parse the closest `package.json` and get package specific configurations

Usage no npm install needed!

<script type="module">
  import pkgConfig from 'https://cdn.skypack.dev/pkg-config';
</script>

README

pkg-config version License

parse the closest package.json and get package specific configurations

Useful for package developers to store package-related configuration in dependent's package.json.

defaults to config as root, which allows you to still leverage npm's standard config

Build Status Downloads Code Climate Coverage Status Dependencies

Install

npm install --save pkg-config

Usage

sample package.json
{
  ...

  "config": {
    "my-pkg": {
      "foo": "bar"
    }
  },

  "settings": {
    "some-pkg": {
      "foo": "bar"
    }
  }

  ...
}
// defaults to `package.config`
var config = require('pkg-config')()

// returns `package.config[my-pkg]`
var config = require('pkg-config')('my-pkg')

// returns fallback value
var config = require('pkg-config')('another-pkg', false, {
  foo: 'baz'
})

// returns `package.settings[some-pkg]`
var config = require('pkg-config')('some-pkg', {
  root: 'settings'
})

// returns `package.settings`
var config = require('pkg-config')('settings', {
  root: false
})

API

config(namespace[, options, fallback])

Arguments

name description default
namespace property name in package.json, typically this will be your package name undefined
option see options
fallback fallback value undefined

Options

name description default
root package.json object root config
cwd starting directory to look for package.json process.cwd
cache cache package.json's content true

Support

Donations are welcome to help support the continuous development of this project.

Gratipay PayPal Flattr Bitcoin

License

MIT © Ahmad Nassri