
rev-dep v3.0.0
Набор инструментов для анализа зависимостей и оптимизации современных кодовых баз JavaScript и TypeScript. Обеспечьте чистоту графа зависимостей и удаляйте неиспользуемый код с помощью очень быстрого CLI.
Rev-dep
Возможности • Установка • Документация • Инструментарий для исследования • Справочник по CLI
Инструментарий для анализа и оптимизации зависимостей в современных кодовых базах на JavaScript и TypeScript.
Обеспечивает гигиену графа зависимостей и удаляет неиспользуемый код с помощью очень быстрого CLI.
О проекте 📣
По мере роста кодовых баз поддерживать мысленную карту зависимостей становится невозможно. Rev-dep — это высокоскоростной инструмент статического анализа, предназначенный для обеспечения целостности архитектуры и гигиены зависимостей в крупномасштабных проектах на JS/TS.
Думайте о Rev-dep как о высокоскоростном линтере для вашего графа зависимостей.
Объедините фрагментированные последовательные проверки из множества медленных инструментов в единый высокопроизводительный движок. Rev-dep выполняет полный набор проверок управления — включая цикличность, сироты, границы модулей и многое другое — за один параллельный проход. Реализованный на Go, чтобы обойти узкие места производительности анализа на Node, он способен проверить проект объёмом 500k+ строк кода примерно за 150 мс. См. сравнение производительности
Автоматизированное управление кодовой базой
Rev-dep выходит за рамки пассивного сканирования и переходит к активному контролю, отвечая (и проваливая CI) на сложные вопросы:
- Целостность архитектуры: «Незаконно ли мой "Домен A" импортирует из "Домена B"?».
- Мёртвый код и раздутость: «Недостижимы ли эти файлы, или эти
node_modulesне используются?». - Безопасность рефакторинга: «Какие точки входа фактически используют эту утилиту, и есть ли циклические цепочки?».
- Гигиена рабочего пространства: «Согласованы ли мои импорты и объявлены ли все зависимости?».
Rev-dep служит высокоскоростным привратником для вашего CI, гарантируя, что ваш граф зависимостей остаётся компактным, а архитектура — целостной по мере итераций.
Почему Rev-dep? 🤔
🏗️ Поддержка монорепозиториев первого класса
Разработан для современных рабочих пространств (pnpm, yarn, npm). Rev-dep нативно разрешает карты exports/imports из package.json, псевдонимы TypeScript и отслеживает зависимости через границы пакетов.
🛡️ Управление кодовой базой на основе конфигурации
Выйдите за рамки пассивного сканирования. Используйте движок конфигурации для обеспечения границ модулей и соглашений об импорте. Выполняйте полный набор проверок гигиены (цикличность, сироты, неиспользуемые модули и многое другое) за один параллельный проход, который служит высокоскоростным привратником для вашего CI.
🔍 Инструментарий для исследования
Набор CLI-инструментов, помогающий отлаживать проблемы с зависимостями между файлами. Понимайте транзитивные связи между файлами и устраняйте проблемы.
⚡ Создан для скорости и эффективности CI
Реализован на Go, чтобы устранить налог на производительность анализа на Node. Благодаря параллельной обработке файлов Rev-dep обеспечивает в 17–90 раз более быстрое выполнение, чем альтернативы, значительно снижая затраты на CI и время ожидания разработчиков.
Rev-dep может проверить проект объёмом 500k+ строк кода примерно за 150 мс. См. сравнение производительности
Возможности 🚀
Управление и поддержка (на основе конфигурации) 🛡️
Используйте rev-dep config run для выполнения нескольких проверок за один проход для всех пакетов.
Доступные проверки:
moduleBoundaries— обеспечение архитектурных границ между модулями.importConventions— обеспечение соглашений о стиле импорта (предлагает автоисправление).unusedExportsDetection— обнаружение экспортов, которые никогда не используются (предлагает автоисправление).orphanFilesDetection— обнаружение мёртвых/осиротевших файлов (предлагает автоисправление).unusedNodeModulesDetection— обнаружение объявленных, но не используемых зависимостей.missingNodeModulesDetection— обнаружение импортов, отсутствующих в package json.unresolvedImportsDetection— обнаружение неразрешённых запросов импорта.circularImportsDetection— обнаружение циклических импортов.duplicatedCodeDetection— обнаружение скопированного кода (повторяющиеся блоки и элементы JSX).devDepsUsageOnProdDetection— обнаружение dev-зависимостей, используемых в production-коде.restrictedImportsDetection— блокировка импорта запрещённых файлов/модулей из выбранных точек входа.restrictedImportersDetection— белый список точек входа, которые могут транзитивно достигать набора файлов/модулей.restrictedDirectImportersDetection— ограничение того, какие файлы могут напрямую импортировать набор файлов/модулей (нетранзитивно).
Исследовательский анализ (на основе CLI) 🔍
Используйте CLI-команды для ad-hoc исследования зависимостей:
entry-points— обнаружение точек входа проекта.files— вывод списка файлов дерева зависимостей для заданной точки входа.resolve— трассировка путей зависимостей между файлами (кто импортирует этот файл).imported-by— вывод списка прямых импортёров файла.circular— вывод списка циклических цепочек зависимостей.duplicated-code— поиск скопированных блоков кода и элементов JSX.node-modules— проверкаused,unused,missingиinstallednode-модулей.lines-of-code— подсчёт эффективных строк кода.unresolved— вывод списка импортов, которые не удалось разрешить, с группировкой по файлам.list-cwd-files— вывод списка всех файлов исходного кода в CWDdebug— проверка того, что rev-dep парсит, разрешает и обнаруживает внутри.
Установка 📦
Полная документация: rev-dep.com/docs/intro
Установите локально, чтобы настроить скрипты проверки проекта``` yarn add -D rev-dep
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/yourusername/kitploit)
[](https://github.com/yourusername/kitploit)
**Kitploit** — это мощный инструмент для пентестинга и аудита безопасности, предназначенный для автоматизации задач разведки, сканирования уязвимостей и составления отчётов. Он объединяет несколько популярных инструментов с открытым исходным кодом в единый, простой в использовании интерфейс командной строки.
## Возможности