

As we’re putting it through its paces fast and furious in npm v7 development, the docs are somewhat lagging, and my hope is that this post provides a good primer for future contributors. If you like to get your hands in the npm CLI codebase, then familiarity with Arborist’s concepts and interfaces will be useful. If technical deep dives aren’t your thing, and you just want to know the cool new feature stuff, feel free to skip this one :) tl dr - What Does This Mean For Me? Since so much depends on this design, today we’ll be laying the groundwork by exploring the what, why, and how of this new package management engine. Many of the features and changes in npm v7 are related to the refactor to use Arborist for all of npm’s tree management work. In the introduction to this series, we outlined a list of topics that will be explored. Stumbling across that weird old bug, and seeing the refactoring required to fix it, is what led eventually to Arborist.
#Package json workspaces install#
At the time, I was just trying to work out why npm install was so much slower than npm ci, and if there was anything that could be done about it. Way back in the summer of 2019, I stumbled upon and wrote about an old bug buried deep in npm’s read-package-tree module. It provides facilities for doing nearly everything that npm does with package trees, and fully replaces large parts of the npm CLI codebase. > Why Keep is the dependency tree manager for npm, new in npm v7. Updates from the npm team are now published on the
