Skip to content

Поддержка 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: []

Released under the MIT License.