cover image
Web

Lista de comprobación para publicar paquetes NPM

Las listas de comprobación pueden ser herramientas útiles para manejar las complejidades de la vida moderna. Utilizadas por pilotos y otras profesiones que manejan tareas complejas, las listas de comprobación también pueden ser útiles para los desarrolladores de software. Lea más en este artículo sobre una lista de comprobación de calidad para publicar paquetes de NPM.

Por qué listas de comprobación

Muchas profesiones necesitan manejar hoy en día tareas más complejas y más especializadas que nunca. Como argumenta el autor Atul Gawande en su libro "The Checklist Manifesto" (2010, Picador, Nueva York), las listas de comprobación pueden ser una herramienta valiosa para abordar la complejidad en una variedad de tareas. Permiten a los desarrolladores de software manejar de forma repetible tareas complejas como la publicación de un paquete de NPM.

Utilizando listas de comprobación, el desarrollador de software puede estar seguro de que no pasa por alto ningún elemento crítico de la publicación de un paquete de NPM. Ello redundará en una mayor calidad y fiabilidad. Otro efecto es que las listas de comprobación permiten a los miembros del equipo comunicarse mejor y resolver los problemas más rápidamente. Por eso quiero presentar mi versión de la lista de comprobación para liberar paquetes en NPM.

Documentación

  • ¿Está actualizada tu documentación? ¿Tienes al menos un archivo README.md?
  • ¿Has añadido las notas de la versión?

Package.json

  • ¿Tienes todos los campos necesarios rellenados en el package.json?
  • ¿Has rellenado los campos name y description y author (incluyendo la url de la página web del autor)?
  • ¿Está rellenado el campo license?
  • Si tienes una página web, ¿está rellenado el campo homepage?
  • ¿Utilizas un bug tracker? Si es así, ¿se ha introducido el campo url bugs?

Versionado

  • Se recomienda el versionado semántico (semver). ¿Te adhieres a él y has actualizado el campo version en el package.json?

Pruebas

  • ¿Has añadido pruebas unitarias y/o E2E?
  • ¿Se ejecutan las pruebas automáticamente en tu pipeline CI?
  • ¿Has probado tu paquete tal y como lo usa otro desarrollador? Prueba los comandos npm pack o npm link. Alternativamente, pruebe la función de espacios de trabajo de NPM o yarn.

Seguridad

  • ¿Ha implementado controles de seguridad? Al menos ejecuta npm audit.
  • ¿Has comprobado el OWASP Top 10?

Git Tag

  • ¿Has creado una etiqueta git según semver?

Publicar en GitHub

  • ¿Has publicado todo tu código actualizado en GitHub?

Publicar en NPM

  • ¿Has creado una cuenta NPM para subir tu paquete? Cuando todo esté hecho y las pruebas estén bien, puedes publicar tu paquete NPM con:

bash npm publish

Automatización

Existe una herramienta llamada np que realiza automáticamente algunas comprobaciones de sanidad. Se puede utilizar en lugar de npm publish y complementa esta lista.

Conclusión

Espero que con esta lista de comprobación pueda ayudarte como desarrollador de software a controlar la calidad de tu proceso de publicación NPM. No es ciencia espacial y es fácil de extender y adaptar. Por lo tanto, quiero animarte a adaptar la lista a tus necesidades.

Referencias

Foto de portada por Markus Winkler en Unsplash

Published 5 Nov 2023

Creative Commons License
.
Thomas Derflinger

Escrito por Thomas Derflinger

Soy un empresario visionario y desarrollador de software. En este blog escribo principalmente sobre programación web y temas relacionados como el IoT.