diff options
Diffstat (limited to 'node_modules/npm-conf/lib')
-rw-r--r-- | node_modules/npm-conf/lib/conf.js | 174 | ||||
-rw-r--r-- | node_modules/npm-conf/lib/defaults.js | 169 | ||||
-rw-r--r-- | node_modules/npm-conf/lib/make.js | 91 | ||||
-rw-r--r-- | node_modules/npm-conf/lib/types.js | 127 | ||||
-rw-r--r-- | node_modules/npm-conf/lib/util.js | 147 |
5 files changed, 0 insertions, 708 deletions
diff --git a/node_modules/npm-conf/lib/conf.js b/node_modules/npm-conf/lib/conf.js deleted file mode 100644 index b2a8f0a..0000000 --- a/node_modules/npm-conf/lib/conf.js +++ /dev/null @@ -1,174 +0,0 @@ -'use strict'; -const fs = require('fs'); -const path = require('path'); -const ConfigChain = require('config-chain').ConfigChain; -const util = require('./util'); - -class Conf extends ConfigChain { - // https://github.com/npm/npm/blob/latest/lib/config/core.js#L208-L222 - constructor(base) { - super(base); - this.root = base; - } - - // https://github.com/npm/npm/blob/latest/lib/config/core.js#L332-L342 - add(data, marker) { - try { - for (const x of Object.keys(data)) { - data[x] = util.parseField(data[x], x); - } - } catch (err) { - throw err; - } - - return super.add(data, marker); - } - - // https://github.com/npm/npm/blob/latest/lib/config/core.js#L312-L325 - addFile(file, name) { - name = name || file; - - const marker = {__source__: name}; - - this.sources[name] = {path: file, type: 'ini'}; - this.push(marker); - this._await(); - - try { - const contents = fs.readFileSync(file, 'utf8'); - this.addString(contents, file, 'ini', marker); - } catch (err) { - this.add({}, marker); - } - - return this; - } - - // https://github.com/npm/npm/blob/latest/lib/config/core.js#L344-L360 - addEnv(env) { - env = env || process.env; - - const conf = {}; - - Object.keys(env) - .filter(x => /^npm_config_/i.test(x)) - .forEach(x => { - if (!env[x]) { - return; - } - - const p = x.toLowerCase() - .replace(/^npm_config_/, '') - .replace(/(?!^)_/g, '-'); - - conf[p] = env[x]; - }); - - return super.addEnv('', conf, 'env'); - } - - // https://github.com/npm/npm/blob/latest/lib/config/load-prefix.js - loadPrefix() { - const cli = this.list[0]; - - Object.defineProperty(this, 'prefix', { - enumerable: true, - set: prefix => { - const g = this.get('global'); - this[g ? 'globalPrefix' : 'localPrefix'] = prefix; - }, - get: () => { - const g = this.get('global'); - return g ? this.globalPrefix : this.localPrefix; - } - }); - - Object.defineProperty(this, 'globalPrefix', { - enumerable: true, - set: prefix => { - this.set('prefix', prefix); - }, - get: () => { - return path.resolve(this.get('prefix')); - } - }); - - let p; - - Object.defineProperty(this, 'localPrefix', { - enumerable: true, - set: prefix => { - p = prefix; - }, - get: () => { - return p; - } - }); - - if (Object.prototype.hasOwnProperty.call(cli, 'prefix')) { - p = path.resolve(cli.prefix); - } else { - try { - const prefix = util.findPrefix(process.cwd()); - p = prefix; - } catch (err) { - throw err; - } - } - - return p; - } - - // https://github.com/npm/npm/blob/latest/lib/config/load-cafile.js - loadCAFile(file) { - if (!file) { - return; - } - - try { - const contents = fs.readFileSync(file, 'utf8'); - const delim = '-----END CERTIFICATE-----'; - const output = contents - .split(delim) - .filter(x => Boolean(x.trim())) - .map(x => x.trimLeft() + delim); - - this.set('ca', output); - } catch (err) { - if (err.code === 'ENOENT') { - return; - } - - throw err; - } - } - - // https://github.com/npm/npm/blob/latest/lib/config/set-user.js - loadUser() { - const defConf = this.root; - - if (this.get('global')) { - return; - } - - if (process.env.SUDO_UID) { - defConf.user = Number(process.env.SUDO_UID); - return; - } - - const prefix = path.resolve(this.get('prefix')); - - try { - const stats = fs.statSync(prefix); - defConf.user = stats.uid; - } catch (err) { - if (err.code === 'ENOENT') { - return; - } - - throw err; - } - } -} - -module.exports = Conf; diff --git a/node_modules/npm-conf/lib/defaults.js b/node_modules/npm-conf/lib/defaults.js deleted file mode 100644 index 6c0db4a..0000000 --- a/node_modules/npm-conf/lib/defaults.js +++ /dev/null @@ -1,169 +0,0 @@ - - // Generated with `lib/make.js` - 'use strict'; - const os = require('os'); - const path = require('path'); - - const temp = os.tmpdir(); - const uidOrPid = process.getuid ? process.getuid() : process.pid; - const hasUnicode = () => true; - const isWindows = process.platform === 'win32'; - - const osenv = { - editor: () => process.env.EDITOR || process.env.VISUAL || (isWindows ? 'notepad.exe' : 'vi'), - shell: () => isWindows ? (process.env.COMSPEC || 'cmd.exe') : (process.env.SHELL || '/bin/bash') - }; - - const umask = { - fromString: () => process.umask() - }; - - let home = os.homedir(); - - if (home) { - process.env.HOME = home; - } else { - home = path.resolve(temp, 'npm-' + uidOrPid); - } - - const cacheExtra = process.platform === 'win32' ? 'npm-cache' : '.npm'; - const cacheRoot = process.platform === 'win32' ? process.env.APPDATA : home; - const cache = path.resolve(cacheRoot, cacheExtra); - - let defaults; - let globalPrefix; - - Object.defineProperty(exports, 'defaults', { - get: function () { - if (defaults) return defaults; - - if (process.env.PREFIX) { - globalPrefix = process.env.PREFIX; - } else if (process.platform === 'win32') { - // c:\node\node.exe --> prefix=c:\node\ - globalPrefix = path.dirname(process.execPath); - } else { - // /usr/local/bin/node --> prefix=/usr/local - globalPrefix = path.dirname(path.dirname(process.execPath)); // destdir only is respected on Unix - - if (process.env.DESTDIR) { - globalPrefix = path.join(process.env.DESTDIR, globalPrefix); - } - } - - defaults = { - access: null, - 'allow-same-version': false, - 'always-auth': false, - also: null, - 'auth-type': 'legacy', - 'bin-links': true, - browser: null, - ca: null, - cafile: null, - cache: cache, - 'cache-lock-stale': 60000, - 'cache-lock-retries': 10, - 'cache-lock-wait': 10000, - 'cache-max': Infinity, - 'cache-min': 10, - cert: null, - color: true, - depth: Infinity, - description: true, - dev: false, - 'dry-run': false, - editor: osenv.editor(), - 'engine-strict': false, - force: false, - 'fetch-retries': 2, - 'fetch-retry-factor': 10, - 'fetch-retry-mintimeout': 10000, - 'fetch-retry-maxtimeout': 60000, - git: 'git', - 'git-tag-version': true, - global: false, - globalconfig: path.resolve(globalPrefix, 'etc', 'npmrc'), - 'global-style': false, - group: process.platform === 'win32' ? 0 : process.env.SUDO_GID || process.getgid && process.getgid(), - 'ham-it-up': false, - heading: 'npm', - 'if-present': false, - 'ignore-prepublish': false, - 'ignore-scripts': false, - 'init-module': path.resolve(home, '.npm-init.js'), - 'init-author-name': '', - 'init-author-email': '', - 'init-author-url': '', - 'init-version': '1.0.0', - 'init-license': 'ISC', - json: false, - key: null, - 'legacy-bundling': false, - link: false, - 'local-address': undefined, - loglevel: 'notice', - logstream: process.stderr, - 'logs-max': 10, - long: false, - maxsockets: 50, - message: '%s', - 'metrics-registry': null, - 'node-version': process.version, - 'offline': false, - 'onload-script': false, - only: null, - optional: true, - 'package-lock': true, - parseable: false, - 'prefer-offline': false, - 'prefer-online': false, - prefix: globalPrefix, - production: process.env.NODE_ENV === 'production', - 'progress': !process.env.TRAVIS && !process.env.CI, - 'proprietary-attribs': true, - proxy: null, - 'https-proxy': null, - 'user-agent': 'npm/{npm-version} ' + 'node/{node-version} ' + '{platform} ' + '{arch}', - 'rebuild-bundle': true, - registry: 'https://registry.npmjs.org/', - rollback: true, - save: true, - 'save-bundle': false, - 'save-dev': false, - 'save-exact': false, - 'save-optional': false, - 'save-prefix': '^', - 'save-prod': false, - scope: '', - 'script-shell': null, - 'scripts-prepend-node-path': 'warn-only', - searchopts: '', - searchexclude: null, - searchlimit: 20, - searchstaleness: 15 * 60, - 'send-metrics': false, - shell: osenv.shell(), - shrinkwrap: true, - 'sign-git-tag': false, - 'sso-poll-frequency': 500, - 'sso-type': 'oauth', - 'strict-ssl': true, - tag: 'latest', - 'tag-version-prefix': 'v', - timing: false, - tmp: temp, - unicode: hasUnicode(), - 'unsafe-perm': process.platform === 'win32' || process.platform === 'cygwin' || !(process.getuid && process.setuid && process.getgid && process.setgid) || process.getuid() !== 0, - usage: false, - user: process.platform === 'win32' ? 0 : 'nobody', - userconfig: path.resolve(home, '.npmrc'), - umask: process.umask ? process.umask() : umask.fromString('022'), - version: false, - versions: false, - viewer: process.platform === 'win32' ? 'browser' : 'man', - _exit: true - }; - return defaults; - } -}) diff --git a/node_modules/npm-conf/lib/make.js b/node_modules/npm-conf/lib/make.js deleted file mode 100644 index fb79d6c..0000000 --- a/node_modules/npm-conf/lib/make.js +++ /dev/null @@ -1,91 +0,0 @@ -'use strict'; -const fs = require('fs'); -const path = require('path'); -const babylon = require('babylon'); -const generate = require('babel-generator').default; -const traverse = require('babel-traverse').default; - -const defaultsTemplate = body => ` - // Generated with \`lib/make.js\` - 'use strict'; - const os = require('os'); - const path = require('path'); - - const temp = os.tmpdir(); - const uidOrPid = process.getuid ? process.getuid() : process.pid; - const hasUnicode = () => true; - const isWindows = process.platform === 'win32'; - - const osenv = { - editor: () => process.env.EDITOR || process.env.VISUAL || (isWindows ? 'notepad.exe' : 'vi'), - shell: () => isWindows ? (process.env.COMSPEC || 'cmd.exe') : (process.env.SHELL || '/bin/bash') - }; - - const umask = { - fromString: () => process.umask() - }; - - let home = os.homedir(); - - if (home) { - process.env.HOME = home; - } else { - home = path.resolve(temp, 'npm-' + uidOrPid); - } - - const cacheExtra = process.platform === 'win32' ? 'npm-cache' : '.npm'; - const cacheRoot = process.platform === 'win32' ? process.env.APPDATA : home; - const cache = path.resolve(cacheRoot, cacheExtra); - - let defaults; - let globalPrefix; - - ${body} -`; - -const typesTemplate = body => ` - // Generated with \`lib/make.js\` - 'use strict'; - const path = require('path'); - const Stream = require('stream').Stream; - const url = require('url'); - - const Umask = () => {}; - const getLocalAddresses = () => []; - const semver = () => {}; - - ${body} -`; - -const defaults = require.resolve('npm/lib/config/defaults'); -const ast = babylon.parse(fs.readFileSync(defaults, 'utf8')); - -const isDefaults = node => - node.callee.type === 'MemberExpression' && - node.callee.object.name === 'Object' && - node.callee.property.name === 'defineProperty' && - node.arguments.some(x => x.name === 'exports'); - -const isTypes = node => - node.type === 'MemberExpression' && - node.object.name === 'exports' && - node.property.name === 'types'; - -let defs; -let types; - -traverse(ast, { - CallExpression(path) { - if (isDefaults(path.node)) { - defs = path.node; - } - }, - AssignmentExpression(path) { - if (path.node.left && isTypes(path.node.left)) { - types = path.node; - } - } -}); - -fs.writeFileSync(path.join(__dirname, 'defaults.js'), defaultsTemplate(generate(defs, {}, ast).code)); -fs.writeFileSync(path.join(__dirname, 'types.js'), typesTemplate(generate(types, {}, ast).code)); diff --git a/node_modules/npm-conf/lib/types.js b/node_modules/npm-conf/lib/types.js deleted file mode 100644 index ae82bc5..0000000 --- a/node_modules/npm-conf/lib/types.js +++ /dev/null @@ -1,127 +0,0 @@ - - // Generated with `lib/make.js` - 'use strict'; - const path = require('path'); - const Stream = require('stream').Stream; - const url = require('url'); - - const Umask = () => {}; - const getLocalAddresses = () => []; - const semver = () => {}; - - exports.types = { - access: [null, 'restricted', 'public'], - 'allow-same-version': Boolean, - 'always-auth': Boolean, - also: [null, 'dev', 'development'], - 'auth-type': ['legacy', 'sso', 'saml', 'oauth'], - 'bin-links': Boolean, - browser: [null, String], - ca: [null, String, Array], - cafile: path, - cache: path, - 'cache-lock-stale': Number, - 'cache-lock-retries': Number, - 'cache-lock-wait': Number, - 'cache-max': Number, - 'cache-min': Number, - cert: [null, String], - color: ['always', Boolean], - depth: Number, - description: Boolean, - dev: Boolean, - 'dry-run': Boolean, - editor: String, - 'engine-strict': Boolean, - force: Boolean, - 'fetch-retries': Number, - 'fetch-retry-factor': Number, - 'fetch-retry-mintimeout': Number, - 'fetch-retry-maxtimeout': Number, - git: String, - 'git-tag-version': Boolean, - global: Boolean, - globalconfig: path, - 'global-style': Boolean, - group: [Number, String], - 'https-proxy': [null, url], - 'user-agent': String, - 'ham-it-up': Boolean, - 'heading': String, - 'if-present': Boolean, - 'ignore-prepublish': Boolean, - 'ignore-scripts': Boolean, - 'init-module': path, - 'init-author-name': String, - 'init-author-email': String, - 'init-author-url': ['', url], - 'init-license': String, - 'init-version': semver, - json: Boolean, - key: [null, String], - 'legacy-bundling': Boolean, - link: Boolean, - // local-address must be listed as an IP for a local network interface - // must be IPv4 due to node bug - 'local-address': getLocalAddresses(), - loglevel: ['silent', 'error', 'warn', 'notice', 'http', 'timing', 'info', 'verbose', 'silly'], - logstream: Stream, - 'logs-max': Number, - long: Boolean, - maxsockets: Number, - message: String, - 'metrics-registry': [null, String], - 'node-version': [null, semver], - offline: Boolean, - 'onload-script': [null, String], - only: [null, 'dev', 'development', 'prod', 'production'], - optional: Boolean, - 'package-lock': Boolean, - parseable: Boolean, - 'prefer-offline': Boolean, - 'prefer-online': Boolean, - prefix: path, - production: Boolean, - progress: Boolean, - 'proprietary-attribs': Boolean, - proxy: [null, false, url], - // allow proxy to be disabled explicitly - 'rebuild-bundle': Boolean, - registry: [null, url], - rollback: Boolean, - save: Boolean, - 'save-bundle': Boolean, - 'save-dev': Boolean, - 'save-exact': Boolean, - 'save-optional': Boolean, - 'save-prefix': String, - 'save-prod': Boolean, - scope: String, - 'script-shell': [null, String], - 'scripts-prepend-node-path': [false, true, 'auto', 'warn-only'], - searchopts: String, - searchexclude: [null, String], - searchlimit: Number, - searchstaleness: Number, - 'send-metrics': Boolean, - shell: String, - shrinkwrap: Boolean, - 'sign-git-tag': Boolean, - 'sso-poll-frequency': Number, - 'sso-type': [null, 'oauth', 'saml'], - 'strict-ssl': Boolean, - tag: String, - timing: Boolean, - tmp: path, - unicode: Boolean, - 'unsafe-perm': Boolean, - usage: Boolean, - user: [Number, String], - userconfig: path, - umask: Umask, - version: Boolean, - 'tag-version-prefix': String, - versions: Boolean, - viewer: String, - _exit: Boolean -} diff --git a/node_modules/npm-conf/lib/util.js b/node_modules/npm-conf/lib/util.js deleted file mode 100644 index 5cde7bc..0000000 --- a/node_modules/npm-conf/lib/util.js +++ /dev/null @@ -1,147 +0,0 @@ -'use strict'; -const fs = require('fs'); -const path = require('path'); -const types = require('./types'); - -// https://github.com/npm/npm/blob/latest/lib/config/core.js#L409-L423 -const envReplace = str => { - if (typeof str !== 'string' || !str) { - return str; - } - - // Replace any ${ENV} values with the appropriate environment - const regex = /(\\*)\$\{([^}]+)\}/g; - - return str.replace(regex, (orig, esc, name) => { - esc = esc.length > 0 && esc.length % 2; - - if (esc) { - return orig; - } - - if (process.env[name] === undefined) { - throw new Error(`Failed to replace env in config: ${orig}`); - } - - return process.env[name]; - }); -}; - -// https://github.com/npm/npm/blob/latest/lib/config/core.js#L362-L407 -const parseField = (field, key) => { - if (typeof field !== 'string') { - return field; - } - - const typeList = [].concat(types[key]); - const isPath = typeList.indexOf(path) !== -1; - const isBool = typeList.indexOf(Boolean) !== -1; - const isString = typeList.indexOf(String) !== -1; - const isNumber = typeList.indexOf(Number) !== -1; - - field = `${field}`.trim(); - - if (/^".*"$/.test(field)) { - try { - field = JSON.parse(field); - } catch (err) { - throw new Error(`Failed parsing JSON config key ${key}: ${field}`); - } - } - - if (isBool && !isString && field === '') { - return true; - } - - switch (field) { // eslint-disable-line default-case - case 'true': { - return true; - } - - case 'false': { - return false; - } - - case 'null': { - return null; - } - - case 'undefined': { - return undefined; - } - } - - field = envReplace(field); - - if (isPath) { - const regex = process.platform === 'win32' ? /^~(\/|\\)/ : /^~\//; - - if (regex.test(field) && process.env.HOME) { - field = path.resolve(process.env.HOME, field.substr(2)); - } - - field = path.resolve(field); - } - - if (isNumber && !field.isNan()) { - field = Number(field); - } - - return field; -}; - -// https://github.com/npm/npm/blob/latest/lib/config/find-prefix.js -const findPrefix = name => { - name = path.resolve(name); - - let walkedUp = false; - - while (path.basename(name) === 'node_modules') { - name = path.dirname(name); - walkedUp = true; - } - - if (walkedUp) { - return name; - } - - const find = (name, original) => { - const regex = /^[a-zA-Z]:(\\|\/)?$/; - - if (name === '/' || (process.platform === 'win32' && regex.test(name))) { - return original; - } - - try { - const files = fs.readdirSync(name); - - if (files.indexOf('node_modules') !== -1 || files.indexOf('package.json') !== -1) { - return name; - } - - const dirname = path.dirname(name); - - if (dirname === name) { - return original; - } - - return find(dirname, original); - } catch (err) { - if (name === original) { - if (err.code === 'ENOENT') { - return original; - } - - throw err; - } - - return original; - } - }; - - return find(name, name); -}; - -exports.envReplace = envReplace; -exports.findPrefix = findPrefix; -exports.parseField = parseField; |