por ética moral no publiqué el paquete. XD
Introducción
Bienvenida a NPM
Gestión de dependencias
Instalación de NPM
Instalación de NPM en MacOS
Instalación de NPM en Windows
Configuración de dependencias
Primeros pasos en NPM
Instalación de dependencias
Instalación de dependencias de versiones específicas
Comandos en NPM (Scripts)
Actualización de dependencias
Seguridad y solución de problemas
Eliminación de dependencias y Package lock
Creación y publicación de paquetes
Crear un paquete
Publicar un paquete
Versionado de paquetes y paquetes privados
Cierre
Sigue desarrollando en JavaScript
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El versionado semántico consiste en la estructura que debemos seguir para colocar una versión a nuestro paquete.
El versionado semántico está conformado por tres valores:
Existen dos símbolos que acompañan al versionado sirven para actualizar las versiones minor y patch del paquete.
Por ejemplo, tenemos la versión 5.2.3
:
^5.2.3
, actualizará la versión minor y patch, por lo que tendrás versiones como ^5.3.3
, ^5.4.3
, ^5.4.4
, y así sucesivamente. Pero no versiones mayores a 6.0.0
.~5.2.3
, actualizará la versión de patch, por lo que tendrás versiones como ~5.2.4
, ~5.2.5
, ~5.2.6
, y así sucesivamente. Pero no versiones mayores a 5.3.0
.Lo recomendable es eliminar estos símbolos y tener la versión exacta (sin símbolos) para evitar problemas de versionado, principalmente con paquetes que los mantienen pocas personas o no son fiables.
Debes manejar las actualizaciones cuando sea pertinente y asegurándote que no entrará en conflicto la nueva versión con la antigua.
Si realizas cambios en tu código, tienes que cambiar la versión de tu paquete. Debes utilizar los siguientes comandos, según la versión que desees cambiar:
```bash
$ npm version patch
$ npm version minor
$ npm version major
$ npm version
Una vez actualizada la versión de tu paquete, puedes ejecutar nuevamente el comando npm publish
para actualizarlo en los repositorios de NPM.
Para usar paquetes privados necesitas:
En un paquete privado de NPM, solo pueden participar el propietario y los colaboradores autorizados. De esta manera, puedes seguir construyendo el paquete con una combinación de código privado y dependencias públicas.
Tu paquete debe contener toda la información posible para que el usuario puede instalarlo, utilizarlo y hasta colaborar para solucionar posibles bugs. Por ende, es necesario que tengas configurado, por lo menos, un archivo README.md
y un repositorio remoto (GitHub, GitLab, etc.).
Una vez tengas estos requisitos, puedes actualizar tu paquete a una nueva versión, luego publícalo nuevamente.
Para crear un archivo README.md puedes utilizar esta estructura base y adecuarla a tu proyecto. Puedes mirar el código haciendo clic en el botón "Raw".
Contribución creada por Andrés Guano (Platzi Contributor).
Aportes 24
Preguntas 6
por ética moral no publiqué el paquete. XD
Si les da errores, puede ser porque no habían instalado previamente el comando con permisos de root, por ejemplo:
sudo npm install -g random-str-msg
Con eso debería resolver lo de instalar y ya al colocar el comando:
random-str-msg
deberían aparecerle las frases que al profe le aparecen en su consola.
👨💻 Comparto esta imagen sobre el versionado semántico.
Acá 👉 mi primer paquete publicado en el listado de npm 📦😀💻
Me gustó mucho este curso y la forma de explicar de gndx!!!
“Me gustaría ver tus paquetes”
Publiqué un paquete que retorta e imprime en consola un objeto con la siguiente estructuta:
{
Departamento:‘Amazonas’,
Capital:‘Leticia’
}
Esto de forma aleatoria con los 32, es el primero que publico 🙈.
npm i random-departmentsofcolombia
https://www.npmjs.com/package/random-departmentsofcolombia
Hace tiempo cree un router client-side para JavaScript vanilla con soporte para JS y TS, la cantidad máxima de descargas que alcanzó fueron 274 por semana.
El paquete se llama yourrouter y la documentación oficial está en inglés. Se los dejo aquí por si quieren echarle un ojo.
Cualquier aporte o bug lo pueden reportar para corregirlo:)
Si no les funciona el up main intenten con git push
Construí un paquete que recibe un texto entre comillas despues del comando y lo regresa emarcado para darle énfasis
█▀▀▀▀▀▀▀▀▀▀▀▀█
█ FRAME TEXT █
█▄▄▄▄▄▄▄▄▄▄▄▄█
npm install -g frame-text
frame-text "Hello"
=>
█▀▀▀▀▀▀▀█
█ Hello █
█▄▄▄▄▄▄▄█
Los paquetes son divertidos. Comandos importantes:
Los paquetes privados tienen costo.
En mi caso cree un paquete que permite crear cuentas de ethereum EIP55 compatibles, trabajado globalmente me las genera de forma aleatoria pero importando las funciones extras que cree me permiten importar desde la clave privada o generar wallets deterministicas usando un usuario y un password. Dejo para más adelante para implementar el bip39 y bip32. Acá les dejo el npm: https://www.npmjs.com/package/cryptocris_ethereum_wallet
Les recomiendo Verdaccio para crear sus paquetes privados de manera gratuita. Recién lo utilicé, es sencillo y poderoso 💪
Hola
Acá les dejo un package que permite convertir la collection de Postman a un archivo Markdown.
Dejo mi paquete que esta diseñado para entregar citas de libros aleatoriamente.
https://www.npmjs.com/package/random-str-quote
Hice que ChatGPT me generara 500 frases aleatorias en la estructura que estaba en el condigo aquí el repo
https://www.npmjs.com/package/random-str-msg-vic
mi paquete,
Descargen mi paquete de npm:
npm i randname-ag
Publico mi paquete y mi repositorio:
https://www.npmjs.com/package/sponquotes
https://github.com/LizzColDev/spon-quotes
El poder compartir paquetes que uno crea es algo genial, pero dentro de NPM existen muchos muy utiles para el desarrollo de cada dia.
Entre algunos de estos:
Aqui pueden visitar Mi paquete. Ha sido genial aprender como usar npm. La verdad lo venia usando pero como que adivinando, ahora tiene muchas más sentido cada cosa que hago con NPM 😄
Excelente clase!
Me siento que tengo el conocimiento de todo un profesional
Publiqué un paquete en el cual te genera frases inspiradoras con diferente color de fuente y diferente fondo cada que se ejecuta el comando.
Aquí la pagina del paquete en npmjs (https://www.npmjs.com/package/random-quote-colors)
Aquí el link del repositorio en Github (https://github.com/cristhian420/random-quote-colors)
Al momento de instalar el paquete de manera local con npm link, me genero un problema el cual no reconocía el script en la consola.
$ random-quote-colors
zsh: permission denied: random-quote-colors
$ sudo random-quote-colors
Password:
sudo: random-quote-colors: command not found
Usando el comando para desinstalar el paquete
$ npm uninstall random-quote-colors
Simplemente me aparecía el proceso pero seguía apareciendo en la lista de paquetes instalados, por lo que elimine desde la carpeta
/usr/local/lib/node_modules
De esta manera pude reinstalar el paquete de manera local, correr las pruebas y publicarlo en npmjs.
Les dejo mi paquete hecho con frases motivacionales.
https://www.npmjs.com/package/random-show-msg
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.