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/
│ │ ├── core/
│ │ ├── 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';
Disable index file
We recommend importing artifacts from their respective files to avoid ambiguity, but we leave this choice up to you.
import type { Pet } from './client';
// or
import type { Pet } from './client/types.gen';
If you're not importing artifacts from the index file, you can skip generating it altogether by setting the output.indexFile
option to false
.
export default {
input: 'https://get.heyapi.dev/hey-api/backend',
output: {
indexFile: false,
path: 'src/client',
},
};
Re-export more files
You can choose which files should be re-exported by setting the exportFromIndex
option to true
on any plugin. For example, here's how you would re-export Zod plugin exports.
export default {
input: 'https://get.heyapi.dev/hey-api/backend',
output: 'src/client',
plugins: [
// ...other plugins
{
exportFromIndex: true,
name: 'zod',
},
],
};
WARNING
Re-exporting additional files from index file may result in broken output due to naming conflicts.
Examples
You can view live examples on StackBlitz.
Sponsors
Help Hey API stay around for the long haul by becoming a sponsor.