summaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/node_modules/config-chain
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/npm/node_modules/config-chain')
-rw-r--r--deps/node/deps/npm/node_modules/config-chain/LICENCE22
-rwxr-xr-xdeps/node/deps/npm/node_modules/config-chain/index.js282
-rw-r--r--deps/node/deps/npm/node_modules/config-chain/package.json63
-rw-r--r--deps/node/deps/npm/node_modules/config-chain/readme.markdown257
4 files changed, 0 insertions, 624 deletions
diff --git a/deps/node/deps/npm/node_modules/config-chain/LICENCE b/deps/node/deps/npm/node_modules/config-chain/LICENCE
deleted file mode 100644
index 171dd970..00000000
--- a/deps/node/deps/npm/node_modules/config-chain/LICENCE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2011 Dominic Tarr
-
-Permission is hereby granted, free of charge,
-to any person obtaining a copy of this software and
-associated documentation files (the "Software"), to
-deal in the Software without restriction, including
-without limitation the rights to use, copy, modify,
-merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom
-the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice
-shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
-ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file
diff --git a/deps/node/deps/npm/node_modules/config-chain/index.js b/deps/node/deps/npm/node_modules/config-chain/index.js
deleted file mode 100755
index 0ef3a91f..00000000
--- a/deps/node/deps/npm/node_modules/config-chain/index.js
+++ /dev/null
@@ -1,282 +0,0 @@
-var ProtoList = require('proto-list')
- , path = require('path')
- , fs = require('fs')
- , ini = require('ini')
- , EE = require('events').EventEmitter
- , url = require('url')
- , http = require('http')
-
-var exports = module.exports = function () {
- var args = [].slice.call(arguments)
- , conf = new ConfigChain()
-
- while(args.length) {
- var a = args.shift()
- if(a) conf.push
- ( 'string' === typeof a
- ? json(a)
- : a )
- }
-
- return conf
-}
-
-//recursively find a file...
-
-var find = exports.find = function () {
- var rel = path.join.apply(null, [].slice.call(arguments))
-
- function find(start, rel) {
- var file = path.join(start, rel)
- try {
- fs.statSync(file)
- return file
- } catch (err) {
- if(path.dirname(start) !== start) // root
- return find(path.dirname(start), rel)
- }
- }
- return find(__dirname, rel)
-}
-
-var parse = exports.parse = function (content, file, type) {
- content = '' + content
- // if we don't know what it is, try json and fall back to ini
- // if we know what it is, then it must be that.
- if (!type) {
- try { return JSON.parse(content) }
- catch (er) { return ini.parse(content) }
- } else if (type === 'json') {
- if (this.emit) {
- try { return JSON.parse(content) }
- catch (er) { this.emit('error', er) }
- } else {
- return JSON.parse(content)
- }
- } else {
- return ini.parse(content)
- }
-}
-
-var json = exports.json = function () {
- var args = [].slice.call(arguments).filter(function (arg) { return arg != null })
- var file = path.join.apply(null, args)
- var content
- try {
- content = fs.readFileSync(file,'utf-8')
- } catch (err) {
- return
- }
- return parse(content, file, 'json')
-}
-
-var env = exports.env = function (prefix, env) {
- env = env || process.env
- var obj = {}
- var l = prefix.length
- for(var k in env) {
- if(k.indexOf(prefix) === 0)
- obj[k.substring(l)] = env[k]
- }
-
- return obj
-}
-
-exports.ConfigChain = ConfigChain
-function ConfigChain () {
- EE.apply(this)
- ProtoList.apply(this, arguments)
- this._awaiting = 0
- this._saving = 0
- this.sources = {}
-}
-
-// multi-inheritance-ish
-var extras = {
- constructor: { value: ConfigChain }
-}
-Object.keys(EE.prototype).forEach(function (k) {
- extras[k] = Object.getOwnPropertyDescriptor(EE.prototype, k)
-})
-ConfigChain.prototype = Object.create(ProtoList.prototype, extras)
-
-ConfigChain.prototype.del = function (key, where) {
- // if not specified where, then delete from the whole chain, scorched
- // earth style
- if (where) {
- var target = this.sources[where]
- target = target && target.data
- if (!target) {
- return this.emit('error', new Error('not found '+where))
- }
- delete target[key]
- } else {
- for (var i = 0, l = this.list.length; i < l; i ++) {
- delete this.list[i][key]
- }
- }
- return this
-}
-
-ConfigChain.prototype.set = function (key, value, where) {
- var target
-
- if (where) {
- target = this.sources[where]
- target = target && target.data
- if (!target) {
- return this.emit('error', new Error('not found '+where))
- }
- } else {
- target = this.list[0]
- if (!target) {
- return this.emit('error', new Error('cannot set, no confs!'))
- }
- }
- target[key] = value
- return this
-}
-
-ConfigChain.prototype.get = function (key, where) {
- if (where) {
- where = this.sources[where]
- if (where) where = where.data
- if (where && Object.hasOwnProperty.call(where, key)) return where[key]
- return undefined
- }
- return this.list[0][key]
-}
-
-ConfigChain.prototype.save = function (where, type, cb) {
- if (typeof type === 'function') cb = type, type = null
- var target = this.sources[where]
- if (!target || !(target.path || target.source) || !target.data) {
- // TODO: maybe save() to a url target could be a PUT or something?
- // would be easy to swap out with a reddis type thing, too
- return this.emit('error', new Error('bad save target: '+where))
- }
-
- if (target.source) {
- var pref = target.prefix || ''
- Object.keys(target.data).forEach(function (k) {
- target.source[pref + k] = target.data[k]
- })
- return this
- }
-
- var type = type || target.type
- var data = target.data
- if (target.type === 'json') {
- data = JSON.stringify(data)
- } else {
- data = ini.stringify(data)
- }
-
- this._saving ++
- fs.writeFile(target.path, data, 'utf8', function (er) {
- this._saving --
- if (er) {
- if (cb) return cb(er)
- else return this.emit('error', er)
- }
- if (this._saving === 0) {
- if (cb) cb()
- this.emit('save')
- }
- }.bind(this))
- return this
-}
-
-ConfigChain.prototype.addFile = function (file, type, name) {
- name = name || file
- var marker = {__source__:name}
- this.sources[name] = { path: file, type: type }
- this.push(marker)
- this._await()
- fs.readFile(file, 'utf8', function (er, data) {
- if (er) this.emit('error', er)
- this.addString(data, file, type, marker)
- }.bind(this))
- return this
-}
-
-ConfigChain.prototype.addEnv = function (prefix, env, name) {
- name = name || 'env'
- var data = exports.env(prefix, env)
- this.sources[name] = { data: data, source: env, prefix: prefix }
- return this.add(data, name)
-}
-
-ConfigChain.prototype.addUrl = function (req, type, name) {
- this._await()
- var href = url.format(req)
- name = name || href
- var marker = {__source__:name}
- this.sources[name] = { href: href, type: type }
- this.push(marker)
- http.request(req, function (res) {
- var c = []
- var ct = res.headers['content-type']
- if (!type) {
- type = ct.indexOf('json') !== -1 ? 'json'
- : ct.indexOf('ini') !== -1 ? 'ini'
- : href.match(/\.json$/) ? 'json'
- : href.match(/\.ini$/) ? 'ini'
- : null
- marker.type = type
- }
-
- res.on('data', c.push.bind(c))
- .on('end', function () {
- this.addString(Buffer.concat(c), href, type, marker)
- }.bind(this))
- .on('error', this.emit.bind(this, 'error'))
-
- }.bind(this))
- .on('error', this.emit.bind(this, 'error'))
- .end()
-
- return this
-}
-
-ConfigChain.prototype.addString = function (data, file, type, marker) {
- data = this.parse(data, file, type)
- this.add(data, marker)
- return this
-}
-
-ConfigChain.prototype.add = function (data, marker) {
- if (marker && typeof marker === 'object') {
- var i = this.list.indexOf(marker)
- if (i === -1) {
- return this.emit('error', new Error('bad marker'))
- }
- this.splice(i, 1, data)
- marker = marker.__source__
- this.sources[marker] = this.sources[marker] || {}
- this.sources[marker].data = data
- // we were waiting for this. maybe emit 'load'
- this._resolve()
- } else {
- if (typeof marker === 'string') {
- this.sources[marker] = this.sources[marker] || {}
- this.sources[marker].data = data
- }
- // trigger the load event if nothing was already going to do so.
- this._await()
- this.push(data)
- process.nextTick(this._resolve.bind(this))
- }
- return this
-}
-
-ConfigChain.prototype.parse = exports.parse
-
-ConfigChain.prototype._await = function () {
- this._awaiting++
-}
-
-ConfigChain.prototype._resolve = function () {
- this._awaiting--
- if (this._awaiting === 0) this.emit('load', this)
-}
diff --git a/deps/node/deps/npm/node_modules/config-chain/package.json b/deps/node/deps/npm/node_modules/config-chain/package.json
deleted file mode 100644
index 5654ff7a..00000000
--- a/deps/node/deps/npm/node_modules/config-chain/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "_from": "config-chain@1.1.12",
- "_id": "config-chain@1.1.12",
- "_inBundle": false,
- "_integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
- "_location": "/config-chain",
- "_phantomChildren": {},
- "_requested": {
- "type": "version",
- "registry": true,
- "raw": "config-chain@1.1.12",
- "name": "config-chain",
- "escapedName": "config-chain",
- "rawSpec": "1.1.12",
- "saveSpec": null,
- "fetchSpec": "1.1.12"
- },
- "_requiredBy": [
- "#USER",
- "/"
- ],
- "_resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
- "_shasum": "0fde8d091200eb5e808caf25fe618c02f48e4efa",
- "_spec": "config-chain@1.1.12",
- "_where": "/Users/rebecca/code/npm",
- "author": {
- "name": "Dominic Tarr",
- "email": "dominic.tarr@gmail.com",
- "url": "http://dominictarr.com"
- },
- "bugs": {
- "url": "https://github.com/dominictarr/config-chain/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "ini": "^1.3.4",
- "proto-list": "~1.2.1"
- },
- "deprecated": false,
- "description": "HANDLE CONFIGURATION ONCE AND FOR ALL",
- "devDependencies": {
- "tap": "0.3.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "http://github.com/dominictarr/config-chain",
- "licenses": [
- {
- "type": "MIT",
- "url": "https://raw.githubusercontent.com/dominictarr/config-chain/master/LICENCE"
- }
- ],
- "name": "config-chain",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/dominictarr/config-chain.git"
- },
- "scripts": {
- "test": "tap test/*"
- },
- "version": "1.1.12"
-}
diff --git a/deps/node/deps/npm/node_modules/config-chain/readme.markdown b/deps/node/deps/npm/node_modules/config-chain/readme.markdown
deleted file mode 100644
index 12dfbca3..00000000
--- a/deps/node/deps/npm/node_modules/config-chain/readme.markdown
+++ /dev/null
@@ -1,257 +0,0 @@
-# config-chain
-
-A module for loading custom configurations
-
-## NOTE: Feature Freeze
-
-[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges)
-
-This module is frozen.
-
-In general, we recommend using [rc](https://github.com/dominictarr/rc) instead,
-but as [npm](https://github.com/npmjs/npm) depends on this, it cannot be changed.
-
-
-## Install
-
-```sh
-yarn add config-chain
-
-# npm users
-npm install --save config-chain
-```
-
-## Usage
-
-```js
-const cc = require('config-chain');
-
-console.log(cc.env('TERM_', process.env));
-/*
-{ SESSION_ID: 'w1:5F38',
- PROGRAM_VERSION: '3.1.2',
- PROGRAM: 'iTerm.app' }
-*/
-```
-
-The `.env` function gets all the keys on the provided object which are
-prefixed by the specified prefix, removes the prefix, and puts the values on a new object.
-
-<br/>
-
-## Full Usage
-
-``` js
-
- // npm install config-chain
-
- var cc = require('config-chain')
- , opts = require('optimist').argv //ALWAYS USE OPTIMIST FOR COMMAND LINE OPTIONS.
- , env = opts.env || process.env.YOUR_APP_ENV || 'dev' //SET YOUR ENV LIKE THIS.
-
- // EACH ARG TO CONFIGURATOR IS LOADED INTO CONFIGURATION CHAIN
- // EARLIER ITEMS OVERIDE LATER ITEMS
- // PUTS COMMAND LINE OPTS FIRST, AND DEFAULTS LAST!
-
- //strings are interpereted as filenames.
- //will be loaded synchronously
-
- var conf =
- cc(
- //OVERRIDE SETTINGS WITH COMMAND LINE OPTS
- opts,
-
- //ENV VARS IF PREFIXED WITH 'myApp_'
-
- cc.env('myApp_'), //myApp_foo = 'like this'
-
- //FILE NAMED BY ENV
- path.join(__dirname, 'config.' + env + '.json'),
-
- //IF `env` is PRODUCTION
- env === 'prod'
- ? path.join(__dirname, 'special.json') //load a special file
- : null //NULL IS IGNORED!
-
- //SUBDIR FOR ENV CONFIG
- path.join(__dirname, 'config', env, 'config.json'),
-
- //SEARCH PARENT DIRECTORIES FROM CURRENT DIR FOR FILE
- cc.find('config.json'),
-
- //PUT DEFAULTS LAST
- {
- host: 'localhost'
- port: 8000
- })
-
- var host = conf.get('host')
-
- // or
-
- var host = conf.store.host
-
-```
-
-Finally, flexible configurations! 👌
-
-## Custom Configuations
-
-```javascript
-var cc = require('config-chain')
-
-// all the stuff you did before
-var config = cc({
- some: 'object'
- },
- cc.find('config.json'),
- cc.env('myApp_')
- )
- // CONFIGS AS A SERVICE, aka "CaaS", aka EVERY DEVOPS DREAM OMG!
- .addUrl('http://configurator:1234/my-configs')
- // ASYNC FTW!
- .addFile('/path/to/file.json')
-
- // OBJECTS ARE OK TOO, they're SYNC but they still ORDER RIGHT
- // BECAUSE PROMISES ARE USED BUT NO, NOT *THOSE* PROMISES, JUST
- // ACTUAL PROMISES LIKE YOU MAKE TO YOUR MOM, KEPT OUT OF LOVE
- .add({ another: 'object' })
-
- // DIE A THOUSAND DEATHS IF THIS EVER HAPPENS!!
- .on('error', function (er) {
- // IF ONLY THERE WAS SOMETHIGN HARDER THAN THROW
- // MY SORROW COULD BE ADEQUATELY EXPRESSED. /o\
- throw er
- })
-
- // THROW A PARTY IN YOUR FACE WHEN ITS ALL LOADED!!
- .on('load', function (config) {
- console.awesome('HOLY SHIT!')
- })
-```
-
-# API Docs
-
-## cc(...args)
-
-MAKE A CHAIN AND ADD ALL THE ARGS.
-
-If the arg is a STRING, then it shall be a JSON FILENAME.
-
-RETURN THE CHAIN!
-
-## cc.json(...args)
-
-Join the args into a JSON filename!
-
-SYNC I/O!
-
-## cc.find(relativePath)
-
-SEEK the RELATIVE PATH by climbing the TREE OF DIRECTORIES.
-
-RETURN THE FOUND PATH!
-
-SYNC I/O!
-
-## cc.parse(content, file, type)
-
-Parse the content string, and guess the type from either the
-specified type or the filename.
-
-RETURN THE RESULTING OBJECT!
-
-NO I/O!
-
-## cc.env(prefix, env=process.env)
-
-Get all the keys on the provided object which are
-prefixed by the specified prefix, removes the prefix, and puts the values on a new object.
-
-RETURN THE RESULTING OBJECT!
-
-NO I/O!
-
-## cc.ConfigChain()
-
-The ConfigChain class for CRAY CRAY JQUERY STYLE METHOD CHAINING!
-
-One of these is returned by the main exported function, as well.
-
-It inherits (prototypically) from
-[ProtoList](https://github.com/isaacs/proto-list/), and also inherits
-(parasitically) from
-[EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter)
-
-It has all the methods from both, and except where noted, they are
-unchanged.
-
-### LET IT BE KNOWN THAT chain IS AN INSTANCE OF ConfigChain.
-
-## chain.sources
-
-A list of all the places where it got stuff. The keys are the names
-passed to addFile or addUrl etc, and the value is an object with some
-info about the data source.
-
-## chain.addFile(filename, type, [name=filename])
-
-Filename is the name of the file. Name is an arbitrary string to be
-used later if you desire. Type is either 'ini' or 'json', and will
-try to guess intelligently if omitted.
-
-Loaded files can be saved later.
-
-## chain.addUrl(url, type, [name=url])
-
-Same as the filename thing, but with a url.
-
-Can't be saved later.
-
-## chain.addEnv(prefix, env, [name='env'])
-
-Add all the keys from the env object that start with the prefix.
-
-## chain.addString(data, file, type, [name])
-
-Parse the string and add it to the set. (Mainly used internally.)
-
-## chain.add(object, [name])
-
-Add the object to the set.
-
-## chain.root {Object}
-
-The root from which all the other config objects in the set descend
-prototypically.
-
-Put your defaults here.
-
-## chain.set(key, value, name)
-
-Set the key to the value on the named config object. If name is
-unset, then set it on the first config object in the set. (That is,
-the one with the highest priority, which was added first.)
-
-## chain.get(key, [name])
-
-Get the key from the named config object explicitly, or from the
-resolved configs if not specified.
-
-## chain.save(name, type)
-
-Write the named config object back to its origin.
-
-Currently only supported for env and file config types.
-
-For files, encode the data according to the type.
-
-## chain.on('save', function () {})
-
-When one or more files are saved, emits `save` event when they're all
-saved.
-
-## chain.on('load', function (chain) {})
-
-When the config chain has loaded all the specified files and urls and
-such, the 'load' event fires.