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

时间:2014-10-04 19:54:31

标签: coffeescript package npm

我在CoffeeScript中编写了一个简单的模块,但我想将已编译的JavaScript发布到NPM。我不想每次都手动运行coffee命令,因为打字太多,我可能会偶尔忘记并发布陈旧的js。

我知道有一些npm package.json script hooks和CoffeeScript cli参数的组合可以解决问题,但我忘记了细节。怎么回事?

2 个答案:

答案 0 :(得分:5)

conventional directory structure的基本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/"
}

答案 1 :(得分:0)

prepublish脚本被视为npm@4.0.0的不推荐使用的更高版本。您应该改为使用prepare。与前prepublishOnly一起引入了另一个脚本。它们相似但不同,您可以在链接的文章中阅读更多内容。

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