skr*_*rat 6 node.js npm monorepo yarnpkg yarn-workspaces
我正在尝试将一个(纱线)工作区从 monorepo 发布到 npm 存储库,并将根项目的依赖项包含在已发布的包中。设置如下:
所以我想做的是cd library和yarn publish。我期望发生的是,发布的包的工作方式与我的 monorepo 本地应用程序的工作方式完全相同。问题是,yarn 不会合并来自 monorepo root 的依赖项package.json,并且发布的包package.json仅包含来自 library/package.json 的库本地依赖项。因此,当任何人安装这个已发布的库包时,它都会被破坏,因为它从library/package.json中未列出的包(依赖项)导入模块。
我真的需要编写一个自定义发布 shell 脚本,在运行之前将根的package.json依赖项合并到library/package.jsonyarn publish中吗?
可以可靠地放入工作区根目录中的唯一依赖项类型是开发依赖项。
每个包应分别在其 package.json 文件中声明其依赖项。
在安装过程中,yarn 的作用是,它现在会查看所有工作区包中的所有依赖项,以创建单个锁定文件,并且不会将多余的依赖项放入包的 node_modules 文件夹中。
如何发布工作区取决于您。我通常编写一个小型 Node.js 脚本来运行每个包的发布命令行。根据您在工作区中放置的内容,您可能希望独立版本化和/或发布包,这将为您提供灵活性。
| 归档时间: |
|
| 查看次数: |
3246 次 |
| 最近记录: |