名为"-"的nmp包是空的,却有超过700,000次下载


自 2020 年以来,一个名为“-”的神秘的单字母 npm 包位于注册表中,已获得超过 700,000 次下载。
更重要的是?该软件包不包含任何功能代码,那么是什么让它获得了如此多的下载量?
该软件包只有一个版本:0.0.1,它包含三个文件:

tar tvf 0.0.1/--0.0.1.tgz

package/dist/index.js
package/package.json
package/README.md

在这些文件中——主要是清单 (package.json) 和 index.js,没有什么特别有趣的东西。
清单确实引入了一堆开发依赖项(devDependencies)并在“ ts-node ”组件 上调用了一些命令,但仅此而已。它实际上是死代码。

实际上无用的包“-”作为超过 50 个 npm 包的依赖项,没有明确的解释。
 
那么,“-”是如何获得近 720,000 次下载的呢?
当有人从终端运行 npm 命令并产生输入打字错误时,该软件包可能会被拉入。
如果您指定了一些标志,但犯了错误:
npm i - someFlag somepackage
“-”和 someFlag之间的空格可能会导致 npm 引入“-”,因为具有该名称的包确实存在。
因此,该软件包的千倍下载计数是开发人员拼写错误的结果,这似乎是合理的。
 
包“-”的作者 Dmitry Parzhitsky  强调该包在创建时完全符合 npm 的命名规则,并作为测试创建,对任何人都没有任何伤害。
 
开发人员在终端中键入 npm 命令时应小心谨慎,尤其是在使用标志时。检查为什么你的包 依赖 于这个神秘的包也是一个好主意。