depcheck 和 npm-check 不工作

depcheck and npm-check not working

我正在尝试检查 Node 项目是否缺少或不必要的依赖项,因此我尝试了 depchecknpm-check,但它们都以相同的方式失败,声明了所有五个依赖项实际上它们都被使用时是不必要的,据我所知,它们以正常方式使用; package.json bin 指向 ayane.js 其中包含 require 依赖项指令。我尝试将 --ignore-bin-package=false 指定为 depcheck,但这没有任何区别。该项目 https://github.com/russellw/ayane 非常小且简单,没有做任何奇怪的事情。

我错过了什么?这两个程序都被广泛使用;它们有已知问题吗?

否则您可以尝试以下步骤:

  1. npm install dependency-check -g
  2. dependency-check <package.json file or module folder path>

示例:dependency-check ./package.json

您可以查看以下站点以获取更多信息:dependecy-check

如果不起作用,请检查是否存在任何路径问题。如果它仍然不起作用并且不显示消息,则可能是这种情况:Success! All dependencies used in the code are listed in package.json

如果您不确定是否已正确安装所有内容,我建议您重新安装 npm 模块。我之前为mac做了一个重装解决方案:

事实上,depcheck似乎不​​喜欢函数外的return语句。
如果你 运行 depcheck --json,你可以看到 depcheckayane.js 视为无效文件:

"invalidFiles":{"ayane/ayane.js":"SyntaxError: 'return' outside of function (62:1) ...

我不是这方面的专家,我不经常在函数外使用 return 所以我不确定这是否是不好的做法,尤其是在这种情况下(并且仍然存在很好奇)。

有关详细信息,请参阅 MDN 错误参考:SyntaxError: return not in function

您可以尝试替换项目源代码中的这一行(例如 console.log('exit'))并尝试重新启动 depcheck:您将不再收到“未使用的依赖项”警告但是一个“get-stdin Missing dependencies”,没错。

// ayane.js l.61
if (!commander.lang && !commander.args.length && tty.isatty(process.stdin.fd))
    return

如果你愿意,你can open an issue as a false alert in the depcheck repository