2 dépôts
Restrictions on module relationships defined using file or folder path patterns to prevent regressions.
Distinct from Module Dependency Analysis: More specific than general Module Dependency Analysis by focusing on path-pattern matching for relationship rules.
Explore 2 awesome GitHub repositories matching software engineering & architecture · Path-Pattern Dependency Restrictions. Refine with filters or upvote what's useful.
Dependency-cruiser est un analyseur de dépendances et un linter architectural pour JavaScript et TypeScript. Il sert d'outil d'analyse statique pour cartographier, visualiser et valider les relations entre modules au sein d'une base de code sans nécessiter l'exécution du code. Le projet se distingue par sa capacité à faire respecter des frontières architecturales via un système basé sur des règles. Il détecte les dépendances circulaires, identifie les modules orphelins et le code mort, et valide les contraintes de dépendance en utilisant des règles de relations autorisées ou interdites. Il fournit également une analyse quantitative de la stabilité en calculant le couplage afférent et efférent pour identifier les zones fragiles d'un projet. L'outil couvre un large éventail de capacités, incluant l'analyse multi-standard pour ES6, CommonJS et TypeScript, ainsi que la visualisation de graphes de dépendances avec agrégation au niveau des dossiers. Il fournit des fonctionnalités d'automatisation pour l'intégration continue, telles que le baselining des violations et l'exportation de données structurées aux formats JSON ou CSV. Le système inclut un processus interactif de configuration pour générer des fichiers de configuration adaptés à l'environnement local.
Defines forbidden or allowed relationships between files or folders using path patterns to prevent regressions.
eslint-plugin-import est un plugin d'analyse statique ESLint qui fournit une suite de règles et de résolveurs pour valider les instructions d'importation et appliquer des contraintes architecturales sur la façon dont les fichiers importent et exportent du code. Il fonctionne comme un validateur et résolveur de modules pour s'assurer que les déclarations d'importation pointent vers des fichiers valides et que les symboles référencés existent. Le projet identifie les chaînes d'importation récursives pour prévenir les dépendances circulaires et utilise un système de résolution configurable pour mapper les alias et les chemins de fichiers non standards. Il peut également distinguer les fichiers de projet internes des dépendances de bibliothèques externes via la correspondance de motifs de chemins et de dossiers. Le plugin couvre des domaines de qualité de code plus larges, incluant l'application du style d'importation pour l'ordonnancement et le regroupement, la restriction de systèmes de modules spécifiques et la vérification de la disponibilité des exportations pour prévenir les erreurs d'exécution. Il peut en outre limiter les sources d'importation en fonction de l'emplacement du dossier ou interdire des types de chemins spécifiques.
Uses path and folder pattern matching to distinguish between internal project files and external dependencies.