Cómo crear un módulo en NPM

Nicolás Ignacio Gómez Espejo
4 min readNov 2, 2017

--

En el proceso de creación de mi último módulo npm hice varias cosas que antes no había hecho, como por ejemplo, agregar las típicas medallas de build y dependencies:

https://github.com/muZk/transantiago-api-client

y que cada vez que suba una nueva versión del código, se actualice automáticamente el paquete en npm:

https://www.npmjs.com/package/transantiago-api-client

Voy a explicar lo que aprendí en 4 mini tutoriales:

  1. Cómo crear tu primer módulo NPM
  2. Cómo agregar la medalla “build” a tu módulo NPM.
  3. Cómo agregar la medalla “dependencies” a tu módulo NPM.
  4. Cómo automatizar la publicación de tu módulo NPM.

Al final de estos mini tutoriales 4 serás capaz de crear tus propios módulos, con una documentación en Github linda y además las nuevas versiones de tu módulo se irán publicando automáticamente en NPM, sin comandos complicados.

Para efectos de estos tutoriales, crearé un módulo cuya tarea principal será entregar “Piñericosas” aleatorias 😂

Enjoy! 😏

Cómo crear un módulo en NPM

Pre-requisitos

Paso 1: Crear repositorio en Github

  1. Crea un repositorio en Github. Asegura de marcar la opción para agregar un README al proyecto, agregar .gitignore para Node y licencia MIT.
  2. Clona el repositorio localmente.
Creando repositorio en Github
Clonando repositorio localmente

Paso 2: iniciar NPM en tu proyecto

Una vez ya clonado el repositorio, debes ejecutar el siguiente comando en la terminal para darle vida a tu módulo NPM:

npm init

Esto te hará una serie de preguntas para configurar un archivo package.json, que en palabras simples tiene todo lo relacionado a la configuración de tu módulo.

El contenido generado será algo como esto:

Las cosas más importantes son:

  • name: Nombre de tu módulo
  • version: La versión del módulo. Su valor lo debes ir cambiando en la medida que vayas subiendo actualizaciones del código. Te recomiendo usar la convención Semver para esto.
  • main: Corresponde a la ruta del archivo que será exportado por tu módulo.

Paso 3: Agregar el código a tu proyecto

Ahora viene la parte más entretenida 😄

Ahora debemos crear el código de tú módulo. Para esto, crear un archivo llamado index.js:

Puedes probar rápidamente el código iniciando la consola de Node, e importando manualmente el módulo:

$ node
> pinericosas = require('.index');
> pinericosas.randomQuote()
'En esta isla vivió, durante cuatro largos años, Robinson Crusoe, cuya historia no solamente fascinó y emocionó al mundo entero sino que puso en el mapa del mundo a esta isla en la cual viven ochocientas chilenas y chilenos.'

Ahora que sabemos que todo anda bien, podemos subir el código:

git add .
git commit -m "First version"
git push

Paso 3: Publicar en NPM

Ahora tienes el repositorio, la configuración del módulo (package.json) y además el código.

Solo queda publicarlo…

La primera vez que publicas un módulo debes escribir el siguiente comando:

npm adduser

Te pedirá las credenciales de tu cuenta de NPM.

Luego, para publicar simplemente ejecuta el comando

npm publish

Y listo!

Publicado :)

Paso 4: ¿Cómo subir una nueva versión?

Para subir una nueva versión, debes:

  • Hacer cambio en el código
  • Actualizar la versión en package.json
  • Subir código a Github
  • Publicar en NPM

Por ejemplo, en la primera versión que subí, me di cuenta de un pequeño error de texto, así que subí este commit para corregirlo. Luego ejecute npm publish y Listo! Versión 0.1.1 arriba ✅

TLDR;

  • npm init para iniciar el archivo package.json
  • npm adduser para autenticarte a la hora de publicar un package
  • npm publish para publicar tu repositorio.

Palabras finales

Ahora eres capaz de crear tus propios módulos NPM! 🎉

En el siguiente tutorial veremos cómo agregar la medalla de Build 🏅

--

--