turborepo
Configurar compilações de monorepositório Turborepo
也可从以下获取: antfu
Os sistemas de compilação de monorepositório podem ser complexos de configurar. Esta habilidade fornece orientação especializada sobre como configurar pipelines Turborepo, dependências de tarefas, estratégias de cache e integração CI para projetos JavaScript e TypeScript.
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“turborepo”。 Como eu configuro turbo.json para uma tarefa de build?
预期结果:
- Para configurar uma tarefa de build em turbo.json:
- 1. Defina a tarefa com outputs para caching:
- {
- "tasks": {
- "build": {
- "dependsOn": ["^build"],
- "outputs": ["dist/**", "build/**"]
- }
- }
- }
- 2. A array dependsOn garante que os pacotes sejam compilados em ordem de dependência.
- 3. A array outputs especifica quais arquivos devem ser cacheados.
- Veja references/configuration/tasks.md para mais opções.
正在使用“turborepo”。 Como eu executo testes apenas para pacotes alterados?
预期结果:
- Use a flag --affected para detectar automaticamente pacotes alterados:
- turbo run test --affected
- Isso compara com o seu branch padrão e inclui:
- - Pacotes com alterações diretas
- - Pacotes que dependem de pacotes alterados
- Para branches base personalizados:
- turbo run build --affected --affected-base=origin/develop
安全审计
低风险Documentation-only skill containing Turborepo guidance. Static analysis flagged 1305 patterns in markdown documentation files - all findings are false positives. CLI commands, URLs, file paths, and environment variables appear only as documentation examples, not executable code. No code execution, network calls, or file system operations occur.
中风险问题 (1)
低风险问题 (3)
风险因素
⚙️ 外部命令 (2)
质量评分
你能构建什么
Configurar novo pipeline de tarefas de monorepositório
Configurar tarefas de build, test e lint com dependências e cache de saída adequados em turbo.json
Otimizar tempos de compilação CI
Configurar a flag --affected e cache remoto para executar apenas pacotes alterados em pipelines CI
Diagnosticar problemas de cache não encontrado
Diagnosticar por que tarefas estão sendo recompiladas inesperadamente e configurar padrões de saída adequados e variáveis de ambiente
试试这些提示
Como eu configuro uma tarefa de build em turbo.json que depende da compilação TypeScript? Eu quero que a tarefa cache o diretório dist e execute em paralelo com outros pacotes.
Eu quero executar testes apenas para pacotes que foram alterados no meu branch do Git. Como eu uso --filter ou --affected para incluir pacotes dependentes também?
Minhas variáveis de ambiente não estão sendo detectadas durante as compilações. Como eu configuro a chave env em turbo.json para incluir chaves de API que devem afetar o hash do cache?
Como eu configuro cache remoto com Vercel ou um servidor de cache remoto personalizado? Quais credenciais eu preciso e como eu configuro o remoto?
最佳实践
- Configure outputs de tarefas explicitamente para maximizar acertos de cache e minimizar tempos de recompilação
- Use a flag --affected em CI para executar apenas pacotes alterados e seus dependentes
- Defina tarefas no nível do pacote em vez de nível raiz para habilitar paralelização adequada
避免
- Colocar todos os comandos de build no package.json raiz - isso anula a paralelização do Turborepo
- Usar `turbo build` em vez de `turbo run build` em scripts e arquivos package.json
- Omitir a chave outputs - sem ela, nada é cacheado entre execuções