Nest.js anunciou recentemente o lançamento da versão 6 de sua estrutura TypeScript. O Nest.js 6 melhora o suporte ao GraphQL e também separa as partes específicas da plataforma de sua estrutura para suportar aplicativos além da arquitetura tradicional baseada em Express e Node.js.
Kamil Mysliwiec, criador do Nest.js e co-fundador do Trilon.io, explica as mudanças no Nest.js 6 com o GraphQL:
Um dos problemas mais comuns com aplicativos GraphQL é um tipo de redundância. Para resolver esse problema, na versão anterior do Nest, adicionamos um compilador que permite compilar definições escritas em SDL para as interfaces (ou classes) TypeScript. Com o 6.0.0, o Nest foi integrado com um pacote
amazingtype-graphql
que permite gerar seus arquivos GraphQL usando apenas decoradores TypeScript! Agora você pode escolher qual abordagem é mais adequada às suas necessidades – ambas estão disponíveis no pacote@nestjs/graphql
Outra mudança significativa com a versão 6 é a mudança da Nest.js para além de seu foco principal como uma estrutura do lado do servidor para ser uma estrutura mais flexível e de propósito geral. Mysliwiec explica:
A independência de plataforma possibilita a criação de partes lógicas reutilizáveis que os desenvolvedores podem usar em diferentes tipos de aplicativos. Com o Nest, você pode criar facilmente um aplicativo da Web, CLI, uma fila de trabalhos ou qualquer outra coisa em que possa pensar!
Os planos atuais para a próxima grande parte do Nest.js incluem reescrever o módulo Nest.js Swagger para alavancar o TypeScript AST para reduzir o suporte ao decorador e adicionar suporte a genéricos, interfaces, dependências circulares e geração de esquemas de resposta automática. A equipe Nest.js também planeja melhorar o fluxo de trabalho do DevOps para suporte e implantação em ambientes sem servidor.
Para aplicativos do lado do servidor, o Nest.js aproveita as estruturas do HTTP Server, como Express e Fastify, e fornece fácil integração com vários módulos de terceiros, como o TypeORM. Nest.js fornece uma ampla variedade de padrões e decoradores de arquitetura, incluindo controladores, roteamento, provedores, middleware, guardas e interceptadores. O Nest.js fornece uma inversão da arquitetura do contêiner do controlador (IoC).
Os usuários do Nest.js que desejam migrar para a versão 6 devem seguir o guia de migração do Nest.js(Inglês). Desenvolvedores novatos no Nest.js devem seguir o guia de primeiros passos Nest.js.
Nest.js é um software de código aberto disponível sob a licença MIT. Contribuições e feedback são incentivados através do projeto Nest.js do GitHub e devem seguir as diretrizes de contribuição Nest.js.