Seguindo o lançamento da regra de versão Follow 4D, estamos entusiasmados em introduzir um novo nível de automação e confiabilidade em 4D 20 R10: resolução de dependência totalmente recursiva.
Se está adicionando, atualizando ou removendo um componente, o Gerenciador de Dependências agora age recursivamente, assegurando que cada ação que toma é refletida precisamente em toda sua árvore de dependências.
Uma ação, todas as dependências
Quando adiciona uma dependência primária, do GitHub ou de uma pasta local, 4D:
- Recursivamente carrega todas as dependências que requer
- Aplica as restrições de versão definidas em seu dependencies.json.
Não precisa se preocupar com peças faltando ou versões incompatíveis, sua árvore de dependências completa é automaticamente resolvida e carregada.
Tratamento recursivo de versões
Quando vários componentes exigem versões diferentes da mesma dependência:
- O Gerenciador de dependências verifica os intervalos necessários e escolhe uma versão que satisfaça todas as restrições, quando possível
- Se uma versão é declarada diretamente como uma dependência primária, essa versão tem precedência sobre as versões exigidas indiretamente.
Esta abordagem mantém o seu ambiente estável e consistente, mesmo quando o seu projeto cresce.
Uma interface de usuário que reflete a estrutura completa
A interface das Dependências do Projeto foi atualizada para mostrar a natureza recursiva das dependências do seu projeto:
- Guia “Todos”: Mostra uma lista simples de todas as dependências (primárias e secundárias) usadas no seu projeto.
- Separador “Declarado”: Uma nova seção entre “Todos” e “Ativo” que lista apenas as dependências que você declarou explicitamente em dependencies.json.
- As dependências secundárias são claramente marcadas e, quando você passa o mouse sobre uma delas, uma dica de ferramenta revela quais componentes precisam dela. Tudo é transparente.
Tome uma ação – 4D lida com o resto
Cada mudança que faz, seja adicionando, removendo ou atualizando um componente, é agora propagada recursivamente através de todo o gráfico de dependências.
Você se beneficia de:
- Carregamento automático de sub-dependências necessárias
- Resolução inteligente de versões com regras de precedência claras
- Remoção segura com consciência do impacto
- Uma interface de utilizador que reflecte a estrutura real do seu projeto
PARA PROGRAMADORES DE COMPONENTES
Se estiver a desenvolver os seus próprios componentes, pode estar a perguntar-se: como é que declaro as minhas dependências? Cada componente deve incluir seu próprio arquivo dependencies.json. Este ficheiro especifica as dependências necessárias para que o componente funcione corretamente, juntamente com as suas restrições de versão.
Esse mecanismo funciona tanto com dependências locais quanto com aquelas hospedadas no GitHub. No entanto, para melhor portabilidade e compartilhamento, o uso do GitHub é considerado a melhor prática. Ao criar um componente, certifique-se de que o arquivo dependencies.json esteja incluído no pacote final. Suporte completo para essa funcionalidade está disponível a partir do 4D 20 R10. Se estiver trabalhando com componentes antigos, precisará reconstruí-los para aproveitar a resolução recursiva automática.
Experimente agora e experimente uma maneira mais inteligente e que economiza tempo para gerenciar suas dependências, e gaste menos tempo resolvendo problemas.

