- убрана строгая проверка content-type (ломала GitHub raw и другие серверы) - вместо неё парсинг JSON с понятной ошибкой при невалидном ответе - обновлён README: только npx, добавлен флаг --swr - версия 1.0.7
@gromlab/api-codegen
CLI утилита для генерации TypeScript API клиента из OpenAPI спецификации.
Использование
npx @gromlab/api-codegen -i <INPUT> -o <OUTPUT> [-n <NAME>] [--swr]
Аргументы:
-i, --input <path>- Путь к OpenAPI файлу (локальный файл или URL)-o, --output <path>- Директория для сохранения файлов-n, --name <name>- Имя сгенерированного файла (опционально, по умолчанию изspec.info.title)--swr- Генерировать SWR хуки для React
Примеры:
# Локальный файл
npx @gromlab/api-codegen -i ./openapi.json -o ./src/api
# URL на спецификацию
npx @gromlab/api-codegen -i https://httpbin.org/spec.json -o ./src/api
# С кастомным именем файла
npx @gromlab/api-codegen -i ./openapi.json -o ./src/api -n MyApi
# С генерацией SWR хуков
npx @gromlab/api-codegen -i ./openapi.json -o ./src/api --swr
Пример использования сгенерированного кода
import { Api, HttpClient } from './src/api/MyApi';
const httpClient = new HttpClient();
httpClient.setSecurityData({ token: 'jwt-token' });
const api = new Api(httpClient);
// GET запрос
const user = await api.auth.getProfile();
// POST запрос
const result = await api.auth.login({ email, password });
Разработка
Сборка
bun run build
Тестирование
# Все тесты
bun test
# Юнит тесты
bun run test:unit
# Интеграционные тесты
bun run test:integration
# Watch режим
bun run test:watch
# С coverage
bun run test:coverage
Подробная документация по тестированию в tests/README.md.
Лицензия
MIT
Languages
TypeScript
68.6%
EJS
29%
JavaScript
2.4%