JSPM

  • Created
  • Published
  • Downloads 93
  • Score
    100M100P100Q68105F
  • License ISC

Package Exports

  • openapi-modifier
  • openapi-modifier/dist/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (openapi-modifier) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

openapi-modifier

[!IMPORTANT]
Поддерживает OpenAPI 3.1, 3.0

TODO что это и мотивация создания

  • Бекендер просит проверить используется ли поле в какой-то сущности
  • Бекендер просит проверить используется ли параметр в какой-то ручке
  • Бекендер создает задачу перестать пользоваться endpoint'ом
  • Бекендер написал новое API в разработке но его нет в документации
  • Бекендер просит больше не использовать какой-то параметр в endpoint'е
  • Не валидное OpenAPI (Например, бекендеры использовали не существующий тип int)
  • Нужно оставить знания по модификации (коллеге важно знать почему какое-то поле заблокировано)
  • Нужно наблюдать за изменениями API и вовремя корректировать конфиг (убрали использование ручки)

Использование как CLI

openapi-modifier --input=example-1/input.yml --output=example-1/output.yml --config=example-1/openapi-modifier-config.js

Пример конфигурации

Можно использовать конфиги в след. расширениях: .js, .yaml, .yml, .json

Пример конфигурации в .js

module.exports = {
  logger: {
    minLevel: 1,
  },
  input: './openapi.yaml',
  output: './openapi.yaml',
  rules: [
    {
      name: 'remove-operation-id',
      disabled: true,
    },
    // ...
  ],
};

Использование как npm пакет/модуль

await openapiModifier({
  input: '',
  output: '',
});

Существующие правила

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

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

  • index.ts сама логика правила
  • README.md файл с описанием работы правила

Про отладку конкретного правила, см. пункт "Отладка" ниже.

Все названия функций должны начинаться с обозначения действия.

Отладка

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

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

DEBUG=openapi-modifier:* openapi-modifier

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

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

TODO Для последовательного преобразования вывод ???