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
ydescription
yauthor
(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 elpackage.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
onpm 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
- Npm publish: https://docs.npmjs.com/cli/v8/commands/npm-publish
- Np: https://github.com/sindresorhus/np
- Artículo mejores prácticas publicando paquetes NPM por Snyk: https://snyk.io/blog/best-practices-create-modern-npm-package
Foto de portada por Markus Winkler en Unsplash
Publicado el
5 nov. 2023