From 2bcf8bfdd495875b513e92b15c9b8fc7ba6caf50 Mon Sep 17 00:00:00 2001 From: Lubos Date: Sun, 20 Jul 2025 13:37:22 +0000 Subject: [PATCH] docs: add community spotlight --- .gitignore | 1 + docs/.contributorsignore | 3 +++ docs/.contributorssince | 1 + docs/about.md | 51 --------------------------------------------------- docs/contributing.md | 31 ------------------------------- docs/examples.md | 3 --- docs/index.md | 8 ++++---- docs/license.md | 28 ---------------------------- docs/sponsors-list.md | 63 --------------------------------------------------------------- docs/sponsors.md | 9 --------- scripts/update-contributors.sh | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .github/workflows/contributors.yml | 30 ++++++++++++++++++++++++++++++ docs/data/coreTeam.js | 8 ++++++++ docs/data/hallOfFame.js | 20 ++++++++++++++++++++ docs/openapi-ts/clients.md | 4 ++-- docs/openapi-ts/configuration.md | 4 ++-- docs/openapi-ts/get-started.md | 36 +++++++++++++++++++++++------------- docs/openapi-ts/integrations.md | 2 +- docs/openapi-ts/license.md | 28 ++++++++++++++++++++++++++++ docs/openapi-ts/mocks.md | 4 ++-- docs/openapi-ts/output.md | 4 ++-- docs/openapi-ts/plugins.md | 14 ++++---------- docs/openapi-ts/state-management.md | 4 ++-- docs/openapi-ts/transformers.md | 2 +- docs/openapi-ts/validators.md | 4 ++-- docs/openapi-ts/web-frameworks.md | 4 ++-- docs/partials/contributors-list.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ docs/partials/examples.md | 3 +++ docs/partials/sponsors-list.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ docs/partials/sponsors.md | 9 +++++++++ packages/nuxt/README.md | 10 ++++++++-- packages/openapi-ts/README.md | 47 ++++++++++++++++++++++++++++++++++------------- packages/vite-plugin/README.md | 12 +++++++++--- docs/.vitepress/config/en.ts | 29 +++++++++++++++++------------ docs/.vitepress/theme/Layout.vue | 4 ++-- docs/.vitepress/theme/custom.css | 13 +++++++++++++ docs/openapi-ts/clients/axios.md | 4 ++-- docs/openapi-ts/clients/custom.md | 4 ++-- docs/openapi-ts/clients/fetch.md | 4 ++-- docs/openapi-ts/clients/legacy.md | 4 ++-- docs/openapi-ts/clients/next-js.md | 4 ++-- docs/openapi-ts/clients/nuxt.md | 4 ++-- docs/openapi-ts/community/contributing.md | 21 +++++++++++++++++++++ docs/openapi-ts/community/spotlight.md | 40 ++++++++++++++++++++++++++++++++++++++++ docs/openapi-ts/configuration/input.md | 4 ++-- docs/openapi-ts/configuration/output.md | 4 ++-- docs/openapi-ts/configuration/parser.md | 4 ++-- docs/openapi-ts/output/client.md | 4 ++-- docs/openapi-ts/output/json-schema.md | 4 ++-- docs/openapi-ts/output/sdk.md | 4 ++-- docs/openapi-ts/output/typescript.md | 4 ++-- docs/openapi-ts/plugins/ajv.md | 2 +- docs/openapi-ts/plugins/arktype.md | 2 +- docs/openapi-ts/plugins/custom.md | 4 ++-- docs/openapi-ts/plugins/express.md | 2 +- docs/openapi-ts/plugins/faker.md | 2 +- docs/openapi-ts/plugins/fastify.md | 4 ++-- docs/openapi-ts/plugins/hono.md | 2 +- docs/openapi-ts/plugins/joi.md | 2 +- docs/openapi-ts/plugins/koa.md | 2 +- docs/openapi-ts/plugins/msw.md | 2 +- docs/openapi-ts/plugins/nest.md | 2 +- docs/openapi-ts/plugins/nock.md | 2 +- docs/openapi-ts/plugins/pinia-colada.md | 2 +- docs/openapi-ts/plugins/superstruct.md | 2 +- docs/openapi-ts/plugins/supertest.md | 2 +- docs/openapi-ts/plugins/swr.md | 2 +- docs/openapi-ts/plugins/tanstack-query.md | 4 ++-- docs/openapi-ts/plugins/typebox.md | 2 +- docs/openapi-ts/plugins/valibot.md | 4 ++-- docs/openapi-ts/plugins/yup.md | 2 +- docs/openapi-ts/plugins/zod.md | 4 ++-- docs/openapi-ts/plugins/zustand.md | 2 +- 73 file(s) changed, 598 insertion(s)(+), 313 deletion(s)(-) diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store +.cache .idea .tmp junit.xml diff --git a/docs/.contributorsignore b/docs/.contributorsignore new file mode 100644 --- /dev/null +++ b/docs/.contributorsignore @@ -0,0 +1,3 @@ +dependabot-preview[bot] +dependabot[bot] +github-actions[bot] diff --git a/docs/.contributorssince b/docs/.contributorssince new file mode 100644 --- /dev/null +++ b/docs/.contributorssince @@ -0,0 +1,1 @@ +2025-04-20T08:08:34Z diff --git a/docs/about.md b/docs/about.md deleted file mode 100644 --- a/docs/about.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Philosophy -description: Hello from Hey API. ---- - - - -# About - -Hey API is building a suite of TypeScript tools to manage API interactions. Whether you're building a web app, mobile app, or API server, we want to be part of your stack. - -We aim to do this by offering quality code abstractions necessary to perform type-safe HTTP requests. Attempting to manage this manually quickly becomes a huge time sink as your project grows and APIs evolve. Ideally, you want to spend most time on your application. Hey API allows you to do just that. - -We're constantly learning about the ways in which you use our tools. If you have any feedback, please [email us](mailto:lubos@heyapi.dev), [open an issue](https://github.com/hey-api/openapi-ts/issues), or [join a discussion](https://github.com/orgs/hey-api/discussions). - -## Hall of Fame - -These are the people with significant contributions to Hey API. A special thank you goes to [Ferdi Koomen](https://madebyferdi.com) for allowing us to use the original source code from OpenAPI TypeScript Codegen. None of this would've been possible without you! - - - - diff --git a/docs/contributing.md b/docs/contributing.md deleted file mode 100644 --- a/docs/contributing.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Contributing -description: Learn how to contribute to Hey API. ---- - -# Contributing - -Thank you for considering contributing to Hey API. In order to increase the likelihood of your changes being merged, first open an issue if one does not already exist. Once an issue exists, let us know you'd like to work on it. We will confirm whether we're looking to resolve the issue and provide you with guidance if required. This is to ensure our codebase remains in good state and all features contribute to Hey API's [objectives](/about). - -## Prerequisites - -You should have a working knowledge of [git](https://git-scm.com), [node](https://nodejs.org/en), and [pnpm](https://pnpm.io). - -## Guidelines - -Your [pull request](https://help.github.com/articles/using-pull-requests) must: - -- address a single issue or add a single item of functionality -- contain a clean history of small, incremental, logically separate commits, with no merge commits -- use clear commit messages -- be possible to merge automatically - -## Sponsors - -You can also contribute by becoming our [sponsor](https://github.com/sponsors/hey-api). - -
- - - -
diff --git a/docs/examples.md b/docs/examples.md deleted file mode 100644 --- a/docs/examples.md +++ /dev/null @@ -1,3 +0,0 @@ -## Examples - -You can view live examples on [StackBlitz](https://stackblitz.com/orgs/github/hey-api/collections/openapi-ts-examples). diff --git a/docs/index.md b/docs/index.md --- a/docs/index.md +++ b/docs/index.md @@ -2,8 +2,8 @@ layout: home hero: - name: High-quality tools for interacting with APIs - tagline: Codegen for your TypeScript projects. Trusted over 2,000,000 times each month to generate reliable API clients and SDKs. + name: One OpenAPI spec. Infinite outputs. + tagline: Codegen for JavaScript/TypeScript projects. Trusted over 2,000,000 times each month to generate reliable API clients and SDKs. actions: - link: /openapi-ts/get-started text: Get Started @@ -51,7 +51,7 @@ linkText: Learn about integrations --- -
+
@@ -59,7 +59,7 @@
- +
diff --git a/docs/license.md b/docs/license.md deleted file mode 100644 --- a/docs/license.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: License -description: License FAQ. ---- - -# License - -### MIT License - -Copyright (c) Hey API - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/sponsors-list.md b/docs/sponsors-list.md deleted file mode 100644 --- a/docs/sponsors-list.md +++ /dev/null @@ -1,63 +0,0 @@ -### Gold - - - -### Silver - - - -### Bronze - - diff --git a/docs/sponsors.md b/docs/sponsors.md deleted file mode 100644 --- a/docs/sponsors.md +++ /dev/null @@ -1,9 +0,0 @@ -## Sponsors - -Love Hey API? Become our [sponsor](https://github.com/sponsors/hey-api). - -
- - - -
diff --git a/scripts/update-contributors.sh b/scripts/update-contributors.sh new file mode 100644 --- /dev/null +++ b/scripts/update-contributors.sh @@ -0,0 +1,124 @@ +#!/usr/bin/env bash + +REPO="hey-api/openapi-ts" +PER_PAGE=100 +PAGE=1 +USERS=() + +TMP_LOGINS="tmp_logins.txt" +TMP_USERS="tmp_users.txt" + +CACHE_DIR=".cache/github-users" +mkdir -p "$CACHE_DIR" + +AUTH_HEADER=() +if [[ -n "${GITHUB_TOKEN:-}" ]]; then + AUTH_HEADER=(-H "Authorization: token $GITHUB_TOKEN") +fi + +EXCLUDED_FILE="./docs/.contributorsignore" +SINCE_FILE="./docs/.contributorssince" + +# disabled for now, we'd need to append to the list instead of write +# if [[ -f "$SINCE_FILE" ]]; then +# SINCE=$(cat "$SINCE_FILE") +# else +# SINCE="2024-01-27T00:00:00Z" +# fi +SINCE="2024-01-27T00:00:00Z" + +MAX_COMMIT_EPOCH=0 + +> "$TMP_USERS" + +while :; do + TMP_JSON=$(mktemp) + HTTP_STATUS=$(curl -s -w "%{http_code}" -o "$TMP_JSON" \ + "${AUTH_HEADER[@]}" \ + "https://api.github.com/repos/$REPO/commits?sha=main&since=$SINCE&per_page=$PER_PAGE&page=$PAGE") + + if [ "$HTTP_STATUS" != "200" ]; then + echo "GitHub API error: $HTTP_STATUS" + cat "$TMP_JSON" + rm "$TMP_JSON" + break + fi + + if ! jq empty "$TMP_JSON" >/dev/null 2>&1; then + echo "Invalid JSON, stopping." + cat "$TMP_JSON" > debug_response.json + rm "$TMP_JSON" + break + fi + + COUNT=$(jq 'length' "$TMP_JSON") + if [ "$COUNT" -eq 0 ]; then + rm "$TMP_JSON" + break + fi + + # Track max commit date epoch for the whole run + LATEST_COMMIT_DATE=$(jq -r '.[].commit.committer.date' "$TMP_JSON" | sort -r | head -n1) + if [[ -n "$LATEST_COMMIT_DATE" ]]; then + EPOCH=$(date -j -f "%Y-%m-%dT%H:%M:%SZ" "$LATEST_COMMIT_DATE" "+%s") + if [ "$EPOCH" -gt "$MAX_COMMIT_EPOCH" ]; then + MAX_COMMIT_EPOCH=$EPOCH + fi + fi + + jq -r '.[].author | select(.login != null) | .login' "$TMP_JSON" | sort -u > "$TMP_LOGINS" + + while read -r login; do + if ! grep -Fxq "$login" "$EXCLUDED_FILE"; then + if ! printf '%s\n' "${USERS[@]}" | grep -qx "$login"; then + USERS+=("$login") + + CACHE_FILE="$CACHE_DIR/$login.json" + if [ -f "$CACHE_FILE" ]; then + USER_JSON=$(<"$CACHE_FILE") + else + echo "Fetching user $login" + USER_JSON=$(curl -s "${AUTH_HEADER[@]}" "https://api.github.com/users/$login") + echo "$USER_JSON" > "$CACHE_FILE" + fi + + SANITIZED_JSON=$(echo "$USER_JSON" | tr -d '\000-\037') + NAME=$(jq -r '.name // empty' <<< "$SANITIZED_JSON") + echo "$login|$NAME" >> "$TMP_USERS" + fi + fi + done < "$TMP_LOGINS" + + rm "$TMP_JSON" "$TMP_LOGINS" + PAGE=$((PAGE + 1)) +done + +# Update SINCE_FILE once after all pages +if [ "$MAX_COMMIT_EPOCH" -gt 0 ]; then + BUFFER_DAYS=90 + BUFFER_SECONDS=$((BUFFER_DAYS * 86400)) + BUFFERED_EPOCH=$((MAX_COMMIT_EPOCH - BUFFER_SECONDS)) + BUFFERED_DATE=$(date -u -r "$BUFFERED_EPOCH" "+%Y-%m-%dT%H:%M:%SZ") + echo "$BUFFERED_DATE" > "$SINCE_FILE" + echo "Updated SINCE to $BUFFERED_DATE" +fi + +NAMES_SORTED=$(awk -F'|' '$2 != ""' "$TMP_USERS" | sort -t'|' -k2,2) +NO_NAMES_SORTED=$(awk -F'|' '$2 == ""' "$TMP_USERS" | sort -t'|' -k1,1) + +{ + echo "$NAMES_SORTED" + echo "$NO_NAMES_SORTED" +} | while IFS='|' read -r login name; do + if [ -n "$name" ]; then + echo "- [$name](https://github.com/$login)" + else + echo "- [$login](https://github.com/$login)" + fi +done > ./docs/partials/contributors-list.md + +if [[ -f "$TMP_USERS" ]]; then + rm "$TMP_USERS" +fi + +echo "Done. Total contributors: ${#USERS[@]}" diff --git a/.github/workflows/contributors.yml b/.github/workflows/contributors.yml new file mode 100644 --- /dev/null +++ b/.github/workflows/contributors.yml @@ -0,0 +1,30 @@ +name: Update Contributors + +on: + schedule: + - cron: '0 0 * * *' # Every day at 00:00 UTC + workflow_dispatch: + +jobs: + update: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4.2.2 + + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y jq curl + + - name: Run update contributors script + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + chmod +x ./scripts/update-contributors.sh + ./scripts/update-contributors.sh + + - name: Commit and push if updated + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add ./docs/partials/contributors-list.md + git diff --cached --quiet || git commit -m "chore(docs): update contributors list" + git push diff --git a/docs/data/coreTeam.js b/docs/data/coreTeam.js new file mode 100644 --- /dev/null +++ b/docs/data/coreTeam.js @@ -0,0 +1,8 @@ +export const coreTeam = [ + { + avatar: 'https://github.com/mrlubos.png', + links: [{ icon: 'github', link: 'https://github.com/mrlubos' }], + name: 'Lubos', + title: 'Hey API', + }, +]; diff --git a/docs/data/hallOfFame.js b/docs/data/hallOfFame.js new file mode 100644 --- /dev/null +++ b/docs/data/hallOfFame.js @@ -0,0 +1,20 @@ +export const hallOfFame = [ + { + avatar: 'https://github.com/ferdikoomen.png', + links: [{ icon: 'github', link: 'https://github.com/ferdikoomen' }], + name: 'Ferdi Koomen', + title: 'OpenAPI TypeScript Codegen', + }, + { + avatar: 'https://github.com/nicolas-chaulet.png', + links: [{ icon: 'github', link: 'https://github.com/nicolas-chaulet' }], + name: 'Nicolas Chaulet', + title: 'Made the Hey API fork', + }, + { + avatar: 'https://github.com/jordanshatford.png', + links: [{ icon: 'github', link: 'https://github.com/jordanshatford' }], + name: 'Jordan Shatford', + title: 'Maintainer and Contributor', + }, +]; diff --git a/docs/openapi-ts/clients.md b/docs/openapi-ts/clients.md --- a/docs/openapi-ts/clients.md +++ b/docs/openapi-ts/clients.md @@ -33,5 +33,5 @@ Don't see your client? [Build your own](/openapi-ts/clients/custom) or let us know your interest by [opening an issue](https://github.com/hey-api/openapi-ts/issues). - - + + diff --git a/docs/openapi-ts/configuration.md b/docs/openapi-ts/configuration.md --- a/docs/openapi-ts/configuration.md +++ b/docs/openapi-ts/configuration.md @@ -159,5 +159,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/types/config.d.ts) interface. - - + + diff --git a/docs/openapi-ts/get-started.md b/docs/openapi-ts/get-started.md --- a/docs/openapi-ts/get-started.md +++ b/docs/openapi-ts/get-started.md @@ -9,11 +9,7 @@ # Get Started -::: warning -This package is in initial development. The interface might change before it becomes stable. We encourage you to leave feedback on [GitHub](https://github.com/hey-api/openapi-ts/issues). -::: - -[@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) is an OpenAPI to TypeScript codegen trusted over 2,000,000 times each month to generate reliable API clients and SDKs. The code is [MIT-licensed](/license) and free to use. Discover available features below or view our [roadmap](https://github.com/orgs/hey-api/discussions/1495) to learn what's coming next. +[@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) is an OpenAPI to TypeScript codegen trusted over 2,000,000 times each month to generate reliable API clients and SDKs. The code is [MIT-licensed](/openapi-ts/license) and free to use. Discover available features below or view our [roadmap](https://github.com/orgs/hey-api/discussions/1495) to learn what's coming next. ### Demo @@ -45,27 +41,41 @@ ## Installation +You can download `@hey-api/openapi-ts` from npm using your favorite package manager. + ::: code-group ```sh [npm] -npm install @hey-api/openapi-ts -D +npm install @hey-api/openapi-ts -D -E ``` ```sh [pnpm] -pnpm add @hey-api/openapi-ts -D +pnpm add @hey-api/openapi-ts -D -E ``` ```sh [yarn] -yarn add @hey-api/openapi-ts -D +yarn add @hey-api/openapi-ts -D -E ``` ```sh [bun] -bun add @hey-api/openapi-ts -D +bun add @hey-api/openapi-ts -D -E ``` ::: -We recommend pinning an exact version so you can safely upgrade when you're ready. This package is in [initial development](https://semver.org/spec/v0.1.0.html#spec-item-5) and its API might change before v1. +### Versioning + +This package does NOT follow the [semantic versioning](https://semver.org/) strategy. Please pin an exact version so you can safely upgrade when you're ready. + +Due to the nature of the package, we use the following versioning strategy. + +- `1.x.x`: significant breaking changes, reserved for v1 release +- `x.1.x`: breaking changes +- `x.x.1`: new features, bug fixes, and non-breaking changes + +We publish [migration notes](/openapi-ts/migrating) for every breaking release. You might not be impacted by a breaking release if you don't use the affected plugin(s). + +## Usage ### CLI @@ -81,7 +91,7 @@ ### Node.js -You can also generate clients programmatically by importing `@hey-api/openapi-ts` in a TypeScript file. +You can also generate output programmatically by importing `@hey-api/openapi-ts` in a JavaScript/TypeScript file. ::: code-group @@ -100,5 +110,5 @@ It's a good practice to extract your configuration into a separate file. Learn how to do that and discover available options on the [Configuration](/openapi-ts/configuration) page. - - + + diff --git a/docs/openapi-ts/integrations.md b/docs/openapi-ts/integrations.md --- a/docs/openapi-ts/integrations.md +++ b/docs/openapi-ts/integrations.md @@ -193,4 +193,4 @@ The platform is currently in beta with our focus being on delivering a great experience. We plan to announce pricing once we have gathered enough data around usage patterns. However, we can guarantee there will always be a free plan available. Our mission to bring the finest tooling for working with APIs remains unchanged. - + diff --git a/docs/openapi-ts/license.md b/docs/openapi-ts/license.md new file mode 100644 --- /dev/null +++ b/docs/openapi-ts/license.md @@ -0,0 +1,28 @@ +--- +title: License +description: License FAQ. +--- + +# License + +### MIT License + +Copyright (c) Hey API + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/docs/openapi-ts/mocks.md b/docs/openapi-ts/mocks.md --- a/docs/openapi-ts/mocks.md +++ b/docs/openapi-ts/mocks.md @@ -18,5 +18,5 @@ Don't see your framework? Let us know your interest by [opening an issue](https://github.com/hey-api/openapi-ts/issues). - - + + diff --git a/docs/openapi-ts/output.md b/docs/openapi-ts/output.md --- a/docs/openapi-ts/output.md +++ b/docs/openapi-ts/output.md @@ -95,5 +95,5 @@ Re-exporting additional files from index file may result in broken output due to naming conflicts. ::: - - + + diff --git a/docs/openapi-ts/plugins.md b/docs/openapi-ts/plugins.md --- a/docs/openapi-ts/plugins.md +++ b/docs/openapi-ts/plugins.md @@ -7,9 +7,9 @@ Every generated file in your output is created by a plugin. You already learned about the default plugins in [Output](/openapi-ts/output). However, you might be working with third-party packages and wishing to automate more of your boilerplate. This page lists all native and selected community plugins enabling you to do that. -## Hey API +## Core -Apart from being responsible for the default output, Hey API plugins are the foundation for other plugins. Instead of creating their own primitives, other plugins can reuse the artifacts from Hey API plugins. This results in a smaller output size and a better user experience. +Apart from being responsible for the default output, core plugins are the foundation for other plugins. Instead of creating their own primitives, other plugins can reuse the artifacts from core plugins. This results in a smaller output size and a better user experience. - [`@hey-api/schemas`](/openapi-ts/output/json-schema) - export OpenAPI definitions as JavaScript objects - [`@hey-api/sdk`](/openapi-ts/output/sdk) - robust and polished SDKs @@ -53,11 +53,5 @@ Don't see your plugin? [Build your own](/openapi-ts/plugins/custom) or let us know your interest by [opening an issue](https://github.com/hey-api/openapi-ts/issues). -## Community - -Featured community plugins. - -- [add plugin](https://github.com/hey-api/openapi-ts/pulls) - - - + + diff --git a/docs/openapi-ts/state-management.md b/docs/openapi-ts/state-management.md --- a/docs/openapi-ts/state-management.md +++ b/docs/openapi-ts/state-management.md @@ -18,5 +18,5 @@ Don't see your state manager? Let us know your interest by [opening an issue](https://github.com/hey-api/openapi-ts/issues). - - + + diff --git a/docs/openapi-ts/transformers.md b/docs/openapi-ts/transformers.md --- a/docs/openapi-ts/transformers.md +++ b/docs/openapi-ts/transformers.md @@ -143,4 +143,4 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/@hey-api/transformers/types.d.ts) interface. - + diff --git a/docs/openapi-ts/validators.md b/docs/openapi-ts/validators.md --- a/docs/openapi-ts/validators.md +++ b/docs/openapi-ts/validators.md @@ -28,5 +28,5 @@ Don't see your validator? Let us know your interest by [opening an issue](https://github.com/hey-api/openapi-ts/issues). - - + + diff --git a/docs/openapi-ts/web-frameworks.md b/docs/openapi-ts/web-frameworks.md --- a/docs/openapi-ts/web-frameworks.md +++ b/docs/openapi-ts/web-frameworks.md @@ -19,5 +19,5 @@ Don't see your framework? Let us know your interest by [opening an issue](https://github.com/hey-api/openapi-ts/issues). - - + + diff --git a/docs/partials/contributors-list.md b/docs/partials/contributors-list.md new file mode 100644 --- /dev/null +++ b/docs/partials/contributors-list.md @@ -0,0 +1,64 @@ +- [a1mer](https://github.com/a1mersnow) +- [Alessandro](https://github.com/ale18V) +- [Alex Sarychev](https://github.com/Freddis) +- [Alexander Horner](https://github.com/alexanderhorner) +- [Alexander Skvortcov](https://github.com/askvortcov) +- [Andrea](https://github.com/andreasciamanna) +- [Ben Vincent](https://github.com/bvincent1) +- [Bogdan ](https://github.com/BogdanMaier) +- [Brian Tarricone](https://github.com/kelnos) +- [Carl Kittelberger](https://github.com/icedream) +- [Chris Wiggins](https://github.com/chriswiggins) +- [Daniel Roe](https://github.com/danielroe) +- [Daschi](https://github.com/Daschi1) +- [David Bieregger](https://github.com/BierDav) +- [Finn Poppinga](https://github.com/fpoppinga) +- [Francisco García](https://github.com/goltra) +- [George Smith](https://github.com/georgesmith46) +- [Gergan Penkov](https://github.com/gergan) +- [Hiram Chirino](https://github.com/chirino) +- [Jacob Cohen](https://github.com/jacobinu) +- [Jason Lee](https://github.com/LeeChSien) +- [Jianqi Pan](https://github.com/Jannchie) +- [johnny kim](https://github.com/johnny-mh) +- [Jordan Shatford](https://github.com/jordanshatford) +- [Joshua](https://github.com/Joshua-hypt) +- [Jostein Stuhaug](https://github.com/josstn) +- [Juan Ibarra](https://github.com/j-ibarra) +- [Julian Klumpers](https://github.com/julianklumpers) +- [Karl Stoney](https://github.com/Stono) +- [Keigo Ando](https://github.com/anchan828) +- [Kenneth Apeland](https://github.com/kennidenni) +- [Landon Gavin](https://github.com/seriouslag) +- [Laurin](https://github.com/lausek) +- [Lee Lian Hoy](https://github.com/bakakaba) +- [Leo Developer](https://github.com/Le0Developer) +- [Louis Duchemin](https://github.com/lsdch) +- [Lubos](https://github.com/mrlubos) +- [Maarten Knijnenberg](https://github.com/mknijnenberg) +- [Mads Hougesen](https://github.com/hougesen) +- [Marek Lukáš](https://github.com/tajnymag) +- [Matsu](https://github.com/Matsuuu) +- [Max Scopp](https://github.com/max-scopp) +- [Maximilian Dewald](https://github.com/maxdewald) +- [Michiel Lankamp](https://github.com/mlankamp) +- [Mika Vilpas](https://github.com/mikavilpas) +- [Miklos](https://github.com/jumika) +- [Nicolas Chaulet](https://github.com/nicolas-chaulet) +- [Nimo Beeren](https://github.com/nimobeeren) +- [Ondřej Maxa](https://github.com/maxa-ondrej) +- [Pascal Ernst](https://github.com/LinuCC) +- [Philipp Katz](https://github.com/qqilihq) +- [Rico](https://github.com/btmnk) +- [Ryo Yamada](https://github.com/Liooo) +- [Simen Bekkhus](https://github.com/SimenB) +- [Stian Jensen](https://github.com/stianjensen) +- [Tran Phuc](https://github.com/Glup3) +- [0xfurai](https://github.com/0xfurai) +- [fml09](https://github.com/fml09) +- [henry-encord](https://github.com/henry-encord) +- [hunshcn](https://github.com/hunshcn) +- [maxdew-envelio](https://github.com/maxdew-envelio) +- [nnzhadow](https://github.com/nnzhadow) +- [RndUsername](https://github.com/RndUsername) +- [Schroedi](https://github.com/Schroedi) diff --git a/docs/partials/examples.md b/docs/partials/examples.md new file mode 100644 --- /dev/null +++ b/docs/partials/examples.md @@ -0,0 +1,3 @@ +## Examples + +You can view live examples on [StackBlitz](https://stackblitz.com/orgs/github/hey-api/collections/openapi-ts-examples). diff --git a/docs/partials/sponsors-list.md b/docs/partials/sponsors-list.md new file mode 100644 --- /dev/null +++ b/docs/partials/sponsors-list.md @@ -0,0 +1,63 @@ +### Gold + + + +### Silver + + + +### Bronze + + diff --git a/docs/partials/sponsors.md b/docs/partials/sponsors.md new file mode 100644 --- /dev/null +++ b/docs/partials/sponsors.md @@ -0,0 +1,9 @@ +## Sponsors + +Help Hey API stay around for the long haul by becoming a [sponsor](https://github.com/sponsors/hey-api). + +
+ + + +
diff --git a/packages/nuxt/README.md b/packages/nuxt/README.md --- a/packages/nuxt/README.md +++ b/packages/nuxt/README.md @@ -24,13 +24,19 @@ [Sign In](https://app.heyapi.dev) to Hey API Platform. +## Contributing + +Want to see your code in products used by millions? + +Start with our [Contributing](https://heyapi.dev/openapi-ts/community/contributing) guide and release your first feature. + ## Documentation Please visit our [website](https://heyapi.dev) for documentation, guides, migrating, and more. ## Sponsors -Love Hey API? Become our [sponsor](https://github.com/sponsors/hey-api). +Help Hey API stay around for the long haul by becoming a [sponsor](https://github.com/sponsors/hey-api).

Gold

@@ -47,7 +53,7 @@
- Generate best-in-class SDKs. + Best-in-class SDKs and MCP for your API.
stainless.com diff --git a/packages/openapi-ts/README.md b/packages/openapi-ts/README.md --- a/packages/openapi-ts/README.md +++ b/packages/openapi-ts/README.md @@ -8,22 +8,23 @@

MIT License - Last commit + npm downloads + GitHub stars CI status - Number of open issues - Test coverage

Demo  •  - Documentation + Docs  •  Issues  •  Roadmap  •  - npm + Contribute +  •  + Join Core Team


@@ -44,9 +45,15 @@ [Sign In](https://app.heyapi.dev) to Hey API Platform. +## Contributing + +Want to see your code in products used by millions? + +Start with our [Contributing](https://heyapi.dev/openapi-ts/community/contributing) guide and release your first feature. + ## Sponsors -Love Hey API? Become our [sponsor](https://github.com/sponsors/hey-api). +Help Hey API stay around for the long haul by becoming a [sponsor](https://github.com/sponsors/hey-api).

Gold

@@ -63,7 +70,7 @@
- Generate best-in-class SDKs. + Best-in-class SDKs and MCP for your API.
stainless.com @@ -135,31 +142,45 @@ ## Installation +You can download `@hey-api/openapi-ts` from npm using your favorite package manager. + #### npm ```sh -npm install @hey-api/openapi-ts -D +npm install @hey-api/openapi-ts -D -E ``` #### pnpm ```sh -pnpm add @hey-api/openapi-ts -D +pnpm add @hey-api/openapi-ts -D -E ``` #### yarn ```sh -yarn add @hey-api/openapi-ts -D +yarn add @hey-api/openapi-ts -D -E ``` #### bun ```sh -bun add @hey-api/openapi-ts -D +bun add @hey-api/openapi-ts -D -E ``` -We recommend pinning an exact version so you can safely upgrade when you're ready. This package is in [initial development](https://semver.org/spec/v0.1.0.html#spec-item-5) and its API might change before v1. +### Versioning + +This package does NOT follow the [semantic versioning](https://semver.org/) strategy. Please pin an exact version so you can safely upgrade when you're ready. + +Due to the nature of the package, we use the following versioning strategy. + +- `1.x.x`: significant breaking changes, reserved for v1 release +- `x.1.x`: breaking changes +- `x.x.1`: new features, bug fixes, and non-breaking changes + +We publish [migration notes](https://heyapi.dev/openapi-ts/migrating) for every breaking release. You might not be impacted by a breaking release if you don't use the affected plugin(s). + +## Usage ### CLI @@ -175,7 +196,7 @@ ### Node.js -You can also generate clients programmatically by importing `@hey-api/openapi-ts` in a TypeScript file. +You can also generate output programmatically by importing `@hey-api/openapi-ts` in a TypeScript file. ```ts import { createClient } from '@hey-api/openapi-ts'; diff --git a/packages/vite-plugin/README.md b/packages/vite-plugin/README.md --- a/packages/vite-plugin/README.md +++ b/packages/vite-plugin/README.md @@ -1,7 +1,7 @@
Hey API logo

Vite Plugin

-

🚀 Vite plugin for @hey-api/openapi-ts codegen.

+

🚀 Vite plugin for @hey-api/openapi-ts codegen.

## Dashboard @@ -10,13 +10,19 @@ [Sign In](https://app.heyapi.dev) to Hey API Platform. +## Contributing + +Want to see your code in products used by millions? + +Start with our [Contributing](https://heyapi.dev/openapi-ts/community/contributing) guide and release your first feature. + ## Documentation Please visit our [website](https://heyapi.dev) for documentation, guides, migrating, and more. ## Sponsors -Love Hey API? Become our [sponsor](https://github.com/sponsors/hey-api). +Help Hey API stay around for the long haul by becoming a [sponsor](https://github.com/sponsors/hey-api).

Gold

@@ -33,7 +39,7 @@

- Generate best-in-class SDKs. + Best-in-class SDKs and MCP for your API.
stainless.com diff --git a/docs/.vitepress/config/en.ts b/docs/.vitepress/config/en.ts --- a/docs/.vitepress/config/en.ts +++ b/docs/.vitepress/config/en.ts @@ -11,7 +11,7 @@ nav: [ { link: 'https://github.com/sponsors/hey-api', - text: 'Sponsor Hey API 💰', + text: 'Sponsor Hey API', }, ], sidebar: [ @@ -41,7 +41,7 @@ text: 'Configuration', }, ], - text: '@hey-api/openapi-ts', + text: 'Introduction', }, { items: [ @@ -232,6 +232,19 @@ { items: [ { + link: '/openapi-ts/community/spotlight', + text: 'Spotlight', + }, + { + link: '/openapi-ts/community/contributing', + text: 'Contributing', + }, + ], + text: 'Community', + }, + { + items: [ + { link: '/openapi-ts/integrations', text: 'GitHub', }, @@ -245,23 +258,15 @@ text: 'Migrating', }, { - link: '/license', + link: '/openapi-ts/license', text: 'License', - }, - { - link: '/about', - text: 'Philosophy', - }, - { - link: '/contributing', - text: 'Contributing', }, { link: 'https://github.com/orgs/hey-api/discussions/1495', text: 'Roadmap', }, ], - text: '@hey-api', + text: '@hey-api/openapi-ts', }, ], }, diff --git a/docs/.vitepress/theme/Layout.vue b/docs/.vitepress/theme/Layout.vue --- a/docs/.vitepress/theme/Layout.vue +++ b/docs/.vitepress/theme/Layout.vue @@ -29,7 +29,7 @@ --> - diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css --- a/docs/.vitepress/theme/custom.css +++ b/docs/.vitepress/theme/custom.css @@ -277,6 +277,11 @@ padding: 0.2rem 0; } +.contributors-list ul { + margin-bottom: 1.3rem; + margin-top: 1.3rem; +} + @media (min-width: 640px) { .VPFeatures.VPHomeFeatures > .container > .items { gap: 1rem; @@ -286,6 +291,10 @@ .home-list > ul, .sponsors-list > ul { flex-direction: row; + } + + .contributors-list ul { + columns: 2; } } @@ -308,4 +317,8 @@ max-width: 390px; padding: 0; width: 100%; +} + +.VPNavBar.has-sidebar > .wrapper > .container > .title { + background-color: var(--vp-sidebar-bg-color); } diff --git a/docs/openapi-ts/clients/axios.md b/docs/openapi-ts/clients/axios.md --- a/docs/openapi-ts/clients/axios.md +++ b/docs/openapi-ts/clients/axios.md @@ -226,5 +226,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/@hey-api/client-axios/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/clients/custom.md b/docs/openapi-ts/clients/custom.md --- a/docs/openapi-ts/clients/custom.md +++ b/docs/openapi-ts/clients/custom.md @@ -15,5 +15,5 @@ Custom clients documentation will be finalized after further testing. Simplified [instructions](https://github.com/hey-api/openapi-ts/issues/1213#issuecomment-2765206344) can be found in the GitHub thread. ::: - - + + diff --git a/docs/openapi-ts/clients/fetch.md b/docs/openapi-ts/clients/fetch.md --- a/docs/openapi-ts/clients/fetch.md +++ b/docs/openapi-ts/clients/fetch.md @@ -303,5 +303,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/@hey-api/client-fetch/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/clients/legacy.md b/docs/openapi-ts/clients/legacy.md --- a/docs/openapi-ts/clients/legacy.md +++ b/docs/openapi-ts/clients/legacy.md @@ -132,5 +132,5 @@ Angular client does not currently support request interceptors. ::: - - + + diff --git a/docs/openapi-ts/clients/next-js.md b/docs/openapi-ts/clients/next-js.md --- a/docs/openapi-ts/clients/next-js.md +++ b/docs/openapi-ts/clients/next-js.md @@ -290,5 +290,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/@hey-api/client-next/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/clients/nuxt.md b/docs/openapi-ts/clients/nuxt.md --- a/docs/openapi-ts/clients/nuxt.md +++ b/docs/openapi-ts/clients/nuxt.md @@ -252,5 +252,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/@hey-api/client-nuxt/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/community/contributing.md b/docs/openapi-ts/community/contributing.md new file mode 100644 --- /dev/null +++ b/docs/openapi-ts/community/contributing.md @@ -0,0 +1,21 @@ +--- +title: Contributing +description: Learn how to contribute to @hey-api/openapi-ts. +--- + +# Contributing + +Thank you for considering contributing to Hey API. In order to increase the likelihood of your changes being merged, first open an issue if one does not already exist. Once an issue exists, let us know you'd like to work on it. We will confirm whether we're looking to resolve the issue and provide you with guidance if required. This is to ensure our codebase remains in good state and all features contribute to Hey API's objectives. + +## Prerequisites + +You should have a working knowledge of [git](https://git-scm.com), [node](https://nodejs.org/en), and [pnpm](https://pnpm.io). + +## Guidelines + +Your [pull request](https://help.github.com/articles/using-pull-requests) must: + +- address a single issue or add a single item of functionality +- contain a clean history of small, incremental, logically separate commits, with no merge commits +- use clear commit messages +- be possible to merge automatically diff --git a/docs/openapi-ts/community/spotlight.md b/docs/openapi-ts/community/spotlight.md new file mode 100644 --- /dev/null +++ b/docs/openapi-ts/community/spotlight.md @@ -0,0 +1,40 @@ +--- +title: Spotlight +description: Meet the people behind @hey-api/openapi-ts. +--- + + + +# Spotlight + +Meet the people behind `@hey-api/openapi-ts`. + +## Core Team + +These people actively maintain this project. + + + +Do you want to join the core team? Send us a short [email](mailto:lubos@heyapi.dev?subject=Join%20Core%20Team) describing your interest in Hey API, any relevant experience, and what you're hoping to work on. + +## Hall of Fame + +These are the people with significant contributions to Hey API. A special thank you goes to [Ferdi Koomen](https://madebyferdi.com) for allowing us to use the original source code from OpenAPI TypeScript Codegen. None of this would've been possible without you! + + + +## Contributors + +A complete list of contributors to `@hey-api/openapi-ts`. + +
+ + + +
+ +Thank you for contributing to Hey API! diff --git a/docs/openapi-ts/configuration/input.md b/docs/openapi-ts/configuration/input.md --- a/docs/openapi-ts/configuration/input.md +++ b/docs/openapi-ts/configuration/input.md @@ -113,5 +113,5 @@ ::: - - + + diff --git a/docs/openapi-ts/configuration/output.md b/docs/openapi-ts/configuration/output.md --- a/docs/openapi-ts/configuration/output.md +++ b/docs/openapi-ts/configuration/output.md @@ -170,5 +170,5 @@ Setting `output.clean` to `false` may result in broken output. Ensure you typecheck your code. ::: - - + + diff --git a/docs/openapi-ts/configuration/parser.md b/docs/openapi-ts/configuration/parser.md --- a/docs/openapi-ts/configuration/parser.md +++ b/docs/openapi-ts/configuration/parser.md @@ -484,5 +484,5 @@ ::: - - + + diff --git a/docs/openapi-ts/output/client.md b/docs/openapi-ts/output/client.md --- a/docs/openapi-ts/output/client.md +++ b/docs/openapi-ts/output/client.md @@ -23,5 +23,5 @@ Client plugins provide their bundles inside `client` and `core` folders. The contents of these folders don't depend on the provided input. Everything inside these folders serves as a scaffolding so the generated code can make HTTP requests. - - + + diff --git a/docs/openapi-ts/output/json-schema.md b/docs/openapi-ts/output/json-schema.md --- a/docs/openapi-ts/output/json-schema.md +++ b/docs/openapi-ts/output/json-schema.md @@ -100,5 +100,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/@hey-api/schemas/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/output/sdk.md b/docs/openapi-ts/output/sdk.md --- a/docs/openapi-ts/output/sdk.md +++ b/docs/openapi-ts/output/sdk.md @@ -228,5 +228,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/@hey-api/sdk/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/output/typescript.md b/docs/openapi-ts/output/typescript.md --- a/docs/openapi-ts/output/typescript.md +++ b/docs/openapi-ts/output/typescript.md @@ -134,5 +134,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/@hey-api/typescript/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/plugins/ajv.md b/docs/openapi-ts/plugins/ajv.md --- a/docs/openapi-ts/plugins/ajv.md +++ b/docs/openapi-ts/plugins/ajv.md @@ -13,4 +13,4 @@ [Ajv](https://ajv.js.org) is the fastest JSON validator for Node.js and browser. - + diff --git a/docs/openapi-ts/plugins/arktype.md b/docs/openapi-ts/plugins/arktype.md --- a/docs/openapi-ts/plugins/arktype.md +++ b/docs/openapi-ts/plugins/arktype.md @@ -13,4 +13,4 @@ [Arktype](https://arktype.io) is a TypeScript's 1:1 validator, optimized from editor to runtime. - + diff --git a/docs/openapi-ts/plugins/custom.md b/docs/openapi-ts/plugins/custom.md --- a/docs/openapi-ts/plugins/custom.md +++ b/docs/openapi-ts/plugins/custom.md @@ -179,5 +179,5 @@ Congratulations! You've successfully created your own plugin! :tada: - - + + diff --git a/docs/openapi-ts/plugins/express.md b/docs/openapi-ts/plugins/express.md --- a/docs/openapi-ts/plugins/express.md +++ b/docs/openapi-ts/plugins/express.md @@ -13,4 +13,4 @@ [Express](https://expressjs.com) is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. - + diff --git a/docs/openapi-ts/plugins/faker.md b/docs/openapi-ts/plugins/faker.md --- a/docs/openapi-ts/plugins/faker.md +++ b/docs/openapi-ts/plugins/faker.md @@ -13,4 +13,4 @@ [Faker](https://fakerjs.dev) is a popular library that generates fake (but reasonable) data that can be used for things such as unit testing, performance testing, building demos, and working without a completed backend. - + diff --git a/docs/openapi-ts/plugins/fastify.md b/docs/openapi-ts/plugins/fastify.md --- a/docs/openapi-ts/plugins/fastify.md +++ b/docs/openapi-ts/plugins/fastify.md @@ -79,5 +79,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/fastify/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/plugins/hono.md b/docs/openapi-ts/plugins/hono.md --- a/docs/openapi-ts/plugins/hono.md +++ b/docs/openapi-ts/plugins/hono.md @@ -13,4 +13,4 @@ [Hono](https://hono.dev) is a small, simple, and ultrafast web framework built on Web Standards. It works on any JavaScript runtime: Cloudflare Workers, Fastly Compute, Deno, Bun, Vercel, Netlify, AWS Lambda, Lambda@Edge, and Node.js. - + diff --git a/docs/openapi-ts/plugins/joi.md b/docs/openapi-ts/plugins/joi.md --- a/docs/openapi-ts/plugins/joi.md +++ b/docs/openapi-ts/plugins/joi.md @@ -13,4 +13,4 @@ [Joi](https://joi.dev) is the most powerful schema description language and data validator for JavaScript. - + diff --git a/docs/openapi-ts/plugins/koa.md b/docs/openapi-ts/plugins/koa.md --- a/docs/openapi-ts/plugins/koa.md +++ b/docs/openapi-ts/plugins/koa.md @@ -13,4 +13,4 @@ [Koa](https://koajs.com) is a new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. - + diff --git a/docs/openapi-ts/plugins/msw.md b/docs/openapi-ts/plugins/msw.md --- a/docs/openapi-ts/plugins/msw.md +++ b/docs/openapi-ts/plugins/msw.md @@ -13,4 +13,4 @@ [MSW](https://mswjs.io) is an API mocking library that allows you to write client-agnostic mocks and reuse them across any frameworks, tools, and environments. - + diff --git a/docs/openapi-ts/plugins/nest.md b/docs/openapi-ts/plugins/nest.md --- a/docs/openapi-ts/plugins/nest.md +++ b/docs/openapi-ts/plugins/nest.md @@ -13,4 +13,4 @@ [Nest](https://nestjs.com) is a progressive Node.js framework for building efficient, reliable and scalable server-side applications. - + diff --git a/docs/openapi-ts/plugins/nock.md b/docs/openapi-ts/plugins/nock.md --- a/docs/openapi-ts/plugins/nock.md +++ b/docs/openapi-ts/plugins/nock.md @@ -13,4 +13,4 @@ [Nock](https://github.com/nock/nock) is an HTTP server mocking and expectations library for Node.js. - + diff --git a/docs/openapi-ts/plugins/pinia-colada.md b/docs/openapi-ts/plugins/pinia-colada.md --- a/docs/openapi-ts/plugins/pinia-colada.md +++ b/docs/openapi-ts/plugins/pinia-colada.md @@ -13,4 +13,4 @@ [Pinia Colada](https://pinia-colada.esm.dev) is the data fetching layer for Pinia. - + diff --git a/docs/openapi-ts/plugins/superstruct.md b/docs/openapi-ts/plugins/superstruct.md --- a/docs/openapi-ts/plugins/superstruct.md +++ b/docs/openapi-ts/plugins/superstruct.md @@ -13,4 +13,4 @@ [Superstruct](https://docs.superstructjs.org) makes it easy to define interfaces and then validate JavaScript data against them. - + diff --git a/docs/openapi-ts/plugins/supertest.md b/docs/openapi-ts/plugins/supertest.md --- a/docs/openapi-ts/plugins/supertest.md +++ b/docs/openapi-ts/plugins/supertest.md @@ -13,4 +13,4 @@ [Supertest](https://github.com/ladjs/supertest) is a super-agent driven library for testing node.js HTTP servers using a fluent API. - + diff --git a/docs/openapi-ts/plugins/swr.md b/docs/openapi-ts/plugins/swr.md --- a/docs/openapi-ts/plugins/swr.md +++ b/docs/openapi-ts/plugins/swr.md @@ -13,4 +13,4 @@ [SWR](https://swr.vercel.app) is a strategy to first return the data from cache (stale), then send the fetch request (revalidate), and finally come with the up-to-date data. - + diff --git a/docs/openapi-ts/plugins/tanstack-query.md b/docs/openapi-ts/plugins/tanstack-query.md --- a/docs/openapi-ts/plugins/tanstack-query.md +++ b/docs/openapi-ts/plugins/tanstack-query.md @@ -204,5 +204,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/@tanstack/react-query/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/plugins/typebox.md b/docs/openapi-ts/plugins/typebox.md --- a/docs/openapi-ts/plugins/typebox.md +++ b/docs/openapi-ts/plugins/typebox.md @@ -13,4 +13,4 @@ [TypeBox](https://github.com/sinclairzx81/typebox) is a JSON Schema type builder with static type resolution for TypeScript. - + diff --git a/docs/openapi-ts/plugins/valibot.md b/docs/openapi-ts/plugins/valibot.md --- a/docs/openapi-ts/plugins/valibot.md +++ b/docs/openapi-ts/plugins/valibot.md @@ -146,5 +146,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/valibot/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/plugins/yup.md b/docs/openapi-ts/plugins/yup.md --- a/docs/openapi-ts/plugins/yup.md +++ b/docs/openapi-ts/plugins/yup.md @@ -13,4 +13,4 @@ [Yup](https://github.com/jquense/yup) is a schema builder for runtime value parsing and validation. - + diff --git a/docs/openapi-ts/plugins/zod.md b/docs/openapi-ts/plugins/zod.md --- a/docs/openapi-ts/plugins/zod.md +++ b/docs/openapi-ts/plugins/zod.md @@ -243,5 +243,5 @@ You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/plugins/zod/types.d.ts) interface. - - + + diff --git a/docs/openapi-ts/plugins/zustand.md b/docs/openapi-ts/plugins/zustand.md --- a/docs/openapi-ts/plugins/zustand.md +++ b/docs/openapi-ts/plugins/zustand.md @@ -13,4 +13,4 @@ [Zustand](https://zustand-demo.pmnd.rs) is a small, fast, and scalable bearbones state management solution. - + -- tangled.sh