aboutsummaryrefslogtreecommitdiff
path: root/node_modules/rc
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-06-04 08:51:19 +0200
committerMinteck <contact@minteck.org>2022-06-04 08:51:19 +0200
commitb22f6770c8bd084d66950655203c61dd701b3d90 (patch)
tree873d7fb19584ec2709b95cc1ca05a1fc7cfd0fc4 /node_modules/rc
parent383285ecd5292bf9a825e05904955b937de84cc9 (diff)
downloadequestriadb-b22f6770c8bd084d66950655203c61dd701b3d90.tar.gz
equestriadb-b22f6770c8bd084d66950655203c61dd701b3d90.tar.bz2
equestriadb-b22f6770c8bd084d66950655203c61dd701b3d90.zip
Remove node_modules
Diffstat (limited to 'node_modules/rc')
-rw-r--r--node_modules/rc/LICENSE.APACHE215
-rw-r--r--node_modules/rc/LICENSE.BSD26
-rw-r--r--node_modules/rc/LICENSE.MIT24
-rw-r--r--node_modules/rc/README.md227
-rw-r--r--node_modules/rc/browser.js7
-rwxr-xr-xnode_modules/rc/cli.js4
-rwxr-xr-xnode_modules/rc/index.js53
-rw-r--r--node_modules/rc/lib/utils.js104
-rw-r--r--node_modules/rc/node_modules/ini/LICENSE15
-rw-r--r--node_modules/rc/node_modules/ini/README.md102
-rw-r--r--node_modules/rc/node_modules/ini/ini.js206
-rw-r--r--node_modules/rc/node_modules/ini/package.json33
-rw-r--r--node_modules/rc/package.json29
-rw-r--r--node_modules/rc/test/ini.js16
-rw-r--r--node_modules/rc/test/nested-env-vars.js50
-rw-r--r--node_modules/rc/test/test.js59
16 files changed, 0 insertions, 970 deletions
diff --git a/node_modules/rc/LICENSE.APACHE2 b/node_modules/rc/LICENSE.APACHE2
deleted file mode 100644
index 6366c04..0000000
--- a/node_modules/rc/LICENSE.APACHE2
+++ /dev/null
@@ -1,15 +0,0 @@
-Apache License, Version 2.0
-
-Copyright (c) 2011 Dominic Tarr
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/node_modules/rc/LICENSE.BSD b/node_modules/rc/LICENSE.BSD
deleted file mode 100644
index 96bb796..0000000
--- a/node_modules/rc/LICENSE.BSD
+++ /dev/null
@@ -1,26 +0,0 @@
-Copyright (c) 2013, Dominic Tarr
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-The views and conclusions contained in the software and documentation are those
-of the authors and should not be interpreted as representing official policies,
-either expressed or implied, of the FreeBSD Project.
diff --git a/node_modules/rc/LICENSE.MIT b/node_modules/rc/LICENSE.MIT
deleted file mode 100644
index 6eafbd7..0000000
--- a/node_modules/rc/LICENSE.MIT
+++ /dev/null
@@ -1,24 +0,0 @@
-The MIT License
-
-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.
diff --git a/node_modules/rc/README.md b/node_modules/rc/README.md
deleted file mode 100644
index e6522e2..0000000
--- a/node_modules/rc/README.md
+++ /dev/null
@@ -1,227 +0,0 @@
-# rc
-
-The non-configurable configuration loader for lazy people.
-
-## Usage
-
-The only option is to pass rc the name of your app, and your default configuration.
-
-```javascript
-var conf = require('rc')(appname, {
- //defaults go here.
- port: 2468,
-
- //defaults which are objects will be merged, not replaced
- views: {
- engine: 'jade'
- }
-});
-```
-
-`rc` will return your configuration options merged with the defaults you specify.
-If you pass in a predefined defaults object, it will be mutated:
-
-```javascript
-var conf = {};
-require('rc')(appname, conf);
-```
-
-If `rc` finds any config files for your app, the returned config object will have
-a `configs` array containing their paths:
-
-```javascript
-var appCfg = require('rc')(appname, conf);
-appCfg.configs[0] // /etc/appnamerc
-appCfg.configs[1] // /home/dominictarr/.config/appname
-appCfg.config // same as appCfg.configs[appCfg.configs.length - 1]
-```
-
-## Standards
-
-Given your application name (`appname`), rc will look in all the obvious places for configuration.
-
- * command line arguments, parsed by minimist _(e.g. `--foo baz`, also nested: `--foo.bar=baz`)_
- * environment variables prefixed with `${appname}_`
- * or use "\_\_" to indicate nested properties <br/> _(e.g. `appname_foo__bar__baz` => `foo.bar.baz`)_
- * if you passed an option `--config file` then from that file
- * a local `.${appname}rc` or the first found looking in `./ ../ ../../ ../../../` etc.
- * `$HOME/.${appname}rc`
- * `$HOME/.${appname}/config`
- * `$HOME/.config/${appname}`
- * `$HOME/.config/${appname}/config`
- * `/etc/${appname}rc`
- * `/etc/${appname}/config`
- * the defaults object you passed in.
-
-All configuration sources that were found will be flattened into one object,
-so that sources **earlier** in this list override later ones.
-
-
-## Configuration File Formats
-
-Configuration files (e.g. `.appnamerc`) may be in either [json](http://json.org/example) or [ini](http://en.wikipedia.org/wiki/INI_file) format. **No** file extension (`.json` or `.ini`) should be used. The example configurations below are equivalent:
-
-
-#### Formatted as `ini`
-
-```
-; You can include comments in `ini` format if you want.
-
-dependsOn=0.10.0
-
-
-; `rc` has built-in support for ini sections, see?
-
-[commands]
- www = ./commands/www
- console = ./commands/repl
-
-
-; You can even do nested sections
-
-[generators.options]
- engine = ejs
-
-[generators.modules]
- new = generate-new
- engine = generate-backend
-
-```
-
-#### Formatted as `json`
-
-```javascript
-{
- // You can even comment your JSON, if you want
- "dependsOn": "0.10.0",
- "commands": {
- "www": "./commands/www",
- "console": "./commands/repl"
- },
- "generators": {
- "options": {
- "engine": "ejs"
- },
- "modules": {
- "new": "generate-new",
- "backend": "generate-backend"
- }
- }
-}
-```
-
-Comments are stripped from JSON config via [strip-json-comments](https://github.com/sindresorhus/strip-json-comments).
-
-> Since ini, and env variables do not have a standard for types, your application needs be prepared for strings.
-
-To ensure that string representations of booleans and numbers are always converted into their proper types (especially useful if you intend to do strict `===` comparisons), consider using a module such as [parse-strings-in-object](https://github.com/anselanza/parse-strings-in-object) to wrap the config object returned from rc.
-
-
-## Simple example demonstrating precedence
-Assume you have an application like this (notice the hard-coded defaults passed to rc):
-```
-const conf = require('rc')('myapp', {
- port: 12345,
- mode: 'test'
-});
-
-console.log(JSON.stringify(conf, null, 2));
-```
-You also have a file `config.json`, with these contents:
-```
-{
- "port": 9000,
- "foo": "from config json",
- "something": "else"
-}
-```
-And a file `.myapprc` in the same folder, with these contents:
-```
-{
- "port": "3001",
- "foo": "bar"
-}
-```
-Here is the expected output from various commands:
-
-`node .`
-```
-{
- "port": "3001",
- "mode": "test",
- "foo": "bar",
- "_": [],
- "configs": [
- "/Users/stephen/repos/conftest/.myapprc"
- ],
- "config": "/Users/stephen/repos/conftest/.myapprc"
-}
-```
-*Default `mode` from hard-coded object is retained, but port is overridden by `.myapprc` file (automatically found based on appname match), and `foo` is added.*
-
-
-`node . --foo baz`
-```
-{
- "port": "3001",
- "mode": "test",
- "foo": "baz",
- "_": [],
- "configs": [
- "/Users/stephen/repos/conftest/.myapprc"
- ],
- "config": "/Users/stephen/repos/conftest/.myapprc"
-}
-```
-*Same result as above but `foo` is overridden because command-line arguments take precedence over `.myapprc` file.*
-
-`node . --foo barbar --config config.json`
-```
-{
- "port": 9000,
- "mode": "test",
- "foo": "barbar",
- "something": "else",
- "_": [],
- "config": "config.json",
- "configs": [
- "/Users/stephen/repos/conftest/.myapprc",
- "config.json"
- ]
-}
-```
-*Now the `port` comes from the `config.json` file specified (overriding the value from `.myapprc`), and `foo` value is overriden by command-line despite also being specified in the `config.json` file.*
-
-
-
-## Advanced Usage
-
-#### Pass in your own `argv`
-
-You may pass in your own `argv` as the third argument to `rc`. This is in case you want to [use your own command-line opts parser](https://github.com/dominictarr/rc/pull/12).
-
-```javascript
-require('rc')(appname, defaults, customArgvParser);
-```
-
-## Pass in your own parser
-
-If you have a special need to use a non-standard parser,
-you can do so by passing in the parser as the 4th argument.
-(leave the 3rd as null to get the default args parser)
-
-```javascript
-require('rc')(appname, defaults, null, parser);
-```
-
-This may also be used to force a more strict format,
-such as strict, valid JSON only.
-
-## Note on Performance
-
-`rc` is running `fs.statSync`-- so make sure you don't use it in a hot code path (e.g. a request handler)
-
-
-## License
-
-Multi-licensed under the two-clause BSD License, MIT License, or Apache License, version 2.0
diff --git a/node_modules/rc/browser.js b/node_modules/rc/browser.js
deleted file mode 100644
index 8c230c5..0000000
--- a/node_modules/rc/browser.js
+++ /dev/null
@@ -1,7 +0,0 @@
-
-// when this is loaded into the browser,
-// just use the defaults...
-
-module.exports = function (name, defaults) {
- return defaults
-}
diff --git a/node_modules/rc/cli.js b/node_modules/rc/cli.js
deleted file mode 100755
index ab05b60..0000000
--- a/node_modules/rc/cli.js
+++ /dev/null
@@ -1,4 +0,0 @@
-#! /usr/bin/env node
-var rc = require('./index')
-
-console.log(JSON.stringify(rc(process.argv[2]), false, 2))
diff --git a/node_modules/rc/index.js b/node_modules/rc/index.js
deleted file mode 100755
index 65eb47a..0000000
--- a/node_modules/rc/index.js
+++ /dev/null
@@ -1,53 +0,0 @@
-var cc = require('./lib/utils')
-var join = require('path').join
-var deepExtend = require('deep-extend')
-var etc = '/etc'
-var win = process.platform === "win32"
-var home = win
- ? process.env.USERPROFILE
- : process.env.HOME
-
-module.exports = function (name, defaults, argv, parse) {
- if('string' !== typeof name)
- throw new Error('rc(name): name *must* be string')
- if(!argv)
- argv = require('minimist')(process.argv.slice(2))
- defaults = (
- 'string' === typeof defaults
- ? cc.json(defaults) : defaults
- ) || {}
-
- parse = parse || cc.parse
-
- var env = cc.env(name + '_')
-
- var configs = [defaults]
- var configFiles = []
- function addConfigFile (file) {
- if (configFiles.indexOf(file) >= 0) return
- var fileConfig = cc.file(file)
- if (fileConfig) {
- configs.push(parse(fileConfig))
- configFiles.push(file)
- }
- }
-
- // which files do we look at?
- if (!win)
- [join(etc, name, 'config'),
- join(etc, name + 'rc')].forEach(addConfigFile)
- if (home)
- [join(home, '.config', name, 'config'),
- join(home, '.config', name),
- join(home, '.' + name, 'config'),
- join(home, '.' + name + 'rc')].forEach(addConfigFile)
- addConfigFile(cc.find('.'+name+'rc'))
- if (env.config) addConfigFile(env.config)
- if (argv.config) addConfigFile(argv.config)
-
- return deepExtend.apply(null, configs.concat([
- env,
- argv,
- configFiles.length ? {configs: configFiles, config: configFiles[configFiles.length - 1]} : undefined,
- ]))
-}
diff --git a/node_modules/rc/lib/utils.js b/node_modules/rc/lib/utils.js
deleted file mode 100644
index 8b3beff..0000000
--- a/node_modules/rc/lib/utils.js
+++ /dev/null
@@ -1,104 +0,0 @@
-'use strict';
-var fs = require('fs')
-var ini = require('ini')
-var path = require('path')
-var stripJsonComments = require('strip-json-comments')
-
-var parse = exports.parse = function (content) {
-
- //if it ends in .json or starts with { then it must be json.
- //must be done this way, because ini accepts everything.
- //can't just try and parse it and let it throw if it's not ini.
- //everything is ini. even json with a syntax error.
-
- if(/^\s*{/.test(content))
- return JSON.parse(stripJsonComments(content))
- return ini.parse(content)
-
-}
-
-var file = exports.file = function () {
- var args = [].slice.call(arguments).filter(function (arg) { return arg != null })
-
- //path.join breaks if it's a not a string, so just skip this.
- for(var i in args)
- if('string' !== typeof args[i])
- return
-
- var file = path.join.apply(null, args)
- var content
- try {
- return fs.readFileSync(file,'utf-8')
- } catch (err) {
- return
- }
-}
-
-var json = exports.json = function () {
- var content = file.apply(null, arguments)
- return content ? parse(content) : null
-}
-
-var env = exports.env = function (prefix, env) {
- env = env || process.env
- var obj = {}
- var l = prefix.length
- for(var k in env) {
- if(k.toLowerCase().indexOf(prefix.toLowerCase()) === 0) {
-
- var keypath = k.substring(l).split('__')
-
- // Trim empty strings from keypath array
- var _emptyStringIndex
- while ((_emptyStringIndex=keypath.indexOf('')) > -1) {
- keypath.splice(_emptyStringIndex, 1)
- }
-
- var cursor = obj
- keypath.forEach(function _buildSubObj(_subkey,i){
-
- // (check for _subkey first so we ignore empty strings)
- // (check for cursor to avoid assignment to primitive objects)
- if (!_subkey || typeof cursor !== 'object')
- return
-
- // If this is the last key, just stuff the value in there
- // Assigns actual value from env variable to final key
- // (unless it's just an empty string- in that case use the last valid key)
- if (i === keypath.length-1)
- cursor[_subkey] = env[k]
-
-
- // Build sub-object if nothing already exists at the keypath
- if (cursor[_subkey] === undefined)
- cursor[_subkey] = {}
-
- // Increment cursor used to track the object at the current depth
- cursor = cursor[_subkey]
-
- })
-
- }
-
- }
-
- return obj
-}
-
-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(process.cwd(), rel)
-}
-
-
diff --git a/node_modules/rc/node_modules/ini/LICENSE b/node_modules/rc/node_modules/ini/LICENSE
deleted file mode 100644
index 19129e3..0000000
--- a/node_modules/rc/node_modules/ini/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/rc/node_modules/ini/README.md b/node_modules/rc/node_modules/ini/README.md
deleted file mode 100644
index 33df258..0000000
--- a/node_modules/rc/node_modules/ini/README.md
+++ /dev/null
@@ -1,102 +0,0 @@
-An ini format parser and serializer for node.
-
-Sections are treated as nested objects. Items before the first
-heading are saved on the object directly.
-
-## Usage
-
-Consider an ini-file `config.ini` that looks like this:
-
- ; this comment is being ignored
- scope = global
-
- [database]
- user = dbuser
- password = dbpassword
- database = use_this_database
-
- [paths.default]
- datadir = /var/lib/data
- array[] = first value
- array[] = second value
- array[] = third value
-
-You can read, manipulate and write the ini-file like so:
-
- var fs = require('fs')
- , ini = require('ini')
-
- var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8'))
-
- config.scope = 'local'
- config.database.database = 'use_another_database'
- config.paths.default.tmpdir = '/tmp'
- delete config.paths.default.datadir
- config.paths.default.array.push('fourth value')
-
- fs.writeFileSync('./config_modified.ini', ini.stringify(config, { section: 'section' }))
-
-This will result in a file called `config_modified.ini` being written
-to the filesystem with the following content:
-
- [section]
- scope=local
- [section.database]
- user=dbuser
- password=dbpassword
- database=use_another_database
- [section.paths.default]
- tmpdir=/tmp
- array[]=first value
- array[]=second value
- array[]=third value
- array[]=fourth value
-
-
-## API
-
-### decode(inistring)
-
-Decode the ini-style formatted `inistring` into a nested object.
-
-### parse(inistring)
-
-Alias for `decode(inistring)`
-
-### encode(object, [options])
-
-Encode the object `object` into an ini-style formatted string. If the
-optional parameter `section` is given, then all top-level properties
-of the object are put into this section and the `section`-string is
-prepended to all sub-sections, see the usage example above.
-
-The `options` object may contain the following:
-
-* `section` A string which will be the first `section` in the encoded
- ini data. Defaults to none.
-* `whitespace` Boolean to specify whether to put whitespace around the
- `=` character. By default, whitespace is omitted, to be friendly to
- some persnickety old parsers that don't tolerate it well. But some
- find that it's more human-readable and pretty with the whitespace.
-
-For backwards compatibility reasons, if a `string` options is passed
-in, then it is assumed to be the `section` value.
-
-### stringify(object, [options])
-
-Alias for `encode(object, [options])`
-
-### safe(val)
-
-Escapes the string `val` such that it is safe to be used as a key or
-value in an ini-file. Basically escapes quotes. For example
-
- ini.safe('"unsafe string"')
-
-would result in
-
- "\"unsafe string\""
-
-### unsafe(val)
-
-Unescapes the string `val`
diff --git a/node_modules/rc/node_modules/ini/ini.js b/node_modules/rc/node_modules/ini/ini.js
deleted file mode 100644
index b576f08..0000000
--- a/node_modules/rc/node_modules/ini/ini.js
+++ /dev/null
@@ -1,206 +0,0 @@
-exports.parse = exports.decode = decode
-
-exports.stringify = exports.encode = encode
-
-exports.safe = safe
-exports.unsafe = unsafe
-
-var eol = typeof process !== 'undefined' &&
- process.platform === 'win32' ? '\r\n' : '\n'
-
-function encode (obj, opt) {
- var children = []
- var out = ''
-
- if (typeof opt === 'string') {
- opt = {
- section: opt,
- whitespace: false,
- }
- } else {
- opt = opt || {}
- opt.whitespace = opt.whitespace === true
- }
-
- var separator = opt.whitespace ? ' = ' : '='
-
- Object.keys(obj).forEach(function (k, _, __) {
- var val = obj[k]
- if (val && Array.isArray(val)) {
- val.forEach(function (item) {
- out += safe(k + '[]') + separator + safe(item) + '\n'
- })
- } else if (val && typeof val === 'object')
- children.push(k)
- else
- out += safe(k) + separator + safe(val) + eol
- })
-
- if (opt.section && out.length)
- out = '[' + safe(opt.section) + ']' + eol + out
-
- children.forEach(function (k, _, __) {
- var nk = dotSplit(k).join('\\.')
- var section = (opt.section ? opt.section + '.' : '') + nk
- var child = encode(obj[k], {
- section: section,
- whitespace: opt.whitespace,
- })
- if (out.length && child.length)
- out += eol
-
- out += child
- })
-
- return out
-}
-
-function dotSplit (str) {
- return str.replace(/\1/g, '\u0002LITERAL\\1LITERAL\u0002')
- .replace(/\\\./g, '\u0001')
- .split(/\./).map(function (part) {
- return part.replace(/\1/g, '\\.')
- .replace(/\2LITERAL\\1LITERAL\2/g, '\u0001')
- })
-}
-
-function decode (str) {
- var out = {}
- var p = out
- var section = null
- // section |key = value
- var re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i
- var lines = str.split(/[\r\n]+/g)
-
- lines.forEach(function (line, _, __) {
- if (!line || line.match(/^\s*[;#]/))
- return
- var match = line.match(re)
- if (!match)
- return
- if (match[1] !== undefined) {
- section = unsafe(match[1])
- if (section === '__proto__') {
- // not allowed
- // keep parsing the section, but don't attach it.
- p = {}
- return
- }
- p = out[section] = out[section] || {}
- return
- }
- var key = unsafe(match[2])
- if (key === '__proto__')
- return
- var value = match[3] ? unsafe(match[4]) : true
- switch (value) {
- case 'true':
- case 'false':
- case 'null': value = JSON.parse(value)
- }
-
- // Convert keys with '[]' suffix to an array
- if (key.length > 2 && key.slice(-2) === '[]') {
- key = key.substring(0, key.length - 2)
- if (key === '__proto__')
- return
- if (!p[key])
- p[key] = []
- else if (!Array.isArray(p[key]))
- p[key] = [p[key]]
- }
-
- // safeguard against resetting a previously defined
- // array by accidentally forgetting the brackets
- if (Array.isArray(p[key]))
- p[key].push(value)
- else
- p[key] = value
- })
-
- // {a:{y:1},"a.b":{x:2}} --> {a:{y:1,b:{x:2}}}
- // use a filter to return the keys that have to be deleted.
- Object.keys(out).filter(function (k, _, __) {
- if (!out[k] ||
- typeof out[k] !== 'object' ||
- Array.isArray(out[k]))
- return false
-
- // see if the parent section is also an object.
- // if so, add it to that, and mark this one for deletion
- var parts = dotSplit(k)
- var p = out
- var l = parts.pop()
- var nl = l.replace(/\\\./g, '.')
- parts.forEach(function (part, _, __) {
- if (part === '__proto__')
- return
- if (!p[part] || typeof p[part] !== 'object')
- p[part] = {}
- p = p[part]
- })
- if (p === out && nl === l)
- return false
-
- p[nl] = out[k]
- return true
- }).forEach(function (del, _, __) {
- delete out[del]
- })
-
- return out
-}
-
-function isQuoted (val) {
- return (val.charAt(0) === '"' && val.slice(-1) === '"') ||
- (val.charAt(0) === "'" && val.slice(-1) === "'")
-}
-
-function safe (val) {
- return (typeof val !== 'string' ||
- val.match(/[=\r\n]/) ||
- val.match(/^\[/) ||
- (val.length > 1 &&
- isQuoted(val)) ||
- val !== val.trim())
- ? JSON.stringify(val)
- : val.replace(/;/g, '\\;').replace(/#/g, '\\#')
-}
-
-function unsafe (val, doUnesc) {
- val = (val || '').trim()
- if (isQuoted(val)) {
- // remove the single quotes before calling JSON.parse
- if (val.charAt(0) === "'")
- val = val.substr(1, val.length - 2)
-
- try {
- val = JSON.parse(val)
- } catch (_) {}
- } else {
- // walk the val to find the first not-escaped ; character
- var esc = false
- var unesc = ''
- for (var i = 0, l = val.length; i < l; i++) {
- var c = val.charAt(i)
- if (esc) {
- if ('\\;#'.indexOf(c) !== -1)
- unesc += c
- else
- unesc += '\\' + c
-
- esc = false
- } else if (';#'.indexOf(c) !== -1)
- break
- else if (c === '\\')
- esc = true
- else
- unesc += c
- }
- if (esc)
- unesc += '\\'
-
- return unesc.trim()
- }
- return val
-}
diff --git a/node_modules/rc/node_modules/ini/package.json b/node_modules/rc/node_modules/ini/package.json
deleted file mode 100644
index c830a35..0000000
--- a/node_modules/rc/node_modules/ini/package.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
- "name": "ini",
- "description": "An ini encoder/decoder for node",
- "version": "1.3.8",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/ini.git"
- },
- "main": "ini.js",
- "scripts": {
- "eslint": "eslint",
- "lint": "npm run eslint -- ini.js test/*.js",
- "lintfix": "npm run lint -- --fix",
- "test": "tap",
- "posttest": "npm run lint",
- "preversion": "npm test",
- "postversion": "npm publish",
- "prepublishOnly": "git push origin --follow-tags"
- },
- "devDependencies": {
- "eslint": "^7.9.0",
- "eslint-plugin-import": "^2.22.0",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^4.2.1",
- "eslint-plugin-standard": "^4.0.1",
- "tap": "14"
- },
- "license": "ISC",
- "files": [
- "ini.js"
- ]
-}
diff --git a/node_modules/rc/package.json b/node_modules/rc/package.json
deleted file mode 100644
index 887238f..0000000
--- a/node_modules/rc/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "rc",
- "version": "1.2.8",
- "description": "hardwired configuration loader",
- "main": "index.js",
- "browser": "browser.js",
- "scripts": {
- "test": "set -e; node test/test.js; node test/ini.js; node test/nested-env-vars.js"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/dominictarr/rc.git"
- },
- "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
- "keywords": [
- "config",
- "rc",
- "unix",
- "defaults"
- ],
- "bin": "./cli.js",
- "author": "Dominic Tarr <dominic.tarr@gmail.com> (dominictarr.com)",
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- }
-}
diff --git a/node_modules/rc/test/ini.js b/node_modules/rc/test/ini.js
deleted file mode 100644
index e6857f8..0000000
--- a/node_modules/rc/test/ini.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var cc =require('../lib/utils')
-var INI = require('ini')
-var assert = require('assert')
-
-function test(obj) {
-
- var _json, _ini
- var json = cc.parse (_json = JSON.stringify(obj))
- var ini = cc.parse (_ini = INI.stringify(obj))
- console.log(_ini, _json)
- assert.deepEqual(json, ini)
-}
-
-
-test({hello: true})
-
diff --git a/node_modules/rc/test/nested-env-vars.js b/node_modules/rc/test/nested-env-vars.js
deleted file mode 100644
index 0ecd176..0000000
--- a/node_modules/rc/test/nested-env-vars.js
+++ /dev/null
@@ -1,50 +0,0 @@
-
-var seed = Math.random();
-var n = 'rc'+ seed;
-var N = 'RC'+ seed;
-var assert = require('assert')
-
-
-// Basic usage
-process.env[n+'_someOpt__a'] = 42
-process.env[n+'_someOpt__x__'] = 99
-process.env[n+'_someOpt__a__b'] = 186
-process.env[n+'_someOpt__a__b__c'] = 243
-process.env[n+'_someOpt__x__y'] = 1862
-process.env[n+'_someOpt__z'] = 186577
-
-// Should ignore empty strings from orphaned '__'
-process.env[n+'_someOpt__z__x__'] = 18629
-process.env[n+'_someOpt__w__w__'] = 18629
-
-// Leading '__' should ignore everything up to 'z'
-process.env[n+'___z__i__'] = 9999
-
-// should ignore case for config name section.
-process.env[N+'_test_upperCase'] = 187
-
-function testPrefix(prefix) {
- var config = require('../')(prefix, {
- option: true
- })
-
- console.log('\n\n------ nested-env-vars ------\n',{prefix: prefix}, '\n', config);
-
- assert.equal(config.option, true)
- assert.equal(config.someOpt.a, 42)
- assert.equal(config.someOpt.x, 99)
- // Should not override `a` once it's been set
- assert.equal(config.someOpt.a/*.b*/, 42)
- // Should not override `x` once it's been set
- assert.equal(config.someOpt.x/*.y*/, 99)
- assert.equal(config.someOpt.z, 186577)
- // Should not override `z` once it's been set
- assert.equal(config.someOpt.z/*.x*/, 186577)
- assert.equal(config.someOpt.w.w, 18629)
- assert.equal(config.z.i, 9999)
-
- assert.equal(config.test_upperCase, 187)
-}
-
-testPrefix(n);
-testPrefix(N);
diff --git a/node_modules/rc/test/test.js b/node_modules/rc/test/test.js
deleted file mode 100644
index 4f63351..0000000
--- a/node_modules/rc/test/test.js
+++ /dev/null
@@ -1,59 +0,0 @@
-
-var n = 'rc'+Math.random()
-var assert = require('assert')
-
-process.env[n+'_envOption'] = 42
-
-var config = require('../')(n, {
- option: true
-})
-
-console.log(config)
-
-assert.equal(config.option, true)
-assert.equal(config.envOption, 42)
-
-var customArgv = require('../')(n, {
- option: true
-}, { // nopt-like argv
- option: false,
- envOption: 24,
- argv: {
- remain: [],
- cooked: ['--no-option', '--envOption', '24'],
- original: ['--no-option', '--envOption=24']
- }
-})
-
-console.log(customArgv)
-
-assert.equal(customArgv.option, false)
-assert.equal(customArgv.envOption, 24)
-
-var fs = require('fs')
-var path = require('path')
-var jsonrc = path.resolve('.' + n + 'rc');
-
-fs.writeFileSync(jsonrc, [
- '{',
- '// json overrides default',
- '"option": false,',
- '/* env overrides json */',
- '"envOption": 24',
- '}'
-].join('\n'));
-
-var commentedJSON = require('../')(n, {
- option: true
-})
-
-fs.unlinkSync(jsonrc);
-
-console.log(commentedJSON)
-
-assert.equal(commentedJSON.option, false)
-assert.equal(commentedJSON.envOption, 42)
-
-assert.equal(commentedJSON.config, jsonrc)
-assert.equal(commentedJSON.configs.length, 1)
-assert.equal(commentedJSON.configs[0], jsonrc)