storybook [Bug]: 支持将bun作为包管理器

mspsb9vt  于 3个月前  发布在  其他
关注(0)|答案(8)|浏览(48)

描述问题

Storybook 在安装、自动迁移、升级和启动过程中支持 npm、pnpm 和 yarn berry 作为包管理器。添加对 Bun 包管理器的支持将非常棒,因为它允许许多用户使用 Bun 作为包管理器在仓库中初始化、升级和自动迁移 Storybook。
您正在编辑的内容已更改。请复制您的编辑并刷新页面。

任务

Beta Give feedback

  1. 实现一个新的 BunProxy。看一下,例如,PNPMProxy是如何实现的(https://github.com/storybookjs/storybook/blob/next/code/lib/core-common/src/js-package-manager/PNPMProxy.ts)
  2. 调整 JsPackageManagerFactory.getPackageManager 以返回一个新的 BunProxy (https://github.com/storybookjs/storybook/blob/next/code/lib/core-common/src/js-package-manager/JsPackageManagerFactory.ts#L24)
  • 选项* 转换为问题
  • 切换完成
  • 重命名
  • 删除

验收标准

当使用 Bun 作为包管理器时,应能够:

  • 安装 Storybook
  • 升级 Storybook
  • 运行 Storybook 的自动迁移
  • 运行和构建 Storybook
uubf1zoe

uubf1zoe1#

任何形式的帮助都将受到赞赏,如果需要的话,我可以提供指导和支持!

7ivaypg9

7ivaypg92#

感谢您指出了方向!今晚我会去看看的!

vcirk6k6

vcirk6k63#

感谢您指出了方向!今晚我会去看看的!
如果我能以某种方式提供帮助,请让我知道!

8iwquhpp

8iwquhpp4#

我的初步发现:
我的叉子: https://github.com/storybookjs/storybook/compare/next...rhuanbarreto:storybook:next?expand=1
Bun不支持许多用于检测软件包版本的json输出。需要在这方面做更多的工作。

ymzxtsji

ymzxtsji5#

我不知道如何做到这一点,因为我尝试将自己的故事书(storybook)集成到下一个js的bun boilerplate中,但是midday正在使用故事书在他们的turborepo中与bun和biome一起使用。我希望这能有所帮助。

xxslljrj

xxslljrj6#

@rhuanbarreto 是否现在忽略这个限制,继续使用bun支持的部分?也许我们可以找到其他方法来读取包版本,例如。

k7fdbhmy

k7fdbhmy7#

@valentinpalkovic ,我正在尝试遵循Storybook给我的界面来解析。对于其他所有的包管理器,有一个json输出,你可以在其中解析值。支持的纯文本输出而不是二进制格式是yarn v1纯文本,需要它自己的解析器。
我不是说这不可能。但作为包管理器,这部分解析锁文件增加了复杂性。只需要努力使其工作。
一旦将bun本身纳入近期的支持更可解析的输出(因此在这里链接的问题),我认为在做出这个改变之前,不值得付出努力(对我来说)。

pvabu6sv

pvabu6sv8#

还有一件事。Bun仍然不支持其他包管理器中的许多命令,以便窥视依赖关系树。这是一个障碍吗?不是。但它增加了复杂性的数量级。我认为Bun也需要帮助将更多的包管理器命令引入到自己的软件中,这样就可以轻松解决这个问题。

相关问题