Chaque langage apporte son propre linter, sa propre commande d'audit et sa propre configuration, et aucun ne s'entend sur ce à quoi ressemble un constat ni sur ceux qui bloquent une fusion. Le résultat est un mur d'avertissements que personne ne possède et une barrière qui veut dire quelque chose de différent dans chaque dépôt.
Un audit de vulnérabilités a besoin des dépendances installées, donc il s'exécute tard et lentement, ou pas du tout sur la branche où il compterait. Un fichier de verrouillage qui a dérivé des empreintes du registre le passe quand même, parce que rien ne compare les deux.
Chaque outil a sa propre échelle de sévérité, son propre fichier d'exceptions et ses propres codes de sortie. Une équipe qui livre du JavaScript, du C# et du Python entretient trois barrières impossibles à lire côte à côte, et la règle assouplie dans l'une reste stricte dans l'autre.
Les chiffres de qualité du code existent et sont ignorés, parce qu'un chiffre sans diagnostic ni seuil est un rapport, pas une barrière.
Les outils de vérification Dependably sont de petits vérificateurs en ligne de commande, sans build par défaut, un par tâche, qui lisent la même configuration .dependably et émettent le même format de constat JSON, de sorte qu'une règle, une exception et une barrière veulent dire la même chose dans chaque dépôt où ils s'exécutent.
npm-check valide, migre et répare package-lock.json, vérifie les empreintes verrouillées par rapport à celles du registre, et analyse les versions verrouillées pour les vulnérabilités, les dépréciations et les infractions de licence, sans node_modules et sans sous-processus npm audit. nucheck fait de même pour NuGet, en comparant les versions à quatre composantes et les intervalles comme NuGet le fait, par rapport à la GitHub Advisory Database ou à OSV.
npm-check · nucheckcslint fait respecter chaque clé de votre .editorconfig, exécute des vérifications de sécurité syntaxiques qui n'exigent aucun build, charge le projet par Roslyn pour une analyse plus poussée sur demande, et inspecte l'hygiène du dépôt, comme les tests ignorés en silence. pycheck trouve les importations inutilisées et valide la configuration d'empaquetage commise.
cslint · pycheckcodemetrics calcule la complexité cyclomatique et cognitive, le volume de Halstead, l'indice de maintenabilité, le couplage et la cohésion pour le C# en une commande, et les transforme en diagnostics tels qu'une classe omnipotente ou un point chaud non maintenable, chacun avec une sévérité sur laquelle bloquer.
codemetricsChaque outil découvre un seul fichier .dependably à la racine du dépôt, lit une section commune et la sienne, applique la même grammaire de règles et d'exceptions, et émet ses constats dans une seule enveloppe JSON. Une barrière configurée une fois se lit de la même façon en CI pour chacun d'eux.
.dependably · --format jsonLes constats de chaque langage arrivent sous la même forme, avec la même échelle de sévérité et les mêmes exceptions, de sorte que ce qui bloque une fusion est une décision prise une fois.
npm-check est sur npm, et nucheck, cslint et codemetrics sont des outils .NET sur NuGet; pycheck se construit à partir des sources. Tous sont open source sur GitHub sous l'organisation Dependably, et ils partagent un seul contrat de configuration et un seul schéma de constat.