如何在发布到NPM之前编译coffeescript



我在CoffeeScript中编写了一个简单的模块,但我想将编译后的JavaScript发布到NPM。我不想每次都手动运行coffee命令,因为输入太多,我可能会忘记并时不时发布过时的js。

我知道有一些npm package.json脚本挂钩和CoffeeScriptcli参数的组合会起到作用,但我忘记了细节。又怎么样了?

传统目录结构的基本package.json设置看起来像

"scripts": {
  "prepublish": "coffee --compile --output lib/ src/"
}

如果您还想在运行测试之前编译coffeescript,那么您可能希望将编译步骤作为可重复使用的脚本:

"scripts": {
  "pretest": "npm run compile",
  "prepublish": "npm run compile",
  "test": "mocha",
  "compile": "coffee --compile --output lib/ src/"
}

prepublish脚本被认为是不推荐使用的npm@4.0.0.您应该使用prepare。还有另一个与前prepublishOnly一起引入的脚本。它们相似但不同,你可以在链接的帖子中阅读更多。

"scripts": {
    "build": "coffee --compile --output lib/ src/",
    "prepare": "npm run build && npm test",
    "test": "jest"
}

最新更新