我不确定天气是否可能。
是否可以在 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/