Muitas vezes, principalmente desenvolvedores no início de carreira, tem muitas dificuldades em encontrar bons pacotes que podem utilizar. Aqui você encontrará 10 pacotes MUST HAVE para a maioria dos projetos JavaScript
1. Axios
Quase todos projetos requerem que você faça requisições HTTP. Isso é geralmente necessário ao ter que consumir endpoints do backend ou algum outro serviço.
Axios, na minha opinião, é a melhor escolha para esse tipo de atividade. Realizar uma requisição é extremamente simples e intuitivo com esse pacote, se liga:
const response = await axios.get('/seu-endpoint');
Esse simples código acima através de uma única chamada de função te retorna uma Promise com o resultado da requisição.
Com esse pacote é possível realizar requisições com todos os verbos (GET, POST, PUT, DELETE e PATCH) alterando somente o nome da função chamada pelo correspondente.
Além disso, tem outras diversas funcionalidades para trabalhar com headers, capturar erros, parâmetros, interceptar requisições e outras coisas que você pode conferir através da documentação.
2. Luxon
Geralmente trabalhar com datas e horas no JavaScript é o pesadelo de qualquer desenvolvedor. A API nativa fornecida convenhamos que não é a melhor.
Portanto, para trabalhar com datas e horas, o Luxon é um pacote essencial que irá de fornecer uma API completíssima e uma documentação legal para fazer a bagunça toda que deseja com data, horas, timezone etc.
A maioria dos desenvolvedores conhecem o moment, porém poucos sabem que o moment é um pacote que ele próprio se considera legado. Portanto tenha em mente o Luxon para seu projeto.
Uma outra alternativa bem famosa e completa que vale a pena ser mencionada é o o pacote date-fns.
3. Lodash
Sendo bem sincero, Lodash é um pacote de explicar de forma sucinta o que ele faz.
Lodash é um pacote que te fornece uma série de funções utilitárias para trabalhar com arrays, funções, objetos, números, textos e uma infinidade de outras coisas. Sério, é muita coisa!
Você pode conferir melhor na documentação, vai por mim, vai se surpreender com a quantidade de funções utilitárias ao seu dispor.
4. Big.js
Pode parecer que não, mas algumas vezes trabalhar com números no JavaScript pode te trazer dor de cabeça, principalmente por conta da precisão.
Um ótimo exemplo é trabalhar com moeda. Algumas vezes é chato que dói. Para isso temos esse belo pacote que te fornece uma API fácil para trabalhar com números com precisão.
Basicamente você irá criar instancias Big que representam números e você consegue realizar diversos cálculos matemáticos com precisão a partir delas.
5. Jest
Qualquer bom projeto que se preze necessita de ter bons testes que asseguram a confiabilidade do código. Devemos ter em mente que isso é importantíssimo em um projeto.
Jest é um pacote que te fornece um framework delicinha para que você possa implementar testes JavaScript de forma simples e rápida. Você não precisará configurar de engenhoso, super fácil de iniciar.
Além de ser um framework construído para te servir de forma simples e redonda, a documentação é bem completa e didática.
6. Cron
Esse pacote é tão simples e útil… Cron é basicamente uma ferramenta que permite executar um trecho de código, uma rotina ou algo de acordo com um certo cronograma.
Exemplo simples: Todo dia, a uma hora da manhã você quer executar uma rotina que envia um e-mail a todos usuários que ainda não confirmaram sua conta — para fazer isso você usará o Cron.
Os exemplos são inúmeros e as possibilidades infinitas, tudo que você precisa de um cronograma para executar você utilizará o Cron para disparar o processo.
Para definir os parâmetros como periodicidade, dia, horário etc. será necessário passar uma expressão que no início pode parecer estranha, para tal, recomendo o uso de uma ferramenta. Existem muitas na internet, ao pesquisar por “cron expression generator” no Google irá achar diversas. eu recomendo a Free Formatter.
7. Validator
Sendo curto e grosso: um pacote que te fornece uma biblioteca com diversos validadores e sanitizadores para textos.
Precisa validar um e-mail?
validator.isEmail('seu-email@email.com'); //=> Verdadeiro
validator.isEmail('isso-nao-eh-um-email.com'); //=> Falso
Não existe nada mais simples que isso. Validar um e-mail foi só um exemplo. Você pode conferir todas as funções disponibilizadas na documentação no próprio NPM.
Para você, brasileirinhx, segue a dica de conhecer o pacote js-brasil que contém várias funções úteis para o Brasil.
8. Yup
Yup é um pacote que te fornece um jeito de criar esquemas JavaScript para validação e parsing.
A API fornecida pelo pacote é bem completa e te permite criar formas (shapes) de dados na medida, complexos (caso necessário) e expressivos de acordo com o que precisar.
A documentação está disponível no próprio NPM de forma explicativa e com bons exemplos.
O Yup é um pouco mais voltado para clientes, uma alternativa é o joi que tem o mesmo propósito. Inclusive, o Yup é inspirado no joi, conforme mencionado na própria descrição do pacote.
9. Faker
Como o próprio nome já induz, é um pacote que te permite criar dados falsos — ou melhor, fakes — porém realísticos.
Isso é extremamente útil nos testes e desenvolvimento. Imagine que está criando testes de ponta a ponta automatizados e precisa preencher um cadastro de um novo usuário com dados que simulam a vida real.
const usuario = faker.internet.userName()
const email = faker.internet.email()
const senha = faker.internet.password()
Pronto, você já tem dados realísticos para utilizar no seu teste.
E é um absurdo a quantidade imensa de dados fakes disponíveis que podem ser conferidos e utilizados seguindo a documentação. Na lista tem contextos de endereço, finanças, músicas, animais, substantivos, imagens, veículos etc. Não da nem para listar todos aqui.
Além disso, o pacote fornece suporte ao português do Brasil, importando da seguinte forma:
import { faker } from '@faker-js/faker/locale/pt_BR';
Curiosidade sobre este pacote: Inicialmente o autor dessa biblioteca sabotou, em 2022, o pacote inicial e o repositório (não existe mais) em forma de protesto. Em seguida foi restaurado e a comunidade vem o mantendo.
Socket IO & Socket IO Client
Nesse último pacote em específico são dois pacotes que completam um propósito.
Socket IO é uma ferramenta maravilhosa que te permite construir uma verdadeira comunicação baseada em eventos. E o melhor, tudo em tempo real.
Para isso, serão necessários dois pacotes. O Socket IO será utilizado no server, responsável por controlar toda a comunicação — algo como a central de comunicação. Já o Socket IO Client será necessário no cliente para receber e enviar eventos — seguindo o mesmo paralelo, o dispositivo que troca eventos com a central.
Esses pacotes te permitirão construir recursos para chats, jogos, notificações, atualizações ao vivo, enfim, tudo que necessita de uma comunicação ativa e em tempo real.
Muitas vezes, principalmente desenvolvedores no início de carreira, tem muitas dificuldades em encontrar bons pacotes que podem utilizar. Aqui você encontrará 10 pacotes MUST HAVE para a maioria dos projetos JavaScript
1. Axios Quase todos projetos requerem que você faça requisições HTTP. Isso é geralmente necessário ao ter que consumir endpoints do backend ou algum outro serviço.
Axios, na minha opinião, é a melhor escolha para esse tipo de atividade. Realizar uma requisição é extremamente simples e intuitivo com esse pacote, se liga:
const response = await axios.get('/seu-endpoint'); Esse simples código acima através de uma única chamada de função te retorna uma Promise com o resultado da requisição.
Com esse pacote é possível realizar requisições com todos os verbos (GET, POST, PUT, DELETE e PATCH) alterando somente o nome da função chamada pelo correspondente.
Além disso, tem outras diversas funcionalidades para trabalhar com headers, capturar erros, parâmetros, interceptar requisições e outras coisas que você pode conferir através da documentação.
2. Luxon Geralmente trabalhar com datas e horas no JavaScript é o pesadelo de qualquer desenvolvedor. A API nativa fornecida convenhamos que não é a melhor.
Portanto, para trabalhar com datas e horas, o Luxon é um pacote essencial que irá de fornecer uma API completíssima e uma documentação legal para fazer a bagunça toda que deseja com data, horas, timezone etc.
A maioria dos desenvolvedores conhecem o moment, porém poucos sabem que o moment é um pacote que ele próprio se considera legado. Portanto tenha em mente o Luxon para seu projeto.
Uma outra alternativa bem famosa e completa que vale a pena ser mencionada é o o pacote date-fns.
3. Lodash Sendo bem sincero, Lodash é um pacote de explicar de forma sucinta o que ele faz.
Lodash é um pacote que te fornece uma série de funções utilitárias para trabalhar com arrays, funções, objetos, números, textos e uma infinidade de outras coisas. Sério, é muita coisa!
Você pode conferir melhor na documentação, vai por mim, vai se surpreender com a quantidade de funções utilitárias ao seu dispor.
4. Big.js Pode parecer que não, mas algumas vezes trabalhar com números no JavaScript pode te trazer dor de cabeça, principalmente por conta da precisão.
Um ótimo exemplo é trabalhar com moeda. Algumas vezes é chato que dói. Para isso temos esse belo pacote que te fornece uma API fácil para trabalhar com números com precisão.
Basicamente você irá criar instancias Big que representam números e você consegue realizar diversos cálculos matemáticos com precisão a partir delas.
A documentação é bem tranquilinha.
5. Jest Qualquer bom projeto que se preze necessita de ter bons testes que asseguram a confiabilidade do código. Devemos ter em mente que isso é importantíssimo em um projeto.
Jest é um pacote que te fornece um framework delicinha para que você possa implementar testes JavaScript de forma simples e rápida. Você não precisará configurar de engenhoso, super fácil de iniciar.
Além de ser um framework construído para te servir de forma simples e redonda, a documentação é bem completa e didática.
6. Cron Esse pacote é tão simples e útil… Cron é basicamente uma ferramenta que permite executar um trecho de código, uma rotina ou algo de acordo com um certo cronograma.
Exemplo simples: Todo dia, a uma hora da manhã você quer executar uma rotina que envia um e-mail a todos usuários que ainda não confirmaram sua conta — para fazer isso você usará o Cron.
Os exemplos são inúmeros e as possibilidades infinitas, tudo que você precisa de um cronograma para executar você utilizará o Cron para disparar o processo.
A documentação está no próprio NPM.
Para definir os parâmetros como periodicidade, dia, horário etc. será necessário passar uma expressão que no início pode parecer estranha, para tal, recomendo o uso de uma ferramenta. Existem muitas na internet, ao pesquisar por “cron expression generator” no Google irá achar diversas. eu recomendo a Free Formatter.
7. Validator Sendo curto e grosso: um pacote que te fornece uma biblioteca com diversos validadores e sanitizadores para textos.
Precisa validar um e-mail?
validator.isEmail('seu-email@email.com'); //=> Verdadeiro validator.isEmail('isso-nao-eh-um-email.com'); //=> Falso Não existe nada mais simples que isso. Validar um e-mail foi só um exemplo. Você pode conferir todas as funções disponibilizadas na documentação no próprio NPM.
Para você, brasileirinhx, segue a dica de conhecer o pacote js-brasil que contém várias funções úteis para o Brasil.
8. Yup Yup é um pacote que te fornece um jeito de criar esquemas JavaScript para validação e parsing.
A API fornecida pelo pacote é bem completa e te permite criar formas (shapes) de dados na medida, complexos (caso necessário) e expressivos de acordo com o que precisar.
A documentação está disponível no próprio NPM de forma explicativa e com bons exemplos.
O Yup é um pouco mais voltado para clientes, uma alternativa é o joi que tem o mesmo propósito. Inclusive, o Yup é inspirado no joi, conforme mencionado na própria descrição do pacote.
9. Faker Como o próprio nome já induz, é um pacote que te permite criar dados falsos — ou melhor, fakes — porém realísticos.
Isso é extremamente útil nos testes e desenvolvimento. Imagine que está criando testes de ponta a ponta automatizados e precisa preencher um cadastro de um novo usuário com dados que simulam a vida real.
const usuario = faker.internet.userName() const email = faker.internet.email() const senha = faker.internet.password() Pronto, você já tem dados realísticos para utilizar no seu teste.
E é um absurdo a quantidade imensa de dados fakes disponíveis que podem ser conferidos e utilizados seguindo a documentação. Na lista tem contextos de endereço, finanças, músicas, animais, substantivos, imagens, veículos etc. Não da nem para listar todos aqui.
Além disso, o pacote fornece suporte ao português do Brasil, importando da seguinte forma:
import { faker } from '@faker-js/faker/locale/pt_BR'; Curiosidade sobre este pacote: Inicialmente o autor dessa biblioteca sabotou, em 2022, o pacote inicial e o repositório (não existe mais) em forma de protesto. Em seguida foi restaurado e a comunidade vem o mantendo.
Fonte: https://tecnoblog.net/noticias/2022/01/10/desenvolvedor-sabota-modulos-de-codigo-aberto-e-afeta-milhares-de-sistemas/
Socket IO é uma ferramenta maravilhosa que te permite construir uma verdadeira comunicação baseada em eventos. E o melhor, tudo em tempo real.
Para isso, serão necessários dois pacotes. O Socket IO será utilizado no server, responsável por controlar toda a comunicação — algo como a central de comunicação. Já o Socket IO Client será necessário no cliente para receber e enviar eventos — seguindo o mesmo paralelo, o dispositivo que troca eventos com a central.
Esses pacotes te permitirão construir recursos para chats, jogos, notificações, atualizações ao vivo, enfim, tudo que necessita de uma comunicação ativa e em tempo real.
É lindo e as possibilidades são infinitas.
Gostou? Vai fundo e olhe mais na documentação.
Fim Espero que pelo menos um pacote listado tenha sido novo para você. Use da melhor forma possível.
Tamo junto!