Imagen de versionado semántico
👨💻 Comparto esta imagen sobre el versionado semántico.
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
You don't have access to this class
Keep learning! Join and start boosting your career
Semantic versioning consists of the structure that we must follow to place a version to our package.
Semantic versioning consists of three values:
There are two symbols that accompany versioning are used to update the minor and patch versions of the package.
For example, we have version 5.2.3:
^5.2.3
, it will update the minor and patch version, so you will have versions like ^5.3.3
, ^5.4.3
, ^5.4.4
, and so on. But not versions greater than 6.0.0.
~5.2.3
, it will update the patch version, so you will have versions like ~5.2.4
, ~5.2.5
, ~5.2.6
, and so on. But no versions higher than 5.3.0.
It is recommended to remove these symbols and have the exact version (without symbols) to avoid versioning problems, especially with packages that are maintained by few people or are unreliable.
You should handle upgrades when appropriate and make sure that the new version will not conflict with the old one.
If you make changes to your code, you have to change the version of your package. You must use the following commands, depending on the version you want to change:
````bash
$ npm version patch
$ npm version minor
$ npm version major
$ npm version
Once you have updated the version of your package, you can run the npm publish
command again to update it in the NPM repositories.
To use private packages you need:
In a private NPM package, only the owner and authorized contributors can participate. This way, you can still build the package with a combination of private code and public dependencies.
Your package should contain as much information as possible so that the user can install it, use it and even collaborate to fix possible bugs. Therefore, you need to have at least a README.md
file and a remote repository (GitHub, GitLab, etc.) configured.
Once you have these requirements, you can upgrade your package to a new version, then release it again.
To create a README.md file you can use this base structure and adapt it to your project. You can view the code by clicking on the "Raw" button.
Contribution created by Andres Guano (Platzi Contributor).
Contributions 38
Questions 7
👨💻 Comparto esta imagen sobre el versionado semántico.
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.
“Me gustaría ver tus paquetes”
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 █
█▄▄▄▄▄▄▄█
Por aquí les dejo mis notas, espero les sean útiles.
Creando un paquete con el manejador de paquetes de node, npm, node package manager.
ACTUALIZAR EL PAQUETE Y VERSIONARLO.
20. 2.0.0, el primer número representa un cambio mayor, el segundo una versión menos y el tercero un parche al reparar algún error en una versión anterior.
21. Cambiamos la lógica del index.js si así lo queremos.
22. El readme debe estar muy bien explicado, con info de qué hace el paquete, como se instala, como se llama, etc.
23. Mandamos todo a github antes de hacer cualquier cambio.
24. versionamos el paquete de la siguiente manera: npm version 1.1.0. Obviamente aquí cambiamos a la versión que toque.
25. npm publish y con esto quedaría subida la nueva versión.
26. Revisamos los cambios en npm.
Los paquetes son divertidos. Comandos importantes:
Los paquetes privados tienen costo.
README.md
para tener un mejor control de los cambios que se realizan al proyecto.git add .
git commit -m “mensaje-del-cambio”
up main
0.0.0
se puede actualizar a:npm version 1.1.0
git status
se verifica si todo está correcto.npm publish
Yo hice un paquete que te cuenta historias cortas de terror 💀, selecione las mejores, chenlo está chido jaja 😄
Así se installa
npm i horror-stories
Así se ejecuta
tell-me
El semántico (semantic versioning), es el sistema de versionado que mas se usa a nivel mundial. El mismo se representa de la siguinete manera: Nombre-del-proyecto Numero-de-versión --> Ej: NPM v 10.2.1.
El primer número de la version, representa cambios mayores, cambios muy importantes, de apariencia y todo eso. Que si estas usando la version 9.#.# de una herramienta y la misma ya esta en su version 10.#.#, podria haber muchos errores de compatibilidad si intentas manejarte de la misma manera con esta nueva actualización.
El segundo número de la version, representa cambios menores. Que si tienes la version 10.2.# de una herramienta y la misma va por la version 10.4.#, no deberias tener conflictos si intentas manejarte de la misma manera con esta nueva actualización.
El tercer número de la version, representa cambios pequeñitos. La correccion de algo que no funcionaba, la actualizacion o mejora de algun parche de seguridad, etc.
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 😄
“Así que me gustaría ver tus paquetes”
Lo malo de ser mexicano y sentir que todo lo que te dicen es un albur xD
Mi paquete de npm:
gatfun
Excelente!
Cuando añadimos el siguiente código:
// https://github.com/userName/namePaquete#readme
"homepage": "https://github.com/Todointerconectado/random-str-msg-fnc#readme",
"bin": {
// "namePaquete": "./bin/global.js"
"random-str-msg-fnc": "./bin/global.js"
},
"preferGlobal": true,
"dependencies": {
"g": "^2.0.1",
"random-str-msg-fnc": "^1.1.1"
}
Ten en cuenta tu nombre de usuario de github y el nombre que le diste al paquete.

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
Want to see more contributions, questions and answers from the community?