Skip to content

Latest commit

 

History

History
73 lines (50 loc) · 2.87 KB

File metadata and controls

73 lines (50 loc) · 2.87 KB

🇺🇸 English | 🇷🇺 Русский | 🇨🇳 中文

Добавление нового правила

Необходимо в папку src/rules добавить папку с именем вновь созданного правила с 6 файлами:

  • index.ts - основной файл с логикой правила - должны быть экспортированы: processor (дефолтный экспорт) и configSchema (именованный экспорт)
  • index.test.ts - тесты на правило покрывающие все поля конфигурации и примеры их использования
  • /docs/{lang}/_description.md - файл с описанием правила
  • /docs/{lang}/_motivation.md - файл с описанием мотивации создания правила с примерами (в каких случаях на практике может быть полезно)
  • /docs/{lang}/_config.md - файл с описанием конфигурации для правила

Для вывода подробных логов необходимых для отладки см. пункт "Отладка".

Все названия правил должны начинаться с обозначения действия.

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

src/
├── cli/          # CLI интерфейс
├── config.ts     # Конфигурация и валидация
├── core/         # Основная логика
├── logger/       # Система логирования
├── openapi.ts    # Работа с OpenAPI файлами
├── rules/        # Правила модификации
└── index.ts      # Точка входа

Разработка

Установка зависимостей

npm install

Сборка

npm run build

Тестирование

npm test

Дополнительные команды

  • npm run clear - Очистка директорий сборки
  • npm run format - Форматирование кода
  • npm run tools:generate-readme - Генерация документации
  • npm run tools:generate-rule-types - Генерация типов правил

Отладка

Внутри используется для детального логирования npm-пакет - debug

Для вывода всех debug логов:

DEBUG=openapi-modifier:* openapi-modifier

Для вывода debug логов по правилу, например по правилу remove-operation-id:

DEBUG=openapi-modifier:rule:remove-operation-id openapi-modifier