# json-config-loader

> An opinionated json config loader

Latest version **1.1.0** (published 2015-07-19) · ISC license · 0 weekly downloads

## Install

```sh
npm install json-config-loader
pnpm add json-config-loader
yarn add json-config-loader
bun add json-config-loader
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2015-07-19 |
| First published | 2015-05-27 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | MusicMap |
| Maintainers | wesleytodd |
| Keywords | json, config, loader |

## Links

- npm: https://www.npmjs.com/package/json-config-loader
- Repository: git@github.com:MusicMapIo/config-loader
- Homepage: https://github.com/MusicMapIo/config-loader
- Issues: https://github.com/MusicMapIo/config-loader/issues
- npm.io page: https://npm.io/package/json-config-loader

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 1.1.0 (latest) — 2015-07-19
- 1.0.0 — 2015-05-27

## README

# An Opinionated Config Loader

Loads config files from a namespace in common linux directories.  Also supports loading environment dependant config files.  This modules uses `require` so is syncronous and supports anything that can be required.

## Install

```
$ npm install --save json-config-loader
```

## Basic Usage

```javascript
var loadConfig = require('json-config-loader');

var config = loadConfig({
	namespace: 'musicmap'
});

/*
Config is now an object containing these files merged togeter:

/etc/musicmap/main.json
/etc/musicmap/dev.json
/usr/local/etc/musicmap/main.json
/usr/local/etc/musicmap/dev.json
*/
```

## Advanced Options

```javascript
var config = loadConfig({
	namespace: 'musicmap',
	mainfile: 'custom',
	extention: 'js',
	env: 'production',
	configDirectories: [
		// Load config from app dir
		// /usr/local/src/musicmap/app/config
		__dirname + '/config',
		'/etc',
		'/usr/local/etc'
	]
}, {
	// Default config options
	defaults: 'foobar'
}, {
	// Override config values
	overrides: 'foobaz'
});

/*
Config is now an object containing these files merged togeter:

/usr/local/src/musicmap/app/config/musicmap/custom.js
/usr/local/src/musicmap/app/config/musicmap/production.js
/etc/musicmap/custom.js
/etc/musicmap/production.js
/usr/local/etc/musicmap/custom.js
/usr/local/etc/musicmap/production.js
*/
```

---
_Source: https://npm.io/package/json-config-loader · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
