No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Gestión de paquetes: NPM y package.json

20/31
Recursos

Aportes 75

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Seria genial poder LIKE a clases para que Platzi sepa cuales son las favoritas.

Esta me gusto mucho.

😂😂😂😂😂😂😂😂😂

Existe un modulo que valida si es par, y otro para validar si no es par pues utiliza el modulo de par y lo niega JAJAJA

Ahora entiendo porque node_modules siempre están pesado, por las dependencias de cada paquete y las dependencias de las dependencias, etc (Hay cientos de memes de esta carpeta JAJA).

Debemos tener cuidado a la hora de elegir un paquete, pues vamos a depender de éste, así que es mejor que esta dependencia tenga buen soporte, buenas actualizaciones y ya haya sido ampliamente testeado por muchos usuarios.

Npm install el pan de cada dia

npm (Node Package Manager) es un administrador de paquetes que permiten ejecutar funciones ya realizadas y validadas y de esta manera acelerar y asegurar la calidad de neustro proceso de desarrollo.

Podemos buscar modulos para casi todo en:

npm

// Para instalar un modulo de npm en nuestro proyecto
$ npm install is-odd

// Para requerir el modulo
const isOdd = require('is-odd');
console.log(isOdd(3)); // true

// Para revisar que los paquetes no estan actualizados a nivel global dentro de nuestro proyecto
npm outdated -g --depth=0
/* 
Va a imprimir algo así:
Package         Current  Wanted  Latest  Location
firebase-tools    8.0.1   8.0.2   8.0.2  global
npm              6.13.7  6.14.4  6.14.4  global
*/

// Para actualizar todos los paquetes a nivel global dentro del proyecto
npm update -g

Les recomiendo el curso de NPM, es corto y explica de forma mas profunda su uso. inclusive de como crear paquetes.
Se los dejo aquí

Me cae bienn este maestro jajaja

Comando más usados de npm

#Iniciar un proyecto
npm init

#Iniciar un proyecto con configuración automática
npm init -y

#Instalar dependencias para producción
npm install nombreDelPaquete --save 
#Alternativa 2 de Instalar dependencias para producción o desarrollo
npm i nombreDelPaquete -S 

#Instalar dependencias para desarrollo
npm install nombreDelPaquete --save-dev # npm i nombreDelPaquete -D

#Instalar dependencias de manera global
npm install -g nombreDelPaquete # npm i -g nombreDelPaquete

#Instalar una versión especifica de una dependencia
npm install -g [email protected] 

#Desinstalar dependencias 
npm uninstall nombreDelPaquete

#Ver dependencias desactualizadas
npm outdate

#Actualizar las dependencias desactualizadas
npm update

En caso de que estén utilizando Git para controlar los archivos en el proyecto. Ejecuten la siguiente línea para crear el gitignore:

npx gitignore node

Esto creará un archivo gitignore para evitar subir cosas de node que no deberían ir en el repo.

al momento que escribo este aporte hay (1.182.587) de paquetes en NPM

Gestión de paquetes: NPM y package.json


📋 NPM es un gestor de paquetes.

Tampoco vamos a instalar muchísimos paquetes, pero tener los necesarios y mantenerlos al día nos ayudará.

Para iniciar NPM utilizamos los comandos:

npm init

Y para instalar un paquete:

npm install *paquete*

No tenemos que tener todo en la cabeza y el min 7:52 es la prueba. Hasta a este tremendo profe se le olvida la sintaxis 😜

https://platzi.com/clases/npm/
tambien existe un curso para aprender a manejar NPM.

Y recuerden amigos. Nunca manden el node_modules a github. Incluyanlo siempre en su .gitignore

Debemos tener cuidado con los paquetes que instalamos, que no tengan vulnerabilidades o por lo menos no de nivel high, ya que eso puede comprometer la seguridad de nuestro software

No me explico como este profesor no es tan conocido en la comunidad de platzi si es muy bueno, e visto antes clases de npm donde modificas el package.json y no lo hacen ver tan sencillo como Carlos Hernandez. Un 10 para este profe.

Este profesor es muy bueno explicando, diria que lo mejor de el es como abtrae los temas complicados de igual forma que otros maestros como facundo de python ...

Si les interesa profundizar en el manejo de paquetes con NPM el Curso de Gestión de Dependencias y Paquetes con NPM de Oscar está muy bueno.

Jajaja el que creó el paquete de isEven se llevó el paquete de isOdd 🤣️

Haber utilizado distribuciones Linux desde hace muchos años me ha facilitado un poco esto.

Gestión de paquetes: NPM y package.json

NPM

NPM es un gestor de paquetes que son creados por terceros, utilizados por cualquier persona. Estos paquetes pueden llegar a ser tan simples como la suma de dos números o tan complejos como react.js framework de frontend.

Al utilizar un paquete de npm debemos tener presente que algunos paquetes dependen de otro paquetes y esto puede llegar a ser riesgoso si el paquete que estamos utilizando no están actualizados.

package.json

Es un archivo que se crea con el fin de tener información valiosa de nuestro proyecto, en el podemos visualizar como el nombre del proyecto, el autor, que versión esta, que palabras clave contiene o lo referencia, si tiene un repositorio en github, y lo mas importante que dependencia esta usando.

¯\_(ツ)_/¯

Siempre me pregunte como hacer para saber si tal o cual paquete ya existe. Es decir me planteo X situacion y quizas en vez de romperse la cabeza para solucionarlo existe tal paquete.
Digamos la busqueda en si, sera compleja?

Gestión de paquetes: NPM y package.json

Existen muchos paquetes funcionales que provienen de npm, estos paquetes pueden tener muchos otros paquetes como dependencias y es importante para la seguridad de mi código revisar los paquetes que voy a utilizar en aspectos como:

  • Se actualiza constantemente.
  • La última actualización fue menor al último año.
  • Está en una versión superior a 0.algo .

Estas validaciones se hacen para estar seguros de que vamos a utilizar un paquete que este bien cuidado y no vaya a generar dolores de cabeza luego.

Instalación de paquetes

Cuando necesitamos utilizar un paquete la forma adecuada de hacer la instalación de un paquete de npm es la siguiente:

npm install <package-name>

Como recomendación adicional, es preferible tener el proyecto que se va a trabajar inicializado con npm de la siguiente forma:

npm init

Esto pedirá información del proyecto que se puede llenar y luego se va a crear un archivo package.json , que tiene toda la información del proyecto. Cuando se instala un paquete externo, va a aparecer en el archivo mencionado como una dependencia del mismo.

// Package.json
{
  "name": "npm",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "license": "MIT",
  "dependencies": {
    "is-odd": "^3.0.1"
  }
}
// Package.json

Si se quiere utilizar el módulo instalado, se debe crear un archivo .js y dentro de este hacer lo siguiente:

const isOdd = require('is-odd') //Importación del paquete

console.log(isOdd(4)) // Utilización del paquete 'is-odd'

Esta es una de las clases que mas me ha gustado recibir porque explica bien lo que haremos como programadores y el profesor es increíble!

// Gestion de paquete NPM/package.json

// Basico en el mundo de node js los paquetes/modulos que agregamos.

// npm init
// npm install
// Como requerir un package externo.
const isOdd = require('is-odd');

console.log(isOdd(2))

const isOdd = require('is-odd')

console.log(`¿ El número es impar? \n ${isOdd(3)}`)

Me encanto el como explica las dependencias, y donde obtnerlas para ver su documentacion y entender que hacen, esto es algo que se deberia hacer mas seguido entre los cursos

npm (Node Package Manager) es un administrador de paquetes que permiten ejecutar funciones ya realizadas y validadas y de esta manera acelerar y asegurar la calidad de neustro proceso de desarrollo.

Ojala Carlos hubiera sido mi maestro de JS cuando empece hace 3 año como developer. De haber sido asi, hubiera amado JS desde el principio y no hubiera tenido ciertos traumas por las malas enseñanzas.

Criterios a verificar al momento de descargar un paquete para el proyecto:

**- no tenga la versión 0. y algo

  • ✔️que la última publicación no sea hace años

-✔️ que no tenga muchos issues o pull requests abiertos

-✔️ verificar las descargas mensuales o semanales**

const isOdd = require('is-odd');

console.log(isOdd(2));
const isOdd = require ('is-odd');

console.log(!isOdd(4));
//true (es par)

Sí señores, EFECTIVAMENTE, una de las mejores clases en Platzi. Qué genial contenido!!!

Me gusto bastante la explicación al mostrarnos cómo funcionan los paquetes de npm, como se crean las dependencias y su uso en un archivo JS. Muchas gracias por la clase instructor Carlos.

Me parecen excelentes este tipo de clases en donde se desmenusa todo el contenido y se explica como es que funciona cada pequeña parte de lo que hacemos, en mi opinión es la mejor manera de aprender… Comprendiendo como funciona cada cosa. Un aplauso por más clases así!!! 😃

a quien se le hay ocurrido el modulo is-even, es un genio!!!
no domina el mundo porque no quiere…xD

Las aplicaciones con tanto paquete queda muy pesada?

Se actualizan de forma automática después de instalados o se debe hacer un proceso de actualización?

Npm i nodemon

npm es lo que para java es maven?? lo entiendo de esta manera… claro que maven separa los binarios del código fuente.

les recomiendo el curso de gestion de dependencia

aqui el link:
https://platzi.com/clases/npm/

Me quedó una duda, cada que vaya a instalar un paquete, debo eliminar el archivo que genera “package.lock.json” y continuar el proceso con el init?

Y En caso de que quiera usar mas de un paquete como debo organizarlos en las carpetas?

Para que puedan hacer el mismo ejemplo del profesor, les digo que el paquete is-odd ya no existe, pero existe otro el cuál se llama isoddmaster el cual ya hasta compara si es impar o par.
Lo instalas con el siguiente comando:

npm install isoddmaster

Y lo utilizas de la siguiente manera:

const isOdd = require("isoddmaster");

console.log(isOdd(7));
console.log(isOdd("8"));

Nota: Probablemente, en un tiempo hasta deje de existir este paquete, así que te animo a buscar uno por tu cuenta persona del futuro. :3

Esta muy bueno este curso, nodeJs se parece mucho a otras apñicaciones de Server Side de python

Jajajaja el modulo is-even usa is-odd, no mames, para eso lo creamos nosotros mismos.

function isEven(number) {
	return !isOdd(number)
}

O hasta podemos resumirlo:

console.log(!isOdd(number))

Que buena explicacion de los paquetes de npm

Recuerden antes ejecutar el comando: npm init --y

Jajjajajaj muero con esto, me hizo la tarde

Jajaja qué chistoso la negación de lo último 😄

**package.json: conitene toda la información de tu paquete **

gracias a un aporte anterior busqué si aún is-odd sigue vigente pero no ahora el paquete que hace esta operación es is-odd-num
Returns true if the given number is odd, and is an integer that does not exceed the JavaScript MAXIMUM_SAFE_INTEGER.
Se instala de la siguiente forma:

$ npm install --save is-odd-num

Se puede usar con strings o numeros

const isOdd = require('is-odd-num');

console.log(isOdd('1')); //=> true
console.log(isOdd('3')); //=> true

console.log(isOdd(0)); //=> false
console.log(isOdd(2)); //=> false
<code> 

Tenemos módulos para todo

Explicado perfecto.

Es increíble la variedad de módulos que hay, solo aguas ⚠!! algunos tienen bugs y pueden provocar vulnerabilidades. Es algo que debemos tener en cuenta.

Muy bien explicado, aprovechando el #PlatziDay 💪💪 #Nuncaparesdeaprender

is-odd valida si es impar! jejejej

de los mejores cursos que he visto hasta ahora en platzi

La pagina de npm es el santo grial 😄 para los devs

NPM es un gestor de paquetes que permite buscar o tener paquetes para diferentes tareas que se requieran ejecutar.

  • Es una práctica común usar paquetes dentro de node, sin embargo se debe verificar que estos estén actualizados

Resumen

NPM (Node Package Manager):

NPM es el sistema de gestión de paquetes para Node.js que facilita la instalación, gestión y compartición de bibliotecas y herramientas. Aquí está la información sobre los paquetes mencionados:

  1. is-odd:

    • Descripción: Un paquete NPM que proporciona una función para verificar si un número es impar.

    • Uso:

      npm install is-odd
      
      const isOdd = require('is-odd');
      console.log(isOdd(3)); // true
      console.log(isOdd(4)); // false
      
  2. is-even:

    • Descripción: Un paquete NPM que proporciona una función para verificar si un número es par.

    • Uso:

      npm install is-even
      
      const isEven = require('is-even');
      console.log(isEven(4)); // true
      console.log(isEven(3)); // false
      

Estos paquetes son ejemplos simples que ofrecen funciones para verificar si un número es par o impar. Puedes instalarlos utilizando el comando npm install seguido del nombre del paquete, y luego utilizar las funciones proporcionadas en tu código. Estos son solo ejemplos y hay una amplia variedad de paquetes disponibles en el registro de NPM para diferentes propósitos y funcionalidades.

**NPM** ***npm*** (Node Package Manager) *es el **gestor** de **paquetes** **predeterminado** para* **Node.js***, y es una **herramienta** **esencial** para los **desarrolladores** de* **JavaScript***. **Proporciona** un **repositorio** en **línea** **donde** los **desarrolladores** pueden **compartir** y **reutilizar** **paquetes** de **código**, **facilitando** la **gestión** de **dependencias** en los **proyectos**. Con* **npm***, es posible **instalar**, **actualizar** y **desinstalar** **paquetes** de manera **sencilla**, así como **gestionar** **versiones** **específicas** de las **bibliotecas** **utilizadas**. **Además**,* **npm** *permite a los **desarrolladores** **publicar** sus **propios** **paquetes** para **compartir** con la **comunidad**. Este **ecosistema** de **paquetes** **disponibles** **a través** de* **npm** *permite **acelerar** el **desarrollo** y **fomentar** la **reutilización** de **código**, **haciendo** de* **npm** *una **herramienta** **destinada** para la **creación** de **aplicaciones*** **Node.js** ***robustas** y **eficientes**.*
Si deseas añadir tus propios modulos sin necesidad de publicarlos en npm puedes instalarlos con un symlink, usando este comando en el terminal: `npm i ./custom/my-package`

Este profesor es el mejor con el que me he topado en Platzi, lo digo por la pedagogía para enseñar un tema tan complejo

Últimamente utilizo PNPM como gestor de paquetes, porque reutiliza dependencias entre paquetes para no instalarlas nuevamente y ocupar más espacio en disco.

Depender de librerías al 100% en tu proyecto? deberías de pensarlo dos veces y/o asegurarte de que esas librerías no van a desaparecer de la noche a la mañana.

El escándalo mas sonado fue la de la librería Faker.js la cual era utilizada por muchas empresas y donde miles de proyectos dejaron de funcionar por depender de esta lbrerìa.

Este curso es el mejor que he tomado. Me he divertido mucho. Sobre todo la seccion de modulos, lo mejor del curso

Entendí mejor npm con esta clase que con el curso!

para instalar un paquete necesitamos nom install nombreDelPaquete

Jajajaja el módulo que usa y niega el otro módulo de impares es lo mejor XD

Gran clase y gran profesor.

QUE BUENA CLASE!

Por cierto hay un curso completo de este tema, que es excelente
https://platzi.com/clases/npm/