Fallow – главная фишка IDEA теперь в VS Code и Neovim
Я долго работал в WebStorm и привык к ее фишкам: среда сразу подсвечивает неиспользуемые переменные, функции, дубликаты и т.д. Для меня это одна из ключевых причин использовать jetbrains IDEA.
Мне часто приходилось сталкивался с одной и той же болью. Заходишь в файл (особенно в слой утилит), а там висит куча неиспользуемого кода. Я не понимал: почему коллеги его не удаляют? А потом попробовал VS Code и как понял. Они просто его не видят! Их редактор не подсвечивает эти проблемы так, как это делает WebStorm.
Со временем WebStorm перестал устраивать меня по скорости и прожорливости к ресурсам. Я начал искать альтернативы и перешел на Neovim. Но из коробки в нем нет такой глубокой индексации (и не только ее, но это другая тема), потому что он использует тот же lsp сервер, что и VS Code. Какое-то время пришлось мириться с «слепой зоной», пока я не наткнулся на Fallow.
Что такое Fallow?
Fallow — это быстрая система анализа кода для TypeScript и JavaScript, написанная на Rust. В отличие от обычных линтеров, она не просто проверяет правила, а выстраивает карту связей всего проекта. Это позволяет находить скрытые архитектурные проблемы.
Что крутого умеет утилита:
- Ищет «мертвый» код. Находит неиспользуемые файлы, экспорты, типы, члены классов/enum и лишние npm-зависимости.
- Обнаруживает дубликаты. Через суффиксный детектор ищет повторы не только в TS/JS, но и в CSS-стилях.
- Считает Health Score. Выводит оценку здоровья кодовой базы от 0 до 100 на основе когнитивной сложности и запутанности связей.
- Проверяет архитектуру. Из коробки поддерживает валидацию паттернов Bulletproof, Layered, Hexagonal и Feature-Sliced Design.
Дополнительно инструмент поддерживает интеграцию с CI/CD, работу с AI-агентами и MCP.
Как настроить:
Утилита ставится глобально одной командой:
Запустить полный аудит проекта и сразу подсветить дубликаты с мертвым кодом:
- VS Code: ставите плагин и сразу видите подсветку прямо в открытых файлах.
- Neovim: настраиваете fallow_lsp и подключаете плагин xeind/vallow.nvim. Вы получаете точно такой же UI, как в VS Code.
Для корректной работы нужно настроить конфигурационный файл (указать точки входа и исключения). Мой минимальный конфиг можно взять за основу:
А вот так это выглядит в интерфейсе:
Итог: мы получаем одну из лучших фишек экосистемы JetBrains, получив высокую скорость работы, возможность настроить правила для архитектуры (к примеру FSD) и удобный дашборд для мониторинга всего проекта.
Если было интересно, поддержи меня подпиской на ТГ канал:
Ссылки на ресурсы: