NPM-重复数据删除

NPM-重复数据删除

减少重复

概要

npm dedupe npm ddp aliases: find-dupes, ddp

描述

搜索本地包树并尝试通过将依赖关系进一步向上移动到树中来尝试简化整体结构,在那里它们可以被多个依赖包更有效地共享。

例如,考虑这个依赖图:

a +-- b <-- depends on c@1.0.x | `-- c@1.0.3 `-- d <-- depends on c@~1.0.9 `-- c@1.0.10

在这种情况下,npm-dedupe将树转换为:

a +-- b +-- d `-- c@1.0.10

由于节点模块查找的分层特性,b 和 d 都将通过树的根级别的单个 c 包来满足它们的依赖性。

重复数据删除算法遍历树,尽可能地将每个依赖项移动到树中尽可能远,即使找不到重复项。这将导致平面和重复数据删除树。

如果已经在树中的目标位置存在合适的版本,则它将保持不变,但其他重复项将被删除。

参数被忽略。重复数据删除总是作用于整棵树。

模块

请注意,此操作会转换依赖关系树,但永远不会导致安装新模块。