Поддержка NestJS
archlint понимает модульную архитектуру NestJS и предоставляет специализированный анализ для нее.
Основные возможности
- Анализ модулей: Распознает
@Moduleкак точку координации и смягчает правила связанности для нее. - Точки входа: Автоматически помечает контроллеры и провайдеры как точки входа.
- Соблюдение слоев: Идеально работает с архитектурами в стиле NestJS (Контроллеры -> Сервисы -> Репозитории).
- Переопределение LCOM: Игнорирует декораторы NestJS при анализе связности, чтобы сфокусироваться на реальной логике.
Рекомендуемая конфигурация
yaml
extends:
- nestjs
rules:
layer_violation:
layers:
- name: presentation
path: ['**/*.controller.ts']
allowed_imports: ['application']
- name: application
path: ['**/*.service.ts']
allowed_imports: ['domain']
- name: domain
path: ['**/entities/**']
allowed_imports: []