window.pipedriveLeadboosterConfig = { base : 'leadbooster-chat.pipedrive.com', companyId : 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version : 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster existe déjà') } 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 }) }, } } })() Premiers soins pour les dépendances brisées JavaScript - The Codest
The Codest
  • A propos de nous
  • Services
    • Développement de logiciels
      • Développement frontal
      • Développement backend
    • Staff Augmentation
      • Développeurs frontaux
      • Développeurs backend
      • Ingénieurs des données
      • Ingénieurs en informatique dématérialisée
      • Ingénieurs AQ
      • Autres
    • Conseil consultatif
      • Audit et conseil
  • Industries
    • Fintech et banque
    • E-commerce
    • Adtech
    • Santé (Healthtech)
    • Fabrication
    • Logistique
    • Automobile
    • IOT
  • Valeur pour
    • CEO
    • CTO
    • Gestionnaire des livraisons
  • Notre équipe
  • Études de cas
  • Savoir comment
    • Blog
    • Rencontres
    • Webinaires
    • Ressources
Carrières Prendre contact
  • A propos de nous
  • Services
    • Développement de logiciels
      • Développement frontal
      • Développement backend
    • Staff Augmentation
      • Développeurs frontaux
      • Développeurs backend
      • Ingénieurs des données
      • Ingénieurs en informatique dématérialisée
      • Ingénieurs AQ
      • Autres
    • Conseil consultatif
      • Audit et conseil
  • Valeur pour
    • CEO
    • CTO
    • Gestionnaire des livraisons
  • Notre équipe
  • Études de cas
  • Savoir comment
    • Blog
    • Rencontres
    • Webinaires
    • Ressources
Carrières Prendre contact
Flèche arrière RETOUR
2018-12-27
Développement de logiciels

Premiers soins pour les dépendances JavaScript brisées

Daniel Grek

Si vous êtes développeur de logiciels, vous savez probablement déjà que l'un de vos nombreux rôles n'est certainement pas d'être un énième inventeur de roues. Du moins, pas dans la plupart des cas.

J'aimerais écrire sur JavaScript dépendances. Mais commençons par le commencement. Si vous êtes développeur de logiciels, vous savez probablement déjà que l'un de vos nombreux rôles n'est certainement pas d'être un énième inventeur de roues. Du moins, pas dans la plupart des cas. Le monde a suffisamment évolué pour qu'il existe aujourd'hui des progiciels pour presque tout, ce qui rend notre développement plus facile et plus efficace.

Bien entendu, il ne s'agit pas de se désintéresser des autres questions - chaque paquet dispose d'un large espace pour s'améliorer et évoluer. Cependant, l'objectif de votre entreprise est d'apporter un service complet à vos clients. produit sur un plateau juste à temps ou même avant qu'il ne soit levé. Les emballages vous aideront à réaliser ces projets, en apportant npm ou fil sur la liste de vos meilleurs amis, mais attention : toute solution, y compris celle-ci, peut également comporter des risques. Nous allons tenter de le décrire et de vous montrer une meilleure façon de vous en sortir dans l'article ci-dessous.

Commençons par une histoire...

Imaginez un grand JavaScript projet. Les exigences de l'entreprise obligent les développeurs à utiliser un paquetage spécifique, permettant une intégration correcte avec un autre système du client. Et c'est tout à fait normal. MVP a été apportée dans les délais, le contrat suivant a été signé et le développement se poursuit. Le client demande à intégrer la partie suivante d'un système, ce qui nécessite la mise à jour de votre paquet.

Cette partie se passe bien, jusqu'à ce que les tests soient lancés. Il semble que le paquet contienne un bogue simple, mais gênant, qui n'a encore été corrigé dans aucune version du produit et on sait que cela n'arrivera pas assez tôt. Vous ne pouvez pas vous contenter de réparer votre node_modules répertoire - il devrait être supprimé de votre dépôt, ce qui signifie que vos collaborateurs ne sauront jamais rien de vos changements ! Pendant que vous lisiez ces lignes, vous avez probablement déjà compris ce qu'il fallait faire - fork. Mais avez-vous vraiment besoin d'un tel marteau ?

Comprendre votre problème

Vous devez savoir si le problème auquel vous êtes confronté ne concerne que vous ou une communauté plus large. Parfois, les gens interprètent l'absence de certaines fonctionnalités comme un bogue, ce qui n'est pas toujours correct. C'est pourquoi, votre solution peut ne pas être acceptée par une communauté et ne pas être incluse dans un référentiel officiel. Cependant, vous en avez toujours besoin ici et maintenant. Eh bien, il faut le rafistoler !

D'après les notes de version du dépôt github, le patch-package ) est sorti officiellement en mai 2017. It est un outil puissant, qui permet d'installer les modifications à l'intérieur d'un projet de dépendance dans votre système d'information. node_modules répertoire. Certains diront qu'il s'agit là d'une véritable folie - la commande d'installation de votre gestionnaire de dépendances écrasera les modifications.

C'est exact. Cependant, un patch-package coexiste avec npm et fil parfaitement (je dois admettre qu'il fonctionne légèrement mieux avec npm jusqu'à présent, vous pouvez en savoir plus dans la section "Why you should use postinstall-prepare with Yarn ?" du fichier README) et tire pleinement parti d'une préparation par script ("script" : { "prepare" :""}) de vos package.json fichier. Patch-package crée littéralement un répertoire de différences entre vos modifications et le paquet original, stocké dans le dossier patch de votre projet actuel..

Après avoir exécuté la commande d'installation et téléchargé toutes les dépendances, il applique cette différence au répertoire du projet, en faisant une reconstruction parfaite de vos changements pour tous les collaborateurs. Cela vous simplifie la vie, n'est-ce pas ? Cette solution présente également quelques inconvénients. Le paquet de correctifs ne peut pas corriger les dépendances de votre paquet ou faire des changements dans package.json.

Dans ce cas, vous pouvez utiliser la solution de la fourche. Vous devez également prendre en compte le nombre de modifications que vous êtes sur le point d'appliquer à votre paquet de dépendances et si elles vont croître avec le temps. Si c'est le cas, vous devez réfléchir attentivement avant d'utiliser la solution fork, car il s'agit d'un projet qui vous appartient.

Ne soyez pas égoïste !

Le patch est un excellent moyen de corriger vos dépendances sans créer des forks sans fin et sans générer de multiples sources de projet. Mais vous devez toujours vous rappeler que profiter de la communauté ne doit pas être unidirectionnel. Si vous trouvez un bogue ou si vous pensez pouvoir améliorer le paquet que vous utilisez, vous devriez toujours envisager d'aider les autres en enregistrant un problème ou même en contribuant au projet !

Articles connexes

Développement de logiciels

Construire des applications web à l'épreuve du temps : les conseils de l'équipe d'experts de The Codest

Découvrez comment The Codest excelle dans la création d'applications web évolutives et interactives à l'aide de technologies de pointe, offrant une expérience utilisateur transparente sur toutes les plateformes. Découvrez comment notre expertise favorise la transformation numérique et la...

LE CODEST
Développement de logiciels

Les 10 premières entreprises de développement de logiciels basées en Lettonie

Découvrez les principales sociétés de développement de logiciels en Lettonie et leurs solutions innovantes dans notre dernier article. Découvrez comment ces leaders de la technologie peuvent vous aider à développer votre entreprise.

thecodest
Solutions pour les entreprises et les grandes entreprises

L'essentiel du développement de logiciels Java : Un guide pour une externalisation réussie

Explorez ce guide essentiel sur le développement réussi de logiciels Java outsourcing pour améliorer l'efficacité, accéder à l'expertise et assurer la réussite des projets avec The Codest.

thecodest
Développement de logiciels

Le guide ultime de l'externalisation en Pologne

L'essor de outsourcing en Pologne est dû aux progrès économiques, éducatifs et technologiques, qui favorisent la croissance des technologies de l'information et un climat propice aux entreprises.

TheCodest
Solutions pour les entreprises et les grandes entreprises

Le guide complet des outils et techniques d'audit informatique

Les audits informatiques garantissent la sécurité, l'efficacité et la conformité des systèmes. Pour en savoir plus sur leur importance, lisez l'article complet.

The Codest
Jakub Jakubowicz CTO & Co-Fondateur

Abonnez-vous à notre base de connaissances et restez au courant de l'expertise du secteur des technologies de l'information.

    A propos de nous

    The Codest - Entreprise internationale de développement de logiciels avec des centres technologiques en Pologne.

    Royaume-Uni - Siège

    • Bureau 303B, 182-184 High Street North E6 2JA
      Londres, Angleterre

    Pologne - Les pôles technologiques locaux

    • Parc de bureaux Fabryczna, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varsovie, Pologne

      The Codest

    • Accueil
    • A propos de nous
    • Services
    • Études de cas
    • Savoir comment
    • Carrières
    • Dictionnaire

      Services

    • Conseil consultatif
    • Développement de logiciels
    • Développement backend
    • Développement frontal
    • Staff Augmentation
    • Développeurs backend
    • Ingénieurs en informatique dématérialisée
    • Ingénieurs des données
    • Autres
    • Ingénieurs AQ

      Ressources

    • Faits et mythes concernant la coopération avec un partenaire externe de développement de logiciels
    • Des États-Unis à l'Europe : Pourquoi les startups américaines décident-elles de se délocaliser en Europe ?
    • Comparaison des pôles de développement Tech Offshore : Tech Offshore Europe (Pologne), ASEAN (Philippines), Eurasie (Turquie)
    • Quels sont les principaux défis des CTO et des DSI ?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Conditions d'utilisation du site web

    Copyright © 2025 par The Codest. Tous droits réservés.

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