An Interest In:
Web News this Week
- March 30, 2024
- March 29, 2024
- March 28, 2024
- March 27, 2024
- March 26, 2024
- March 25, 2024
- March 24, 2024
Announcing npm7
It's been a very long and crazy ride but I'm happy to share that the project I've been working so hard since I joined the npm team more than an year ago is finally out! npm7 is the new major version of the npm cli
TLDR; npm install -g npm@7
What's new?
First let's highlight the major additions:
- workspaces! finally the top-requested feature from our userbase makes its way into a stable release line
- auto-installing peer-dependencies again
Improving DX
There are some smaller changes/additions/tweaks that will hopefully continue to help improving the user experience, such as:
- new
npm exec
command - same asnpx
that now lives in the cli - a new package-lock format and support to install from
yarn.lock
files - improved
npm audit
output! - new update notification system for the npm cli
- ability to install a git/GH pkg from a PR:
npm i user/project#pull/123
- less verbose install output
- skip pre/post scripts when using
--ignore-scripts
- new system to cache
node_modules
data that makesnpm ls
much faster npm ls
now defaults to top-level deps only, to see the entire tree you can now runnpm ls --all
- slightly improved
npm fund
output, highlighting funding urls and properly nesting deps - And much, much more!
Clean up work
In reality npm7 is the long due refactor/clean up of the npm cli and it spawns a couple of very important internal packages to our ecosystem which are now the standard Programmatic APIs for npm:
- @npmcli/arborist the new
npm install
system - @npmcli/config the new npm config
- @npmcli/run-script the new
npm run
- @npmcli/map-workspaces read workspaces configs
- libnpmfund
npm fund
Programmatic API
I'm really excited to see what this will enable in the community, for the first time it's going to be a trivial thing to require('@npmcli/arborist')
and have the same npm install
experience from within userland scripts without the need of spawning any subprocesses
It's also worth mentioning that a lot of the work that went into this version is making sure every line of code and functionality is well-tested and stable so that we can better iterate on new features and bug fixes moving forward
More?
There are also new options/flags that goes along with some of the new features such as --legacy-peer-deps
and --strict-peer-deps
that help tweak the behavior of installing peer deps, npm ls --all
to see all installed deps since the default is now show top-level only, etc
The team will be working hard on adding more tests and fixing any bugs that managed to slip through our beta test period Feel free to reach out to us in our GitHub issue tracker that now have the best up-to-date links on how to report bugs, propose new features or get help.
You can also read more about the release in the official channels:
Get it now
The npm7 is going to be a part of the upcoming node15 release but if you want to get it first, you can install it now with:
npm install -g npm@7
Happy dependency-installing everyone!
Original Link: https://dev.to/ruyadorno/announcing-npm7-16j0
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To