如何在package.json中创建一个forked依赖项在npm install期间运行它的prepare脚本?

时间:2017-08-25 10:33:05

标签: npm dependencies

我分叉a NPM module并在my fork修改了它。在我的fork中,需要运行命令gulp来编译模块。运行此命令会将文件ical-expander-dist.js输出到dist文件夹。该文件应该成为fork包的一部分。

我叉子中的调整package.json如下所示:

{
  "name": "ical-expander",
  "version": "1.1.1",
  "description": "ICS / iCal / iCalendar parser / expander",
  "main": "dist/ical-expander-dist.js", // adjusted path
  "scripts": {
    "prepare": "gulp" // added script
  },
  // [SNIP] - excluded irrelevant lines
  "files": [
    "dist/ical-expander-dist.js" // adjusted path
  ]
}

现在我想让我的fork成为另一个项目的依赖项。

{
  "name": "otherproject",
  "title": "Other Project",
  // [SNIP] - excluded irrelevant lines
  "dependencies": {
    "ical-expander": "github:haukepribnow/ical-expander"
  }
  // [SNIP] - excluded irrelevant lines
}

npm install的根文件夹中执行otherproject后,路径./node_modules/ical-expander将包含LICENSEREADME.md和{{1}文件}}。但它不包含package.json

dist/ical-expander-dist.js的{​​{1}}期间,我的ical-expander fork的prepare脚本似乎没有运行。

所以我的问题归结为:如何在我的fork作为其依赖项之一的项目中执行npm install时,如何确保编译我的fork的准备脚本?

1 个答案:

答案 0 :(得分:0)

有时非常简单:确保使用npm 5.0.0或更高版本。

根据the npm changelognpm install将运行依赖关系'从{5.0}开始正确编写prepare个脚本。