Actualmente estoy configurando TurboRepo junto con los espacios de trabajo de yarn y tengo problemas para que reconstruya nuestra aplicación principal cada vez que uno de los paquetes locales depende de los cambios.
Aquí hay un ejemplo de mi estructura de archivos:
├── apps │ └── web ├── packages │ ├── assets │ ├── config │ ├── design-system │ ├── hooks │ └── utilsAquí está mi turbo.json:
{ "$schema": "https://turborepo.org/schema.json", "baseBranch": "origin/main", "pipeline": { "build": { "dependsOn": ["^build"], "outputs": [".sst/**", ".build/**", ".expo/**"] } } } Solo me gustaría reconstruir paquetes/aplicaciones siempre que hayan cambiado en git, por lo que estoy usando --filter=[origin/main] . Hice un pequeño cambio en el paquete de hooks y esperaba que necesitara reconstruir hooks , dependencias de ganchos y web (porque web tiene ganchos como dependencia en su paquete.json). Sin embargo, solo intenta reconstruir hooks y dependencias de ganchos.
Para probar, estoy experimentando con el siguiente comando: yarn turbo run build --filter=[origin/main] --dry-run
Esto imprime el siguiente resultado:
@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 = Como puede ver, no intenta reconstruir web . ¿Hay alguna forma de activar web para reconstruir desde que cambió su dependencia?
Como se indica en los documentos ( https://turborepo.org/docs/core-concepts/filtering ), debería poder incluir dependientes de paquetes coincidentes usando el prefijo antes de la consulta (por ejemplo --filter=...[origin/main] ... --filter=...[origin/main] )
# Build everything that depends on changes in branch 'my-feature' turbo run build --filter=...[origin/my-feature]