Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGar <gar+gh@danger.computer>2022-04-05 20:24:12 +0300
committerGar <wraithgar@github.com>2022-04-07 00:29:40 +0300
commit02304284ddd147e604835a000d3a28a2deb65702 (patch)
tree06cd84504f7d9a285e5c0725cc445bf38c21ce52 /node_modules
parent3a76dff3f49af9688a44a508d956f2091363b66d (diff)
deps: @npmcli/config@4.0.2
Diffstat (limited to 'node_modules')
-rw-r--r--node_modules/@npmcli/config/lib/env-replace.js4
-rw-r--r--node_modules/@npmcli/config/lib/index.js8
-rw-r--r--node_modules/@npmcli/config/lib/parse-field.js2
-rw-r--r--node_modules/@npmcli/config/node_modules/ini/LICENSE15
-rw-r--r--node_modules/@npmcli/config/node_modules/ini/lib/ini.js228
-rw-r--r--node_modules/@npmcli/config/node_modules/ini/package.json41
-rw-r--r--node_modules/@npmcli/config/package.json28
7 files changed, 306 insertions, 20 deletions
diff --git a/node_modules/@npmcli/config/lib/env-replace.js b/node_modules/@npmcli/config/lib/env-replace.js
index e0f7276b1..c851f6e4d 100644
--- a/node_modules/@npmcli/config/lib/env-replace.js
+++ b/node_modules/@npmcli/config/lib/env-replace.js
@@ -7,8 +7,8 @@ module.exports = (f, env) => f.replace(envExpr, (orig, esc, name) => {
// consume the escape chars that are relevant.
if (esc.length % 2) {
- return orig.substr((esc.length + 1) / 2)
+ return orig.slice((esc.length + 1) / 2)
}
- return (esc.substr(esc.length / 2)) + val
+ return (esc.slice(esc.length / 2)) + val
})
diff --git a/node_modules/@npmcli/config/lib/index.js b/node_modules/@npmcli/config/lib/index.js
index 7c34de801..bb8c24602 100644
--- a/node_modules/@npmcli/config/lib/index.js
+++ b/node_modules/@npmcli/config/lib/index.js
@@ -366,7 +366,7 @@ class Config {
if (!/^npm_config_/i.test(envKey) || envVal === '') {
continue
}
- const key = envKey.substr('npm_config_'.length)
+ const key = envKey.slice('npm_config_'.length)
.replace(/(?!^)_/g, '-') // don't replace _ at the start of the key
.toLowerCase()
conf[key] = envVal
@@ -396,13 +396,13 @@ class Config {
validate (where) {
if (!where) {
let valid = true
- for (const [where] of this.data.entries()) {
+ for (const [entryWhere] of this.data.entries()) {
// no need to validate our defaults, we know they're fine
// cli was already validated when parsed the first time
- if (where === 'default' || where === 'builtin' || where === 'cli') {
+ if (entryWhere === 'default' || entryWhere === 'builtin' || entryWhere === 'cli') {
continue
}
- const ret = this.validate(where)
+ const ret = this.validate(entryWhere)
valid = valid && ret
}
return valid
diff --git a/node_modules/@npmcli/config/lib/parse-field.js b/node_modules/@npmcli/config/lib/parse-field.js
index 9428996c9..0c905bf23 100644
--- a/node_modules/@npmcli/config/lib/parse-field.js
+++ b/node_modules/@npmcli/config/lib/parse-field.js
@@ -56,7 +56,7 @@ const parseField = (f, key, opts, listElement = false) => {
if (isPath) {
const homePattern = platform === 'win32' ? /^~(\/|\\)/ : /^~\//
if (homePattern.test(f) && home) {
- f = resolve(home, f.substr(2))
+ f = resolve(home, f.slice(2))
} else {
f = resolve(f)
}
diff --git a/node_modules/@npmcli/config/node_modules/ini/LICENSE b/node_modules/@npmcli/config/node_modules/ini/LICENSE
new file mode 100644
index 000000000..19129e315
--- /dev/null
+++ b/node_modules/@npmcli/config/node_modules/ini/LICENSE
@@ -0,0 +1,15 @@
+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/@npmcli/config/node_modules/ini/lib/ini.js b/node_modules/@npmcli/config/node_modules/ini/lib/ini.js
new file mode 100644
index 000000000..965e70249
--- /dev/null
+++ b/node_modules/@npmcli/config/node_modules/ini/lib/ini.js
@@ -0,0 +1,228 @@
+const { hasOwnProperty } = Object.prototype
+
+/* istanbul ignore next */
+const eol = typeof process !== 'undefined' &&
+ process.platform === 'win32' ? '\r\n' : '\n'
+
+const encode = (obj, opt) => {
+ const children = []
+ let out = ''
+
+ if (typeof opt === 'string') {
+ opt = {
+ section: opt,
+ whitespace: false,
+ }
+ } else {
+ opt = opt || Object.create(null)
+ opt.whitespace = opt.whitespace === true
+ }
+
+ const separator = opt.whitespace ? ' = ' : '='
+
+ for (const k of Object.keys(obj)) {
+ const val = obj[k]
+ if (val && Array.isArray(val)) {
+ for (const item of val) {
+ out += safe(k + '[]') + separator + safe(item) + eol
+ }
+ } 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
+ }
+
+ for (const k of children) {
+ const nk = dotSplit(k).join('\\.')
+ const section = (opt.section ? opt.section + '.' : '') + nk
+ const { whitespace } = opt
+ const child = encode(obj[k], {
+ section,
+ whitespace,
+ })
+ if (out.length && child.length) {
+ out += eol
+ }
+
+ out += child
+ }
+
+ return out
+}
+
+const dotSplit = str =>
+ str.replace(/\1/g, '\u0002LITERAL\\1LITERAL\u0002')
+ .replace(/\\\./g, '\u0001')
+ .split(/\./)
+ .map(part =>
+ part.replace(/\1/g, '\\.')
+ .replace(/\2LITERAL\\1LITERAL\2/g, '\u0001'))
+
+const decode = str => {
+ const out = Object.create(null)
+ let p = out
+ let section = null
+ // section |key = value
+ const re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i
+ const lines = str.split(/[\r\n]+/g)
+
+ for (const line of lines) {
+ if (!line || line.match(/^\s*[;#]/)) {
+ continue
+ }
+ const match = line.match(re)
+ if (!match) {
+ continue
+ }
+ if (match[1] !== undefined) {
+ section = unsafe(match[1])
+ if (section === '__proto__') {
+ // not allowed
+ // keep parsing the section, but don't attach it.
+ p = Object.create(null)
+ continue
+ }
+ p = out[section] = out[section] || Object.create(null)
+ continue
+ }
+ const keyRaw = unsafe(match[2])
+ const isArray = keyRaw.length > 2 && keyRaw.slice(-2) === '[]'
+ const key = isArray ? keyRaw.slice(0, -2) : keyRaw
+ if (key === '__proto__') {
+ continue
+ }
+ const valueRaw = match[3] ? unsafe(match[4]) : true
+ const value = valueRaw === 'true' ||
+ valueRaw === 'false' ||
+ valueRaw === 'null' ? JSON.parse(valueRaw)
+ : valueRaw
+
+ // Convert keys with '[]' suffix to an array
+ if (isArray) {
+ if (!hasOwnProperty.call(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.
+ const remove = []
+ for (const k of Object.keys(out)) {
+ if (!hasOwnProperty.call(out, k) ||
+ typeof out[k] !== 'object' ||
+ Array.isArray(out[k])) {
+ continue
+ }
+
+ // see if the parent section is also an object.
+ // if so, add it to that, and mark this one for deletion
+ const parts = dotSplit(k)
+ p = out
+ const l = parts.pop()
+ const nl = l.replace(/\\\./g, '.')
+ for (const part of parts) {
+ if (part === '__proto__') {
+ continue
+ }
+ if (!hasOwnProperty.call(p, part) || typeof p[part] !== 'object') {
+ p[part] = Object.create(null)
+ }
+ p = p[part]
+ }
+ if (p === out && nl === l) {
+ continue
+ }
+
+ p[nl] = out[k]
+ remove.push(k)
+ }
+ for (const del of remove) {
+ delete out[del]
+ }
+
+ return out
+}
+
+const isQuoted = val => {
+ return (val.startsWith('"') && val.endsWith('"')) ||
+ (val.startsWith("'") && val.endsWith("'"))
+}
+
+const safe = val => {
+ if (
+ typeof val !== 'string' ||
+ val.match(/[=\r\n]/) ||
+ val.match(/^\[/) ||
+ (val.length > 1 && isQuoted(val)) ||
+ val !== val.trim()
+ ) {
+ return JSON.stringify(val)
+ }
+ return val.split(';').join('\\;').split('#').join('\\#')
+}
+
+const unsafe = (val, doUnesc) => {
+ val = (val || '').trim()
+ if (isQuoted(val)) {
+ // remove the single quotes before calling JSON.parse
+ if (val.charAt(0) === "'") {
+ val = val.slice(1, -1)
+ }
+ try {
+ val = JSON.parse(val)
+ } catch (_) {}
+ } else {
+ // walk the val to find the first not-escaped ; character
+ let esc = false
+ let unesc = ''
+ for (let i = 0, l = val.length; i < l; i++) {
+ const 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
+}
+
+module.exports = {
+ parse: decode,
+ decode,
+ stringify: encode,
+ encode,
+ safe,
+ unsafe,
+}
diff --git a/node_modules/@npmcli/config/node_modules/ini/package.json b/node_modules/@npmcli/config/node_modules/ini/package.json
new file mode 100644
index 000000000..1fe32c8f1
--- /dev/null
+++ b/node_modules/@npmcli/config/node_modules/ini/package.json
@@ -0,0 +1,41 @@
+{
+ "author": "GitHub Inc.",
+ "name": "ini",
+ "description": "An ini encoder/decoder for node",
+ "version": "3.0.0",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/npm/ini.git"
+ },
+ "main": "lib/ini.js",
+ "scripts": {
+ "eslint": "eslint",
+ "lint": "eslint \"**/*.js\"",
+ "lintfix": "npm run lint -- --fix",
+ "test": "tap",
+ "snap": "tap",
+ "posttest": "npm run lint",
+ "preversion": "npm test",
+ "postversion": "npm publish",
+ "prepublishOnly": "git push origin --follow-tags",
+ "postlint": "template-oss-check",
+ "template-oss-apply": "template-oss-apply --force"
+ },
+ "devDependencies": {
+ "@npmcli/eslint-config": "^3.0.1",
+ "@npmcli/template-oss": "3.2.2",
+ "tap": "^16.0.1"
+ },
+ "license": "ISC",
+ "files": [
+ "bin/",
+ "lib/"
+ ],
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ },
+ "templateOSS": {
+ "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
+ "version": "3.2.2"
+ }
+}
diff --git a/node_modules/@npmcli/config/package.json b/node_modules/@npmcli/config/package.json
index c36e06230..fff1575ea 100644
--- a/node_modules/@npmcli/config/package.json
+++ b/node_modules/@npmcli/config/package.json
@@ -1,15 +1,15 @@
{
"name": "@npmcli/config",
- "version": "4.0.1",
+ "version": "4.0.2",
"files": [
- "bin",
- "lib"
+ "bin/",
+ "lib/"
],
"main": "lib/index.js",
"description": "Configuration management for the npm cli",
"repository": {
"type": "git",
- "url": "git+https://github.com/npm/config"
+ "url": "https://github.com/npm/config.git"
},
"author": "GitHub Inc.",
"license": "ISC",
@@ -19,23 +19,24 @@
"preversion": "npm test",
"postversion": "npm publish",
"prepublishOnly": "git push origin --follow-tags",
- "lint": "eslint '**/*.js'",
- "postlint": "npm-template-check",
+ "lint": "eslint \"**/*.js\"",
+ "postlint": "template-oss-check",
"lintfix": "npm run lint -- --fix",
"posttest": "npm run lint",
- "template-copy": "npm-template-copy --force"
+ "template-oss-apply": "template-oss-apply --force"
},
"tap": {
"check-coverage": true,
"coverage-map": "map.js"
},
"devDependencies": {
- "@npmcli/template-oss": "^2.8.1",
- "tap": "^15.1.6"
+ "@npmcli/eslint-config": "^3.0.1",
+ "@npmcli/template-oss": "3.2.2",
+ "tap": "^16.0.1"
},
"dependencies": {
- "@npmcli/map-workspaces": "^2.0.1",
- "ini": "^2.0.0",
+ "@npmcli/map-workspaces": "^2.0.2",
+ "ini": "^3.0.0",
"mkdirp-infer-owner": "^2.0.0",
"nopt": "^5.0.0",
"proc-log": "^2.0.0",
@@ -44,9 +45,10 @@
"walk-up-path": "^1.0.0"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
},
"templateOSS": {
- "version": "2.8.1"
+ "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
+ "version": "3.2.2"
}
}