En este tutorial vamos a ver cómo crear y publicar nuestros propios paquetes de NPM, bien sea en un registro público o privado.
Como hemos visto en el curso, los paquetes NPM son la unidad fundamental de código reutilizable en el ecosistema JavaScript/Node.js.
Así que es muy probable que en algún momento queráis crear vuestros propios paquetes NPM y subirlos bien sea a un repositorio público o privado.
Además es algo muy útil y sencillo. Así que vamos a ello 👇.
Cómo crear un paquete de NPM
Para crear nuestro propio paquete, empezamos creando un proyecto de Node.js. Para ello, creamos una nueva carpeta para tu paquete de NPM.
mkdir mi-paquete
cd mi-paquete
He inicializamos el proyecto con
npm init
Una vez que tu proyecto esté inicializado, podemos comenzar a escribir el código de tu biblioteca. Por ejemplo, crea un archivo llamado index.js (o el nombre que elijas) y agrega tu código,
function saludo(nombre) {
return `Hola, ${nombre}!`;
}
module.exports = saludo;
Este es un ejemplo muy simple, pero puedes crear paquetes mucho más complejos que incluyan varias funcionalidades, clases.
Configurar el archivo package.json
Ahora tenemos que configurar el fichero package.json
, que contiene toda la información sobre tu paquete y sus dependencias.
{
"name": "mi-paquete",
"version": "1.0.0",
"description": "Un paquete simple de ejemplo que dice hola",
"main": "index.js",
"scripts": {
"test": "echo \"No tests specified\""
},
"author": "Tu nombre",
"license": "MIT"
}
- name: Nombre de tu paquete (debe ser único en NPM)
- version: La versión de tu paquete
- main: El archivo principal de tu paquete (por ejemplo,
index.js
). - dependencies: Las dependencias necesarias para que tu paquete funcione (si las hay).
- scripts: Los scripts que puedes ejecutar con NPM, como pruebas o construcción del proyecto.
Probar el paquete localmente
Antes de publicar tu paquete, generalmente conviene probar que funciona (por aquello de que no pete). Para probar tu paquete de manera local, podemos instalarlo directamente desde la carpeta donde lo has creado.
Crea un nuevo proyecto (fuera de la carpeta donde creaste el paquete), he instala el proyecto desde la carpeta haciendo:
npm install /ruta/a/tu/paquete
Esto instalará tu paquete como una dependencia local. Luego, puedes probarlo en el código de este proyecto:
const saludo = require('mi-paquete');
console.log(saludo('Mundo'));
Esto no es muy higiénico. Usarlo solo para probar que el paquete funciona correctamente, pero no como solución de producción.
Publicar el paquete en NPM
Una vez que estás seguro de que todo funciona correctamente, ya podemos publicarlo en en NPM para que este disponible para su descarga.
En primer lugar, si no tienes una cuenta de NPM, crea una en https://www.npmjs.com/signup. Luego, inicia sesión desde la terminal con:
npm login
Una vez que hayas iniciado sesió (nombre de usuario, correo electrónico y contraseña) puedes publicar tu paquete usando el siguiente comando:
npm publish
Esto subirá tu paquete a NPM y estará disponible para que otros lo instalen con:
npm install mi-paquete