Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v8.4.0 #4339

Merged
merged 23 commits into from
Jan 27, 2022
Merged

v8.4.0 #4339

merged 23 commits into from
Jan 27, 2022

Conversation

wraithgar
Copy link
Member

v8.4.0 (2022-01-27)

Features

Bug Fixes

Dependencies

bnb and others added 23 commits January 26, 2022 10:24
Arborist was not loading the actual tree when using named updates for
global updates, that would result in removing all previously installed
deps from a global install anytime the user would try to run
`npm update <pkgname>`.

This changeset fixes the problem by allowing the load of the actual tree
if the `global` and `update.names` options are defined.

Added a few more tests to illustrate but some of the snapshots already
included were actually demonstrating the problem by having empty trees
as result, these are now also updated with the expected tree result.

Fixes: #3175
* feat(arborist): add named updates validation

Arborist update does not support anything other than dependency names,
that is confusing to some users that are used to provide semver ranges
when using `npm install` and other commands.

This changeset adds validation to the values provided as arguments in
`npm update` and will throw a `EUPDATEARGS` error in case the user tries
to use semver ranges, e.g: `npm update abbrev@1.0.0`

Relates to: #4240
… permissions (#4258)

* fix(arborist): shrinkwrap throws trying to read a folder without permissions

Fix an issue where shrinkwrap throws an error when trying to read
a folder that it doesn't have permissions to, instead of returning
a correct object with an error
When updating dependencies we need an extra check when filtering nodes
to be updated that ensures we do not override semver ranges that are
pointing to an exact version. e.g: =1.0.0, 1.0.0

Fixes: #4329
@wraithgar wraithgar requested a review from a team as a code owner January 27, 2022 20:58
@wraithgar wraithgar merged commit f5a7360 into latest Jan 27, 2022
@wraithgar wraithgar deleted the release/v8.4.0 branch January 27, 2022 21:14
@npm-robot
Copy link
Contributor

found 20 benchmarks with statistically significant performance improvements

  • app-large: clean, lock-only, cache-only, cache-only:peer-deps, modules-only, no-lock, no-cache, no-modules, no-clean, no-clean:audit
  • app-medium: clean, lock-only, cache-only, cache-only:peer-deps, modules-only, no-lock, no-cache, no-modules, no-clean, no-clean:audit
timing results
app-large clean lock-only cache-only cache-only
peer-deps
modules-only no-lock no-cache no-modules no-clean no-clean
audit
npm@8 53.422 ±0.93 30.079 ±0.08 34.940 ±24.31 20.472 ±1.04 2.932 ±0.02 2.968 ±0.02 2.448 ±0.06 11.538 ±0.11 2.318 ±0.01 3.412 ±0.31
#4339 0.396 ±0.00 0.392 ±0.00 0.389 ±0.00 0.396 ±0.00 0.391 ±0.00 0.397 ±0.00 0.397 ±0.00 0.396 ±0.00 0.396 ±0.01 0.395 ±0.00
app-medium clean lock-only cache-only cache-only
peer-deps
modules-only no-lock no-cache no-modules no-clean no-clean
audit
npm@8 39.902 ±0.85 23.748 ±0.05 12.984 ±0.13 14.137 ±0.16 2.636 ±0.01 2.630 ±0.00 2.343 ±0.03 8.727 ±0.04 2.246 ±0.01 2.979 ±0.02
#4339 0.401 ±0.00 0.401 ±0.00 0.395 ±0.00 0.391 ±0.01 0.389 ±0.00 0.392 ±0.00 0.409 ±0.01 0.401 ±0.00 0.395 ±0.00 0.392 ±0.00

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] overrides not working as expected in workspace
7 participants