window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versión: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster ya existe') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Primeros auxilios para las dependencias rotas JavaScript - The Codest
The Codest
  • Quiénes somos
  • Servicios
    • Desarrollo de software
      • Desarrollo Frontend
      • Desarrollo backend
    • Staff Augmentation
      • Desarrolladores frontales
      • Desarrolladores de backend
      • Ingenieros de datos
      • Ingenieros de la nube
      • Ingenieros de control de calidad
      • Otros
    • Asesoramiento
      • Auditoría y consultoría
  • Industrias
    • Fintech y Banca
    • E-commerce
    • Adtech
    • Tecnología sanitaria
    • Fabricación
    • Logística
    • Automoción
    • IOT
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • Nuestro equipo
  • Case Studies
  • Saber cómo
    • Blog
    • Meetups
    • Seminarios en línea
    • Recursos
Carreras profesionales Póngase en contacto
  • Quiénes somos
  • Servicios
    • Desarrollo de software
      • Desarrollo Frontend
      • Desarrollo backend
    • Staff Augmentation
      • Desarrolladores frontales
      • Desarrolladores de backend
      • Ingenieros de datos
      • Ingenieros de la nube
      • Ingenieros de control de calidad
      • Otros
    • Asesoramiento
      • Auditoría y consultoría
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • Nuestro equipo
  • Case Studies
  • Saber cómo
    • Blog
    • Meetups
    • Seminarios en línea
    • Recursos
Carreras profesionales Póngase en contacto
Flecha atrás VOLVER
2018-12-27
Desarrollo de software

Primeros auxilios para las dependencias JavaScript rotas

Daniel Grek

Si eres desarrollador de software, probablemente ya sepas que una de tus muchas funciones no es ser otro inventor de ruedas. Al menos, no en la mayoría de los casos.

Me gustaría escribir sobre JavaScript dependencias. Pero empecemos por el principio. Si eres desarrollador de software, probablemente ya sepas que una de tus muchas funciones no es ser otro inventor de ruedas. Al menos, no en la mayoría de los casos. El mundo ha avanzado lo suficiente como para decir que hoy en día existen paquetes para casi todo, haciendo nuestro desarrollo más fácil y eficiente.

Por supuesto, esto no es un estímulo para perder el interés por otras cuestiones: cada paquete tiene un amplio espacio para mejorar y evolucionar. Sin embargo, el objetivo de su empresa es ofrecer un completo producto en un plato justo a tiempo o incluso antes de que se acabe. Los paquetes le ayudarán a cumplir esos planes, aportando npm o hilo en lo alto de la lista de tus mejores amigos, pero ten cuidado: cualquier solución, así como ésta, también puede conllevar riesgos. Y vamos a tratar de describirlo y mostrar una mejor manera de salirse con la suya en el artículo siguiente.

Empecemos con una historia...

Imagina un gran JavaScript proyecto. Los requisitos empresariales obligan a los desarrolladores a utilizar un paquete específico que permita una integración adecuada con otro sistema de un cliente. Y eso está muy bien. MVP se ha traído a tiempo, se ha firmado el siguiente contrato y se sigue desarrollando. El cliente solicita integrar la siguiente parte de un sistema, lo que requiere la actualización de su paquete.

Esta parte va bien, hasta que se disparan las pruebas. Parece que el paquete contiene un error simple, pero inconveniente, que aún no se ha corregido en ninguna versión del producto y se sabe que esto no ocurrirá pronto. No puede arreglar su node_modules directorio - debería ser eliminado del seguimiento de su repositorio, ¡por lo tanto sus colaboradores nunca sabrán nada de sus cambios! Bien, mientras leía esto, probablemente ya ha entendido qué hacer - fork. ¿Pero realmente necesita un martillo así?

Comprenda su problema

Debes ser consciente de si el problema al que te enfrentas te afecta sólo a ti o a una comunidad más amplia. A veces, la gente interpreta la falta de cierta funcionalidad como un error, lo que no siempre es correcto. Por lo tanto, su solución puede no ser aceptada por una comunidad y no ser incluida en un repositorio oficial. Sin embargo, usted todavía lo necesita aquí y ahora. Pues bien, ¡vamos a parchearlo!

Según las notas de la versión del repositorio de github, el paquete de parches ) salió a la venta oficialmente en mayo de 2017. It es una poderosa herramienta, que permite modificaciones dentro de proyecto de dependencia para ser instalado en su node_modules directorio. Algunos pueden decir que esto es una locura - disparar comando de instalación de su gestor de dependencia sobrescribirá los cambios.

Esto es correcto. Sin embargo, un paquete de parches coexiste con npm y hilo perfectamente (debo admitir que funciona ligeramente mejor con npm hasta ahora, puedes leer más en "¿Por qué deberías usar postinstall-prepare con Yarn?" sección del archivo README) y aprovecha al máximo una preparación de script ("script": { "prepare":""}) de tu paquete.json archivo. Patch-package crea literalmente un directorio diff entre sus cambios y el paquete original, almacenado en la carpeta patch de su proyecto actual.

Después de ejecutar el comando install y descargar todas las dependencias, aplica esa diferencia al directorio del proyecto, haciendo una reconstrucción perfecta de tus cambios para todos los colaboradores. Te simplifica la vida, ¿verdad? La solución también tiene algunas desventajas. El parche-paquete no puede arreglar las dependencias de tu paquete ni hacer cambios en paquete.json.

En este caso, puede utilizar la solución de bifurcación. Además, debes considerar el número de cambios que vas a aplicar en tu paquete de dependencias y si crecerán con el tiempo. En caso de que la voluntad - usted debe pensar cuidadosamente cuando se utiliza el tenedor, ya que este es un proyecto propio.

¡No seas egoísta!

El parcheo es una gran manera de arreglar tus dependencias sin crear interminables forks y generar múltiples fuentes de proyecto. Pero siempre debes recordar que el aprovechamiento de la comunidad no debe ser unidireccional. Si encuentras un error o crees que puedes mejorar el paquete que utilizas, considera siempre la posibilidad de ayudar a los demás registrando una incidencia o incluso contribuyendo al proyecto.

Artículos relacionados

Desarrollo de software

Crear aplicaciones web preparadas para el futuro: ideas del equipo de expertos de The Codest

Descubra cómo The Codest destaca en la creación de aplicaciones web escalables e interactivas con tecnologías de vanguardia, ofreciendo experiencias de usuario fluidas en todas las plataformas. Descubra cómo nuestra experiencia impulsa la transformación...

EL MEJOR
Desarrollo de software

Las 10 mejores empresas de desarrollo de software de Letonia

Conozca las principales empresas de desarrollo de software de Letonia y sus innovadoras soluciones en nuestro último artículo. Descubra cómo estos líderes tecnológicos pueden ayudarle a mejorar su negocio.

thecodest
Soluciones para empresas y escalas

Fundamentos del desarrollo de software Java: Guía para externalizar con éxito

Explore esta guía esencial sobre el desarrollo de software Java outsourcing con éxito para mejorar la eficiencia, acceder a la experiencia e impulsar el éxito de los proyectos con The Codest.

thecodest
Desarrollo de software

La guía definitiva para subcontratar en Polonia

El auge de las outsourcing en Polonia está impulsado por los avances económicos, educativos y tecnológicos, que fomentan el crecimiento de las TI y un clima favorable a las empresas.

TheCodest
Soluciones para empresas y escalas

Guía completa de herramientas y técnicas de auditoría informática

Las auditorías informáticas garantizan sistemas seguros, eficientes y conformes. Obtenga más información sobre su importancia leyendo el artículo completo.

The Codest
Jakub Jakubowicz CTO y Cofundador

Suscríbase a nuestra base de conocimientos y manténgase al día de la experiencia del sector informático.

    Quiénes somos

    The Codest - Empresa internacional de desarrollo de software con centros tecnológicos en Polonia.

    Reino Unido - Sede central

    • Oficina 303B, 182-184 High Street North E6 2JA
      Londres, Inglaterra

    Polonia - Centros tecnológicos locales

    • Parque de oficinas Fabryczna, Aleja
      Pokoju 18, 31-564 Cracovia
    • Embajada del Cerebro, Konstruktorska
      11, 02-673 Varsovia, Polonia

      The Codest

    • Inicio
    • Quiénes somos
    • Servicios
    • Case Studies
    • Saber cómo
    • Carreras profesionales
    • Diccionario

      Servicios

    • Asesoramiento
    • Desarrollo de software
    • Desarrollo backend
    • Desarrollo Frontend
    • Staff Augmentation
    • Desarrolladores de backend
    • Ingenieros de la nube
    • Ingenieros de datos
    • Otros
    • Ingenieros de control de calidad

      Recursos

    • Hechos y mitos sobre la cooperación con un socio externo de desarrollo de software
    • De EE.UU. a Europa: ¿Por qué las startups estadounidenses deciden trasladarse a Europa?
    • Comparación de los polos de desarrollo de Tech Offshore: Tech Offshore Europa (Polonia), ASEAN (Filipinas), Eurasia (Turquía)
    • ¿Cuáles son los principales retos de los CTO y los CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Condiciones de uso del sitio web

    Copyright © 2025 por The Codest. Todos los derechos reservados.

    es_ESSpanish
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean nl_NLDutch etEstonian elGreek es_ESSpanish