Skip to content

Обзор и назначение ​


1.0.0Размер: 9.39 KBПокрытие: 99.83 % в 300 тестах

ARFA Generator — ядро автоматизации процессов frontend-разработки. Он объединяет генерацию файлов, архитектурные проверки и инструменты контроля качества в единый пайплайн с возможностью подключения сборки и вывода результатов для разработчиков (консоль) и LLM-агентов (CLI feedback).

Инструмент создан для Automation Ready Frontend Architecture — подхода к построению легко поддерживаемых долгоживущих архитектур с возможностью автоматизации, — но подходит и для проектов с другими архитектурными принципами.

Библиотека использует строгую типизацию, имеет минимум зависимостей (chokidar и TypeScript как peer dependency) и широкое покрытие тестами.

Использование возможно в трех режимах:

  • единоразовый codegen — выполнение генерации и проверок до запуска процесса сборки или по необходимости
  • параллельный watch — бандлер и генератор одновременно следят за изменениями (при этом будут лишние пересборки)
  • generator-first — только watch генератора, а сборка вызывается после стабилизации кодовой базы в afterCheckers (наиболее эффективный режим, позволяющий строить пайплайн с единообразным выводом логов и ошибок)

Единый пайплайн ​

ARFA Generator становится связующим звеном между всеми инструментами — будь то операции, влияющие на исходные файлы, внешние проверки или создание артефактов бандлером.

В библиотеку включены плагины и чекеры наиболее широкого назначения, но под конкретный проект можно создать свой набор. Пример возможностей:

На основе файловой структуры и имен файлов можно создавать:

  • barrel-файлы _reexport.ts или index.ts с реэкспортами всех публичных файлов в папке
  • локальный package.json или index.ts, указывающий на главный файл компонента
  • сборные структуры с типами — например, собирая pages/*/store.ts файлы
  • карты роутинга для асинхронных импортов и т.п.

Если добавить к структуре чтение содержимого файлов, то можно:

  • собирать ключи локализации и дефолтные значения в один или несколько JSON-файлов для передачи в систему переводов
  • создавать из TypeScript-контрактов схемы валидации
  • собирать документацию, проверять дубликаты и единообразие нейминга и т.п.

Если подключить чекеры, то можно:

  • проверять типы и форматирование
  • проверять синхронизированность env-параметров
  • проверять границы импортов модулей
  • использовать любые сторонние инструменты через CLI и т.п.

Требования ​

Требуются TypeScript 5 или 6 (для TS API) и Node.js >=22.17.0. Пакет поставляется только в формате ESM.

MIT License