Turborepo——如何将应用程序嵌套在“apps”文件夹或不同的顶级目录中?

Mic*_*elB 6 node.js monorepo pnpm-workspace turborepo

我正在尝试创建一个turborepo,其中包含多种类型的基础设施,例如terraform,可能有100多个“无服务器”功能。

理想情况下,我希望将它们更多地组织到有意义的子文件夹结构中,而不是拥有一个包含数百个文件夹的巨大“应用程序”文件夹。

我尝试配置 pnpm 工作区来查看嵌套文件夹,这似乎很好,尽管 Turborepo 似乎没有任何文档或选项来运行/识别嵌套文件夹。

我尝试创建一个具有一些基本功能的子目录结构,这些功能只需登录控制台即可确认 Turborepo 默认情况下会选择它们:

apps
-- functions
---- function 1
---- function 2
---- more functions
------ more function 1
------ more function 2
Run Code Online (Sandbox Code Playgroud)

每个都有自己的 package.json、名称和“dev”脚本。

不幸的是,在运行 dev 时,它看不到它们:

在此输入图像描述

任何有关如何实现此目标或解决此问题的替代方法的建议都将受到赞赏,谢谢!

小智 3

您可以使用工作区来组织文件夹并让turborepo 识别它们。嵌套more functions不起作用,但您可以以不同的方式组织文件夹,使它们成为工作区的直接子级。

{
  "name": "monorepo",
  "version": "1.0.0",
  "workspaces": [
    "docs",
    "apps/functions-group-a/*",
    "apps/functions-group-b/*",
    "apps/functions-group-z/*",
    "packages/*"
  ]
}
Run Code Online (Sandbox Code Playgroud)