Publicar tu primer paquete en npm

Aprende a crear y publicar tu propio paquete npm. Desde preparar el package.json hasta configurar el workflow de publicación, descubrirás cómo compartir tu código con la comunidad.

Publicar un paquete en npm es más fácil de lo que parece. Una vez que tu código está listo y el package.json bien configurado, publicarlo solo requiere un comando. Pero hay detalles importantes que debes conocer: versioning, scoped packages, y cómo actualizar correctamente.

En esta lección vas a aprender a preparar un paquete para publicación, configurar la información necesaria, publicar tu primera versión, y gestionar actualizaciones futuras.

Al terminar, tendrás tu propio paquete publicado en npm y entenderás el proceso completo.

  • Lo que necesitas antes de publicar.
  • Antes de publicar, asegúrate de que el package.json tiene: nombre único, versión inicial (siempre 1.0.0), descripción clara, punto de entrada (main), licencia, y keywords relevantes.
  • También es buena práctica tener un repositorio (repository) y un campo bugs con la URL de issues. Esto hace tu paquete más profesional y confiable.
  • Nombre único en npm
  • Versión inicial 1.0.0

Preparar el paquete para publicación

Lo que necesitas antes de publicar.

Antes de publicar, asegúrate de que el package.json tiene: nombre único, versión inicial (siempre 1.0.0), descripción clara, punto de entrada (main), licencia, y keywords relevantes.

También es buena práctica tener un repositorio (repository) y un campo bugs con la URL de issues. Esto hace tu paquete más profesional y confiable.

  • Nombre único en npm
  • Versión inicial 1.0.0
  • Descripción clara
  • Punto de entrada (main)

Publicar tu primera versión

El comando que lo cambia todo.

El comando para publicar es simple: npm publish. Pero antes, necesitas una cuenta de npm (gratuita). Si no tienes una, regístrate en npmjs.com.

Una vez logueado con npm login, npm publish envía tu paquete al registry. En segundos estará disponible para todo el mundo.

Scoped packages: organiza tus paquetes

Paquetes con namespace personal.

Los scoped packages usan el formato @scope/nombre. Esto te da un namespace propio y evita conflictos de nombres. Para publicar un scoped package, necesitas una cuenta npm gratuita.

Los scoped packages pueden ser públicos (por defecto) o privados (requieren cuenta de pago, pero puedes tener ilimitados repositorios privados con npm Teams).

Actualizar y versionar correctamente

El ciclo de publicación continua.

Para actualizar, cambia la versión en package.json según semver (patch, minor, o major) y publica nuevamente. También puedes usar npm version para automatizar el incremento.

Nunca publiques la misma versión dos veces. Siempre incrementa.

Buenas prácticas de publicación

Haz tu paquete más discoverable.

Un buen paquete tiene: README claro con ejemplos, licencia válida, repository URL, keywords relevantes, y código de calidad con tests.

También considera añadir badges de CI/CD, publicar en GitHub, y mantener un changelog.

  • README con ejemplos funcionales
  • Licencia (MIT es común)
  • Repositorio público
  • Tests y CI configurados
NPM
12

Publicar tu primer paquete en npm

Aprende a crear y publicar tu propio paquete npm. Desde preparar el package.json hasta configurar el workflow de publicación, descubrirás cómo compartir tu código con la comunidad.

Código del tema: npm publish

📘 Teoría

Preparar el paquete para publicación

Lo que necesitas antes de publicar.

Antes de publicar, asegúrate de que el package.json tiene: nombre único, versión inicial (siempre 1.0.0), descripción clara, punto de entrada (main), licencia, y keywords relevantes.

También es buena práctica tener un repositorio (repository) y un campo bugs con la URL de issues. Esto hace tu paquete más profesional y confiable.

  • Nombre único en npm
  • Versión inicial 1.0.0
  • Descripción clara
  • Punto de entrada (main)

Publicar tu primera versión

El comando que lo cambia todo.

1

El comando para publicar es simple: npm publish. Pero antes, necesitas una cuenta de npm (gratuita). Si no tienes una, regístrate en npmjs.com.

2

Una vez logueado con npm login, npm publish envía tu paquete al registry. En segundos estará disponible para todo el mundo.

Scoped packages: organiza tus paquetes

Paquetes con namespace personal.

1

Los scoped packages usan el formato @scope/nombre. Esto te da un namespace propio y evita conflictos de nombres. Para publicar un scoped package, necesitas una cuenta npm gratuita.

2

Los scoped packages pueden ser públicos (por defecto) o privados (requieren cuenta de pago, pero puedes tener ilimitados repositorios privados con npm Teams).

Actualizar y versionar correctamente

El ciclo de publicación continua.

1

Para actualizar, cambia la versión en package.json según semver (patch, minor, o major) y publica nuevamente. También puedes usar npm version para automatizar el incremento.

2

Nunca publiques la misma versión dos veces. Siempre incrementa.

Buenas prácticas de publicación

Haz tu paquete más discoverable.

Un buen paquete tiene: README claro con ejemplos, licencia válida, repository URL, keywords relevantes, y código de calidad con tests.

También considera añadir badges de CI/CD, publicar en GitHub, y mantener un changelog.

  • README con ejemplos funcionales
  • Licencia (MIT es común)
  • Repositorio público
  • Tests y CI configurados

🧪 Aprende probando

Ejemplo Ejemplo: preparar y publicar Prepara un paquete y publícalo.

🏁 Retos

Reto Reto 1: Preparar package.json para publicar Configura un package.json publicable.
Reto Reto 2: Actualizar versión Usa npm version para incrementar.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre NPM.

Test de NPM

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com