Handlebars.js: 在 4.x 版本中使用 yargs 而不是过时的乐观主义者

创建于 2020-03-06  ·  7评论  ·  资料来源: handlebars-lang/handlebars.js

在提交问题之前,请先检查以下几点:

我们正在使用最新的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 版本中修复此问题。

最有用的评论

好的,我想我们可以试一试。 yargs API 看起来真的很像乐观 API。 有人想为 4.x 创建 PR 吗?

如果有更多的测试来验证 CLI 在迁移后仍然可以正常工作,我真的会感觉更好。

目前这里只有一个。 使用不同的参数进行一些测试会很酷。

创建一些测试,检查它们是否与 optimist 一起工作,然后迁移到 yargs 并查看它们是否仍然有效。

有人可以这样做吗?

所有7条评论

我认为它可能会破坏 cli,所以我宁愿不在 4.x 分支中更新。

我有时会在 master 上开发 5.0,但由于这都是自愿工作,而且我还有很多其他职责,我不知道什么时候准备好。

optimistminimistyargs还可以更轻松地缓解SNYK-JS-MINIMIST-559764安全漏洞(需要[email protected] ,不适合optimistminimist@~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 发布

此页面是否有帮助?
0 / 5 - 0 等级