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

feod-structure/global-files ​

Допустимые пути файлов глобального слоя.

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

Зачем нужно ​

Ограничивает состав глобального слоя, например разрешает только TypeScript declarations и не даёт складывать туда исполняемые утилиты.

Примеры ​

При globals.allowedFiles: ['**/*.d.ts'] правило разрешает declarations и запрещает остальные посещённые файлы глобального слоя.

  • global
    • env.d.ts
    • types
      • window.d.ts
    • helpers.ts
    • bootstrap.js

Здесь ограничение задано конфигурацией проекта. Само имя global не устанавливает список разрешённых расширений.

Настройка ​

js
createConfig({
  globals: { allowedFiles: ['**/*.d.ts', '**/*.d.mts', '**/*.d.cts'] },
});
Поле проектаПрямая опцияПо умолчанию
globals.allowedFilesallowedFiles[] — проверка отключена

Маски считаются от каталога слоя с ролью global, а не от корня проекта. Учитываются вложенные и скрытые файлы. Пустой список в конкретном корне выключает унаследованную проверку.

Прямые options также принимают группу пути, layers, layerDirs: { global: '…' }.

Ограничения ​

Проверяется имя и путь посещённого файла, а не то, содержит ли он допустимые declarations. ESLint должен включать нужные расширения в files и иметь парсер. Вложенный пользовательский слой определяется по наиболее длинному пути и не наследует роль global только из-за расположения.

Исходящие импорты регулирует globals.localImports в layer-imports. allowedFiles: [] эту политику не сбрасывает.

Реализация ​

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