diff --git a/node_modules/libnpmversion/node_modules/read-package-json-fast/LICENSE b/node_modules/libnpmversion/node_modules/read-package-json-fast/LICENSE deleted file mode 100644 index 20a4762540923..0000000000000 --- a/node_modules/libnpmversion/node_modules/read-package-json-fast/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) npm, Inc. 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/libnpmversion/node_modules/read-package-json-fast/README.md b/node_modules/libnpmversion/node_modules/read-package-json-fast/README.md deleted file mode 100644 index 5ab6adbece825..0000000000000 --- a/node_modules/libnpmversion/node_modules/read-package-json-fast/README.md +++ /dev/null @@ -1,79 +0,0 @@ -# read-package-json-fast - -Like [`read-package-json`](http://npm.im/read-package-json), but faster and -more accepting of "missing" data. - -This is only suitable for reading package.json files in a node_modules -tree, since it doesn't do the various cleanups, normalization, and warnings -that are beneficial at the root level in a package being published. - -## USAGE - -```js -const rpj = require('read-package-json-fast') - -// typical promisey type API -rpj('/path/to/package.json') - .then(data => ...) - .catch(er => ...) - -// or just normalize a package manifest -const normalized = rpj.normalize(packageJsonObject) -``` - -Errors raised from parsing will use -[`json-parse-even-better-errors`](http://npm.im/json-parse-even-better-errors), -so they'll be of type `JSONParseError` and have a `code: 'EJSONPARSE'` -property. Errors will also always have a `path` member referring to the -path originally passed into the function. - -## Indentation - -To preserve indentation when the file is saved back to disk, use -`data[Symbol.for('indent')]` as the third argument to `JSON.stringify`, and -if you want to preserve windows `\r\n` newlines, replace the `\n` chars in -the string with `data[Symbol.for('newline')]`. - -For example: - -```js -const data = await readPackageJsonFast('./package.json') -const indent = Symbol.for('indent') -const newline = Symbol.for('newline') -// .. do some stuff to the data .. -const string = JSON.stringify(data, null, data[indent]) + '\n' -const eolFixed = data[newline] === '\n' ? string - : string.replace(/\n/g, data[newline]) -await writeFile('./package.json', eolFixed) -``` - -Indentation is determined by looking at the whitespace between the initial -`{` and the first `"` that follows it. If you have lots of weird -inconsistent indentation, then it won't track that or give you any way to -preserve it. Whether this is a bug or a feature is debatable ;) - -## WHAT THIS MODULE DOES - -- Parse JSON -- Normalize `bundledDependencies`/`bundleDependencies` naming to just - `bundleDependencies` (without the extra `d`) -- Handle `true`, `false`, or object values passed to `bundleDependencies` -- Normalize `funding: ` to `funding: { url: }` -- Remove any `scripts` members that are not a string value. -- Normalize a string `bin` member to `{ [name]: bin }`. -- Fold `optionalDependencies` into `dependencies`. -- Set the `_id` property if name and version are set. (This is - load-bearing in a few places within the npm CLI.) - -## WHAT THIS MODULE DOES NOT DO - -- Warn about invalid/missing name, version, repository, etc. -- Extract a description from the `README.md` file, or attach the readme to - the parsed data object. -- Read the `HEAD` value out of the `.git` folder. -- Warn about potentially typo'ed scripts (eg, `tset` instead of `test`) -- Check to make sure that all the files in the `files` field exist and are - valid files. -- Fix bundleDependencies that are not listed in `dependencies`. -- Fix `dependencies` fields that are not strictly objects of string values. -- Anything involving the `directories` field (ie, bins, mans, and so on). diff --git a/node_modules/libnpmversion/node_modules/read-package-json-fast/index.js b/node_modules/libnpmversion/node_modules/read-package-json-fast/index.js deleted file mode 100644 index bfef5d6abcacc..0000000000000 --- a/node_modules/libnpmversion/node_modules/read-package-json-fast/index.js +++ /dev/null @@ -1,82 +0,0 @@ -const {promisify} = require('util') -const fs = require('fs') -const readFile = promisify(fs.readFile) -const parse = require('json-parse-even-better-errors') -const rpj = path => readFile(path, 'utf8') - .then(data => normalize(parse(data))) - .catch(er => { - er.path = path - throw er - }) -const normalizePackageBin = require('npm-normalize-package-bin') - -const normalize = data => { - add_id(data) - fixBundled(data) - foldinOptionalDeps(data) - fixScripts(data) - fixFunding(data) - normalizePackageBin(data) - return data -} - -rpj.normalize = normalize - -const add_id = data => { - if (data.name && data.version) - data._id = `${data.name}@${data.version}` - return data -} - -const foldinOptionalDeps = data => { - const od = data.optionalDependencies - if (od && typeof od === 'object') { - data.dependencies = data.dependencies || {} - for (const [name, spec] of Object.entries(od)) { - data.dependencies[name] = spec - } - } - return data -} - -const fixBundled = data => { - const bdd = data.bundledDependencies - const bd = data.bundleDependencies === undefined ? bdd - : data.bundleDependencies - - if (bd === false) - data.bundleDependencies = [] - else if (bd === true) - data.bundleDependencies = Object.keys(data.dependencies || {}) - else if (bd && typeof bd === 'object') { - if (!Array.isArray(bd)) - data.bundleDependencies = Object.keys(bd) - else - data.bundleDependencies = bd - } else - delete data.bundleDependencies - - delete data.bundledDependencies - return data -} - -const fixScripts = data => { - if (!data.scripts || typeof data.scripts !== 'object') { - delete data.scripts - return data - } - - for (const [name, script] of Object.entries(data.scripts)) { - if (typeof script !== 'string') - delete data.scripts[name] - } - return data -} - -const fixFunding = data => { - if (data.funding && typeof data.funding === 'string') - data.funding = { url: data.funding } - return data -} - -module.exports = rpj diff --git a/node_modules/libnpmversion/node_modules/read-package-json-fast/package.json b/node_modules/libnpmversion/node_modules/read-package-json-fast/package.json deleted file mode 100644 index a59a3b2e86e9b..0000000000000 --- a/node_modules/libnpmversion/node_modules/read-package-json-fast/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "read-package-json-fast", - "version": "1.2.1", - "description": "Like read-package-json, but faster", - "author": "Isaac Z. Schlueter (https://izs.me)", - "license": "ISC", - "scripts": { - "test": "tap", - "snap": "tap", - "preversion": "npm test", - "postversion": "npm publish", - "postpublish": "git push origin --follow-tags" - }, - "tap": { - "check-coverage": true - }, - "devDependencies": { - "tap": "^14.10.1" - }, - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/npm/read-package-json-fast.git" - }, - "files": [ - "index.js" - ] -} diff --git a/node_modules/libnpmversion/package.json b/node_modules/libnpmversion/package.json index d7e8d5fa58647..b19edd84171f1 100644 --- a/node_modules/libnpmversion/package.json +++ b/node_modules/libnpmversion/package.json @@ -1,6 +1,6 @@ { "name": "libnpmversion", - "version": "1.0.7", + "version": "1.0.8", "main": "lib/index.js", "files": [ "lib/*.js" @@ -25,13 +25,13 @@ }, "devDependencies": { "require-inject": "^1.4.4", - "tap": "^14.10.6" + "tap": "^14.11.0" }, "dependencies": { - "@npmcli/git": "^2.0.1", - "@npmcli/run-script": "^1.2.1", - "read-package-json-fast": "^1.2.1", - "semver": "^7.1.3", + "@npmcli/git": "^2.0.4", + "@npmcli/run-script": "^1.8.2", + "read-package-json-fast": "^2.0.1", + "semver": "^7.3.4", "stringify-package": "^1.0.1" } } diff --git a/package-lock.json b/package-lock.json index 34feadd705395..4d56291112a15 100644 --- a/package-lock.json +++ b/package-lock.json @@ -390,7 +390,7 @@ "libnpmpublish": "^4.0.0", "libnpmsearch": "^3.1.0", "libnpmteam": "^2.0.2", - "libnpmversion": "^1.0.7", + "libnpmversion": "^1.0.8", "make-fetch-happen": "^8.0.13", "minipass": "^3.1.3", "minipass-pipeline": "^1.2.4", @@ -4398,28 +4398,18 @@ } }, "node_modules/libnpmversion": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/libnpmversion/-/libnpmversion-1.0.7.tgz", - "integrity": "sha512-WNJOnu7pqXv66Szz8pBBf7xFdPobd6fRjf1n2wBjmhy1bsQ5Ifkdfsn0UaQE7JffKs5geoAe7JiBQO2hHSQN7A==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/libnpmversion/-/libnpmversion-1.0.8.tgz", + "integrity": "sha512-WrLLHx+y+0or9IycspDOWVCMde/NGo1AU97CHidjB7DeOjtbfjCOGwqem8z+WsgCnLHjwcvMaP63l7cJG2i9pg==", "inBundle": true, "dependencies": { - "@npmcli/git": "^2.0.1", - "@npmcli/run-script": "^1.2.1", - "read-package-json-fast": "^1.2.1", - "semver": "^7.1.3", + "@npmcli/git": "^2.0.4", + "@npmcli/run-script": "^1.8.2", + "read-package-json-fast": "^2.0.1", + "semver": "^7.3.4", "stringify-package": "^1.0.1" } }, - "node_modules/libnpmversion/node_modules/read-package-json-fast": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.2.1.tgz", - "integrity": "sha512-OFbpwnHcv74Oa5YN5WvbOBfLw6yPmPcwvyJJw/tj9cWFBF7juQUDLDSZiOjEcgzfweWeeROOmbPpNN1qm4hcRg==", - "inBundle": true, - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - } - }, "node_modules/load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -12690,26 +12680,15 @@ } }, "libnpmversion": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/libnpmversion/-/libnpmversion-1.0.7.tgz", - "integrity": "sha512-WNJOnu7pqXv66Szz8pBBf7xFdPobd6fRjf1n2wBjmhy1bsQ5Ifkdfsn0UaQE7JffKs5geoAe7JiBQO2hHSQN7A==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/libnpmversion/-/libnpmversion-1.0.8.tgz", + "integrity": "sha512-WrLLHx+y+0or9IycspDOWVCMde/NGo1AU97CHidjB7DeOjtbfjCOGwqem8z+WsgCnLHjwcvMaP63l7cJG2i9pg==", "requires": { - "@npmcli/git": "^2.0.1", - "@npmcli/run-script": "^1.2.1", - "read-package-json-fast": "^1.2.1", - "semver": "^7.1.3", + "@npmcli/git": "^2.0.4", + "@npmcli/run-script": "^1.8.2", + "read-package-json-fast": "^2.0.1", + "semver": "^7.3.4", "stringify-package": "^1.0.1" - }, - "dependencies": { - "read-package-json-fast": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.2.1.tgz", - "integrity": "sha512-OFbpwnHcv74Oa5YN5WvbOBfLw6yPmPcwvyJJw/tj9cWFBF7juQUDLDSZiOjEcgzfweWeeROOmbPpNN1qm4hcRg==", - "requires": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - } - } } }, "load-json-file": { diff --git a/package.json b/package.json index 29b15b80eb3d0..7db952421f4f9 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "libnpmpublish": "^4.0.0", "libnpmsearch": "^3.1.0", "libnpmteam": "^2.0.2", - "libnpmversion": "^1.0.7", + "libnpmversion": "^1.0.8", "make-fetch-happen": "^8.0.13", "minipass": "^3.1.3", "minipass-pipeline": "^1.2.4",