Output
Learn about files generated with @hey-api/openapi-ts
.
TIP
Your actual output depends on your Hey API configuration. It may contain a different number of files and their contents might differ.
Overview
If you use the default configuration, your project might look like this.
my-app/
├── node_modules/
├── src/
│ ├── client/
│ │ ├── client.gen.ts
│ │ ├── index.ts
│ │ ├── sdk.gen.ts
│ │ └── types.gen.ts
│ └── index.ts
└── package.json
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.
Let's go through each file in the src/client
folder and explain what it looks like, what it does, and how to use it.
Index
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).
export * from './sdk.gen';
export * from './types.gen';
We recommend importing artifacts from their files to avoid ambiguity, but we leave this choice up to you.
import type { Pet } from './client'; // 👎
import type { Pet } from './client/types.gen'; // 👍
Client
client.gen.ts
is generated by client plugins. If you choose to generate SDKs (enabled by default), you must specify a client which will create this file.
import { createClient, createConfig } from '@hey-api/client-fetch';
export const client = createClient(createConfig());
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.
Examples
You can view live examples on StackBlitz.
Sponsors
Love Hey API? Become our sponsor.