Introducción

Qué es NPM?

Es un gestor de paquetes, el más popular que tiene JavaScript, donde encontrarás una gran cantidad de recursos para poder implementar en tus proyectos. También vas a poder crear tus propios paquetes y compartirlos con toda la comunidad.

Iniciar un proyecto

//Comandos Usados
npm init -- Da por iniciado un proyecto, creando un archivo package.json.
npm init -y -- Crea un Json con los datos por defecto.

//Los siguientes comandos sirven para guardar un dato, y que cuando se cree un nuevo json
	este los coloque por defecto.
npm set init.author.email "email" -- Guarda el correo.
npm set init.authon.name "name" -- Guarda el nombre.
npm set init.license "license" -- Guarda una licencia.

npm install <paquete> --save -- Es un paquete necesario para producción.
npm install <paquete> -dev -- Es un paquete necesario en el entorno local.

package.json | npm Docs

Instalaciones

npm install -- Escanea el archivo json e instala todas sus dependecias, 
								util tambien si se edito el archivo.
npm install <paquete>@<version> -- Instala la version especifica de una dependencia.

npm install <paquete> --save -- Es un paquete necesario para producción.
npm i <paquete> -S

npm install <paquete> -dev -- Es un paquete necesario en el entorno local.
npm i <paquete> -D

npm install <paquete> --save-dev 
npm i <paquete> -DS

npm install <paquete> --optional -- Es un paquete de que no depende el proyecto, y si este
npm install <paquete> -O			     puede funcionar.

npm install <paquete> -g -- Instala un paquete de forma global.
npm list -g --depth 0 -- Lista los paquete globales y su profundidad.

npm install <paquete> --dry-run -- Simula el output de una instalación.

npm install <paquete> --force -- Fuerza la instalacion de la dependecia.
npm install <paquete> -f

npm install <paquete>@lastest -- Instala la ultima version de una dependecia.

Actualizar o eliminar paquetes

npm update -- Actualiza todas las dependecias de nuestro proyecto.

npm update <paquete> -- Actualiza un paquete en especifico.

npm uninstall <paquete> -- Desistala del proyecto y el json una dependecia.

npm uninstall <paquete> --no-save -- Desistala la dependecia del proyecto pero no del
																			Json.

Otros comandos

npm list -- Lista todos los paquetes que tenemos instalados.

npm outdate -- Lista las dependencias que no tenemos actualizadas a las últimas versiones.
npm outdate -dd -- Nos brinda un out mas completo.

npm cache clean --force -- Fuerza la limpieza de la cache.

npm cache verify

Package lock y el uso de los simbolos ^ y ~

Cuando usamos "^" estamos garantizando que cuando saquemos una nueva actualización vamos a hacer cambios menores o bug fixing a el paquete.

Cuando usamos "~" establece que vamos a recibir actualizaciones o cambios solamente de parches o bug fixing.

Untitled

Existen otros simbolos como:

"dependencies": {
    "json-server": ">0.15.1",
    "moment": ">=2.26.0",
    "date-fns": "<2.14.0",
     "react": "<=16.12.0"
}

Seguridad

npm audit -- Muestra más información sobre las vulnerabilidades.
npm audit --json -- Hace lo mismo pero con un json.

npm update <paquete dañado > --depth 2 -- Actualiza el paquete vulnerable 
																					(Depth es la profundidad a la que llegara)

Snyk | Developer security | Develop fast. Stay secure.