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

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuy Adorno <ruyadorno@hotmail.com>2020-11-17 23:37:44 +0300
committerRich Trott <rtrott@gmail.com>2020-11-20 16:27:50 +0300
commit8d381c0ff0e1cc8e2aa64e202a514f0022264907 (patch)
tree1a978e3b9961d1c5a9bca7a60d6cdb6eb6dafac8 /deps/npm/lib
parent80a83d9e244a9c129e2e6ae941e41f83dde84edb (diff)
deps: upgrade npm to 7.0.12
PR-URL: https://github.com/nodejs/node/pull/36153 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Diffstat (limited to 'deps/npm/lib')
-rw-r--r--deps/npm/lib/audit.js4
-rw-r--r--deps/npm/lib/ci.js4
-rw-r--r--deps/npm/lib/dedupe.js4
-rw-r--r--deps/npm/lib/init.js15
-rw-r--r--deps/npm/lib/install.js63
-rw-r--r--deps/npm/lib/link.js6
-rw-r--r--deps/npm/lib/prune.js4
-rw-r--r--deps/npm/lib/run-script.js2
-rw-r--r--deps/npm/lib/uninstall.js4
-rw-r--r--deps/npm/lib/update.js4
-rw-r--r--deps/npm/lib/utils/reify-finish.js31
11 files changed, 85 insertions, 56 deletions
diff --git a/deps/npm/lib/audit.js b/deps/npm/lib/audit.js
index e77beab1eff..cb8ab5b3a43 100644
--- a/deps/npm/lib/audit.js
+++ b/deps/npm/lib/audit.js
@@ -2,7 +2,7 @@ const Arborist = require('@npmcli/arborist')
const auditReport = require('npm-audit-report')
const npm = require('./npm.js')
const output = require('./utils/output.js')
-const reifyOutput = require('./utils/reify-output.js')
+const reifyFinish = require('./utils/reify-finish.js')
const auditError = require('./utils/audit-error.js')
const audit = async args => {
@@ -14,7 +14,7 @@ const audit = async args => {
const fix = args[0] === 'fix'
await arb.audit({ fix })
if (fix)
- reifyOutput(arb)
+ await reifyFinish(arb)
else {
// will throw if there's an error, because this is an audit command
auditError(arb.auditReport)
diff --git a/deps/npm/lib/ci.js b/deps/npm/lib/ci.js
index a1632e7e980..1255fbc2646 100644
--- a/deps/npm/lib/ci.js
+++ b/deps/npm/lib/ci.js
@@ -1,7 +1,7 @@
const util = require('util')
const Arborist = require('@npmcli/arborist')
const rimraf = util.promisify(require('rimraf'))
-const reifyOutput = require('./utils/reify-output.js')
+const reifyFinish = require('./utils/reify-finish.js')
const log = require('npmlog')
const npm = require('./npm.js')
@@ -35,7 +35,7 @@ const ci = async () => {
])
// npm ci should never modify the lockfile or package.json
await arb.reify({ ...npm.flatOptions, save: false })
- reifyOutput(arb)
+ await reifyFinish(arb)
}
module.exports = Object.assign(cmd, { completion, usage })
diff --git a/deps/npm/lib/dedupe.js b/deps/npm/lib/dedupe.js
index a08c9f3f8f3..fe8243e21e4 100644
--- a/deps/npm/lib/dedupe.js
+++ b/deps/npm/lib/dedupe.js
@@ -2,7 +2,7 @@
const npm = require('./npm.js')
const Arborist = require('@npmcli/arborist')
const usageUtil = require('./utils/usage.js')
-const reifyOutput = require('./utils/reify-output.js')
+const reifyFinish = require('./utils/reify-finish.js')
const usage = usageUtil('dedupe', 'npm dedupe')
const completion = require('./utils/completion/none.js')
@@ -18,7 +18,7 @@ const dedupe = async (args) => {
dryRun,
})
await arb.dedupe(npm.flatOptions)
- reifyOutput(arb)
+ await reifyFinish(arb)
}
module.exports = Object.assign(cmd, { usage, completion })
diff --git a/deps/npm/lib/init.js b/deps/npm/lib/init.js
index e805a2eda77..ed476ef38cb 100644
--- a/deps/npm/lib/init.js
+++ b/deps/npm/lib/init.js
@@ -1,11 +1,11 @@
-// initialize a package.json file
-
-const usageUtil = require('./utils/usage.js')
-const completion = require('./utils/completion/none.js')
+'use strict'
+const initJson = require('init-package-json')
const npa = require('npm-package-arg')
+
const npm = require('./npm.js')
-const initJson = require('init-package-json')
+const usageUtil = require('./utils/usage.js')
+const completion = require('./utils/completion/none.js')
const output = require('./utils/output.js')
const usage = usageUtil(
@@ -78,11 +78,12 @@ const init = async args => {
npm.log.warn('init', 'canceled')
return res()
}
- npm.log.info('init', 'written successfully')
if (er)
rej(er)
- else
+ else {
+ npm.log.info('init', 'written successfully')
res(data)
+ }
})
})
}
diff --git a/deps/npm/lib/install.js b/deps/npm/lib/install.js
index 5f04fcd4f9d..f621c85c23e 100644
--- a/deps/npm/lib/install.js
+++ b/deps/npm/lib/install.js
@@ -6,13 +6,15 @@ const util = require('util')
const readdir = util.promisify(fs.readdir)
const npm = require('./npm.js')
const usageUtil = require('./utils/usage.js')
-const reifyOutput = require('./utils/reify-output.js')
+const reifyFinish = require('./utils/reify-finish.js')
const log = require('npmlog')
const { resolve, join } = require('path')
const Arborist = require('@npmcli/arborist')
const runScript = require('@npmcli/run-script')
-const install = async (args, cb) => {
+const cmd = async (args, cb) => install(args).then(() => cb()).catch(cb)
+
+const install = async args => {
// the /path/to/node_modules/..
const globalTop = resolve(npm.globalDir, '..')
const { ignoreScripts, global: isGlobalInstall } = npm.flatOptions
@@ -34,38 +36,33 @@ const install = async (args, cb) => {
path: where,
})
- try {
- await arb.reify({
- ...npm.flatOptions,
- add: args,
- })
- if (!args.length && !isGlobalInstall && !ignoreScripts) {
- const { scriptShell } = npm.flatOptions
- const scripts = [
- 'preinstall',
- 'install',
- 'postinstall',
- 'prepublish', // XXX should we remove this finally??
- 'preprepare',
- 'prepare',
- 'postprepare',
- ]
- for (const event of scripts) {
- await runScript({
- path: where,
- args: [],
- scriptShell,
- stdio: 'inherit',
- stdioString: true,
- event,
- })
- }
+ await arb.reify({
+ ...npm.flatOptions,
+ add: args,
+ })
+ if (!args.length && !isGlobalInstall && !ignoreScripts) {
+ const { scriptShell } = npm.flatOptions
+ const scripts = [
+ 'preinstall',
+ 'install',
+ 'postinstall',
+ 'prepublish', // XXX should we remove this finally??
+ 'preprepare',
+ 'prepare',
+ 'postprepare',
+ ]
+ for (const event of scripts) {
+ await runScript({
+ path: where,
+ args: [],
+ scriptShell,
+ stdio: 'inherit',
+ stdioString: true,
+ event,
+ })
}
- reifyOutput(arb)
- cb()
- } catch (er) {
- cb(er)
}
+ await reifyFinish(arb)
}
const usage = usageUtil(
@@ -144,4 +141,4 @@ const completion = async (opts, cb) => {
cb()
}
-module.exports = Object.assign(install, { usage, completion })
+module.exports = Object.assign(cmd, { usage, completion })
diff --git a/deps/npm/lib/link.js b/deps/npm/lib/link.js
index d7303fd086c..bee44d43a7f 100644
--- a/deps/npm/lib/link.js
+++ b/deps/npm/lib/link.js
@@ -10,7 +10,7 @@ const semver = require('semver')
const npm = require('./npm.js')
const usageUtil = require('./utils/usage.js')
-const reifyOutput = require('./utils/reify-output.js')
+const reifyFinish = require('./utils/reify-finish.js')
const completion = (opts, cb) => {
const dir = npm.globalDir
@@ -122,7 +122,7 @@ const linkInstall = async args => {
add: names.map(l => `file:${resolve(globalTop, 'node_modules', l)}`),
})
- reifyOutput(localArb)
+ await reifyFinish(localArb)
}
const linkPkg = async () => {
@@ -133,7 +133,7 @@ const linkPkg = async () => {
global: true,
})
await arb.reify({ add: [`file:${npm.prefix}`] })
- reifyOutput(arb)
+ await reifyFinish(arb)
}
module.exports = Object.assign(cmd, { completion, usage })
diff --git a/deps/npm/lib/prune.js b/deps/npm/lib/prune.js
index aa2ed378088..ea6ed4108ab 100644
--- a/deps/npm/lib/prune.js
+++ b/deps/npm/lib/prune.js
@@ -3,7 +3,7 @@ const npm = require('./npm.js')
const Arborist = require('@npmcli/arborist')
const usageUtil = require('./utils/usage.js')
-const reifyOutput = require('./utils/reify-output.js')
+const reifyFinish = require('./utils/reify-finish.js')
const usage = usageUtil('prune',
'npm prune [[<@scope>/]<pkg>...] [--production]'
@@ -19,7 +19,7 @@ const prune = async () => {
path: where,
})
await arb.prune(npm.flatOptions)
- reifyOutput(arb)
+ await reifyFinish(arb)
}
module.exports = Object.assign(cmd, { usage, completion })
diff --git a/deps/npm/lib/run-script.js b/deps/npm/lib/run-script.js
index 568a5712f6a..c095e6decd4 100644
--- a/deps/npm/lib/run-script.js
+++ b/deps/npm/lib/run-script.js
@@ -46,7 +46,7 @@ const runScript = async (args) => {
pkg.scripts = scripts
- if (!scripts[event] && !(event === 'start' && await isServerPackage(path))) {
+ if (!Object.prototype.hasOwnProperty.call(scripts, event) && !(event === 'start' && await isServerPackage(path))) {
if (npm.config.get('if-present'))
return
diff --git a/deps/npm/lib/uninstall.js b/deps/npm/lib/uninstall.js
index ec997ae6457..dbaa992f500 100644
--- a/deps/npm/lib/uninstall.js
+++ b/deps/npm/lib/uninstall.js
@@ -5,7 +5,7 @@ const npm = require('./npm.js')
const rpj = require('read-package-json-fast')
const { resolve } = require('path')
const usageUtil = require('./utils/usage.js')
-const reifyOutput = require('./utils/reify-output.js')
+const reifyFinish = require('./utils/reify-finish.js')
const cmd = (args, cb) => rm(args).then(() => cb()).catch(cb)
@@ -32,7 +32,7 @@ const rm = async args => {
...npm.flatOptions,
rm: args,
})
- reifyOutput(arb)
+ await reifyFinish(arb)
}
const usage = usageUtil(
diff --git a/deps/npm/lib/update.js b/deps/npm/lib/update.js
index 791e67e4076..0a786e30f31 100644
--- a/deps/npm/lib/update.js
+++ b/deps/npm/lib/update.js
@@ -4,7 +4,7 @@ const Arborist = require('@npmcli/arborist')
const log = require('npmlog')
const npm = require('./npm.js')
const usageUtil = require('./utils/usage.js')
-const reifyOutput = require('./utils/reify-output.js')
+const reifyFinish = require('./utils/reify-finish.js')
const completion = require('./utils/completion/installed-deep.js')
const usage = usageUtil(
@@ -32,7 +32,7 @@ const update = async args => {
})
await arb.reify({ update })
- reifyOutput(arb)
+ await reifyFinish(arb)
}
module.exports = Object.assign(cmd, { usage, completion })
diff --git a/deps/npm/lib/utils/reify-finish.js b/deps/npm/lib/utils/reify-finish.js
new file mode 100644
index 00000000000..76dba06cb57
--- /dev/null
+++ b/deps/npm/lib/utils/reify-finish.js
@@ -0,0 +1,31 @@
+const reifyOutput = require('./reify-output.js')
+const npm = require('../npm.js')
+const ini = require('ini')
+const {writeFile} = require('fs').promises
+const {resolve} = require('path')
+
+const reifyFinish = async arb => {
+ await saveBuiltinConfig(arb)
+ reifyOutput(arb)
+}
+
+const saveBuiltinConfig = async arb => {
+ const { options: { global }, actualTree } = arb
+ if (!global)
+ return
+
+ // if we are using a builtin config, and just installed npm as
+ // a top-level global package, we have to preserve that config.
+ const npmNode = actualTree.inventory.get('node_modules/npm')
+ if (!npmNode)
+ return
+
+ const builtinConf = npm.config.data.get('builtin')
+ if (builtinConf.loadError)
+ return
+
+ const content = ini.stringify(builtinConf.raw).trim() + '\n'
+ await writeFile(resolve(npmNode.path, 'npmrc'), content)
+}
+
+module.exports = reifyFinish