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

Release/v8.3.2 #4301

Merged
merged 8 commits into from
Jan 20, 2022
Merged

Release/v8.3.2 #4301

merged 8 commits into from
Jan 20, 2022

Conversation

lukekarrys
Copy link
Contributor

v8.3.2 (2022-01-20)

Bug Fixes

Dependencies

ljharb and others added 8 commits January 18, 2022 14:24
It turns out that `new Arborist().buildIdealTree().meta.toString()` does
not take into account the indentation in the package.json (tabs, in my
case) the way `npm install --package-lock-only` does.

This fixes that. Also included a bonus commit that removes redundant
Promise stuff inside an `async function`.
Previously `npm update` was not respecting the `save` option, it
would be impossible for users to use `npm update` and automatically
update their `package.json` files.

This fixes it by adding extra steps on `Arborist.reify._saveIdealTree`
to read direct dependencies of any `package.json` and update them as
needed when reifying using the `update` and `save` options.

- Uses config.isDefault to set a different value for the `save` config
  for both the update and dedupe commands
- Tweaks arborist to make sure saveIdealTree preserves the behavior of
  skipping writing to package-lock.json on save=false for install while
  still writing the lockfile for `npm update` with its new default value
  of save=false.
- Updated and added some new tests on arborist to cover for these tweaks
- Added `npm update --save` smoke test on cli

Fixes: #708
Fixes: #2704
Relates to: npm/feedback#270
* deps: bin-links@3.0.0
* deps: write-file-atomic@4.0.0
@lukekarrys lukekarrys requested a review from a team as a code owner January 20, 2022 21:49
@lukekarrys lukekarrys merged commit 44bbb49 into latest Jan 20, 2022
@lukekarrys lukekarrys deleted the release/v8.3.2 branch January 20, 2022 22:03
@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 54.056 ±0.88 30.302 ±0.50 35.077 ±23.89 20.488 ±0.97 3.074 ±0.02 3.043 ±0.01 2.586 ±0.15 11.914 ±0.36 2.520 ±0.02 3.572 ±0.01
#4301 0.455 ±0.04 0.450 ±0.00 0.427 ±0.01 0.438 ±0.01 0.436 ±0.01 0.444 ±0.01 0.429 ±0.01 0.437 ±0.01 0.429 ±0.02 0.421 ±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 37.590 ±0.61 25.224 ±1.98 13.481 ±0.13 14.409 ±0.32 2.787 ±0.07 2.759 ±0.02 2.514 ±0.02 8.857 ±0.12 2.310 ±0.01 3.209 ±0.15
#4301 0.464 ±0.04 0.426 ±0.01 0.443 ±0.00 0.428 ±0.00 0.451 ±0.02 0.429 ±0.01 0.423 ±0.01 0.439 ±0.00 0.431 ±0.02 0.423 ±0.01

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.

6 participants