diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md index c3b826517edba8..ce9cc11dc2bb03 100644 --- a/deps/npm/CHANGELOG.md +++ b/deps/npm/CHANGELOG.md @@ -1,3 +1,23 @@ +## v7.5.2 (2021-02-02 + +### BUG FIXES + +* [`37613e4e6`](https://github.com/npm/cli/commit/37613e4e686e4891210acaabc9c23f41456eda3f) +[#2395](https://github.com/npm/cli/issues/2395) +[#2329](https://github.com/npm/cli/issues/2329) +fix(exec): use latest version when possible +([@wraithgar](https://github.com/wraithgar)) +* [`567c9bd03`](https://github.com/npm/cli/commit/567c9bd03a7669111fbba6eb6d1f12ed7cad5a1b) +fix(lib/npm): do not clobber config.execPath +([@wraithgar](https://github.com/wraithgar)) + +### DEPENDENCIES + +* [`643709706`](https://github.com/npm/cli/commit/64370970653af5c8d7a2be2c2144e355aa6431b0) +`@npmcli/config@1.2.9` ([@isaacs](https://github.com/isaacs)) + * [`4c6be4a`](https://github.com/npm/config/commit/4c6be4a66a3e89ae607e08172b8543b588a95fb5) Restore npm v6 behavior with `INIT_CWD` + * [`bbebc66`](https://github.com/npm/config/commit/bbebc668888f71dba57959682364b6ff26ff4fac) Do not set the `PREFIX` environment variable + ## v7.5.1 (2021-02-01 ### BUG FIXES diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html index ba62a72741de83..1af771cfd748f9 100644 --- a/deps/npm/docs/output/commands/npm-ls.html +++ b/deps/npm/docs/output/commands/npm-ls.html @@ -159,7 +159,7 @@
npm ls promzard
in npm’s source tree will show:
-npm@7.5.1 /path/to/npm
+npm@7.5.2 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html
index 727120c1b747aa..fe014b1c34719f 100644
--- a/deps/npm/docs/output/commands/npm.html
+++ b/deps/npm/docs/output/commands/npm.html
@@ -148,7 +148,7 @@ Table of contents
npm <command> [args]
Version
-7.5.1
+7.5.2
Description
npm is the package manager for the Node JavaScript platform. It puts
modules in place so that node can find them, and manages dependency
diff --git a/deps/npm/lib/exec.js b/deps/npm/lib/exec.js
index d36dd87cfb9712..e90ec0866e4dd7 100644
--- a/deps/npm/lib/exec.js
+++ b/deps/npm/lib/exec.js
@@ -169,8 +169,12 @@ const exec = async args => {
return await readPackageJson(pj)
} catch (er) {}
}
+ // Force preferOnline to true so we are making sure to pull in the latest
+ // This is especially useful if the user didn't give us a version, and
+ // they expect to be running @latest
return await pacote.manifest(p, {
...npm.flatOptions,
+ preferOnline: true,
})
}))
@@ -193,9 +197,13 @@ const exec = async args => {
const arb = new Arborist({ ...npm.flatOptions, path: installDir })
const tree = await arb.loadActual()
- // any that don't match the manifest we have, install them
- // add installDir/node_modules/.bin to pathArr
- const add = manis.filter(mani => manifestMissing(tree, mani))
+ // at this point, we have to ensure that we get the exact same
+ // version, because it's something that has only ever been installed
+ // by npm exec in the cache install directory
+ const add = manis.filter(mani => manifestMissing(tree, {
+ ...mani,
+ _from: `${mani.name}@${mani.version}`,
+ }))
.map(mani => mani._from)
.sort((a, b) => a.localeCompare(b))
diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js
index 7a15a29b2fed99..40aa9bbd9b5061 100644
--- a/deps/npm/lib/npm.js
+++ b/deps/npm/lib/npm.js
@@ -173,8 +173,8 @@ const npm = module.exports = new class extends EventEmitter {
if (node && node.toUpperCase() !== process.execPath.toUpperCase()) {
log.verbose('node symlink', node)
process.execPath = node
+ this.config.execPath = node
}
- this.config.execPath = node
await this.config.load()
this.argv = this.config.parsedArgv.remain
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index 450f21d7b757a1..8c7dc2732360e6 100644
--- a/deps/npm/man/man1/npm-ls.1
+++ b/deps/npm/man/man1/npm-ls.1
@@ -26,7 +26,7 @@ example, running \fBnpm ls promzard\fP in npm's source tree will show:
.P
.RS 2
.nf
-npm@7\.5\.1 /path/to/npm
+npm@7\.5\.2 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.fi
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index fc76aef29eb231..206cc3124f7981 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -10,7 +10,7 @@ npm [args]
.RE
.SS Version
.P
-7\.5\.1
+7\.5\.2
.SS Description
.P
npm is the package manager for the Node JavaScript platform\. It puts
diff --git a/deps/npm/node_modules/@npmcli/config/lib/set-envs.js b/deps/npm/node_modules/@npmcli/config/lib/set-envs.js
index 089333796163ed..36d37145466e0d 100644
--- a/deps/npm/node_modules/@npmcli/config/lib/set-envs.js
+++ b/deps/npm/node_modules/@npmcli/config/lib/set-envs.js
@@ -53,13 +53,7 @@ const setEnvs = (config) => {
list: [cliConf, envConf],
} = config
- const { DESTDIR } = env
- if (platform !== 'win32' && DESTDIR && globalPrefix.indexOf(DESTDIR) === 0)
- env.PREFIX = globalPrefix.substr(DESTDIR.length)
- else
- env.PREFIX = globalPrefix
-
- env.INIT_CWD = env.INIT_CWD || process.cwd()
+ env.INIT_CWD = process.cwd()
// if the key is the default value,
// if the environ is NOT the default value,
diff --git a/deps/npm/node_modules/@npmcli/config/package.json b/deps/npm/node_modules/@npmcli/config/package.json
index a7050c73a03ef4..644544a49d8698 100644
--- a/deps/npm/node_modules/@npmcli/config/package.json
+++ b/deps/npm/node_modules/@npmcli/config/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/config",
- "version": "1.2.8",
+ "version": "1.2.9",
"files": [
"lib"
],
diff --git a/deps/npm/package.json b/deps/npm/package.json
index 57b7f48964b816..2eecfdbfc04569 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "7.5.1",
+ "version": "7.5.2",
"name": "npm",
"description": "a package manager for JavaScript",
"keywords": [
@@ -44,7 +44,7 @@
"dependencies": {
"@npmcli/arborist": "^2.1.1",
"@npmcli/ci-detect": "^1.2.0",
- "@npmcli/config": "^1.2.8",
+ "@npmcli/config": "^1.2.9",
"@npmcli/run-script": "^1.8.1",
"abbrev": "~1.1.1",
"ansicolors": "~0.3.2",