目前,我正在与纱线工作区一起设置TurboRepo,而且每当本地包依赖于更改时,我都很难让它重建我们的主要应用程序。
下面是我的文件结构的一个示例:
├── apps
│ └── web
├── packages
│ ├── assets
│ ├── config
│ ├── design-system
│ ├── hooks
│ └── utils 这是我的turbo.json:
{
"$schema": "https://turborepo.org/schema.json",
"baseBranch": "origin/main",
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": [".sst/**", ".build/**", ".expo/**"]
}
}
}当包/应用在git中发生变化时,我只想重新构建它们,所以我使用的是--filter=[origin/main]。我对hooks包做了一个小小的修改,希望它需要重新构建hooks、钩子依赖项和web (因为web在package.json中将钩子作为依赖项)。但是,它只尝试重新构建hooks和钩子依赖关系。
为了进行测试,我正在使用以下命令进行实验:yarn turbo run build --filter=[origin/main] --dry-run
这将输出以下输出:
@hlp/config#build
Task = build
Package = @hlp/config
Hash = 118d81f38208c721
Directory = packages\config
Command = <NONEXISTENT>
Outputs = .sst/**, .build/**, .expo/**
Log File = packages\config\.turbo\turbo-build.log
Dependencies =
Dependendents = @hlp/hooks#build, @hlp/utils#build
@hlp/utils#build
Task = build
Package = @hlp/utils
Hash = 0c879c46fe4a9144
Directory = packages\utils
Command = <NONEXISTENT>
Outputs = .sst/**, .build/**, .expo/**
Log File = packages\utils\.turbo\turbo-build.log
Dependencies = @hlp/config#build
Dependendents = @hlp/hooks#build
@hlp/hooks#build
Task = build
Package = @hlp/hooks
Hash = 4be940dedd5cc599
Directory = packages\hooks
Command = <NONEXISTENT>
Outputs = .sst/**, .build/**, .expo/**
Log File = packages\hooks\.turbo\turbo-build.log
Dependencies = @hlp/utils#build, @hlp/config#build
Dependendents =如您所见,它不尝试重新构建web。在web的依赖关系发生变化后,是否有任何方法触发其重建?
发布于 2022-08-01 20:47:35
正如docs (https://turborepo.org/docs/core-concepts/filtering)中所述,您应该能够在查询前使用...前缀(例如,--filter=...[origin/main])来包含匹配包的受抚养人。
# Build everything that depends on changes in branch 'my-feature'
turbo run build --filter=...[origin/my-feature]https://stackoverflow.com/questions/73197742
复制相似问题