|
1 | | -import type { PluginConfig } from './plugins'; |
2 | | -import { sdk, tanstackReactQuery, transformers, typescript, valibot, zod } from './plugins'; |
| 1 | +import type { UserConfig } from '@hey-api/openapi-ts'; |
| 2 | + |
| 3 | +export type PluginConfig = NonNullable<NonNullable<UserConfig['plugins']>[number]>; |
3 | 4 |
|
4 | 5 | export const presets = { |
| 6 | + angular: () => [ |
| 7 | + { |
| 8 | + httpRequests: 'flat', |
| 9 | + name: '@angular/common', |
| 10 | + }, |
| 11 | + ], |
5 | 12 | full: () => [ |
6 | 13 | /** Full kitchen sink for comprehensive testing */ |
7 | | - typescript(), |
8 | | - sdk({ paramsStructure: 'flat' }), |
9 | | - transformers(), |
10 | | - zod({ metadata: true }), |
11 | | - tanstackReactQuery({ queryKeys: { tags: true } }), |
| 14 | + '@hey-api/typescript', |
| 15 | + { |
| 16 | + name: '@hey-api/sdk', |
| 17 | + paramsStructure: 'flat', |
| 18 | + }, |
| 19 | + '@hey-api/transformers', |
| 20 | + { |
| 21 | + metadata: true, |
| 22 | + name: 'zod', |
| 23 | + }, |
| 24 | + { |
| 25 | + name: '@tanstack/react-query', |
| 26 | + queryKeys: { |
| 27 | + tags: true, |
| 28 | + }, |
| 29 | + }, |
12 | 30 | ], |
13 | 31 | sdk: () => [ |
14 | 32 | /** SDK with types */ |
15 | | - typescript(), |
16 | | - sdk({ |
| 33 | + '@hey-api/typescript', |
| 34 | + { |
| 35 | + name: '@hey-api/sdk', |
17 | 36 | operations: { |
18 | 37 | containerName: 'OpenCode', |
19 | 38 | strategy: 'single', |
20 | 39 | }, |
21 | 40 | paramsStructure: 'flat', |
22 | | - }), |
| 41 | + }, |
23 | 42 | ], |
24 | 43 | tanstack: () => [ |
25 | 44 | /** SDK + TanStack Query */ |
26 | | - typescript(), |
27 | | - sdk(), |
28 | | - tanstackReactQuery({ queryKeys: { tags: true } }), |
| 45 | + '@hey-api/typescript', |
| 46 | + '@hey-api/sdk', |
| 47 | + { |
| 48 | + name: '@tanstack/react-query', |
| 49 | + queryKeys: { |
| 50 | + tags: true, |
| 51 | + }, |
| 52 | + }, |
29 | 53 | ], |
30 | 54 | types: () => [ |
31 | 55 | /** Just types, nothing else */ |
32 | | - typescript(), |
| 56 | + '@hey-api/typescript', |
33 | 57 | ], |
34 | 58 | validated: () => [ |
35 | 59 | /** SDK + Zod validation */ |
36 | | - typescript(), |
37 | | - sdk({ validator: 'zod' }), |
38 | | - valibot({ metadata: true }), |
39 | | - zod({ metadata: true }), |
| 60 | + '@hey-api/typescript', |
| 61 | + { |
| 62 | + name: '@hey-api/sdk', |
| 63 | + validator: 'zod', |
| 64 | + }, |
| 65 | + { |
| 66 | + metadata: true, |
| 67 | + name: 'valibot', |
| 68 | + }, |
| 69 | + { |
| 70 | + metadata: true, |
| 71 | + name: 'zod', |
| 72 | + }, |
40 | 73 | ], |
41 | 74 | } as const satisfies Record<string, () => ReadonlyArray<PluginConfig>>; |
42 | 75 |
|
|
0 commit comments