diff --git a/node_modules/@npmcli/run-script/node_modules/read-package-json-fast/LICENSE b/node_modules/@npmcli/run-script/node_modules/read-package-json-fast/LICENSE deleted file mode 100644 index 20a4762540923..0000000000000 --- a/node_modules/@npmcli/run-script/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/@npmcli/run-script/node_modules/read-package-json-fast/README.md b/node_modules/@npmcli/run-script/node_modules/read-package-json-fast/README.md deleted file mode 100644 index 5ab6adbece825..0000000000000 --- a/node_modules/@npmcli/run-script/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/@npmcli/run-script/node_modules/read-package-json-fast/index.js b/node_modules/@npmcli/run-script/node_modules/read-package-json-fast/index.js deleted file mode 100644 index bfef5d6abcacc..0000000000000 --- a/node_modules/@npmcli/run-script/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/@npmcli/run-script/node_modules/read-package-json-fast/package.json b/node_modules/@npmcli/run-script/node_modules/read-package-json-fast/package.json deleted file mode 100644 index a59a3b2e86e9b..0000000000000 --- a/node_modules/@npmcli/run-script/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/@npmcli/run-script/package.json b/node_modules/@npmcli/run-script/package.json index 7adb5c76d82cc..332f1e74df657 100644 --- a/node_modules/@npmcli/run-script/package.json +++ b/node_modules/@npmcli/run-script/package.json @@ -1,6 +1,6 @@ { "name": "@npmcli/run-script", - "version": "1.8.1", + "version": "1.8.2", "description": "Run a lifecycle script for a package (descendant of npm-lifecycle)", "author": "Isaac Z. Schlueter (https://izs.me)", "license": "ISC", @@ -18,22 +18,22 @@ "coverage-map": "map.js" }, "devDependencies": { - "eslint": "^7.10.0", + "eslint": "^7.19.0", "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^4.0.1", + "eslint-plugin-standard": "^5.0.0", "minipass": "^3.1.1", "require-inject": "^1.4.4", - "tap": "^14.10.6" + "tap": "^14.11.0" }, "dependencies": { - "@npmcli/node-gyp": "^1.0.0", - "@npmcli/promise-spawn": "^1.3.0", + "@npmcli/node-gyp": "^1.0.1", + "@npmcli/promise-spawn": "^1.3.2", "infer-owner": "^1.0.4", "node-gyp": "^7.1.0", "puka": "^1.0.1", - "read-package-json-fast": "^1.1.3" + "read-package-json-fast": "^2.0.1" }, "files": [ "lib/**/*.js", diff --git a/package-lock.json b/package-lock.json index 48882ca4c30ae..1ca15b4b1864b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -361,7 +361,7 @@ "@npmcli/arborist": "^2.2.0", "@npmcli/ci-detect": "^1.2.0", "@npmcli/config": "^1.2.9", - "@npmcli/run-script": "^1.8.1", + "@npmcli/run-script": "^1.8.2", "abbrev": "~1.1.1", "ansicolors": "~0.3.2", "ansistyles": "~0.1.3", @@ -883,27 +883,17 @@ } }, "node_modules/@npmcli/run-script": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.1.tgz", - "integrity": "sha512-G8c86g9cQHyRINosIcpovzv0BkXQc3urhL1ORf3KTe4TS4UBsg2O4Z2feca/W3pfzdHEJzc83ETBW4aKbb3SaA==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.2.tgz", + "integrity": "sha512-iwKq152Q62zG2rz/zRqT/OLDKcF1nBGTGmFdHRkTV8JRte6bUt18vPG4vOr/uoECecrIuJe1SSyvuUF32yt5BA==", "inBundle": true, "dependencies": { - "@npmcli/node-gyp": "^1.0.0", - "@npmcli/promise-spawn": "^1.3.0", + "@npmcli/node-gyp": "^1.0.1", + "@npmcli/promise-spawn": "^1.3.2", "infer-owner": "^1.0.4", "node-gyp": "^7.1.0", "puka": "^1.0.1", - "read-package-json-fast": "^1.1.3" - } - }, - "node_modules/@npmcli/run-script/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" + "read-package-json-fast": "^2.0.1" } }, "node_modules/@tootallnate/once": { @@ -10156,27 +10146,16 @@ } }, "@npmcli/run-script": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.1.tgz", - "integrity": "sha512-G8c86g9cQHyRINosIcpovzv0BkXQc3urhL1ORf3KTe4TS4UBsg2O4Z2feca/W3pfzdHEJzc83ETBW4aKbb3SaA==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.2.tgz", + "integrity": "sha512-iwKq152Q62zG2rz/zRqT/OLDKcF1nBGTGmFdHRkTV8JRte6bUt18vPG4vOr/uoECecrIuJe1SSyvuUF32yt5BA==", "requires": { - "@npmcli/node-gyp": "^1.0.0", - "@npmcli/promise-spawn": "^1.3.0", + "@npmcli/node-gyp": "^1.0.1", + "@npmcli/promise-spawn": "^1.3.2", "infer-owner": "^1.0.4", "node-gyp": "^7.1.0", "puka": "^1.0.1", - "read-package-json-fast": "^1.1.3" - }, - "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" - } - } + "read-package-json-fast": "^2.0.1" } }, "@tootallnate/once": { diff --git a/package.json b/package.json index 2f75fc17a8f24..ba4b54a2dd65d 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@npmcli/arborist": "^2.2.0", "@npmcli/ci-detect": "^1.2.0", "@npmcli/config": "^1.2.9", - "@npmcli/run-script": "^1.8.1", + "@npmcli/run-script": "^1.8.2", "abbrev": "~1.1.1", "ansicolors": "~0.3.2", "ansistyles": "~0.1.3",