node.js - 节点中是否有一种方法(某种 API)以编程方式调用本地 npm 发布,而不是通过生成
问题描述
我正在尝试从 npm 发布的本地包中获取文件列表。我得到的最好的解决方案是使用
npm publish --dry-run
通过child_processes.spawn(...)
或相关方法。
但是,这不是很可靠,因为我需要解析不能保证在所有环境/未来版本中都保持不变的文本输出。
当然,我可以npm pack
列出 tarball 的内容,但这超出了我的项目范围,例如我不想依赖能够写入文件系统。
那么,是否有一种“语义”方式来访问返回的数据npm publish
?
解决方案
回答我自己的问题:
我遇到问题的具体情况是使用
json
我发布问题时不知道的选项解决的:npm pack --dry-run --json
through
child_processes.spawn
,这至少会产生语义结果。对于一般性问题,即是否可以
npm
直接调用函数,而不是通过生成,答案似乎是否定的。我尝试安装
npm
为库:npm install npm
然后在javascript源代码中
const Pack = require('npm').Pack;
产生了启发性
错误:npm v8.0.0 中删除了程序化 API
推荐阅读
- python - 配置环境/路径以从终端运行 python 脚本。对于 Mac
- java - 如何使用 LocalDate 值查询 JPA LocalDateTime 字段?
- python - TensorFlow Keras MaxPool2D 用 CTC 损失打破 LSTM?
- android-studio - Dart runtimeType 没有返回正确的类型
- vb.net - 如何在 DataGridView 中添加新行并用数据填充
- html - 工具提示左箭头不能改变颜色
- php - 带有身份验证的php curl POST
- python - NameError:未定义名称“test_scores”
- android - 如何检查“lateinit”变量是否已在扩展方法中初始化?
- javascript - [Vue 警告]:避免直接改变 prop