描述问题
Storybook 在安装、自动迁移、升级和启动过程中支持 npm、pnpm 和 yarn berry 作为包管理器。添加对 Bun 包管理器的支持将非常棒,因为它允许许多用户使用 Bun 作为包管理器在仓库中初始化、升级和自动迁移 Storybook。
您正在编辑的内容已更改。请复制您的编辑并刷新页面。
任务
Beta Give feedback
- 实现一个新的
BunProxy
。看一下,例如,PNPMProxy是如何实现的(https://github.com/storybookjs/storybook/blob/next/code/lib/core-common/src/js-package-manager/PNPMProxy.ts) - 调整 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
8条答案
按热度按时间uubf1zoe1#
任何形式的帮助都将受到赞赏,如果需要的话,我可以提供指导和支持!
7ivaypg92#
感谢您指出了方向!今晚我会去看看的!
vcirk6k63#
感谢您指出了方向!今晚我会去看看的!
如果我能以某种方式提供帮助,请让我知道!
8iwquhpp4#
我的初步发现:
我的叉子: https://github.com/storybookjs/storybook/compare/next...rhuanbarreto:storybook:next?expand=1
Bun不支持许多用于检测软件包版本的json输出。需要在这方面做更多的工作。
ymzxtsji5#
我不知道如何做到这一点,因为我尝试将自己的故事书(storybook)集成到下一个js的bun boilerplate中,但是midday正在使用故事书在他们的turborepo中与bun和biome一起使用。我希望这能有所帮助。
xxslljrj6#
@rhuanbarreto 是否现在忽略这个限制,继续使用bun支持的部分?也许我们可以找到其他方法来读取包版本,例如。
k7fdbhmy7#
@valentinpalkovic ,我正在尝试遵循Storybook给我的界面来解析。对于其他所有的包管理器,有一个json输出,你可以在其中解析值。支持的纯文本输出而不是二进制格式是yarn v1纯文本,需要它自己的解析器。
我不是说这不可能。但作为包管理器,这部分解析锁文件增加了复杂性。只需要努力使其工作。
一旦将bun本身纳入近期的支持更可解析的输出(因此在这里链接的问题),我认为在做出这个改变之前,不值得付出努力(对我来说)。
pvabu6sv8#
还有一件事。Bun仍然不支持其他包管理器中的许多命令,以便窥视依赖关系树。这是一个障碍吗?不是。但它增加了复杂性的数量级。我认为Bun也需要帮助将更多的包管理器命令引入到自己的软件中,这样就可以轻松解决这个问题。