Skip to content

Commit 2a53972

Browse files
committed
Consolidate About pages, update contributors
1 parent 31bdbaf commit 2a53972

File tree

17 files changed

+347
-468
lines changed

17 files changed

+347
-468
lines changed

docs/.vitepress/en.ts

+3-14
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ export default defineConfig({
3737
{ text: "Testing", link: "/openapi-fetch/testing" },
3838
{ text: "Examples", link: "/openapi-fetch/examples" },
3939
{ text: "API", link: "/openapi-fetch/api" },
40-
{ text: "About", link: "/openapi-fetch/about" },
4140
],
4241
},
4342
],
@@ -52,7 +51,6 @@ export default defineConfig({
5251
{ text: "Examples", link: "/examples" },
5352
{ text: "Migrating from 6.x", link: "/migration-guide" },
5453
{ text: "Advanced", link: "/advanced" },
55-
{ text: "About", link: "/about" },
5654
],
5755
},
5856
{
@@ -66,7 +64,6 @@ export default defineConfig({
6664
{ text: "Testing", link: "/openapi-fetch/testing" },
6765
{ text: "Examples", link: "/openapi-fetch/examples" },
6866
{ text: "API", link: "/openapi-fetch/api" },
69-
{ text: "About", link: "/openapi-fetch/about" },
7067
],
7168
},
7269
{
@@ -76,15 +73,8 @@ export default defineConfig({
7673
{ text: "Getting Started", link: "/" },
7774
{ text: "useQuery", link: "/use-query" },
7875
{ text: "useMutation", link: "/use-mutation" },
79-
{
80-
text: "useSuspenseQuery",
81-
link: "/use-suspense-query",
82-
},
83-
{
84-
text: "queryOptions",
85-
link: "/query-options",
86-
},
87-
{ text: "About", link: "/about" },
76+
{ text: "useSuspenseQuery", link: "/use-suspense-query" },
77+
{ text: "queryOptions", link: "/query-options" },
8878
],
8979
},
9080
{
@@ -97,7 +87,6 @@ export default defineConfig({
9787
{ text: "useImmutable", link: "/use-immutable" },
9888
{ text: "useInfinite", link: "/use-infinite" },
9989
{ text: "useMutate", link: "/use-mutate" },
100-
{ text: "About", link: "/about" },
10190
],
10291
},
10392
{
@@ -118,9 +107,9 @@ export default defineConfig({
118107
],
119108
},
120109
{ text: "Examples", link: "/openapi-metadata/examples" },
121-
{ text: "About", link: "/openapi-metadata/about" },
122110
],
123111
},
112+
{ text: "About", link: "/about" },
124113
],
125114
},
126115
search: {

docs/.vitepress/ja.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export default defineConfig({
2424
{ text: "使用例", link: "/ja/examples" },
2525
{ text: "6.xからのマイグレーション", link: "/ja/migration-guide" },
2626
{ text: "高度な機能", link: "/ja/advanced" },
27-
{ text: "概要", link: "/ja/about" },
2827
],
2928
},
3029
{
@@ -38,7 +37,6 @@ export default defineConfig({
3837
{ text: "テスト", link: "/ja/openapi-fetch/testing" },
3938
{ text: "使用例", link: "/ja/openapi-fetch/examples" },
4039
{ text: "API", link: "/ja/openapi-fetch/api" },
41-
{ text: "概要", link: "/ja/openapi-fetch/about" },
4240
],
4341
},
4442
{
@@ -48,7 +46,6 @@ export default defineConfig({
4846
{ text: "useQuery", link: "/ja/openapi-react-query/use-query" },
4947
{ text: "useMutation", link: "/ja/openapi-react-query/use-mutation" },
5048
{ text: "useSuspenseQuery", link: "/ja/openapi-react-query/use-suspense-query" },
51-
{ text: "概要", link: "/ja/openapi-react-query/about" },
5249
],
5350
},
5451
],
@@ -111,4 +108,4 @@ export const jaSearch: DefaultTheme.AlgoliaSearchOptions["locales"] = {
111108
},
112109
},
113110
},
114-
};
111+
};
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<script setup lang="ts">
2+
defineProps<{
3+
contributors: {
4+
username: string;
5+
avatar: string;
6+
links: { icon: string; link: string }[];
7+
title?: string;
8+
}[];
9+
}>();
10+
</script>
11+
12+
<style scoped>
13+
.contributor-list {
14+
gap: 0.75rem;
15+
display: flex;
16+
flex-wrap: wrap;
17+
list-style: none;
18+
margin: 0;
19+
padding: 0;
20+
}
21+
22+
.contributor-list li {
23+
border-radius: 50%;
24+
margin: 0;
25+
overflow: hidden;
26+
padding: 0;
27+
}
28+
29+
.contributor-avatar {
30+
display: block;
31+
height: 3rem;
32+
width: 3rem;
33+
}
34+
</style>
35+
36+
<template>
37+
<ul class="contributor-list">
38+
<li v-for="contributor in contributors" :key="contributor.username">
39+
<a :href="contributor.links[0].link" :title="contributor.name">
40+
<img class="contributor-avatar" width="48" height="48" :src="contributor.avatar" :alt="contributor.name" />
41+
</a>
42+
</li>
43+
</ul>
44+
</template>

docs/.vitepress/zh.ts

-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ export default defineConfig({
2323
{ text: "Node.js API", link: "/zh/node" },
2424
{ text: "示例", link: "/zh/examples" },
2525
{ text: "高级功能", link: "/zh/advanced" },
26-
{ text: "关于", link: "/zh/about" },
2726
],
2827
},
2928
{
@@ -37,7 +36,6 @@ export default defineConfig({
3736
{ text: "测试", link: "/zh/openapi-fetch/testing" },
3837
{ text: "示例", link: "/zh/openapi-fetch/examples" },
3938
{ text: "API", link: "/zh/openapi-fetch/api" },
40-
{ text: "关于", link: "/zh/openapi-fetch/about" },
4139
],
4240
},
4341
],

docs/6.x/about.md

+10-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ description: Additional info about this project
55

66
<script setup>
77
import { VPTeamMembers } from 'vitepress/theme';
8-
import contributors from '../data/contributors.json';
8+
import Contributors from '../.vitepress/theme/Contributors.vue'
9+
import data from '../data/contributors.json';
910
</script>
1011

1112
# About openapi-typescript
@@ -27,7 +28,6 @@ description: Additional info about this project
2728
- [**Revolt**](https://github.com/revoltchat/api): open source user-first chat platform
2829
- [**Spacebar**](https://github.com/spacebarchat): a free, open source, self-hostable Discord-compatible chat/voice/video platform
2930
- [**Supabase**](https://github.com/supabase/supabase): The open source Firebase alternative.
30-
- [**Twitter API**](https://github.com/twitterdev/twitter-api-typescript-sdk): Official SDK for the Twitter API
3131

3232
## Project goals
3333

@@ -54,8 +54,14 @@ These 2 projects are unrelated. openapi-typescript-codegen is a Node.js alternat
5454

5555
If you fit into this usecase, it’s a great experience! But for everyone else, openapi-typescript (and openapi-fetch) is a more flexible, lower-level solution that can work for any technology choice (or even be incrementally-adopted without any cost).
5656

57+
## Maintainers
58+
59+
This library is currently maintained by these amazing individuals:
60+
61+
<VPTeamMembers size="small" :members="data.maintainers" />
62+
5763
## Contributors
5864

59-
This library wouldn’t be possible without all these amazing contributors:
65+
And thanks to 100+ amazing contributors, without whom these projects wouldn’t be possible:
6066

61-
<VPTeamMembers size="small" :members="contributors['openapi-typescript']" />
67+
<Contributors :contributors="data.contributors" />

docs/about.md

+28-12
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ description: Additional info about this project
55

66
<script setup>
77
import { VPTeamMembers } from 'vitepress/theme';
8-
import contributors from './data/contributors.json';
8+
import Contributors from './.vitepress/theme/Contributors.vue'
9+
import data from './data/contributors.json';
910
</script>
1011

1112
# About openapi-typescript
@@ -27,34 +28,49 @@ description: Additional info about this project
2728
- [**Revolt**](https://github.com/revoltchat/api): open source user-first chat platform
2829
- [**Spacebar**](https://github.com/spacebarchat): a free, open source, self-hostable Discord-compatible chat/voice/video platform
2930
- [**Supabase**](https://github.com/supabase/supabase): The open source Firebase alternative.
30-
- [**Twitter API**](https://github.com/twitterdev/twitter-api-typescript-sdk): Official SDK for the Twitter API
3131

3232
## Project goals
3333

34+
### openapi-typescript
35+
3436
1. Support converting any valid OpenAPI schema to TypeScript types, no matter how complicated.
3537
1. Generated types should be statically-analyzable and runtime-free (with minor exceptions like [enums](https://www.typescriptlang.org/docs/handbook/enums.html).
3638
1. Generated types should match your original schema as closely as possible, preserving original capitalization, etc.
3739
1. Typegen only needs Node.js to run (no Java, Python, etc.) and works in any environment.
3840
1. Support fetching OpenAPI schemas from files as well as local and remote servers.
3941

40-
## Differences
42+
### openapi-fetch
43+
44+
1. Types should be strict and inferred automatically from OpenAPI schemas with the absolute minimum number of generics needed.
45+
2. Respect the native Fetch API while reducing boilerplate (such as `await res.json()`).
46+
3. Be as light and performant as possible.
47+
48+
### openapi-react-query
49+
50+
1. Types should be strict and inferred automatically from OpenAPI schemas with the absolute minimum number of generics needed.
51+
2. Respect the original `@tanstack/react-query` APIs while reducing boilerplate.
52+
3. Be as light and performant as possible.
4153

42-
### vs. swagger-codegen
54+
### swr-openapi
4355

44-
openapi-typescript was created specifically to be a lighter-weight, easier-to-use alternative to swagger-codegen that doesn’t require the Java runtime or running an OpenAPI server. Nor does it generate heavyweight client-side code. In fact, all the code openapi-typescript generates is **runtime free static types** for maximum performance and minimum client weight.
56+
1. Types should be strict and inferred automatically from OpenAPI schemas with the absolute minimum number of generics needed.
57+
2. Respect the original `swr` APIs while reducing boilerplate.
58+
3. Be as light and performant as possible.
4559

46-
### vs. openapi-typescript-codegen
60+
### openapi-metadata
4761

48-
These 2 projects are unrelated. openapi-typescript-codegen is a Node.js alternative to the original swagger-codegen, but ends up being the same in practice. openapi-typescript has the same advantage of being **runtime free** whereas openapi-typescript-codegen can generate some pretty heavy bundles, up to `250 kB` or more depending on the schema complexity.
62+
1. Must respect the OpenAPI V3 specification
63+
2. Be extensible and easily integrated inside backend frameworks
64+
3. Be focused around developer experience
4965

50-
### vs. tRPC
66+
## Maintainers
5167

52-
[tRPC](https://trpc.io/) is an opinionated type-safe framework for both server and client. It demands both your server and client be written in tRPC (which means Node.js for the backend).
68+
This library is currently maintained by these amazing individuals:
5369

54-
If you fit into this use case, it’s a great experience! But for everyone else, openapi-typescript (and openapi-fetch) is a more flexible, lower-level solution that can work for any technology choice (or even be incrementally-adopted without any cost).
70+
<VPTeamMembers size="small" :members="data.maintainers" />
5571

5672
## Contributors
5773

58-
This library wouldn’t be possible without all these amazing contributors:
74+
And thanks to 100+ amazing contributors, without whom these projects wouldn’t be possible:
5975

60-
<VPTeamMembers size="small" :members="contributors['openapi-typescript']" />
76+
<Contributors :contributors="data.contributors" />

docs/data/contributors.json

+1-1
Large diffs are not rendered by default.

docs/ja/about.md

+17-12
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ description: このプロジェクトに関する追加情報
55

66
<script setup>
77
import { VPTeamMembers } from 'vitepress/theme';
8-
import contributors from '../data/contributors.json';
8+
import Contributors from '../.vitepress/theme/Contributors.vue'
9+
import data from '../data/contributors.json';
910
</script>
1011

1112
# openapi-typescriptについて
@@ -31,30 +32,34 @@ description: このプロジェクトに関する追加情報
3132

3233
## プロジェクトの目標
3334

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

40-
## 比較
41-
42-
### vs. swagger-codegen
43+
### openapi-fetch
4344

44-
openapi-typescript は、swagger-codegen の軽量で使いやすい代替手段として作成されており、Java ランタイムや OpenAPI サーバーを実行する必要はありません。また、大規模なクライアントサイドコードも生成しません。実際、openapi-typescript が生成するすべてのコードは、**実行時の依存関係がない静的型** であり、最大のパフォーマンスと最小のクライアント負荷を実現します。
45+
1. 型は厳密で、最小限のジェネリクスで OpenAPI スキーマから自動的に推論されるべきです。
46+
2. ネイティブの Fetch API を尊重しつつ、(`await res.json()` などの)ボイラープレートを削減すること。
47+
3. 可能な限り軽量で高性能であること。
4548

46-
### vs. openapi-typescript-codegen
49+
### openapi-react-query
4750

48-
openapi-typescript-codegen は、元の swagger-codegen の Node.js 代替手段ですが、実際には同じものです。openapi-typescript は、openapi-typescript-codegen と同様に、**実行時の依存関係がない** という利点を持っていますが、openapi-typescript-codegen は、スキーマの複雑さに応じて `250 kB` 以上になるかなり大きなバンドルを生成する可能性があります。
51+
1. 型は厳格であり、必要最小限のジェネリクスでOpenAPIスキーマから自動的に推論されるべきです。
52+
2. 元の `@tanstack/react-query` API を尊重しつつ、ボイラープレートを減らします。
53+
3. できるだけ軽量でパフォーマンスが高くなるようにします。
4954

50-
### vs. tRPC
55+
## メインテナー
5156

52-
[tRPC](https://trpc.io/) は、強い設計方針を持ったサーバーとクライアントの両方で型の安全性を提供するフレームワークです。これは、サーバーとクライアントの両方が tRPC で記述されていることを要求します(つまり、バックエンドが Node.js を使用しています)。
57+
This library is currently maintained by these amazing individuals:
5358

54-
このユースケースに合っているならば、素晴らしい体験ができるでしょう!しかし、他のすべての場合において、openapi-typescript(および openapi-fetch)は、あらゆる技術選択に適応できる、より柔軟で低レベルなソリューションです(コストなしで段階的に導入することさえできます)。
59+
<VPTeamMembers size="small" :members="data.maintainers" />
5560

5661
## 貢献者
5762

58-
これらの素晴らしい貢献者がいなければ、このライブラリは存在しなかったでしょう:
63+
And thanks to 100+ amazing contributors, without whom these projects wouldn’t be possible:
5964

60-
<VPTeamMembers size="small" :members="contributors['openapi-typescript']" />
65+
<Contributors :contributors="data.contributors" />

docs/ja/openapi-fetch/about.md

-48
This file was deleted.

docs/ja/openapi-react-query/about.md

-23
This file was deleted.

0 commit comments

Comments
 (0)