···22'@hey-api/openapi-ts': minor
33---
4455-feat: add symbol api
55+feat: Symbol API
66+77+### Symbol API
88+99+This release adds the Symbol API, which significantly reduces the risk of naming collisions. While the generated output should only include formatting changes, this feature introduces breaking changes to the Plugin API that affect custom plugins.
1010+1111+We will update the [custom plugin guide](https://heyapi.dev/openapi-ts/plugins/custom) once the Plugin API becomes more stable.
+1-1
.changeset/cuddly-bears-deny.md
···22'@hey-api/codegen-core': minor
33---
4455-feat: expand symbol api
55+feat: expand Symbol API
+5-1
.changeset/thirty-shoes-end.md
···22'@hey-api/openapi-ts': minor
33---
4455-feat(pinia-colada): remove groupByTag option
55+feat(pinia-colada): remove `groupByTag` option
66+77+### Removed `groupByTag` Pinia Colada option
88+99+This option has been removed to provide a more consistent API across plugins. We plan to bring it back in a future release.
···3344hero:
55 name: One OpenAPI spec.<br/>Infinite outputs.
66- tagline: Codegen for JavaScript/TypeScript projects. Trusted over 2,000,000 times each month to generate reliable API clients and SDKs.
66+ tagline: Codegen for JavaScript/TypeScript projects. Trusted over 2,500,000 times each month to generate reliable API clients and SDKs.
77 actions:
88 - link: /openapi-ts/get-started
99 text: Get Started
+22
docs/openapi-ts/core.md
···11+---
22+title: Core Plugins
33+description: Learn about the core plugins provided by Hey API.
44+---
55+66+# Core
77+88+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.
99+1010+## Options
1111+1212+Hey API provides the following core plugins.
1313+1414+- [TypeScript](/openapi-ts/plugins/typescript)
1515+- [SDK](/openapi-ts/plugins/sdk)
1616+- [Transformers](/openapi-ts/plugins/transformers)
1717+- [Schemas](/openapi-ts/plugins/schemas)
1818+1919+Need another core plugin? Let us know your interest by [opening an issue](https://github.com/hey-api/openapi-ts/issues).
2020+2121+<!--@include: ../partials/examples.md-->
2222+<!--@include: ../partials/sponsors.md-->
+1-1
docs/openapi-ts/get-started.md
···991010# Get Started
11111212-[@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.
1212+[@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) is an OpenAPI to TypeScript codegen trusted over 2,500,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.
13131414### Demo
1515
+13-1
docs/openapi-ts/migrating.md
···7788While we try to avoid breaking changes, sometimes it's unavoidable in order to offer you the latest features. This page lists changes that require updates to your code. If you run into a problem with migration, please [open an issue](https://github.com/hey-api/openapi-ts/issues).
991010+## v0.83.0
1111+1212+### Symbol API
1313+1414+This release adds the Symbol API, which significantly reduces the risk of naming collisions. While the generated output should only include formatting changes, this feature introduces breaking changes to the Plugin API that affect custom plugins.
1515+1616+We will update the [custom plugin guide](/openapi-ts/plugins/custom) once the Plugin API becomes more stable.
1717+1818+### Removed `groupByTag` Pinia Colada option
1919+2020+This option has been removed to provide a more consistent API across plugins. We plan to bring it back in a future release.
2121+1022## v0.82.0
11231212-### Added Hooks API
2424+### Hooks API
13251426This release adds the [Hooks API](/openapi-ts/configuration/parser#hooks), giving you granular control over which operations generate queries and mutations. As a result, we tightened the previous behavior and POST operations no longer generate queries by default. To preserve the old behavior, add a custom matcher.
1527
+32-8
docs/openapi-ts/output.md
···5566# Output
7788-Learn about files generated with `@hey-api/openapi-ts`.
99-1010-::: tip
1111-Your actual output depends on your Hey API configuration. It may contain a different number of files and their contents might differ.
1212-:::
88+Every generated file in your output folder is created by a plugin. This page describes the default output, but similar logic applies to all plugins.
1391410## Overview
1511···3026└── package.json
3127```
32283333-Each file is an artifact generated by a Hey API plugin. This is the default output, we will cover customizing it in this section. These files also form the base for third-party plugins.
2929+Your actual output depends on your Hey API configuration. It may contain a different number of files and their contents might differ.
34303531Let's go through each file in the `src/client` folder and explain what it looks like, what it does, and how to use it.
36323737-## Index
3333+## Client
3434+3535+`client.gen.ts` is generated by [client plugins](/openapi-ts/clients). If you choose to generate SDKs (enabled by default), we use the Fetch client unless specified otherwise.
38363939-`index.ts` is the only file not generated by a specific plugin. It's meant for convenience and by default, it re-exports every artifact generated by default plugins (TypeScript and SDK).
3737+::: code-group
3838+3939+```ts [client.gen.ts]
4040+import { createClient, createConfig } from './client';
4141+4242+export const client = createClient(createConfig());
4343+```
4444+4545+:::
4646+4747+The contents of this file are consumed by SDKs, but you can also import `client` in your application to perform additional configuration or send manual requests.
4848+4949+### Bundle
5050+5151+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.
5252+5353+## TypeScript
5454+5555+You can learn more on the [TypeScript](/openapi-ts/plugins/typescript) page.
5656+5757+## SDK
5858+5959+You can learn more on the [SDK](/openapi-ts/plugins/sdk) page.
6060+6161+## Barrel File
6262+6363+`index.ts` is not generated by any specific plugin. It's meant for convenience and by default, it re-exports every artifact generated by default plugins (TypeScript and SDK).
40644165::: code-group
4266
-27
docs/openapi-ts/output/client.md
···11----
22-title: Client
33-description: Learn about files generated with @hey-api/openapi-ts.
44----
55-66-# Client
77-88-`client.gen.ts` is generated by [client plugins](/openapi-ts/clients). If you choose to generate SDKs (enabled by default), we use the Fetch client unless specified otherwise.
99-1010-::: code-group
1111-1212-```ts [client.gen.ts]
1313-import { createClient, createConfig } from './client';
1414-1515-export const client = createClient(createConfig());
1616-```
1717-1818-:::
1919-2020-The contents of this file are consumed by SDKs, but you can also import `client` in your application to perform additional configuration or send manual requests.
2121-2222-## Bundle
2323-2424-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.
2525-2626-<!--@include: ../../partials/examples.md-->
2727-<!--@include: ../../partials/sponsors.md-->
···11----
22-title: Plugins
33-description: Learn about and discover available plugins.
44----
55-66-# Plugins
77-88-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.
99-1010-## Core
1111-1212-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.
1313-1414-- [`@hey-api/schemas`](/openapi-ts/output/json-schema) - export OpenAPI definitions as JavaScript objects
1515-- [`@hey-api/sdk`](/openapi-ts/output/sdk) - robust and polished SDKs
1616-- [`@hey-api/transformers`](/openapi-ts/transformers) - response data transformer functions
1717-- [`@hey-api/typescript`](/openapi-ts/output/typescript) - TypeScript interfaces and enums
1818-1919-## Third Party
2020-2121-These plugins help reduce boilerplate associated with third-party dependencies. Hey API natively supports the most popular packages. Please open an issue on [GitHub](https://github.com/hey-api/openapi-ts/issues) if you'd like us to support your favorite package.
2222-2323-- [`@angular/common`](/openapi-ts/plugins/angular)
2424-- [`@pinia/colada`](/openapi-ts/plugins/pinia-colada)
2525-- [`@tanstack/angular-query-experimental`](/openapi-ts/plugins/tanstack-query)
2626-- [`@tanstack/react-query`](/openapi-ts/plugins/tanstack-query)
2727-- [`@tanstack/solid-query`](/openapi-ts/plugins/tanstack-query)
2828-- [`@tanstack/svelte-query`](/openapi-ts/plugins/tanstack-query)
2929-- [`@tanstack/vue-query`](/openapi-ts/plugins/tanstack-query)
3030-- [`fastify`](/openapi-ts/plugins/fastify)
3131-- [`valibot`](/openapi-ts/plugins/valibot)
3232-- [`zod`](/openapi-ts/plugins/zod)
3333-3434-## Upcoming
3535-3636-The following plugins are planned but not in development yet. You can help us prioritize them by voting on [GitHub](https://github.com/hey-api/openapi-ts/labels/RSVP%20%F0%9F%91%8D%F0%9F%91%8E).
3737-3838-- [Adonis](/openapi-ts/plugins/adonis) <span data-soon>Soon</span>
3939-- [Ajv](/openapi-ts/plugins/ajv) <span data-soon>Soon</span>
4040-- [Arktype](/openapi-ts/plugins/arktype) <span data-soon>Soon</span>
4141-- [Chance](/openapi-ts/plugins/chance) <span data-soon>Soon</span>
4242-- [Express](/openapi-ts/plugins/express) <span data-soon>Soon</span>
4343-- [Faker](/openapi-ts/plugins/faker) <span data-soon>Soon</span>
4444-- [Falso](/openapi-ts/plugins/falso) <span data-soon>Soon</span>
4545-- [Hono](/openapi-ts/plugins/hono) <span data-soon>Soon</span>
4646-- [Joi](/openapi-ts/plugins/joi) <span data-soon>Soon</span>
4747-- [Koa](/openapi-ts/plugins/koa) <span data-soon>Soon</span>
4848-- [MSW](/openapi-ts/plugins/msw) <span data-soon>Soon</span>
4949-- [Nest](/openapi-ts/plugins/nest) <span data-soon>Soon</span>
5050-- [Nock](/openapi-ts/plugins/nock) <span data-soon>Soon</span>
5151-- [Superstruct](/openapi-ts/plugins/superstruct) <span data-soon>Soon</span>
5252-- [Supertest](/openapi-ts/plugins/supertest) <span data-soon>Soon</span>
5353-- [SWR](/openapi-ts/plugins/swr) <span data-soon>Soon</span>
5454-- [TypeBox](/openapi-ts/plugins/typebox) <span data-soon>Soon</span>
5555-- [Yup](/openapi-ts/plugins/yup) <span data-soon>Soon</span>
5656-- [Zustand](/openapi-ts/plugins/zustand) <span data-soon>Soon</span>
5757-5858-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).
5959-6060-<!--@include: ../partials/examples.md-->
6161-<!--@include: ../partials/sponsors.md-->
+4
docs/openapi-ts/plugins/custom.md
···99Plugin API is in 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).
1010:::
11111212+::: warning
1313+This page is out of date as of [v0.83.0](/openapi-ts/migrating#v0-83-0). If you have an existing custom plugin, we recommend waiting for a more stable Plugin API to avoid multiple plugin rewrites.
1414+:::
1515+1216You may need to write your own plugin if the available plugins do not suit your needs or you're working on a proprietary use case. This can be easily achieved using the Plugin API. But don't take our word for it – all Hey API plugins are written this way!
13171418## File Structure
+1-1
docs/openapi-ts/plugins/valibot.md
···6060};
6161```
62626363-Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/output/sdk#validators) page.
6363+Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/plugins/sdk#validators) page.
64646565## Output
6666
+1-1
docs/openapi-ts/plugins/zod.md
···6060};
6161```
62626363-Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/output/sdk#validators) page.
6363+Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/plugins/sdk#validators) page.
64646565## Output
6666
+1-1
docs/openapi-ts/plugins/zod/mini.md
···6666};
6767```
68686969-Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/output/sdk#validators) page.
6969+Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/plugins/sdk#validators) page.
70707171## Output
7272
+1-1
docs/openapi-ts/plugins/zod/v3.md
···6666};
6767```
68686969-Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/output/sdk#validators) page.
6969+Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/plugins/sdk#validators) page.
70707171## Output
7272