BetaДокументация для beta‑теста, возможны ошибки и неточности.
Перейти к содержимому

feod-structure/no-common-deep ​

Ограничение глубины каталогов common.

Включено как error в recommended и strict. Autofix отсутствует. Поддерживается ESLint и Oxlint.

Зачем нужно ​

Ограничивает рост общего слоя в иерархию скрытых модулей. Проверяет расположение самого файла, а не глубину импортируемого пути.

Что проверяет ​

Считает каталоги между корнем common и файлом. Файл непосредственно в common имеет глубину 0, common/utils/format.ts — 1, common/utils/date/format.ts — 2.

Примеры ​

При стандартном maxDepth: 1 считайте каталоги после common. Имя файла не увеличивает глубину.

  • common
    • format.ts
    • date
      • format.ts
    • utils
      • date
        • format.ts

Зачёркнутый файл нарушает правило. Если date — самостоятельная общая группа, уберите лишний уровень utils и оставьте common/date/format.ts.

Настройка ​

js
createConfig({ common: { maxDepth: 2 } });
Поле проектаПрямая опцияПо умолчанию
common.maxDepthmaxDepth1

Значение — целое неотрицательное число. При 0 допустимы только файлы непосредственно в common. Прямые options также принимают группу пути и layerDirs: { common: '…' }; алиасы здесь не нужны.

Когда ослаблять ​

Если общие UI-компоненты требуют дополнительных каталогов, увеличьте лимит для соответствующего корня. Это не отменяет no-common-index и запрет бизнес-зависимостей из common в layer-imports.

Реализация ​

Исходный код · Тесты · Все правила