Plugin options
OptionalmoduleImporter?: ModuleImporterLoader for layersSource modules
(defaults to native dynamic import())
ReadonlyauthorPlugin author.
ReadonlydescriptionPlugin description.
ReadonlynameUnique plugin identifier.
ReadonlyversionPlugin version reported to the kernel.
Get all analysis rules provided by this plugin.
Array of analysis rules for architecture and code quality violations
Differences between inline layers and layersSource found during
initialization (empty when only one is configured or both agree).
Layers in effect after initialization.
Get all transformation rules provided by this plugin.
Empty array (architecture plugin focuses on analysis, not transformation)
Get all validation rules provided by this plugin.
Empty array (no validation rules yet)
Initialize the plugin: loads rule options and the layer topology from the project config (see the class description).
The Kernel instance for accessing infrastructure
Architecture and Code Quality Analysis Plugin
Remarks
Provides analysis rules for architectural patterns, code quality and maintainability. It has no transformation or validation rules.
During ArchitecturePlugin.initialize it loads
.angular-modernizer.jsonfrom the kernel's project root:rulesfor rule options andlayers/layersSourcefor the layer topology used by LayerBoundaryViolationRule and ContentPlacementRule. When bothlayersandlayersSourceare set,layersSourcewins and the differences are available from ArchitecturePlugin.getLayerDriftWarnings. A config that fails to load is logged; the rules then run with defaults and without layers.Rules
solid:circular-dependency): runtime import cyclessolid:import-direction-violation): imports against conventional layer directionsarchitecture:layer-boundary-violation): imports against the configured layer topologyarchitecture:content-placement): files outside the layers allowed for their content typesolid:god-object-violation): classes that are too large or mix concernsarchitecture:component-complexity): components with too many methods or mixed responsibilitiesarchitecture:service-architecture): services exporting models or with too many dependenciesarchitecture:service-bag): services mixing concerns or backend areasarchitecture:static-in-stateful-class): public static methods in classes with instance statearchitecture:library-extraction-opportunity): artifact groups to extract into librariesarchitecture:model-separation: files that export models next to implementation codearchitecture:rxjs-memory-leak: undisposed subscriptions and missingtakeUntilarchitecture:advanced-content-placement: folder structure and domain-driven design patternsarchitecture:error-handling-pattern: improper error handlingarchitecture:inheritance-analysis: deep inheritance chains and god base classesarchitecture:performance-pattern: performance anti-patternsarchitecture:cross-file-architecture: imports against the layer direction (e.g. a service importing a component)The last seven rule classes are not exported; they are reachable only through ArchitecturePlugin.getAnalysisRules.