“Tudo o que é bom dura o tempo necessário para ser inesquecível.” ― Fernando Pessoa

Verdade seja dita, essa não é uma lista dos melhores pacotes, porque o melhor pacote é aquele que é mais apropriado pra resolver seu problema. Existem, entretanto, problemas que constantemente entramos em contato como segurança, autenticação, programação funcional, solicitações http, testes dentre outros. São sobre alguns desses pacotes extremamente populares no github que eu vou falar agora, sendo uns bastante conhecidos e outros nem tanto. No final, ainda será disponibilizado um link com centenas de pacotes pra você que tiver curiosidade explorar mais a fundo.

Lodash

Uma classe utilitária define um conjunto de métodos que performam funções comuns e frequentemente reutilizadas. - Wikipedia

E é exatamente isso que Lodash é, mas ela é a melhor e mais otimizada, deixando a antiga underscore no passado.

Aqui está um excelente artigo pra explorar 10 maneiras que lodash pode facilitar bastante sua vida.

Helmet

Se você precisa de algumas middlewares pra proteger sua aplicação em Node, então esse pacote vai lhe ajudar bastante. Evitar 'Cross-Site-Script - XSS' attacks e esconder algumas informações presentes no header são algumas das opções que você vai encontrar aqui.

Mocha e Chai

Mocha é um framework de testes que lhe vai proporcionar o 'ambiente' necessário à realização de testes, sendo o mais utilizado para isso. Normalmente Mocha(pronunciado como moca) vem acompanhado uma biblioteca assertiva, isto é, uma biblioteca que vai de fato lhe auxiliar a testar suas regras de negócio verificar se um determinado valor é igual a outro, por exemplo. Para isso, Chai é uma excelente opção.

SuperAgent

SuperAgent é um pacote que vai lhe auxiliar muito para realização de testes em sua API.

Passport e suas Strategies

Passport é muito famoso, mas é importante listá-lo aqui, pois um iniciante em Node pode desconhecer essa dependência que vai lhe auxiliar muito nas autenticações necessárias à sua aplicação. Passport possui estratégias de autenticação via token(JWT), local, facebook, twitter, google e muito mais.

Cors

Quem eventualmente não teve problema ao fazer uma solicitação Ajax no browser devido à política de mesma origem?

Bom, esse pacote vem justamente pra isso e lhe proporciona uma middleware para facilmente permitir acesso a alguns domínios na sua lista branca acessarem a sua API via browser.

Axios

Axios é uma solicitação Ajax baseada em promises e funciona tanto para o node.js quanto no browser, sendo por isso bastante utilizada em aplicações react. Uma outra alternativa é usar o pacote: isomorphic-fetch.

Soap

Pra quem não sabe soap é um tipo de web service, baseado exclusivamente em xml, mas que, ao contrário dos chamados Restful web services que expõem maneiras de interagir com dados, atua expondo pedaços de funcionalidade de uma aplicação. Eventualmente, você vai precisar de SOAP para enviar SMS ou trabalhar direto com entidades financeiras. Quando precisar criar este tipo de serviço ou consumi-lo, já sabe que há algo por aqui.

Http-Proxy

Eventualmente, você vai precisar fazer com que seu próprio servidor atue como um proxy de outro. Pode ser que um cliente no browser solicite uma foto, por exemplo. Você verificaria se tem essa foto em cache, atuando como proxy, para só então redirecionar para o servidor onde estão guardadas as fotos.

Faker

Digamos que você é um desenvolvedor frontend, mas precisa de muitos dados em formato real de QUALQUER coisa que você precisar, inclusive url de fotos reais. Bom, faker vai lhe ajudar a popular seu banco de dados muito facilmente.

Conclusão

Definitivamente muitas ferramentas que você pode baixar via npm foram deixadas de fora, como bower, yeoman, gulp, nodemon, babel, webpack, pretty-error, node-inspector dentre outros, mas lhe encorajo a verificar por você mesmo. Assim como lhe incentivo a ver uma lista completa de pacotes separados por categoria.

Veja Também

Sobre o Autor

Johel Carvalho

Johel Carvalho

Engenheiro Civil formado pelo Instituto Militar de Engenharia (IME-RJ) em Dezembro de 2012. Largou a profissão pelo desenvolvimento web, começando com C# e sendo atualmente aficionado por JavaScript.

comments powered by Disqus