Инструмент для анализа зависимостей в проекте и построения схем
npm i -D fsd-crawler
Добавьте скрипт для запуска
{
"scripts": {
"analyze": "fsd-crawler",
}
}
npm run analyze
После выполнения в указанной директории (по умолчанию - ./dist
) будут созданы файлы отчетов:
fsd_structure.html
- интерактивный HTML-отчет с визуализацией структуры и зависимостейfsd_structure.json
- JSON-представление структуры и зависимостей (если включено в конфигурации)
По умолчанию HTML-отчет автоматически открывается в браузере на порту 3123.
Инструмент поддерживает настройку через YAML-файл. Конфигурационный файл может называться:
fsd-crawler.yml
fsd-crawler.yaml
.fsd-crawler.yml
.fsd-crawler.yaml
Файл конфигурации ищется в текущей директории и всех родительских директориях.
# Исходная директория для анализа
srcDir: "."
# Директория для сохранения результатов
outputDir: "./dist"
# Форматы вывода (поддерживаются html и json)
outputFormats:
- html
# - json # Раскомментируйте для включения JSON-экспорта
# Директории, которые нужно исключить из анализа
excludeDirs:
- node_modules
- .git
- dist
- build
- coverage
# Запускать ли локальный веб-сервер для просмотра HTML-отчета
serveHTML: true
# Порт для локального веб-сервера
port: 3123
# Пользовательские слои (если указаны, заменяют стандартные)
# Если не указаны, используются стандартные слои FSD
customLayers:
- app
- processes
- pages
- widgets
- features
- entities
- shared
# Путь к пользовательскому HTML шаблону (необязательно)
# htmlTemplatePath: "./custom-template.html"
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
srcDir |
string | . |
Директория с исходным кодом для анализа |
outputDir |
string | ./dist |
Директория для сохранения результатов |
outputFormats |
array | ["html"] |
Форматы вывода результатов |
excludeDirs |
array | ["node_modules", ".git", "dist", "build"] |
Директории, исключаемые из анализа |
customLayers |
array | Пользовательские слои FSD (если не указаны, используются стандартные) | |
htmlTemplatePath |
string | Путь к пользовательскому HTML-шаблону | |
serveHTML |
boolean | true |
Запускать ли локальный веб-сервер для просмотра HTML-отчета |
port |
integer | 3123 |
Порт для локального веб-сервера |