openapi-typesafe — типобезопасные OpenAPI-клиенты, готовые к TypeScript 7
Поддерживаемая замена openapi-typescript и openapi-fetch один в один: их автор перестал их поддерживать в сентябре 2026 года. Генерирует TypeScript-типы из схемы OpenAPI 3.0, 3.1 или 3.2 и даёт полностью типизированный fetch-клиент. Генератор больше не использует API компилятора TypeScript, поэтому работает на TypeScript 5, 6 и 7. Каждый релиз проверяется на 1 820 реальных схемах: 50 960 случаев, 0 неожиданных расхождений.
- Роль
- Мейнтейнер — форк, новый генератор, проверка совместимости, релизный пайплайн
- Стек
- TypeScript · Node.js · OpenAPI 3.x · Vitest · GitHub Actions · npm provenance · VitePress
- Период
- Ноябрь 2026 — сейчас

Сгенерируйте типы и вызывайте API через типизированный клиент:
npx openapi-typesafe ./openapi.yaml -o ./src/api/schema.d.tsЗачем он нужен
openapi-typescript и openapi-fetch — то,
через что множество TypeScript-команд работают со своими API: даёшь им схему OpenAPI и получаешь
типы для каждого пути, параметра и ответа. В сентябре 2026 года их автор
перестал их поддерживать.
В то же время вышел TypeScript 7. Это нативный порт компилятора, и в его пакете typescript нет
JavaScript API: ни ts.factory, ни принтера. openapi-typescript строит каждый тип через
ts.factory, поэтому в проекте на TypeScript 7 он либо не ставится, либо падает сразу при загрузке.
То есть у тысяч проектов зависимость одновременно осталась без поддержки и вот-вот сломается.
Что я сделал
Сделал форк с полной историей исходного репозитория и поставил одно правило: переезд — это только смена имени пакета, и всё. Те же флаги CLI, тот же Node API, тот же генерируемый код, тот же клиент.
- Генератор без API компилятора. Типы строятся как своё маленькое дерево и печатаются своим
принтером. Пакет
typescriptвообще не нужен, поэтому всё работает рядом с TypeScript 5, 6 или 7. - Поддержка OpenAPI 3.2, которую оригинал отвергает.
- Инструмент миграции (
openapi-typesafe-migrate), который переводит проект: импорты, скрипты и настройки пакетов. - Биндинги для TanStack Query и общие хелперы типов — тоже замена один в один.
Как я знаю, что он совместим
«Один в один» — это обещание, значит, его надо измерять, а не заявлять. Публичный отчёт о совместимости сравнивает наш вывод с openapi-typescript 7.13 на 1 820 реальных документах OpenAPI: весь каталог APIs.guru плюс крупные — GitHub, Stripe, OpenAI, Cloudflare, Kubernetes. Каждая схема прогоняется с 28 наборами опций, итого 50 960 случаев.
Каждый случай проверяется в три шага: одинаковые байты, затем одинаковые типы (строгая проверка идентичности), затем — компилируется ли. Последний прогон: 99,87% совпадают байт в байт, 100% — одинаковые типы, 0 неожиданных расхождений. CI каждую ночь гоняет весь корпус, и каждый релиз ссылается на свой отчёт.
Безопасные релизы
Генератор кода запускается на вашей машине и пишет код в ваш проект, поэтому его цепочка поставки важна:
- минимум зависимостей;
- npm provenance и никаких долгоживущих токенов публикации;
- модель угроз, политика безопасности со сроками ответа и закрытые сообщения об уязвимостях;
- бейджи OpenSSF Scorecard и OpenSSF Best Practices.
Сделан для кодинг-агентов
В репозитории есть skill для агентов: он учит Claude Code (или любого агента, который читает
skills) подключать клиент, делать типизированные вызовы, обрабатывать ошибки и переезжать с
openapi-typescript. Отдельный набор evals измеряет этот skill на 34 задачах. Сайт документации
отдаёт llms.txt, llms-full.txt и Markdown-копию каждой страницы.
Сделано через agentic engineering: код пишут кодинг-агенты, а дизайн, правило совместимости и доказательство, что оно выполняется, — на мне.
Статус
Релиз-кандидат: 1.0.0-rc.4 на npm. До 1.0.0 имена и вывод ещё могут меняться, дальше —
семантическое версионирование. Лицензия MIT.