Skip to content

openapi-typescriptについて

利用者

  • Bigcommerce: BigCommerce API 用の Node SDK
  • Budibase: 内部ツール、ワークフロー、および管理ダッシュボードを作成するためのローコードプラットフォーム
  • Fedora fmn: Fedora メッセージインフラストラクチャのツールと API
  • Fingerprint: 大規模なアプリケーション向けのデバイスフィンガープリンティング
  • Google Firebase CLI: Google Firebase プラットフォーム用の公式 CLI
  • GitHub Octokit: GitHub API の公式 SDK
  • Lotus: オープンソースの価格設定およびパッケージングインフラストラクチャ
  • Jitsu: モダンでオープンソースのデータ収集/データパイプライン
  • Medusa: デジタルコマースの構築ブロック
  • Netlify: モダンな開発プラットフォーム
  • Nuxt: 直感的な Vue フレームワーク
  • Relevance AI: AI チェーンの構築と展開
  • Revolt: オープンソースのユーザー優先チャットプラットフォーム
  • Spacebar: 無料でオープンソースの自ホスト可能な Discord 互換のチャット/音声/ビデオプラットフォーム
  • Supabase: オープンソースの Firebase 代替

プロジェクトの目標

openapi-typescript

  1. 任意の有効な OpenAPI スキーマを TypeScript 型に変換できるようにすること。どんなに複雑なスキーマでも対応可能です。
  2. 生成される型は静的に解析可能で、実行時の依存関係がない(ただし、enums のような例外はあります)。
  3. 生成された型は、元のスキーマにできるだけ一致し、元の大文字形式などを保持します。
  4. 型の生成 は Node.js だけで実行可能であり、(Java、Python などは不要)どんな環境でも実行できます。
  5. ファイルからの OpenAPI スキーマのフェッチや、ローカルおよびリモートサーバーからのフェッチをサポートします。

openapi-fetch

  1. 型は厳密で、最小限のジェネリクスで OpenAPI スキーマから自動的に推論されるべきです。
  2. ネイティブの Fetch API を尊重しつつ、(await res.json() などの)ボイラープレートを削減すること。
  3. 可能な限り軽量で高性能であること。

openapi-react-query

  1. 型は厳格であり、必要最小限のジェネリクスでOpenAPIスキーマから自動的に推論されるべきです。
  2. 元の @tanstack/react-query API を尊重しつつ、ボイラープレートを減らします。
  3. できるだけ軽量でパフォーマンスが高くなるようにします。

メインテナー

This library is currently maintained by these amazing individuals:

Drew Powers

Drew Powers

Lead, Creator openapi-typescript/openapi-fetch

Martin Paucot

Martin Paucot

Core Contributor, Creator openapi-react-query

Tobias Schlatter

Tobias Schlatter

Core Contributor

Hunter Tunnicliff

Hunter Tunnicliff

Core Contributor, Creator swr-openapi

Duncan Beevers

Duncan Beevers

Core Contributor

貢献者

And thanks to 100+ amazing contributors, without whom these projects wouldn’t be possible:

  • Przemek Smyrdek
  • Dan Enman
  • Atle Frenvik Sveen
  • Tim de Wolf
  • Tom Barton
  • Sven Nicolai Viig
  • Sorin Davidoi
  • Nathan Schneirov
  • Lucien Bénié
  • Boris
  • Anton Kastritskii
  • Tim Shelburne
  • Michał Miszczyszyn
  • Sam K Hall
  • Matt Jeanes
  • Kristofer Giltvedt Selbekk
  • Elliana May
  • Henrik Hall
  • Gregor Martynus
  • Sam Mesterton-Gibbons
  • Rendall
  • Robert Massaioli
  • Jan Kuča
  • Thomas Valadez
  • Asitha de Silva
  • Misha
  • Alex Batalov
  • Federico Bevione
  • Daisuke Yamamoto
  • Ash Smith
  • Micah Halter
  • chrg1001
  • Dakshraj Sharma
  • Shaosu Liu
  • Vytenis
  • Eric Zorn
  • Max Belsky
  • Peter Bech
  • Rusty Conover
  • Dave Carlson
  • Artem Shuvaev
  • Dominik Dosoudil
  • kgtkr
  • philip trauner
  • Pavel Yermolin
  • Timofei Kukushkin
  • Dmitry Semigradsky
  • Jeremy Liberman
  • Axel Hernández Ferrera
  • Loïc Fürhoff
  • Bartosz Szczeciński
  • Marco Salomone
  • Yacine Hmito
  • Sajad Torkamani
  • Marius van den Beek
  • Steven Grimm
  • Erik Hughes
  • Matthieu Monsch
  • Mitchell Merry
  • François Risoud
  • liangsky
  • Don Denton
  • Yad Smood
  • barak
  • Lukáš Horák
  • Andrea Carraro
  • psychedelicious
  • Tanguy Krotoff
  • Pim Veldhuisen
  • Aleksandr Vishniakov
  • Ahsan Fazal
  • Eugene Dzhumak
  • Mohammed Gadi
  • Adam K
  • Christoph Fricke
  • Jorrin
  • Nick Williams
  • hrsh7th
  • Hongkun
  • Matthias Zronek
  • Łukasz Wiśniewski
  • Jean-Rémi Delteil
  • Tzvi Melamed
  • ehrenschwan
  • Niccolo Zapponi
  • Marvin Luchs
  • Neil MacMunn
  • Nadeem Bitar
  • Emory Petermann
  • yoshi2no
  • Tyler Fletcher
  • Nicklos Holik
  • Nikita Gusakov
  • Stéphane Codazzi
  • Michał Fedyna
  • Matthew Lieder
  • Nick Caballero
  • Tang Ziya
  • Yuku Kotani
  • Hadrian de Oliveira
  • zaru
  • Percy Ma
  • Marco Muser
  • Evgenii Perminov
  • alex
  • Lev Chelyadinov
  • Free 公園
  • jimmy
  • hungify
  • Jared Lunde
  • Armand Abric
  • Trevor Fitzgerald
  • Jonathan Morales Vélez
  • Mike Darwish
  • Mehdi
  • Valentin Agachi
  • moyaojun
  • Dan Michael O. Heggø
  • Fred Silberberg
  • Viljami
  • Felix Kaechele
  • Sebastien Guillemot
  • Morley Tatro
  • Nick Graef
  • Valerij Medviď
  • Bruno Carneiro
  • Mike Stop Continues
  • maurice
  • Ville Penttinen
  • Jiří Staniševský
  • Brad Harker
  • Konstantin Barabanov
  • Hong Seungwoo
  • yicrotkd
  • Makoto Tateno
  • Tomohiro Ishii
  • Blake
  • Elay Gelbart
  • Djordy Koert
  • Jo M
  • Oskar Thornblad
  • Sultan Iman
  • Patryk Tomczyk
  • Marco Ellwanger
  • mochi33i
  • Laurenz Glück
  • Guillaume Duliscouët
  • Ali Kehel
  • Chai Landau
  • Benno
  • Hagen
  • Jungwoo LEE
  • Gianmarco Rengucci
  • Lucas Eduardo
  • Viktor Pöntinen
  • Kevin Wang