La Mayoría No Sabe Cómo Funcionan Las Dependencias Del Package.JSON

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ธ.ค. 2024

ความคิดเห็น • 61

  • @alejandrodavidbenolol
    @alejandrodavidbenolol 2 ปีที่แล้ว +31

    Más que el salseo que ya lo tenía leído me gusto mucho como explicaste el funcionamiento de npm a la hora de aplanar el instalado de dependencias. No sabía muchas de las cosas que explicaste, a demás el consejo de la extensión de VSC Version Lens me parece genial para los que nos gusta cotillear por git y ver un poco de que van todas esas dependencias que como junior solemos dejar que hagan nuestro trabajo sin saber bien de que van. Saludos y gracias Midu

  • @alvarommedia
    @alvarommedia 11 หลายเดือนก่อน +2

    Es impresionante! Cada vez que me sale un video de este buen hombre, aprendo de todo. El nuevo refrán: "No veras un video de midu, sin aprender algo nuevo".

  • @phonevelarde5692
    @phonevelarde5692 2 ปีที่แล้ว

    Excelente hermano , muchas gracias por compartir esta valiosa información. Saludos desde Venezuela.

  • @javiergarciafillol4454
    @javiergarciafillol4454 2 ปีที่แล้ว +3

    Gran video acabo de entender un fallo que tenía en mi código!

  • @mediatech7284
    @mediatech7284 2 ปีที่แล้ว +1

    Muy bueno el video. Siempre información muy útil y excelente la explicación. Gracias. Saludos.

  • @programandoConFelipe
    @programandoConFelipe ปีที่แล้ว

    wow no sabia eso y creo que el 90% de los desarrolladores confian ciegamente en el npm, gracias por el video.

    • @midulive
      @midulive  ปีที่แล้ว

      Gracias a ti, Felipe! 🤗

  • @jesusjuvinao8210
    @jesusjuvinao8210 2 ปีที่แล้ว +2

    Quisiera que youtuve tuviera otro boton de like solo para midudev, Gracias hombre... todo un genio.

  • @juanfelipetangarife3735
    @juanfelipetangarife3735 2 ปีที่แล้ว +3

    Excelente video, eres un pro!!

    • @midulive
      @midulive  2 ปีที่แล้ว

      Gracias!

  • @tonyjaradev
    @tonyjaradev ปีที่แล้ว

    ahhhhhhh me salvaste loco!!! Esto con pnpm me soluciono la vida.

    • @midulive
      @midulive  ปีที่แล้ว

      Genial, Tony! :D

  • @pixeldev650
    @pixeldev650 2 ปีที่แล้ว +2

    Muy buena explicación, bastante útil.

  • @alejo.morales
    @alejo.morales ปีที่แล้ว +3

    Usar "npm ci" soluciona esos problemas y además es mucho más rápido, porque solo busca es instala las versiones exactas del package-lock

    • @miguelgd1985
      @miguelgd1985 ปีที่แล้ว +1

      +1 Para eso esta package-lock para fijar tu version exacta como dices. ademas es mala practica fijar librerias a ciertas versiones especificas, xq no dejas rango x si luego quieres instalar otra libreria y no tiene soporte para la version que usas. Igualmente te queremos midudev ❤

  • @ShaditoKun
    @ShaditoKun 2 ปีที่แล้ว +1

    Ese plugin también lo uso, también se puede con npm outdated, y tener global el npm check updates, darle ncu -u y después un npm install

  • @josemarquezrojas
    @josemarquezrojas 2 ปีที่แล้ว +6

    Corrígeme si me equivoco pero, cuando una dependencia entra en conflicto con otra por la versión de una dependencia en común, npm lo que hace es que crea una directorio node-modules dentro de cada dependencia para evitar ese conflicto de versiones. no toma cualquier arbitrariamente porque eso no es correcto.

    • @robertomolinasilvera4863
      @robertomolinasilvera4863 2 ปีที่แล้ว

      Sí, aunque en el caso de las peerDependencies, sí hay algún conflicto y fuerzas, creo que usará la versión que tu hayas instalado aunque no sea la correcta para la dependencia que la necesita. Por eso antes de instalar pkgs hay que revisar siempre el package.json y ver todo ese tipo de detalles.

  • @julioDazaDev
    @julioDazaDev ปีที่แล้ว +2

    Midu cuando trabajas con Angular y lanzas ng new el crea todas las dependencias de su core con carets... yo creería que si son manteiners empresariales tipo Google podemos dejarlos así.

  • @josect777
    @josect777 2 ปีที่แล้ว

    Eres un máster, increíble!

  • @BiiR4
    @BiiR4 2 ปีที่แล้ว

    Recientemente tuve un problema en un proyecto, concretamente con el paquete ngx-mask y sospecho que tiene que ver con este problema que relatas. A mí equipo de trabajo, de un momento a otro a algunos dejó de funcionar ese paquete, a algunos si les funcionaban las máscaras y a otros no. Al final, por el tiempo, decidimos mudarnos a otro paquete.

  • @mtzrmzia
    @mtzrmzia 2 ปีที่แล้ว +2

    ¿Que configuración-tema tienes en tu iTerm?

  • @chicho69-cesar
    @chicho69-cesar 2 ปีที่แล้ว +2

    Genial Midu grande

  • @mjerez6029
    @mjerez6029 2 ปีที่แล้ว +1

    Pero el package-lock.json no soluciona ese problema?
    Es decir si yo tengo package-lock.json en el repo y hago un mpi despues de que la nueva version con codigo malicioso dea publica, no pasaria nada por q la version esta "lockeada" en el package-lock.json. solo tendría problemas si borro el package-lock.json y hago un install

  • @santiagorosero4652
    @santiagorosero4652 2 ปีที่แล้ว

    es para todos? por que se puede usar el * para que sea el ultimo dijo unicamente el que cambie, se supone que en el versionamiento, ese digito corresponde a fixes no? ( obviamente se que se lo pueden pasar por donde quieran, pero se parte de la buena fé siempre )

  • @ANDREW_YHWH
    @ANDREW_YHWH 2 ปีที่แล้ว

    Bueno, trataré de resumirlo. Midu, cuando coloco: brew install node... al final de la descarga me aparece este mensaje: Running `brew cleanup node`...
    Disable this behavior by setting HOMEBREW_NO_INSTALL_CLEANUP.
    Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
    Después coloco: brew update... y me muestra: Already up-to-date. Eso quiere decir que está instalado y además en la ultima versión.
    Después: node -v ... y me dice 17.4.0
    Después npm -v y me dice 8.3.1
    Después de allí no he querido colocar otro comando más porque no sé si instaló correctamente por ese ultimo mensaje que me muestra la terminal al instalar node con brew, qué debo hacer?
    TODO ESTO EN LA TERMINAL DE MACOS.

  • @dolapex
    @dolapex 2 ปีที่แล้ว

    Que opinas de usar ~version “Approximately equivalent to version” ?, el problema podria seguir pasando pero seria mucho menor si ponemos que solo actualize patches sin modificar Mayor y minor versions.

  • @jossimunoz1957
    @jossimunoz1957 2 ปีที่แล้ว +1

    y habra alguna forma de fijar todas las versiones de un package.json que se encuentra con todas las dependencias con los valores "latest" ?

  • @nemines001
    @nemines001 2 ปีที่แล้ว

    saludos que buen video, para aprender la utilidad de esos archivos gracias

  • @emiliogrv_
    @emiliogrv_ 2 ปีที่แล้ว +1

    Creo que si el proyecto tiene una sólida base de tests igual se podría usar el caret, si al actualizar las dependencias hace que explote algún test, hasta allí llega la historia de esa actualización, útil para casos como dependbot en github con CI/CD ¿qué opinan?

    • @dolaya237
      @dolaya237 ปีที่แล้ว

      con renovate bot puedes checar esas actualizaciones de paquetes y saber si se rompe, igual que con las herramientas que mencionaste

  • @miguelvasquez9849
    @miguelvasquez9849 6 หลายเดือนก่อน

    Me pasó que desplegué un proyecto que funcionaba y empezó a sacar errores, resulta que un paquete estaba actualizado y una dependencia estaba generando un problema. O sea, no uses carets.

  • @jeancarlomorales4496
    @jeancarlomorales4496 2 ปีที่แล้ว

    No puede ser posible, un midu máster que nos explica todo como un crack, y a la vez un midu guapo que conquistaria Roma con una mirada 7u7

  • @danielclow
    @danielclow ปีที่แล้ว

    No entendí muy bien, que pasa si instalo una dependencia que a su vez tiene otras dependencias, a pesar de que yo use la versión fija de esa dependencia(sin el caret), las dependencias de la dependencia pueden ser variables (con el caret)

  • @bscodev
    @bscodev 2 ปีที่แล้ว +1

    Llegue temprano. Gracias Midu

  • @prch818
    @prch818 2 ปีที่แล้ว +1

    Alguien podría explicarme que sería "aplanar una dependencia"? Gracias de antemano

  • @neyk
    @neyk ปีที่แล้ว +1

    Esto va a sonar muy noob pero en el tema de dependencias y como gestionarlas soy totalmente nuevo,. En primer lugar, como de importantes son las vulnerabilidades de las que te avisa expo-cli cuando instalas un nuevo paquete? A caso es posible conseguir el 0 vulnerability? xd

    • @cesarrawr249
      @cesarrawr249 ปีที่แล้ว +1

      Eso ya depende de los desarrolladores del cli, por ejemplo, para web con nextjs, hasta ahorita me da 0 vulnerabilidades. Con create react app me daba como 7 vulnerabilidades graves. Y con Vite me daba warnings. En general no afectan mucho, no te das cuenta. Si intentas actualizar a la fuerza vas a romper el proyecto, así que mejor espera futuras actualizaciones de expo

  • @gouzeroinfinity2624
    @gouzeroinfinity2624 ปีที่แล้ว

    joe ni siquiera se puede confiar en los updates :c jsjsj/ buen dato para los nuevos que ingresan yo desconocia, lo tendre en mente a futuros proyectos , me perdi un pco lo volvere a ver

  • @INAVACL
    @INAVACL 2 ปีที่แล้ว

    Muchas gracias

  • @jmartinez4906
    @jmartinez4906 2 ปีที่แล้ว

    Muy bueno el vídeo pero hay algo que no entiendo. Según creo, el package-lock.json existe para evitar el problema del ^, de modo que en dicho fichero tenemos las versiones exactas usadas y aunque hagamos npm install, siempre que no hayamos modificado el package.json, se nos instalaran las mismas versiones que ya teníamos, y no se actualizará ninguna. No sé si estoy equivocado, pero pensaba que funcionaba de esta forma.

    • @misterl8129
      @misterl8129 2 ปีที่แล้ว +1

      x2, segun yo esa era la gracia del package-lock. Mantener la integridad de las dependencias que instalaste. Esperemos que @midu nos aclare esto o ver que tiene por decir

    • @midudev
      @midudev 2 ปีที่แล้ว +6

      Lo explico al principio del vídeo. El package-lock es para las dependencias de tu proyecto. Si tu proyecto es una dependencia de otro proyecto, no puedes controlar que tenga un package-lock. Eso es lo que pasó con paquetes como karma.

    • @jmartinez4906
      @jmartinez4906 2 ปีที่แล้ว +1

      Ahh, cierto, se me había pasado ese detalle. Pues aclarado queda, muchas gracias, tu canal es una maravilla y tus explicaciones siempre son muy útiles. Saludos.

  • @macevedo7170
    @macevedo7170 2 ปีที่แล้ว +2

    Yo lo conocia como sombrerito chino

    • @elProdigio
      @elProdigio 2 ปีที่แล้ว +1

      Ja, ja, ja, qué bueno.

  • @gaspararguello946
    @gaspararguello946 2 ปีที่แล้ว

    curioso. eso pasaría en Deno?

    • @midulive
      @midulive  2 ปีที่แล้ว +1

      Depende. Si usas una versión fijada, pues no. Pero si usas la URL a saco en el import, pues pasaría lo mismo.

  • @efrainhernandez861
    @efrainhernandez861 2 ปีที่แล้ว

    Entonces si necesito actualizar una dependencia es mejor quitar siempre el caret 😮

  • @AlbertoCarrizo
    @AlbertoCarrizo ปีที่แล้ว

    Geniooooo.

  • @ecuadorturismo
    @ecuadorturismo 2 ปีที่แล้ว

    lo maximo

  • @paulo2357
    @paulo2357 2 ปีที่แล้ว

    oye, pero el problema que mostraste es por *no* usar el caret en tu proyecto, es decir, si tu proyecto y todas la dependencias usarán el caret, siempre tendrías la ultima version

    • @midulive
      @midulive  2 ปีที่แล้ว

      Justamente al usar caret te instalá la última versión de patch y minor, lo que a veces puede romper tu proyecto. Es lo que explica el vídeo.

  • @kmylodarkstar2253
    @kmylodarkstar2253 2 ปีที่แล้ว

    yarn 3, pnpm?

    • @midulive
      @midulive  2 ปีที่แล้ว

      Les pasa lo mismo

  • @DanielBustamante-le1kt
    @DanielBustamante-le1kt 7 หลายเดือนก่อน

    Gracias, no sabía esto, npm es una mierda... Saludos

  • @albertjoelbonilla
    @albertjoelbonilla 2 ปีที่แล้ว +2

    Liberty Liberty Liberty

  • @JoseManuelTA156
    @JoseManuelTA156 2 ปีที่แล้ว

    Se escucha mal

  • @egan36
    @egan36 2 ปีที่แล้ว +2

    No entendi nada xd

  • @outoblack2782
    @outoblack2782 2 ปีที่แล้ว

    ni siquiera sé que es un package por eso buscaba algo info pero sigo sin e n t e n d e r

  • @gerardovanced3983
    @gerardovanced3983 ปีที่แล้ว

    no entendí 😎