@kubb/plugin-svelte-query 0.0.0-canary-20251028170426 → 0.0.0-canary-20251103132818

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.
Files changed (34) hide show
  1. package/dist/{components-Dj8ralvN.cjs → components-CSifi2yW.cjs} +3 -3
  2. package/dist/{components-Dj8ralvN.cjs.map → components-CSifi2yW.cjs.map} +1 -1
  3. package/dist/{components-iwhc-RTI.js → components-D9W_4P34.js} +2 -2
  4. package/dist/{components-iwhc-RTI.js.map → components-D9W_4P34.js.map} +1 -1
  5. package/dist/components.cjs +1 -1
  6. package/dist/components.d.cts +37 -37
  7. package/dist/components.d.ts +37 -37
  8. package/dist/components.js +1 -1
  9. package/dist/{generators-D6whEaa8.js → generators-DX6qs2Fo.js} +195 -153
  10. package/dist/generators-DX6qs2Fo.js.map +1 -0
  11. package/dist/{generators-B0OWxMd3.cjs → generators-Dk290xby.cjs} +196 -153
  12. package/dist/generators-Dk290xby.cjs.map +1 -0
  13. package/dist/generators.cjs +2 -2
  14. package/dist/generators.d.cts +4 -4
  15. package/dist/generators.d.ts +4 -4
  16. package/dist/generators.js +2 -2
  17. package/dist/index.cjs +17 -3
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +15 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/{types-CdqkoZMx.d.ts → types-CNZjhh4n.d.cts} +175 -180
  24. package/dist/{types-ZaeDHSbU.d.cts → types-DoVb5dRJ.d.ts} +175 -180
  25. package/package.json +9 -9
  26. package/src/components/QueryKey.tsx +1 -1
  27. package/src/components/index.ts +1 -1
  28. package/src/generators/index.ts +1 -1
  29. package/src/generators/mutationGenerator.tsx +34 -9
  30. package/src/generators/queryGenerator.tsx +35 -11
  31. package/src/plugin.ts +22 -1
  32. package/src/types.ts +4 -3
  33. package/dist/generators-B0OWxMd3.cjs.map +0 -1
  34. package/dist/generators-D6whEaa8.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { Fabric, FileManager } from "@kubb/react-fabric";
1
2
  import * as OasTypes from "oas/types";
2
3
  import { HttpMethods as HttpMethod, OASDocument, SchemaObject, User } from "oas/types";
3
4
  import { Operation, Operation as Operation$1 } from "oas/operation";
@@ -5,7 +6,6 @@ import { OpenAPIV3 } from "openapi-types";
5
6
  import * as oas_normalize_lib_types0 from "oas-normalize/lib/types";
6
7
  import BaseOas from "oas";
7
8
  import { KubbFile } from "@kubb/fabric-core/types";
8
- import { Fabric, FileManager } from "@kubb/react-fabric";
9
9
  import { ConsolaInstance, LogLevel } from "consola";
10
10
  import { KubbNode } from "@kubb/react-fabric/types";
11
11
 
@@ -556,170 +556,6 @@ type FileMetaBase = {
556
556
  pluginKey?: Plugin['key'];
557
557
  };
558
558
  //#endregion
559
- //#region ../plugin-oas/src/generators/createReactGenerator.d.ts
560
- type ReactGenerator<TOptions extends PluginFactoryOptions> = {
561
- name: string;
562
- type: 'react';
563
- Operations: (props: OperationsProps<TOptions>) => KubbNode;
564
- Operation: (props: OperationProps<TOptions>) => KubbNode;
565
- Schema: (props: SchemaProps$1<TOptions>) => KubbNode;
566
- };
567
- //#endregion
568
- //#region ../plugin-oas/src/generators/types.d.ts
569
- type OperationsProps<TOptions extends PluginFactoryOptions> = {
570
- /**
571
- * @deprecated
572
- */
573
- instance: Omit<OperationGenerator<TOptions>, 'build'>;
574
- options: TOptions['resolvedOptions'];
575
- operations: Array<Operation$1>;
576
- };
577
- type OperationProps<TOptions extends PluginFactoryOptions> = {
578
- /**
579
- * @deprecated
580
- */
581
- instance: Omit<OperationGenerator<TOptions>, 'build'>;
582
- options: TOptions['resolvedOptions'];
583
- operation: Operation$1;
584
- };
585
- type SchemaProps$1<TOptions extends PluginFactoryOptions> = {
586
- instance: Omit<SchemaGenerator<SchemaGeneratorOptions, TOptions>, 'build'>;
587
- options: TOptions['resolvedOptions'];
588
- schema: {
589
- name: string;
590
- tree: Array<Schema>;
591
- value: SchemaObject$1;
592
- };
593
- };
594
- type Generator<TOptions extends PluginFactoryOptions> = CoreGenerator<TOptions> | ReactGenerator<TOptions>;
595
- //#endregion
596
- //#region ../plugin-oas/src/generators/createGenerator.d.ts
597
- type CoreGenerator<TOptions extends PluginFactoryOptions> = {
598
- name: string;
599
- type: 'core';
600
- operations: (props: OperationsProps<TOptions>) => Promise<KubbFile.File[]>;
601
- operation: (props: OperationProps<TOptions>) => Promise<KubbFile.File[]>;
602
- schema: (props: SchemaProps$1<TOptions>) => Promise<KubbFile.File[]>;
603
- };
604
- //#endregion
605
- //#region ../plugin-oas/src/types.d.ts
606
- type ResolvePathOptions = {
607
- pluginKey?: Plugin['key'];
608
- group?: {
609
- tag?: string;
610
- path?: string;
611
- };
612
- type?: ResolveNameParams['type'];
613
- };
614
- /**
615
- * `propertyName` is the ref name + resolved with the nameResolver
616
- * @example import { Pet } from './Pet'
617
- *
618
- * `originalName` is the original name used(in PascalCase), only used to remove duplicates
619
- *
620
- * `pluginKey` can be used to override the current plugin being used, handy when you want to import a type/schema out of another plugin
621
- * @example import a type(plugin-ts) for a mock file(swagger-faker)
622
- */
623
- type Ref = {
624
- propertyName: string;
625
- originalName: string;
626
- path: KubbFile.OptionalPath;
627
- pluginKey?: Plugin['key'];
628
- };
629
- type Refs = Record<string, Ref>;
630
- type OperationSchema = {
631
- /**
632
- * Converted name, contains already `PathParams`, `QueryParams`, ...
633
- */
634
- name: string;
635
- schema: SchemaObject$1;
636
- operation?: Operation$1;
637
- /**
638
- * OperationName in PascalCase, only being used in OperationGenerator
639
- */
640
- operationName: string;
641
- description?: string;
642
- statusCode?: number;
643
- keys?: string[];
644
- keysToOmit?: string[];
645
- withData?: boolean;
646
- };
647
- type OperationSchemas = {
648
- pathParams?: OperationSchema & {
649
- keysToOmit?: never;
650
- };
651
- queryParams?: OperationSchema & {
652
- keysToOmit?: never;
653
- };
654
- headerParams?: OperationSchema & {
655
- keysToOmit?: never;
656
- };
657
- request?: OperationSchema;
658
- response: OperationSchema;
659
- responses: Array<OperationSchema>;
660
- statusCodes?: Array<OperationSchema>;
661
- errors?: Array<OperationSchema>;
662
- };
663
- type ByTag = {
664
- type: 'tag';
665
- pattern: string | RegExp;
666
- };
667
- type ByOperationId = {
668
- type: 'operationId';
669
- pattern: string | RegExp;
670
- };
671
- type ByPath = {
672
- type: 'path';
673
- pattern: string | RegExp;
674
- };
675
- type ByMethod = {
676
- type: 'method';
677
- pattern: HttpMethod | RegExp;
678
- };
679
- type BySchemaName = {
680
- type: 'schemaName';
681
- pattern: string | RegExp;
682
- };
683
- type ByContentType = {
684
- type: 'contentType';
685
- pattern: string | RegExp;
686
- };
687
- type Exclude$1 = ByTag | ByOperationId | ByPath | ByMethod | ByContentType;
688
- type Include = ByTag | ByOperationId | ByPath | ByMethod | ByContentType;
689
- type Override<TOptions> = (ByTag | ByOperationId | ByPath | ByMethod | BySchemaName | ByContentType) & {
690
- options: Partial<TOptions>;
691
- };
692
- //#endregion
693
- //#region ../plugin-oas/src/OperationGenerator.d.ts
694
- type Context$1<TOptions, TPluginOptions extends PluginFactoryOptions> = {
695
- fabric: Fabric;
696
- oas: Oas;
697
- exclude: Array<Exclude$1> | undefined;
698
- include: Array<Include> | undefined;
699
- override: Array<Override<TOptions>> | undefined;
700
- contentType: contentType | undefined;
701
- pluginManager: PluginManager;
702
- /**
703
- * Current plugin
704
- */
705
- plugin: Plugin<TPluginOptions>;
706
- mode: KubbFile.Mode;
707
- };
708
- declare class OperationGenerator<TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TPluginOptions['resolvedOptions'], Context$1<TPluginOptions['resolvedOptions'], TPluginOptions>> {
709
- #private;
710
- getSchemas(operation: Operation$1, {
711
- resolveName
712
- }?: {
713
- resolveName?: (name: string) => string;
714
- }): OperationSchemas;
715
- getOperations(): Promise<Array<{
716
- path: string;
717
- method: HttpMethod;
718
- operation: Operation$1;
719
- }>>;
720
- build(...generators: Array<Generator<TPluginOptions>>): Promise<Array<KubbFile.File<TFileMeta>>>;
721
- }
722
- //#endregion
723
559
  //#region ../plugin-oas/src/SchemaMapper.d.ts
724
560
  type SchemaKeywordMapper = {
725
561
  object: {
@@ -937,8 +773,96 @@ type Schema = {
937
773
  keyword: string;
938
774
  } | SchemaKeywordMapper[keyof SchemaKeywordMapper];
939
775
  //#endregion
776
+ //#region ../plugin-oas/src/types.d.ts
777
+ type ResolvePathOptions = {
778
+ pluginKey?: Plugin['key'];
779
+ group?: {
780
+ tag?: string;
781
+ path?: string;
782
+ };
783
+ type?: ResolveNameParams['type'];
784
+ };
785
+ /**
786
+ * `propertyName` is the ref name + resolved with the nameResolver
787
+ * @example import { Pet } from './Pet'
788
+ *
789
+ * `originalName` is the original name used(in PascalCase), only used to remove duplicates
790
+ *
791
+ * `pluginKey` can be used to override the current plugin being used, handy when you want to import a type/schema out of another plugin
792
+ * @example import a type(plugin-ts) for a mock file(swagger-faker)
793
+ */
794
+ type Ref = {
795
+ propertyName: string;
796
+ originalName: string;
797
+ path: KubbFile.OptionalPath;
798
+ pluginKey?: Plugin['key'];
799
+ };
800
+ type Refs = Record<string, Ref>;
801
+ type OperationSchema = {
802
+ /**
803
+ * Converted name, contains already `PathParams`, `QueryParams`, ...
804
+ */
805
+ name: string;
806
+ schema: SchemaObject$1;
807
+ operation?: Operation$1;
808
+ /**
809
+ * OperationName in PascalCase, only being used in OperationGenerator
810
+ */
811
+ operationName: string;
812
+ description?: string;
813
+ statusCode?: number;
814
+ keys?: string[];
815
+ keysToOmit?: string[];
816
+ withData?: boolean;
817
+ };
818
+ type OperationSchemas = {
819
+ pathParams?: OperationSchema & {
820
+ keysToOmit?: never;
821
+ };
822
+ queryParams?: OperationSchema & {
823
+ keysToOmit?: never;
824
+ };
825
+ headerParams?: OperationSchema & {
826
+ keysToOmit?: never;
827
+ };
828
+ request?: OperationSchema;
829
+ response: OperationSchema;
830
+ responses: Array<OperationSchema>;
831
+ statusCodes?: Array<OperationSchema>;
832
+ errors?: Array<OperationSchema>;
833
+ };
834
+ type ByTag = {
835
+ type: 'tag';
836
+ pattern: string | RegExp;
837
+ };
838
+ type ByOperationId = {
839
+ type: 'operationId';
840
+ pattern: string | RegExp;
841
+ };
842
+ type ByPath = {
843
+ type: 'path';
844
+ pattern: string | RegExp;
845
+ };
846
+ type ByMethod = {
847
+ type: 'method';
848
+ pattern: HttpMethod | RegExp;
849
+ };
850
+ type BySchemaName = {
851
+ type: 'schemaName';
852
+ pattern: string | RegExp;
853
+ };
854
+ type ByContentType = {
855
+ type: 'contentType';
856
+ pattern: string | RegExp;
857
+ };
858
+ type Exclude$1 = ByTag | ByOperationId | ByPath | ByMethod | ByContentType;
859
+ type Include = ByTag | ByOperationId | ByPath | ByMethod | ByContentType;
860
+ type Override<TOptions> = (ByTag | ByOperationId | ByPath | ByMethod | BySchemaName | ByContentType) & {
861
+ options: Partial<TOptions>;
862
+ };
863
+ //#endregion
940
864
  //#region ../plugin-oas/src/SchemaGenerator.d.ts
941
- type Context<TOptions, TPluginOptions extends PluginFactoryOptions> = {
865
+ type Context$1<TOptions, TPluginOptions extends PluginFactoryOptions> = {
942
866
  fabric: Fabric;
943
867
  oas: Oas;
944
868
  pluginManager: PluginManager;
@@ -971,15 +895,15 @@ type SchemaGeneratorOptions = {
971
895
  * TODO TODO add docs
972
896
  * @beta
973
897
  */
974
- schema?: (schemaProps: SchemaProps, defaultSchemas: Schema[]) => Schema[] | undefined;
898
+ schema?: (schemaProps: SchemaProps$1, defaultSchemas: Schema[]) => Schema[] | undefined;
975
899
  };
976
900
  };
977
- type SchemaProps = {
901
+ type SchemaProps$1 = {
978
902
  schemaObject?: SchemaObject$1;
979
903
  name?: string;
980
904
  parentName?: string;
981
905
  };
982
- declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions, TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TOptions, Context<TOptions, TPluginOptions>> {
906
+ declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions, TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TOptions, Context$1<TOptions, TPluginOptions>> {
983
907
  #private;
984
908
  refs: Refs;
985
909
  /**
@@ -987,7 +911,7 @@ declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGe
987
911
  * Delegates to getBaseTypeFromSchema internally and
988
912
  * optionally adds a union with null.
989
913
  */
990
- parse(props: SchemaProps): Schema[];
914
+ parse(props: SchemaProps$1): Schema[];
991
915
  deepSearch<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): Array<SchemaKeywordMapper[T]>;
992
916
  find<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): SchemaKeywordMapper[T] | undefined;
993
917
  static deepSearch<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): Array<SchemaKeywordMapper[T]>;
@@ -997,6 +921,79 @@ declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGe
997
921
  build(...generators: Array<Generator<TPluginOptions>>): Promise<Array<KubbFile.File<TFileMeta>>>;
998
922
  }
999
923
  //#endregion
924
+ //#region ../plugin-oas/src/generators/createGenerator.d.ts
925
+ type CoreGenerator<TOptions extends PluginFactoryOptions> = {
926
+ name: string;
927
+ type: 'core';
928
+ operations: (props: OperationsProps<TOptions>) => Promise<KubbFile.File[]>;
929
+ operation: (props: OperationProps<TOptions>) => Promise<KubbFile.File[]>;
930
+ schema: (props: SchemaProps<TOptions>) => Promise<KubbFile.File[]>;
931
+ };
932
+ //#endregion
933
+ //#region ../plugin-oas/src/generators/createReactGenerator.d.ts
934
+ type ReactGenerator<TOptions extends PluginFactoryOptions> = {
935
+ name: string;
936
+ type: 'react';
937
+ Operations: (props: OperationsProps<TOptions>) => KubbNode;
938
+ Operation: (props: OperationProps<TOptions>) => KubbNode;
939
+ Schema: (props: SchemaProps<TOptions>) => KubbNode;
940
+ };
941
+ //#endregion
942
+ //#region ../plugin-oas/src/generators/types.d.ts
943
+ type OperationsProps<TOptions extends PluginFactoryOptions> = {
944
+ config: Config;
945
+ generator: Omit<OperationGenerator<TOptions>, 'build'>;
946
+ plugin: Plugin<TOptions>;
947
+ operations: Array<Operation$1>;
948
+ };
949
+ type OperationProps<TOptions extends PluginFactoryOptions> = {
950
+ config: Config;
951
+ generator: Omit<OperationGenerator<TOptions>, 'build'>;
952
+ plugin: Plugin<TOptions>;
953
+ operation: Operation$1;
954
+ };
955
+ type SchemaProps<TOptions extends PluginFactoryOptions> = {
956
+ config: Config;
957
+ generator: Omit<SchemaGenerator<SchemaGeneratorOptions, TOptions>, 'build'>;
958
+ plugin: Plugin<TOptions>;
959
+ schema: {
960
+ name: string;
961
+ tree: Array<Schema>;
962
+ value: SchemaObject$1;
963
+ };
964
+ };
965
+ type Generator<TOptions extends PluginFactoryOptions> = CoreGenerator<TOptions> | ReactGenerator<TOptions>;
966
+ //#endregion
967
+ //#region ../plugin-oas/src/OperationGenerator.d.ts
968
+ type Context<TOptions, TPluginOptions extends PluginFactoryOptions> = {
969
+ fabric: Fabric;
970
+ oas: Oas;
971
+ exclude: Array<Exclude$1> | undefined;
972
+ include: Array<Include> | undefined;
973
+ override: Array<Override<TOptions>> | undefined;
974
+ contentType: contentType | undefined;
975
+ pluginManager: PluginManager;
976
+ /**
977
+ * Current plugin
978
+ */
979
+ plugin: Plugin<TPluginOptions>;
980
+ mode: KubbFile.Mode;
981
+ };
982
+ declare class OperationGenerator<TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TPluginOptions['resolvedOptions'], Context<TPluginOptions['resolvedOptions'], TPluginOptions>> {
983
+ #private;
984
+ getSchemas(operation: Operation$1, {
985
+ resolveName
986
+ }?: {
987
+ resolveName?: (name: string) => string;
988
+ }): OperationSchemas;
989
+ getOperations(): Promise<Array<{
990
+ path: string;
991
+ method: HttpMethod;
992
+ operation: Operation$1;
993
+ }>>;
994
+ build(...generators: Array<Generator<TPluginOptions>>): Promise<Array<KubbFile.File<TFileMeta>>>;
995
+ }
996
+ //#endregion
1000
997
  //#region ../plugin-client/src/types.d.ts
1001
998
  type Options$2 = {
1002
999
  /**
@@ -1041,7 +1038,6 @@ type Options$2 = {
1041
1038
  * Path to the client import path that will be used to do the API calls.
1042
1039
  * It will be used as `import client from '${client.importPath}'`.
1043
1040
  * It allows both relative and absolute path but be aware that we will not change the path.
1044
- * @default '@kubb/plugin-client/clients/axios'
1045
1041
  */
1046
1042
  importPath?: string;
1047
1043
  /**
@@ -1082,8 +1078,8 @@ type Options$2 = {
1082
1078
  parser?: 'client' | 'zod';
1083
1079
  /**
1084
1080
  * Which client should be used to do the HTTP calls
1085
- * - 'axios' will use `@kubb/plugin-client/clients/axios` to fetch data.
1086
- * - 'fetch' will use `@kubb/plugin-client/clients/fetch` to fetch data.
1081
+ * - 'axios' will use `@kubb/plugin-client/templates/axios` to fetch data.
1082
+ * - 'fetch' will use `@kubb/plugin-client/templates/fetch` to fetch data.
1087
1083
  * @default 'axios'
1088
1084
  */
1089
1085
  client?: 'axios' | 'fetch';
@@ -1102,9 +1098,10 @@ type ResolvedOptions$1 = {
1102
1098
  output: Output<Oas>;
1103
1099
  group?: Options$2['group'];
1104
1100
  baseURL: string | undefined;
1101
+ client: Options$2['client'];
1105
1102
  parser: NonNullable<Options$2['parser']>;
1106
1103
  urlType: NonNullable<Options$2['urlType']>;
1107
- importPath: NonNullable<Options$2['importPath']>;
1104
+ importPath: Options$2['importPath'];
1108
1105
  dataReturnType: NonNullable<Options$2['dataReturnType']>;
1109
1106
  pathParamsType: NonNullable<Options$2['pathParamsType']>;
1110
1107
  paramsType: NonNullable<Options$2['paramsType']>;
@@ -1172,7 +1169,7 @@ type Options$1 = {
1172
1169
  * Group the @tanstack/query hooks based on the provided name.
1173
1170
  */
1174
1171
  group?: Group;
1175
- client?: Pick<PluginClient['options'], 'dataReturnType' | 'importPath' | 'baseURL'>;
1172
+ client?: Pick<PluginClient['options'], 'client' | 'dataReturnType' | 'importPath' | 'baseURL'>;
1176
1173
  /**
1177
1174
  * Array containing exclude parameters to exclude/skip tags/operations/methods/paths.
1178
1175
  */
@@ -1233,9 +1230,7 @@ type Options$1 = {
1233
1230
  type ResolvedOptions = {
1234
1231
  output: Output<Oas>;
1235
1232
  group: Options$1['group'];
1236
- client: Required<Omit<NonNullable<PluginSvelteQuery['options']['client']>, 'baseURL'>> & {
1237
- baseURL?: string;
1238
- };
1233
+ client: NonNullable<PluginSvelteQuery['options']['client']>;
1239
1234
  parser: Required<NonNullable<Options$1['parser']>>;
1240
1235
  paramsCasing: Options$1['paramsCasing'];
1241
1236
  paramsType: NonNullable<Options$1['paramsType']>;
@@ -1247,5 +1242,5 @@ type ResolvedOptions = {
1247
1242
  };
1248
1243
  type PluginSvelteQuery = PluginFactoryOptions<'plugin-svelte-query', Options$1, ResolvedOptions, never, ResolvePathOptions>;
1249
1244
  //#endregion
1250
- export { ReactGenerator as a, OperationSchemas as i, PluginSvelteQuery as n, UserPluginWithLifeCycle as o, Transformer as r, Operation$1 as s, Options$1 as t };
1251
- //# sourceMappingURL=types-ZaeDHSbU.d.cts.map
1245
+ export { OperationSchemas as a, ReactGenerator as i, PluginSvelteQuery as n, UserPluginWithLifeCycle as o, Transformer as r, Operation$1 as s, Options$1 as t };
1246
+ //# sourceMappingURL=types-DoVb5dRJ.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/plugin-svelte-query",
3
- "version": "0.0.0-canary-20251028170426",
3
+ "version": "0.0.0-canary-20251103132818",
4
4
  "description": "Svelte Query hooks generator plugin for Kubb, creating type-safe API client hooks from OpenAPI specifications for Svelte applications.",
5
5
  "keywords": [
6
6
  "svelte-query",
@@ -67,18 +67,18 @@
67
67
  }
68
68
  ],
69
69
  "dependencies": {
70
- "@kubb/react-fabric": "0.2.10",
70
+ "@kubb/react-fabric": "0.2.14",
71
71
  "remeda": "^2.32.0",
72
- "@kubb/core": "0.0.0-canary-20251028170426",
73
- "@kubb/oas": "0.0.0-canary-20251028170426",
74
- "@kubb/plugin-client": "0.0.0-canary-20251028170426",
75
- "@kubb/plugin-oas": "0.0.0-canary-20251028170426",
76
- "@kubb/plugin-ts": "0.0.0-canary-20251028170426",
77
- "@kubb/plugin-zod": "0.0.0-canary-20251028170426"
72
+ "@kubb/core": "0.0.0-canary-20251103132818",
73
+ "@kubb/oas": "0.0.0-canary-20251103132818",
74
+ "@kubb/plugin-client": "0.0.0-canary-20251103132818",
75
+ "@kubb/plugin-oas": "0.0.0-canary-20251103132818",
76
+ "@kubb/plugin-ts": "0.0.0-canary-20251103132818",
77
+ "@kubb/plugin-zod": "0.0.0-canary-20251103132818"
78
78
  },
79
79
  "devDependencies": {},
80
80
  "peerDependencies": {
81
- "@kubb/react-fabric": "0.2.10"
81
+ "@kubb/react-fabric": "0.2.14"
82
82
  },
83
83
  "engines": {
84
84
  "node": ">=20"
@@ -3,8 +3,8 @@ import { isOptional, type Operation } from '@kubb/oas'
3
3
  import type { OperationSchemas } from '@kubb/plugin-oas'
4
4
  import { getPathParams } from '@kubb/plugin-oas/utils'
5
5
  import { File, Function, FunctionParams, Type } from '@kubb/react-fabric'
6
- import type { PluginSvelteQuery, Transformer } from '../types'
7
6
  import type { KubbNode } from '@kubb/react-fabric/types'
7
+ import type { PluginSvelteQuery, Transformer } from '../types'
8
8
 
9
9
  type Props = {
10
10
  name: string
@@ -1,5 +1,5 @@
1
1
  export { Mutation } from './Mutation.tsx'
2
+ export { MutationKey } from './MutationKey.tsx'
2
3
  export { Query } from './Query.tsx'
3
4
  export { QueryKey } from './QueryKey.tsx'
4
- export { MutationKey } from './MutationKey.tsx'
5
5
  export { QueryOptions } from './QueryOptions.tsx'
@@ -1,2 +1,2 @@
1
- export { queryGenerator } from './queryGenerator.tsx'
2
1
  export { mutationGenerator } from './mutationGenerator.tsx'
2
+ export { queryGenerator } from './queryGenerator.tsx'
@@ -1,7 +1,8 @@
1
- import { usePlugin, usePluginManager } from '@kubb/core/hooks'
1
+ import path from 'node:path'
2
+ import { usePluginManager } from '@kubb/core/hooks'
2
3
  import { pluginClientName } from '@kubb/plugin-client'
3
4
  import { Client } from '@kubb/plugin-client/components'
4
- import { createReactGenerator } from '@kubb/plugin-oas'
5
+ import { createReactGenerator } from '@kubb/plugin-oas/generators'
5
6
  import { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'
6
7
  import { getBanner, getFooter } from '@kubb/plugin-oas/utils'
7
8
  import { pluginTsName } from '@kubb/plugin-ts'
@@ -13,14 +14,15 @@ import type { PluginSvelteQuery } from '../types'
13
14
 
14
15
  export const mutationGenerator = createReactGenerator<PluginSvelteQuery>({
15
16
  name: 'svelte-query',
16
- Operation({ options, operation }) {
17
+ Operation({ config, operation, generator, plugin }) {
17
18
  const {
19
+ options,
18
20
  options: { output },
19
- } = usePlugin<PluginSvelteQuery>()
21
+ } = plugin
20
22
  const pluginManager = usePluginManager()
21
23
 
22
24
  const oas = useOas()
23
- const { getSchemas, getName, getFile } = useOperationManager()
25
+ const { getSchemas, getName, getFile } = useOperationManager(generator)
24
26
 
25
27
  const isQuery = !!options.query && options.query?.methods.some((method) => operation.method === method)
26
28
  const isMutation =
@@ -79,9 +81,32 @@ export const mutationGenerator = createReactGenerator<PluginSvelteQuery>({
79
81
  {options.parser === 'zod' && (
80
82
  <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={mutation.file.path} path={zod.file.path} />
81
83
  )}
82
- <File.Import name={'fetch'} path={options.client.importPath} />
84
+ {options.client.importPath ? (
85
+ <>
86
+ <File.Import name={'fetch'} path={options.client.importPath} />
87
+ <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />
88
+ {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}
89
+ </>
90
+ ) : (
91
+ <>
92
+ <File.Import name={'fetch'} root={mutation.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')} />
93
+ <File.Import
94
+ name={['RequestConfig', 'ResponseErrorConfig']}
95
+ root={mutation.file.path}
96
+ path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')}
97
+ isTypeOnly
98
+ />
99
+ {options.client.dataReturnType === 'full' && (
100
+ <File.Import
101
+ name={['ResponseConfig']}
102
+ root={mutation.file.path}
103
+ path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')}
104
+ isTypeOnly
105
+ />
106
+ )}
107
+ </>
108
+ )}
83
109
  {!!hasClientPlugin && <File.Import name={[client.name]} root={mutation.file.path} path={client.file.path} />}
84
- <File.Import name={['RequestConfig', 'ResponseConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />
85
110
  <File.Import
86
111
  name={[
87
112
  type.schemas.request?.name,
@@ -112,7 +137,7 @@ export const mutationGenerator = createReactGenerator<PluginSvelteQuery>({
112
137
  operation={operation}
113
138
  typeSchemas={type.schemas}
114
139
  zodSchemas={zod.schemas}
115
- dataReturnType={options.client.dataReturnType}
140
+ dataReturnType={options.client.dataReturnType || 'data'}
116
141
  paramsCasing={options.paramsCasing}
117
142
  paramsType={options.paramsType}
118
143
  pathParamsType={options.pathParamsType}
@@ -130,7 +155,7 @@ export const mutationGenerator = createReactGenerator<PluginSvelteQuery>({
130
155
  typeSchemas={type.schemas}
131
156
  operation={operation}
132
157
  paramsCasing={options.paramsCasing}
133
- dataReturnType={options.client.dataReturnType}
158
+ dataReturnType={options.client.dataReturnType || 'data'}
134
159
  paramsType={options.paramsType}
135
160
  pathParamsType={options.pathParamsType}
136
161
  mutationKeyName={mutationKey.name}
@@ -1,7 +1,8 @@
1
- import { usePlugin, usePluginManager } from '@kubb/core/hooks'
1
+ import path from 'node:path'
2
+ import { usePluginManager } from '@kubb/core/hooks'
2
3
  import { pluginClientName } from '@kubb/plugin-client'
3
4
  import { Client } from '@kubb/plugin-client/components'
4
- import { createReactGenerator } from '@kubb/plugin-oas'
5
+ import { createReactGenerator } from '@kubb/plugin-oas/generators'
5
6
  import { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'
6
7
  import { getBanner, getFooter } from '@kubb/plugin-oas/utils'
7
8
  import { pluginTsName } from '@kubb/plugin-ts'
@@ -13,14 +14,15 @@ import type { PluginSvelteQuery } from '../types'
13
14
 
14
15
  export const queryGenerator = createReactGenerator<PluginSvelteQuery>({
15
16
  name: 'svelte-query',
16
- Operation({ options, operation }) {
17
+ Operation({ config, operation, generator, plugin }) {
17
18
  const {
19
+ options,
18
20
  options: { output },
19
- } = usePlugin<PluginSvelteQuery>()
21
+ } = plugin
20
22
  const pluginManager = usePluginManager()
21
23
 
22
24
  const oas = useOas()
23
- const { getSchemas, getName, getFile } = useOperationManager()
25
+ const { getSchemas, getName, getFile } = useOperationManager(generator)
24
26
 
25
27
  const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)
26
28
  const isMutation = difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(
@@ -82,10 +84,32 @@ export const queryGenerator = createReactGenerator<PluginSvelteQuery>({
82
84
  {options.parser === 'zod' && (
83
85
  <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={query.file.path} path={zod.file.path} />
84
86
  )}
85
- <File.Import name={'fetch'} path={options.client.importPath} />
87
+ {options.client.importPath ? (
88
+ <>
89
+ <File.Import name={'fetch'} path={options.client.importPath} />
90
+ <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />
91
+ {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}
92
+ </>
93
+ ) : (
94
+ <>
95
+ <File.Import name={'fetch'} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')} />
96
+ <File.Import
97
+ name={['RequestConfig', 'ResponseErrorConfig']}
98
+ root={query.file.path}
99
+ path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')}
100
+ isTypeOnly
101
+ />
102
+ {options.client.dataReturnType === 'full' && (
103
+ <File.Import
104
+ name={['ResponseConfig']}
105
+ root={query.file.path}
106
+ path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')}
107
+ isTypeOnly
108
+ />
109
+ )}
110
+ </>
111
+ )}
86
112
  {!!hasClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}
87
- <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />
88
- {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}
89
113
  <File.Import
90
114
  name={[
91
115
  type.schemas.request?.name,
@@ -117,7 +141,7 @@ export const queryGenerator = createReactGenerator<PluginSvelteQuery>({
117
141
  operation={operation}
118
142
  typeSchemas={type.schemas}
119
143
  zodSchemas={zod.schemas}
120
- dataReturnType={options.client.dataReturnType}
144
+ dataReturnType={options.client.dataReturnType || 'data'}
121
145
  paramsCasing={options.paramsCasing}
122
146
  paramsType={options.paramsType}
123
147
  pathParamsType={options.pathParamsType}
@@ -133,7 +157,7 @@ export const queryGenerator = createReactGenerator<PluginSvelteQuery>({
133
157
  paramsCasing={options.paramsCasing}
134
158
  paramsType={options.paramsType}
135
159
  pathParamsType={options.pathParamsType}
136
- dataReturnType={options.client.dataReturnType}
160
+ dataReturnType={options.client.dataReturnType || 'data'}
137
161
  />
138
162
  {options.query && (
139
163
  <>
@@ -147,7 +171,7 @@ export const queryGenerator = createReactGenerator<PluginSvelteQuery>({
147
171
  operation={operation}
148
172
  paramsCasing={options.paramsCasing}
149
173
  paramsType={options.paramsType}
150
- dataReturnType={options.client.dataReturnType}
174
+ dataReturnType={options.client.dataReturnType || 'data'}
151
175
  queryKeyName={queryKey.name}
152
176
  queryKeyTypeName={queryKey.typeName}
153
177
  />