import { criarOcorrencia } from '../../../types/index.js';
export const detectorCircleCIPerformance = {
    nome: 'detector-circleci-performance',
    categoria: 'performance',
    descricao: 'Detecta problemas de performance em CircleCI configs',
    test: (relPath) => relPath.endsWith('.circleci/config.yml'),
    aplicar: (src, relPath) => {
        if (!src)
            return [];
        const ocorrencias = [];
        if (!/save_cache:/.test(src) && !/restore_cache:/.test(src)) {
            ocorrencias.push(criarOcorrencia({
                tipo: 'circleci-missing-cache',
                nivel: 'aviso',
                mensagem: 'Configuração de cache (save_cache/restore_cache) não encontrada',
                relPath,
                linha: 1,
                sugestao: 'Implemente cache para dependências para reduzir drasticamente o tempo de build'
            }));
        }
        if (!/parallelism:/.test(src)) {
            ocorrencias.push(criarOcorrencia({
                tipo: 'circleci-missing-parallelism',
                nivel: 'info',
                mensagem: 'Otimização de paralelismo não configurada',
                relPath,
                linha: 1,
                sugestao: 'Considere usar "parallelism: N" para dividir suítes de teste longas entre múltiplos containers'
            }));
        }
        return ocorrencias;
    }
};
//# sourceMappingURL=detector-circleci-performance.js.map