在提交问题之前,请先检查以下几点:
我们正在使用最新的handlebars 4.7.3
,但我们注意到optimist
依赖项之一已被弃用。 有一张票可以改用yargs
(https://github.com/wycats/handlebars.js/issues/1179),它被合并的 PR 关闭 (https://github.com/ wycats/handlebars.js/pull/1180)。 但是,合并的 PR 还没有在 4.x 版本中。 请在 4.x 版本中修复此问题。
我认为它可能会破坏 cli,所以我宁愿不在 4.x 分支中更新。
我有时会在 master 上开发 5.0,但由于这都是自愿工作,而且我还有很多其他职责,我不知道什么时候准备好。
从optimist
到minimist
或yargs
还可以更轻松地缓解SNYK-JS-MINIMIST-559764安全漏洞(需要[email protected]
,不适合optimist
的minimist@~0.0.1
semver 范围)。
这将是我想象的 Handlebars 想要向后移植到 4.x 分支的事情。
我提议的另一种方法是放宽optimist
的依赖项,但由于它已被弃用,我认为它很有可能不会再收到任何修复:
https://github.com/substack/node-optimist/pull/150
编辑:以下解决方法,使用 Yarn: https :
好的,我想我们可以试一试。 yargs API 看起来真的很像乐观 API。 有人想为 4.x 创建 PR 吗?
如果有更多的测试来验证 CLI 在迁移后仍然可以正常工作,我真的会感觉更好。
目前这里只有一个。 使用不同的参数进行一些测试会很酷。
创建一些测试,检查它们是否与 optimist 一起工作,然后迁移到 yargs 并查看它们是否仍然有效。
有人可以这样做吗?
如果你使用 Yarn,这里有一个暂时的解决方法,直到这个问题得到修复(也许是 #1662):
将以下分辨率添加到您的package.json
并运行yarn
。
"resolutions": {
"**/optimist/minimist": "0.2.1"
}
这将强制所有版本的optimist
使用[email protected]
,无论哪个包依赖于optimist
。
最新的optimist
版本(0.6.1,6 年前发布)依赖于minimist
的易受攻击版本范围,这会导致依赖于handlebars
项目出现npm audit
错误handlebars
直接或间接。 删除optimist
将不胜感激,谢谢!
见#1661
4.7.4 发布
最有用的评论
好的,我想我们可以试一试。 yargs API 看起来真的很像乐观 API。 有人想为 4.x 创建 PR 吗?
如果有更多的测试来验证 CLI 在迁移后仍然可以正常工作,我真的会感觉更好。
目前这里只有一个。 使用不同的参数进行一些测试会很酷。
创建一些测试,检查它们是否与 optimist 一起工作,然后迁移到 yargs 并查看它们是否仍然有效。
有人可以这样做吗?