Todos nós que gostamos muito da linguagem JavaScript com certeza usamos centenas – para não dizer milhares – de pacotes/bibliotecas incríveis em nossos projetos. A maior parte destes pacotes vem do npm registry, site onde ficam armazenados os pacotes que são baixados quando usamos gerenciadores de pacotes com o npm, yarn e afins:
npm i express
Versão em vídeo
Caso queira acompanhar este material em formato de vídeo, basta acessar este link!
https://www.youtube.com/watch?v=BO-h1i-n8aM
Continuando…. Mas e se ao invés de querer usar um pacote que está lá, nós quisermos publicar um pacote lá? Ou seja, publicar uma biblioteca para que nossos amigos, familiares e devs do mundo inteiro possam usar? É possível? É de graça? Sim e sim!
Claro que o primeiro passo para publicar um projeto é você tem um projeto, rs. Neste caso, vamos criar um pequeno módulo chamado feriadao que nos ajudará a descobrir se determinado dia é ou não feriado.
Para simplificar, faremos tudo em um arquivo só, o index.js:
const holidays = [
{ date: "1/1/2024", name: "Confraternização Universal" },
{ date: "2/10/2024", name: "Carnaval" },
{ date: "3/29/2024", name: "Páscoa" },
{ date: "4/21/2024", name: "Tiradentes" },
{ date: "5/1/2024", name: "Dia do trabalho" },
{ date: "5/30/2024", name: "Corpus Christi" },
{ date: "9/7/2024", name: "Independência do Brasil" },
{ date: "10/12/2024", name: "Nossa Senhora Aparecida" },
{ date: "11/2/2024", name: "Finados" },
{ date: "11/15/2024", name: "Proclamação da República" },
{ date: "12/25/2024", name: "Natal" }
];
function isItHolidayToday() {
const today = new Date().toLocaleDateString("en-us");
const holiday = holidays.find((holiday) => holiday.date === today)
if (holiday) return `Sim, hoje é ${holiday.name} 🥳`;
return "Não, não é 😢";
}
module.exports = { isItHolidayToday };
npm
Depois de criar o projeto, você precisará criar uma conta no site da npm. Ela pode ser criada neste link npm | Sign Up. Você conseguirá acessar a página da sua conta. Maravilha. Mas o que precisamos agora na verdade é logar no npm através do terminal. Para fazer isso, use o comando:
npm login
O seu navegador abrirá para que você possa fazer o login. Depois de finalizar, você pode usar o comando abaixo para descobrir se o login foi bem sucedido:
npm whoami
Agora vem a parte divertida. Para publicar o seu projeto, basta usar o comando:
npm publish
Se tudo der certo, você verá uma tela semelhante a esta:
Depois de publicado, podemos usá-lo dentro dos nossos projetos! Basta instalar da mesma forma como você sempre fez, usando:
npm i **nomedoseupacote**
Como neste exemplo, onde temos uma API que usa esse código:
const express = require("express");
const { isItHolidayToday } = require("feriadao");
const app = express();
app.get("/holiday", (req, res) => {
const holiday = isItHolidayToday();
res.send(holiday);
});
app.listen(5000, () => console.log(`Server is up and running!`));
Referências