我不确定天气是否可能。

是否可以在 npm publish 直接运行时阻止发布并使其只能通过脚本访问。

直接执行 npm publish 时必须拒绝用户。即用户必须能够通过任何脚本或 npm run <script> 发布

或者

有没有办法告诉 npm 只发布 <folder>/ 或在发布时查找 tarball。

最佳答案

如果我将其标记为私有(private),我将根本无法发布。我的主要目的是防止意外发布。

NPM 团队提供了一个简单的解决方法,非常棒。

package.json

{
  "prepublishOnly": "node prepublish.js",
  "release": "RELEASE_MODE=true npm publish"
}

prepublish.js
const RELEASE_MODE = !!(process.env.RELEASE_MODE)

if (!RELEASE_MODE) {
    console.log('Run `npm run release` to publish the package')
    process.exit(1) //which terminates the publish process
}

关于node.js - 直接运行时防止 `npm publish`,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51484928/

10-13 09:30