【发布时间】:2020-01-16 23:37:08
【问题描述】:
有没有办法检测 package.json 或 package-lock.json 中的预发布依赖项?
我的上下文是我想创建一个 git "TAG" 来指示我的代码的候选发布版本。 我想确保我所有内部开发的模块不依赖于任何预发布模块。
我想检测我的 package.json 中是否存在预发布依赖项(“^1.0.3-NIGHTLY”),如下例所示:
"@mydomain/client-mgr-service": "^1.0.3-NIGHTLY", <= I would like to be able to detect this line if there is a NPM feature out-of-box
"@types/country-data": "0.0.0",
"amazon-cognito-identity-js": "^3.0.12",
提前感谢您提供的任何帮助~
【问题讨论】:
-
npm 没有内置任何东西来实现这个 AFAIK。您可以利用 node.js 脚本来解析 package.json 或 package-lock.json,即
JSON.parse(...),并检测是否存在预发布。或者,如果您想检查项目的完整依赖关系树是否有预发布,您可以(从 node.js 脚本)从项目目录中使用npm ls -json命令,然后使用JSON.parse(...)结果来检测是否存在预发布。 -
感谢@RobC。我认为我想要达到的目标对于 CICD 实践来说是非常普通的。只是想知道 ppl 通常如何在他们的项目中避免预发布依赖?或者你能分享你的解决方案吗,我愿意接受任何建议,不一定在 package.json/package-lock.json 上。
标签: npm npm-install package.json