在项目中安装软件包后运行npm脚本

时间:2016-09-23 10:19:51

标签: node.js security

我想要的是在我将项目安装到项目后运行脚本的方法。 postinstall对我的案例不起作用,因为每当我的项目安装在其他地方时它就会运行,这已经太晚了。

另一种方法是使用hooks

我想要实现的是在将软件包安装到项目中之后运行nsp check之类的安全测试。

我猜(尚未尝试过)我可以添加到node_modules/.hooks/ postinstall bash脚本中,例如

#!/usr/bin/env node
../node_modules/nsp check 

问题是此脚本执行时可能尚未安装nsp包。所以我只有在安装nsp时才运行该命令,这意味着我将错过在nsp之前安装的每个软件包的安全检查(在初始npm i中),或者我必须在我的包的preinstall阶段安装nsp。这些解决方案(如果它们可以工作)似乎使IMO过于复杂。

这是实现我想要的更轻松的方式吗?

1 个答案:

答案 0 :(得分:-3)

我把它放在“预发布”中。

根据https://docs.npmjs.com/misc/scripts

  

prepublish:在发布包之前运行。 (也可以在没有任何参数的本地npm安装上运行。)

我认为“还在本地npm安装上运行”部分就是你要找的东西。