turborepo
Configurar sistemas de build monorepo Turborepo
Également disponible depuis: vercel
Gerenciar múltiplos pacotes em um monorepo pode resultar em builds lentos e orquestração complexa de tarefas. O Turborepo fornece caching inteligente e execução paralela para acelerar builds. Esta skill oferece orientação especializada sobre configuração de pipelines de tarefas, estratégias de caching, variáveis de ambiente e práticas recomendadas para monorepos.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "turborepo". How do I configure a build task that depends on my packages being built first?
Résultat attendu:
Para configurar uma tarefa build com dependências, use a chave dependsOn com o prefixo `^`:
```json
{
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**"]
}
}
}
```
O prefixo `^build` significa "execute build em todas as dependências primeiro". Seus pacotes devem ter seus próprios scripts de build no package.json, e o turbo.json raiz orquestra a ordem de execução.
Utilisation de "turborepo". My team wants to only run tests for packages that changed in the current PR
Résultat attendu:
Use a flag `--affected` para detectar automaticamente pacotes alterados e seus dependentes:
```bash
turbo run test --affected
```
Isso compara com sua branch padrão e:
- Encontra pacotes com arquivos alterados
- Inclui pacotes que dependem de pacotes alterados
- Executa apenas esses testes
Para branches base customizadas, use `--affected-base=origin/develop`.
Audit de sécurité
Risque faibleDocumentation-only skill containing Turborepo best practices. All static findings are false positives from the scanner misinterpreting markdown code examples as executable code. The skill provides guidance on turbo.json configuration, task pipelines, caching strategies, and monorepo best practices. No actual code execution, network calls, or credential access occurs.
Facteurs de risque
⚡ Contient des scripts
🌐 Accès réseau (3)
📁 Accès au système de fichiers (3)
🔑 Variables d’environnement (3)
⚙️ Commandes externes (3)
Motifs détectés
Score de qualité
Ce que vous pouvez construire
Nova configuração de monorepo
Usuário iniciante no Turborepo precisa de orientação sobre configuração de pipelines de tarefas, definição de dependências entre pacotes e configuração de caching para performance de build otimizada.
Otimização de CI
Engenheiro de DevOps quer configurar pipelines CI que buildam apenas pacotes alterados usando flag --affected, reduzindo tempos e custos de build.
Debug de cache
Desenvolvedor experienciando cache misses ou builds incorretos precisa de ajuda para debugar inputs de hash e entender o impacto de variáveis de ambiente no caching.
Essayez ces prompts
Quero configurar uma tarefa [build/lint/test] no meu monorepo Turborepo. Meu pacote produz [descreva as outputs]. Como deve ficar minha configuração do turbo.json?
Meu cache do Turborepo não está invalidando quando variáveis de ambiente mudam. Eu tenho API_URL e DATABASE_URL no meu código mas os cache hits estão errados. Como configuro env e globalEnv corretamente?
Configure um workflow GitHub Actions para o meu monorepo que builda apenas pacotes alterados. Como uso a flag --affected com turbo run?
Preciso implementar o padrão Transit Nodes para tarefas lint paralelas com invalidação de cache. Como configuro dependsOn para permitir execução paralela enquanto ainda invalida o cache quando o código fonte da dependência muda?
Bonnes pratiques
- Sempre use 'turbo run' em scripts package.json e pipelines CI, não o atalho 'turbo <task>' que é destinado apenas para uso interativo no terminal
- Coloque scripts de build no package.json de cada pacote e registre tarefas no turbo.json raiz, evitando scripts raiz que derrotam a paralelização
- Use globalEnv e globalDependencies para configuração compartilhada entre todas as tarefas, reduzindo repetição em configurações de tarefas individuais
Éviter
- Usar '&&' para encadear tarefas turbo - deixe o turbo orquestrar a execução de tarefas através de dependsOn
- Colocar lógica de tarefas em scripts package.json raiz - isso contorna o grafo de dependências e paralelização do turbo
- Usar caminhos relativos como '../' em inputs do turbo.json - use $TURBO_ROOT$ para caminhos relativos ao repo