Skip to content

Проект по исправлению рекурсивных импортов во фронтенд приложении

Notifications You must be signed in to change notification settings

ko22009/recursive-dependencies

Repository files navigation

Инструкции для разработчиков

Этот проект содержит намеренно созданные ошибки, демонстрирующие проблемы с рекурсивными импортами, описанные в ARTICLE.md.

Цель проекта

Позволить разработчикам:

  1. Увидеть все типичные ошибки, связанные с рекурсивными импортами
  2. Понять, как эти ошибки проявляются в реальном проекте
  3. Научиться исправлять их, следуя рекомендациям из ARTICLE.md

Структура проекта

src/
  modules/
    index.ts          ❌ Barrel файл верхнего уровня (ошибка)
    client/           ❌ Содержит рекурсивные импорты
    order/            ❌ Содержит рекурсивные импорты
    utils/            ✅ Правильный пример (leaf node)
    shared/           ✅ Пример правильного решения
ERRORS.md             📝 Список всех ошибок
ARTICLE.md            📝 Введение про рекурсивные импорты

Как начать работу

  1. Прочитайте ARTICLE.md - там описаны все проблемы и решения

  2. Откройте ERRORS.md - там список всех ошибок в проекте

  3. Запустите проверки:

    # Проверка циклических зависимостей
    npm run lint
    
    # Компиляция TypeScript (покажет ошибки)
    npm run build

Задание

Исправьте все ошибки, следуя рекомендациям из README.md:

  1. ✅ Удалите barrel файл modules/index.ts
  2. ✅ Разорвите рекурсивные импорты между client и order
  3. ✅ Исправьте импорты внутри модулей
  4. ✅ Исправьте экспорты в barrel файлах модулей
  5. ✅ Используйте правильные паттерны импортов

Проверка результатов

После исправления:

# Не должно быть циклических зависимостей
npm run lint

# Компиляция должна пройти без ошибок
npm run build

Полезные команды

  • npm run dev - запуск dev сервера
  • npm run build - сборка проекта
  • npm run lint - проверка циклических зависимостей

Подсказки

  • Все ошибки помечены комментариями ❌ ОШИБКА: в коде
  • Правильные примеры помечены ✅ ПРАВИЛЬНО:
  • Модуль utils - пример правильной организации (leaf node)
  • Модуль shared - пример правильного решения проблемы рекурсивных импортов

About

Проект по исправлению рекурсивных импортов во фронтенд приложении

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published