Recentemente, durante um estágio, tive minha primeira experiência com a enorme base de código de um produto. Era difícil medir o alcance do impacto das mudanças, e eu me perguntava repetidamente “onde este código deve ser referenciado”. Pensei que, ao impor limites de importação com análise estática (ESLint), seria possível manter a qualidade da arquitetura de forma mais estável.
Eu sabia que também era possível criar regras parecidas com o eslint-plugin-boundaries. No entanto, para aplicar isso no frontend, a configuração ficava mais complexa, e era difícil impor até mesmo o formato do caminho de importação, mesmo para targets permitidos.
Por isso, criei o eslint-plugin-import-boundary, em que a estrutura de pastas de projetos JS(TS) se torna a regra com uma configuração simples.
- Por padrão, o pai só pode importar a entrada pública de diretórios filhos diretos
- É possível definir o formato do arquivo de entrada pública (padrão: index)
- É possível definir arquivos (pastas) compartilhados para que, dentro desse escopo, módulos compartilhados possam ser importados apenas por eles mesmos e por áreas de diretórios inferiores.
Como ainda está em estágio inicial, feedbacks e reações são muito bem-vindos. Obrigado!
- Documentação: https://nayounsang.github.io/eslint-plugin-import-boundary/
- Instalação:
pnpm add -D eslint-plugin-import-boundary eslint
Ainda não há comentários.