@hey-api/openapi-ts 0.67.5 → 0.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6396,7 +6396,7 @@ type PluginClientNames =
6396
6396
  | 'legacy/node'
6397
6397
  | 'legacy/xhr';
6398
6398
 
6399
- type PluginValidatorNames = 'zod';
6399
+ type PluginValidatorNames = 'valibot' | 'zod';
6400
6400
 
6401
6401
  type PluginNames =
6402
6402
  | PluginClientNames
@@ -6512,7 +6512,7 @@ declare namespace Plugin {
6512
6512
  export type UserConfig<Config extends BaseConfig> = Omit<Config, 'output'>;
6513
6513
  }
6514
6514
 
6515
- interface Config$k
6515
+ interface Config$l
6516
6516
  extends Plugin.Name<'@hey-api/client-fetch'>,
6517
6517
  Client.Config {
6518
6518
  /**
@@ -6523,7 +6523,7 @@ interface Config$k
6523
6523
  throwOnError?: boolean;
6524
6524
  }
6525
6525
 
6526
- interface Config$j
6526
+ interface Config$k
6527
6527
  extends Plugin.Name<'@hey-api/client-next'>,
6528
6528
  Client.Config {
6529
6529
  /**
@@ -6534,13 +6534,13 @@ interface Config$j
6534
6534
  throwOnError?: boolean;
6535
6535
  }
6536
6536
 
6537
- interface Config$i
6537
+ interface Config$j
6538
6538
  extends Plugin.Name<'@hey-api/client-nuxt'>,
6539
6539
  Client.Config {}
6540
6540
 
6541
6541
  type PluginHandler<ReturnType = void> = Plugin.Handler<
6542
6542
  Omit<
6543
- Config$h | Config$k | Config$j | Config$i,
6543
+ Config$i | Config$l | Config$k | Config$j,
6544
6544
  'name'
6545
6545
  >,
6546
6546
  ReturnType
@@ -6623,7 +6623,7 @@ declare namespace Client {
6623
6623
  };
6624
6624
  }
6625
6625
 
6626
- interface Config$h
6626
+ interface Config$i
6627
6627
  extends Plugin.Name<'@hey-api/client-axios'>,
6628
6628
  Client.Config {
6629
6629
  /**
@@ -6634,27 +6634,27 @@ interface Config$h
6634
6634
  throwOnError?: boolean;
6635
6635
  }
6636
6636
 
6637
- interface Config$g
6637
+ interface Config$h
6638
6638
  extends Plugin.Name<'legacy/angular'>,
6639
6639
  Pick<Client.Config, 'output'> {}
6640
6640
 
6641
- interface Config$f
6641
+ interface Config$g
6642
6642
  extends Plugin.Name<'legacy/axios'>,
6643
6643
  Pick<Client.Config, 'output'> {}
6644
6644
 
6645
- interface Config$e
6645
+ interface Config$f
6646
6646
  extends Plugin.Name<'legacy/fetch'>,
6647
6647
  Pick<Client.Config, 'output'> {}
6648
6648
 
6649
- interface Config$d
6649
+ interface Config$e
6650
6650
  extends Plugin.Name<'legacy/node'>,
6651
6651
  Pick<Client.Config, 'output'> {}
6652
6652
 
6653
- interface Config$c
6653
+ interface Config$d
6654
6654
  extends Plugin.Name<'legacy/xhr'>,
6655
6655
  Pick<Client.Config, 'output'> {}
6656
6656
 
6657
- interface Config$b extends Plugin.Name<'@hey-api/schemas'> {
6657
+ interface Config$c extends Plugin.Name<'@hey-api/schemas'> {
6658
6658
  /**
6659
6659
  * Should the exports from the generated files be re-exported in the index
6660
6660
  * barrel file?
@@ -6693,7 +6693,7 @@ interface Config$b extends Plugin.Name<'@hey-api/schemas'> {
6693
6693
  type?: 'form' | 'json';
6694
6694
  }
6695
6695
 
6696
- interface Config$a extends Plugin.Name<'@hey-api/sdk'> {
6696
+ interface Config$b extends Plugin.Name<'@hey-api/sdk'> {
6697
6697
  /**
6698
6698
  * Group operation methods into classes? When enabled, you can
6699
6699
  * select which classes to export with `sdk.include` and/or
@@ -6817,7 +6817,7 @@ interface Config$a extends Plugin.Name<'@hey-api/sdk'> {
6817
6817
  response?: 'body' | 'response';
6818
6818
  }
6819
6819
 
6820
- interface Config$9 extends Plugin.Name<'@hey-api/transformers'> {
6820
+ interface Config$a extends Plugin.Name<'@hey-api/transformers'> {
6821
6821
  /**
6822
6822
  * Convert long integers into BigInt values?
6823
6823
  *
@@ -6845,7 +6845,7 @@ interface Config$9 extends Plugin.Name<'@hey-api/transformers'> {
6845
6845
  output?: string;
6846
6846
  }
6847
6847
 
6848
- interface Config$8 extends Plugin.Name<'@hey-api/typescript'> {
6848
+ interface Config$9 extends Plugin.Name<'@hey-api/typescript'> {
6849
6849
  /**
6850
6850
  * By default, enums are generated as TypeScript types. In addition to that,
6851
6851
  * you can choose to generate them as JavaScript objects, TypeScript enums,
@@ -6955,7 +6955,7 @@ interface Config$8 extends Plugin.Name<'@hey-api/typescript'> {
6955
6955
  tree?: boolean;
6956
6956
  }
6957
6957
 
6958
- interface Config$7
6958
+ interface Config$8
6959
6959
  extends Plugin.Name<'@tanstack/react-query'>,
6960
6960
  TanStackQuery.Config {
6961
6961
  /**
@@ -6985,7 +6985,7 @@ interface Config$7
6985
6985
  queryOptions?: boolean;
6986
6986
  }
6987
6987
 
6988
- interface Config$6
6988
+ interface Config$7
6989
6989
  extends Plugin.Name<'@tanstack/solid-query'>,
6990
6990
  TanStackQuery.Config {
6991
6991
  /**
@@ -7015,7 +7015,7 @@ interface Config$6
7015
7015
  queryOptions?: boolean;
7016
7016
  }
7017
7017
 
7018
- interface Config$5
7018
+ interface Config$6
7019
7019
  extends Plugin.Name<'@tanstack/svelte-query'>,
7020
7020
  TanStackQuery.Config {
7021
7021
  /**
@@ -7045,7 +7045,7 @@ interface Config$5
7045
7045
  queryOptions?: boolean;
7046
7046
  }
7047
7047
 
7048
- interface Config$4
7048
+ interface Config$5
7049
7049
  extends Plugin.Name<'@tanstack/vue-query'>,
7050
7050
  TanStackQuery.Config {
7051
7051
  /**
@@ -7100,7 +7100,7 @@ declare namespace TanStackQuery {
7100
7100
  };
7101
7101
  }
7102
7102
 
7103
- interface Config$3
7103
+ interface Config$4
7104
7104
  extends Plugin.Name<'@tanstack/angular-query-experimental'>,
7105
7105
  TanStackQuery.Config {
7106
7106
  /**
@@ -7130,7 +7130,7 @@ interface Config$3
7130
7130
  queryOptions?: boolean;
7131
7131
  }
7132
7132
 
7133
- interface Config$2 extends Plugin.Name<'fastify'> {
7133
+ interface Config$3 extends Plugin.Name<'fastify'> {
7134
7134
  /**
7135
7135
  * Should the exports from the generated files be re-exported in the index
7136
7136
  * barrel file?
@@ -7149,7 +7149,43 @@ interface Config$2 extends Plugin.Name<'fastify'> {
7149
7149
  // import type { IR } from '../../ir/types';
7150
7150
 
7151
7151
 
7152
+ interface Config$2 extends Plugin.Name<'valibot'> {
7153
+ /**
7154
+ * Add comments from input to the generated Valibot schemas?
7155
+ *
7156
+ * @default true
7157
+ */
7158
+ comments?: boolean;
7159
+ /**
7160
+ * Should the exports from the generated files be re-exported in the index
7161
+ * barrel file?
7162
+ *
7163
+ * @default false
7164
+ */
7165
+ exportFromIndex?: boolean;
7166
+ /**
7167
+ * Customise the Valibot schema name. By default, `v{{name}}` is used,
7168
+ * where `name` is a definition name or an operation name.
7169
+ */
7170
+ // nameBuilder?: (model: IR.OperationObject | IR.SchemaObject) => string;
7171
+ /**
7172
+ * Name of the generated file.
7173
+ *
7174
+ * @default 'valibot'
7175
+ */
7176
+ output?: string;
7177
+ }
7178
+
7179
+ // import type { IR } from '../../ir/types';
7180
+
7181
+
7152
7182
  interface Config$1 extends Plugin.Name<'zod'> {
7183
+ /**
7184
+ * Add comments from input to the generated Zod schemas?
7185
+ *
7186
+ * @default true
7187
+ */
7188
+ comments?: boolean;
7153
7189
  /**
7154
7190
  * Should the exports from the generated files be re-exported in the index
7155
7191
  * barrel file?
@@ -7173,11 +7209,11 @@ interface Config$1 extends Plugin.Name<'zod'> {
7173
7209
  /**
7174
7210
  * User-facing plugin types.
7175
7211
  */
7176
- type UserPlugins = Plugin.UserConfig<Config$h> | Plugin.UserConfig<Config$k> | Plugin.UserConfig<Config$j> | Plugin.UserConfig<Config$i> | Plugin.UserConfig<Config$g> | Plugin.UserConfig<Config$f> | Plugin.UserConfig<Config$e> | Plugin.UserConfig<Config$d> | Plugin.UserConfig<Config$c> | Plugin.UserConfig<Config$b> | Plugin.UserConfig<Config$a> | Plugin.UserConfig<Config$9> | Plugin.UserConfig<Config$8> | Plugin.UserConfig<Config$3> | Plugin.UserConfig<Config$7> | Plugin.UserConfig<Config$6> | Plugin.UserConfig<Config$5> | Plugin.UserConfig<Config$4> | Plugin.UserConfig<Config$2> | Plugin.UserConfig<Config$1>;
7212
+ type UserPlugins = Plugin.UserConfig<Config$i> | Plugin.UserConfig<Config$l> | Plugin.UserConfig<Config$k> | Plugin.UserConfig<Config$j> | Plugin.UserConfig<Config$h> | Plugin.UserConfig<Config$g> | Plugin.UserConfig<Config$f> | Plugin.UserConfig<Config$e> | Plugin.UserConfig<Config$d> | Plugin.UserConfig<Config$c> | Plugin.UserConfig<Config$b> | Plugin.UserConfig<Config$a> | Plugin.UserConfig<Config$9> | Plugin.UserConfig<Config$4> | Plugin.UserConfig<Config$8> | Plugin.UserConfig<Config$7> | Plugin.UserConfig<Config$6> | Plugin.UserConfig<Config$5> | Plugin.UserConfig<Config$3> | Plugin.UserConfig<Config$2> | Plugin.UserConfig<Config$1>;
7177
7213
  /**
7178
7214
  * Internal plugin types.
7179
7215
  */
7180
- type ClientPlugins = Plugin.Config<Config$h> | Plugin.Config<Config$k> | Plugin.Config<Config$j> | Plugin.Config<Config$i> | Plugin.Config<Config$g> | Plugin.Config<Config$f> | Plugin.Config<Config$e> | Plugin.Config<Config$d> | Plugin.Config<Config$c> | Plugin.Config<Config$b> | Plugin.Config<Config$a> | Plugin.Config<Config$9> | Plugin.Config<Config$8> | Plugin.Config<Config$3> | Plugin.Config<Config$7> | Plugin.Config<Config$6> | Plugin.Config<Config$5> | Plugin.Config<Config$4> | Plugin.Config<Config$2> | Plugin.Config<Config$1>;
7216
+ type ClientPlugins = Plugin.Config<Config$i> | Plugin.Config<Config$l> | Plugin.Config<Config$k> | Plugin.Config<Config$j> | Plugin.Config<Config$h> | Plugin.Config<Config$g> | Plugin.Config<Config$f> | Plugin.Config<Config$e> | Plugin.Config<Config$d> | Plugin.Config<Config$c> | Plugin.Config<Config$b> | Plugin.Config<Config$a> | Plugin.Config<Config$9> | Plugin.Config<Config$4> | Plugin.Config<Config$8> | Plugin.Config<Config$7> | Plugin.Config<Config$6> | Plugin.Config<Config$5> | Plugin.Config<Config$3> | Plugin.Config<Config$2> | Plugin.Config<Config$1>;
7181
7217
 
7182
7218
  type Formatters = 'biome' | 'prettier';
7183
7219
 
@@ -7216,35 +7252,109 @@ interface Input {
7216
7252
  * This will always return the same file.
7217
7253
  */
7218
7254
  commit_sha?: string;
7219
- /**
7220
- * Prevent parts matching the regular expression(s) from being processed.
7221
- * You can select both operations and components by reference within
7222
- * the bundled input.
7223
- *
7224
- * In case of conflicts, `exclude` takes precedence over `include`.
7225
- *
7226
- * @example
7227
- * operation: '^#/paths/api/v1/foo/get$'
7228
- * schema: '^#/components/schemas/Foo$'
7229
- * deprecated: '@deprecated'
7230
- */
7231
- exclude?: ReadonlyArray<string> | string;
7232
7255
  /**
7233
7256
  * You pass any valid Fetch API options to the request for fetching your
7234
7257
  * specification. This is useful if your file is behind auth for example.
7235
7258
  */
7236
7259
  fetch?: RequestInit;
7237
7260
  /**
7238
- * Process only parts matching the regular expression(s). You can select both
7239
- * operations and components by reference within the bundled input.
7240
- *
7241
- * In case of conflicts, `exclude` takes precedence over `include`.
7242
- *
7243
- * @example
7244
- * operation: '^#/paths/api/v1/foo/get$'
7245
- * schema: '^#/components/schemas/Foo$'
7261
+ * Filters can be used to select a subset of your input before it's processed
7262
+ * by plugins.
7246
7263
  */
7247
- include?: ReadonlyArray<string> | string;
7264
+ filters?: {
7265
+ /**
7266
+ * Include deprecated resources in the output?
7267
+ *
7268
+ * @default true
7269
+ */
7270
+ deprecated?: boolean;
7271
+ operations?: {
7272
+ /**
7273
+ * Prevent operations matching the `exclude` filters from being processed.
7274
+ *
7275
+ * In case of conflicts, `exclude` takes precedence over `include`.
7276
+ *
7277
+ * @example ['GET /api/v1/foo']
7278
+ */
7279
+ exclude?: ReadonlyArray<string>;
7280
+ /**
7281
+ * Process only operations matching the `include` filters.
7282
+ *
7283
+ * In case of conflicts, `exclude` takes precedence over `include`.
7284
+ *
7285
+ * @example ['GET /api/v1/foo']
7286
+ */
7287
+ include?: ReadonlyArray<string>;
7288
+ };
7289
+ /**
7290
+ * Keep reusable components without any references in the output? By
7291
+ * default, we exclude orphaned resources.
7292
+ *
7293
+ * @default false
7294
+ */
7295
+ orphans?: boolean;
7296
+ /**
7297
+ * Should we preserve the key order when overwriting your input? This
7298
+ * option is disabled by default to improve performance.
7299
+ *
7300
+ * @default false
7301
+ */
7302
+ preserveOrder?: boolean;
7303
+ requestBodies?: {
7304
+ /**
7305
+ * Prevent request bodies matching the `exclude` filters from being processed.
7306
+ *
7307
+ * In case of conflicts, `exclude` takes precedence over `include`.
7308
+ *
7309
+ * @example ['Foo']
7310
+ */
7311
+ exclude?: ReadonlyArray<string>;
7312
+ /**
7313
+ * Process only request bodies matching the `include` filters.
7314
+ *
7315
+ * In case of conflicts, `exclude` takes precedence over `include`.
7316
+ *
7317
+ * @example ['Foo']
7318
+ */
7319
+ include?: ReadonlyArray<string>;
7320
+ };
7321
+ schemas?: {
7322
+ /**
7323
+ * Prevent schemas matching the `exclude` filters from being processed.
7324
+ *
7325
+ * In case of conflicts, `exclude` takes precedence over `include`.
7326
+ *
7327
+ * @example ['Foo']
7328
+ */
7329
+ exclude?: ReadonlyArray<string>;
7330
+ /**
7331
+ * Process only schemas matching the `include` filters.
7332
+ *
7333
+ * In case of conflicts, `exclude` takes precedence over `include`.
7334
+ *
7335
+ * @example ['Foo']
7336
+ */
7337
+ include?: ReadonlyArray<string>;
7338
+ };
7339
+ tags?: {
7340
+ /**
7341
+ * Prevent tags matching the `exclude` filters from being processed.
7342
+ *
7343
+ * In case of conflicts, `exclude` takes precedence over `include`.
7344
+ *
7345
+ * @example ['foo']
7346
+ */
7347
+ exclude?: ReadonlyArray<string>;
7348
+ /**
7349
+ * Process only tags matching the `include` filters.
7350
+ *
7351
+ * In case of conflicts, `exclude` takes precedence over `include`.
7352
+ *
7353
+ * @example ['foo']
7354
+ */
7355
+ include?: ReadonlyArray<string>;
7356
+ };
7357
+ };
7248
7358
  /**
7249
7359
  * **Requires `path` to start with `https://get.heyapi.dev` or be undefined**
7250
7360
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hey-api/openapi-ts",
3
- "version": "0.67.5",
3
+ "version": "0.68.0",
4
4
  "description": "🚀 The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.",
5
5
  "homepage": "https://heyapi.dev/",
6
6
  "repository": {