2 Repos
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 ist ein Analyse-Tool für Abhängigkeiten in JavaScript und TypeScript sowie ein Architektur-Linter. Es dient als statisches Analysetool zum Mapping, zur Visualisierung und zur Validierung von Modulbeziehungen innerhalb einer Codebasis, ohne dass der Code ausgeführt werden muss. Das Projekt zeichnet sich durch seine Fähigkeit aus, architektonische Grenzen durch ein regelbasiertes System durchzusetzen. Es erkennt zirkuläre Abhängigkeiten, identifiziert verwaiste Module (Orphan Modules) sowie toten Code und validiert Abhängigkeitsbeschränkungen anhand von Regeln für erlaubte und verbotene Beziehungen. Zudem bietet es quantitative Stabilitätsanalysen durch die Berechnung von afferenter und efferenter Kopplung, um fragile Bereiche eines Projekts zu identifizieren. Das Tool deckt ein breites Spektrum an Funktionen ab, darunter Modul-Parsing für ES6, CommonJS und TypeScript sowie die Visualisierung von Abhängigkeitsgraphen mit Aggregation auf Ordnerebene. Es bietet Automatisierungsfunktionen für Continuous Integration, wie z. B. Violation-Baselining und strukturierte Datenexporte in JSON- oder CSV-Formaten. Das System beinhaltet einen interaktiven Konfigurations-Bootstrapping-Prozess, um maßgeschneiderte Konfigurationsdateien basierend auf der lokalen Umgebung zu generieren.
Defines forbidden or allowed relationships between files or folders using path patterns to prevent regressions.
eslint-plugin-import ist ein ESLint-Plugin für die statische Analyse, das eine Reihe von Regeln und Resolvern zur Validierung von Import-Statements und zur Durchsetzung architektonischer Vorgaben beim Importieren und Exportieren von Code bereitstellt. Es fungiert als Modul-Validator und Resolver, um sicherzustellen, dass Import-Deklarationen auf gültige Dateien verweisen und referenzierte Symbole existieren. Das Projekt identifiziert rekursive Import-Ketten, um zirkuläre Abhängigkeiten zu verhindern, und nutzt ein konfigurierbares Auflösungssystem, um Aliase und nicht-standardisierte Dateipfade abzubilden. Es kann zudem zwischen internen Projektdateien und externen Bibliotheksabhängigkeiten durch Pfad- und Ordner-Pattern-Matching unterscheiden. Das Plugin deckt weiterführende Bereiche der Code-Qualität ab, einschließlich der Durchsetzung von Import-Stilen für Sortierung und Gruppierung, der Einschränkung spezifischer Modulsysteme und der Verifizierung der Export-Verfügbarkeit zur Vermeidung von Laufzeitfehlern. Es kann zudem Import-Quellen basierend auf dem Ordnerstandort einschränken oder spezifische Pfadtypen untersagen.
Uses path and folder pattern matching to distinguish between internal project files and external dependencies.