Closed Juninhoww2 closed 2 weeks ago
Infelizmente essa modificação faz muito mais coisas do que pedido. Além disso, as restrições de imports estão em pastas que nem ao menos nós temos. Minha única hipótese quanto a isso é que as modificações foram todas feitas pelo GPT e você não testou e nem ao menos interpretou o que ele fez. Mas nem tudo está perdido. A modificação mostra um caminho claro. Veja que ele adicionou um novo atributo "zones" no objeto. Acho que a solução é por aí. Um import "from" a pasta 3 não pode referenciar um "to" na pasta 2 e nem 1; 4 não pode importar da 3 nem da 2 nem da 1 e assim por diante. A atualização das dependências também me deixa desconfiado... tem certeza que é uma minor version que contém essa funcionalidade de restrição de imports? Já temos uma versão relativamente nova das duas bibliotecas. Favor testar sem atualizá-las. A pull request vai ser aceita se apenas os restricts de import forem adicionados, sem mudar nada do arquivo de configuração do linter (a não ser que apresente uma justificativa para modificações extras).
Mudanças propostas
Seria bom se quando um desenvolvedor criar uma importação que viola a hierarquia da arquitetura (por exemplo, importar algo da infraestrutura no domínio), o ESLint imediatamente destacasse essa linha com um erro no editor, mostrando uma mensagem clara como 'A camada de domínio não pode depender da camada de infraestrutura'. Isso funcionaria assim:
O desenvolvedor tenta importar um módulo de uma camada superior O ESLint detecta automaticamente e sublinha a linha em vermelho Ao passar o mouse sobre o erro, aparece uma mensagem explicativa O comando 'eslint --fix' não conseguiria corrigir automaticamente (pois é uma decisão arquitetural) O dev precisaria corrigir manualmente respeitando a arquitetura
Além disso, essas regras impediriam que o CI/CD passasse caso existam violações, garantindo que o código em produção sempre respeite a hierarquia definida.
Tipo de mudança
Checklist
Issues
Issue resolvida por esse PR:
Issues relacionada a esse PR:
Instruções de testes
Descreva como testar sua funcionalidade
Evidências
Cole aqui uma screenshot da nova funcionalidade ou correção.