@kubb/plugin-svelte-query 5.0.0-alpha.29 → 5.0.0-alpha.30

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.
@@ -1,5 +1,5 @@
1
1
  import { t as __name } from "./chunk--u3MIqq1.js";
2
- import { i as MutationKey, n as PluginSvelteQuery, r as QueryKey } from "./types-QEg87A8l.js";
2
+ import { i as MutationKey, n as PluginSvelteQuery, r as QueryKey } from "./types-Bncfr56t.js";
3
3
  import { OperationSchemas } from "@kubb/plugin-oas";
4
4
  import { Operation } from "@kubb/oas";
5
5
  import { FunctionParams } from "@kubb/react-fabric";
@@ -17,6 +17,7 @@ const mutationGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)(
17
17
  Operation({ config, operation, generator, plugin }) {
18
18
  const { options, options: { output } } = plugin;
19
19
  const driver = (0, _kubb_core_hooks.useDriver)();
20
+ const root = node_path.default.resolve(config.root, config.output.path);
20
21
  const oas = (0, _kubb_plugin_oas_hooks.useOas)();
21
22
  const { getSchemas, getName, getFile } = (0, _kubb_plugin_oas_hooks.useOperationManager)(generator);
22
23
  const isQuery = !!options.query && options.query?.methods.some((method) => operation.method === method);
@@ -105,7 +106,7 @@ const mutationGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)(
105
106
  !shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
106
107
  name: ["fetch"],
107
108
  root: mutation.file.path,
108
- path: node_path.default.resolve(config.root, config.output.path, ".kubb/fetch.ts")
109
+ path: node_path.default.resolve(root, ".kubb/fetch.ts")
109
110
  }),
110
111
  /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
111
112
  name: [
@@ -114,13 +115,13 @@ const mutationGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)(
114
115
  "ResponseErrorConfig"
115
116
  ],
116
117
  root: mutation.file.path,
117
- path: node_path.default.resolve(config.root, config.output.path, ".kubb/fetch.ts"),
118
+ path: node_path.default.resolve(root, ".kubb/fetch.ts"),
118
119
  isTypeOnly: true
119
120
  }),
120
121
  options.client.dataReturnType === "full" && /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
121
122
  name: ["ResponseConfig"],
122
123
  root: mutation.file.path,
123
- path: node_path.default.resolve(config.root, config.output.path, ".kubb/fetch.ts"),
124
+ path: node_path.default.resolve(root, ".kubb/fetch.ts"),
124
125
  isTypeOnly: true
125
126
  })
126
127
  ] }),
@@ -132,7 +133,7 @@ const mutationGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)(
132
133
  !shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
133
134
  name: ["buildFormData"],
134
135
  root: mutation.file.path,
135
- path: node_path.default.resolve(config.root, config.output.path, ".kubb/config.ts")
136
+ path: node_path.default.resolve(root, ".kubb/config.ts")
136
137
  }),
137
138
  /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
138
139
  name: [
@@ -206,6 +207,7 @@ const queryGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
206
207
  Operation({ config, operation, generator, plugin }) {
207
208
  const { options, options: { output } } = plugin;
208
209
  const driver = (0, _kubb_core_hooks.useDriver)();
210
+ const root = node_path.default.resolve(config.root, config.output.path);
209
211
  const oas = (0, _kubb_plugin_oas_hooks.useOas)();
210
212
  const { getSchemas, getName, getFile } = (0, _kubb_plugin_oas_hooks.useOperationManager)(generator);
211
213
  const isQuery = typeof options.query === "boolean" ? true : options.query?.methods.some((method) => operation.method === method);
@@ -298,7 +300,7 @@ const queryGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
298
300
  !shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
299
301
  name: ["fetch"],
300
302
  root: query.file.path,
301
- path: node_path.default.resolve(config.root, config.output.path, ".kubb/fetch.ts")
303
+ path: node_path.default.resolve(root, ".kubb/fetch.ts")
302
304
  }),
303
305
  /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
304
306
  name: [
@@ -307,13 +309,13 @@ const queryGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
307
309
  "ResponseErrorConfig"
308
310
  ],
309
311
  root: query.file.path,
310
- path: node_path.default.resolve(config.root, config.output.path, ".kubb/fetch.ts"),
312
+ path: node_path.default.resolve(root, ".kubb/fetch.ts"),
311
313
  isTypeOnly: true
312
314
  }),
313
315
  options.client.dataReturnType === "full" && /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
314
316
  name: ["ResponseConfig"],
315
317
  root: query.file.path,
316
- path: node_path.default.resolve(config.root, config.output.path, ".kubb/fetch.ts"),
318
+ path: node_path.default.resolve(root, ".kubb/fetch.ts"),
317
319
  isTypeOnly: true
318
320
  })
319
321
  ] }),
@@ -325,7 +327,7 @@ const queryGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
325
327
  !shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
326
328
  name: ["buildFormData"],
327
329
  root: query.file.path,
328
- path: node_path.default.resolve(config.root, config.output.path, ".kubb/config.ts")
330
+ path: node_path.default.resolve(root, ".kubb/config.ts")
329
331
  }),
330
332
  /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
331
333
  name: [
@@ -421,4 +423,4 @@ Object.defineProperty(exports, "queryGenerator", {
421
423
  }
422
424
  });
423
425
 
424
- //# sourceMappingURL=generators-Cunk8XX8.cjs.map
426
+ //# sourceMappingURL=generators-DI9PsPA0.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators-DI9PsPA0.cjs","names":["path","pluginTsName","pluginZodName","pluginClientName","File","MutationKey","Client","Mutation","path","pluginClientName","pluginTsName","pluginZodName","File","QueryKey","Client","QueryOptions","Query"],"sources":["../src/generators/mutationGenerator.tsx","../src/generators/queryGenerator.tsx"],"sourcesContent":["import path from 'node:path'\nimport { useDriver } from '@kubb/core/hooks'\nimport { ClientLegacy as Client, pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { difference } from 'remeda'\nimport { Mutation, MutationKey } from '../components'\nimport type { PluginSvelteQuery } from '../types'\n\nexport const mutationGenerator = createReactGenerator<PluginSvelteQuery>({\n name: 'svelte-query',\n Operation({ config, operation, generator, plugin }) {\n const {\n options,\n options: { output },\n } = plugin\n const driver = useDriver()\n const root = path.resolve(config.root, config.output.path)\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const isQuery = !!options.query && options.query?.methods.some((method) => operation.method === method)\n const isMutation =\n options.mutation !== false &&\n !isQuery &&\n difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some((method) => operation.method === method)\n\n const importPath = options.mutation ? options.mutation.importPath : '@tanstack/svelte-query'\n\n const mutation = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginName: pluginTsName, type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, { pluginName: pluginZodName, type: 'function' }),\n }\n\n const hasClientPlugin = !!driver.getPlugin(pluginClientName)\n // Class-based clients are not compatible with query hooks, so we generate inline clients\n const shouldUseClientPlugin = hasClientPlugin && options.client.clientType !== 'class'\n const client = {\n name: shouldUseClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginName: pluginClientName,\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginName: pluginClientName }),\n }\n\n const mutationKey = {\n name: getName(operation, { type: 'const', suffix: 'MutationKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'MutationKey' }),\n }\n\n if (!isMutation) {\n return null\n }\n\n return (\n <File\n baseName={mutation.file.baseName}\n path={mutation.file.path}\n meta={mutation.file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={mutation.file.path} path={zod.file.path} />\n )}\n {options.client.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={options.client.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['fetch']} root={mutation.file.path} path={path.resolve(root, '.kubb/fetch.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={mutation.file.path}\n path={path.resolve(root, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {options.client.dataReturnType === 'full' && (\n <File.Import name={['ResponseConfig']} root={mutation.file.path} path={path.resolve(root, '.kubb/fetch.ts')} isTypeOnly />\n )}\n </>\n )}\n {shouldUseClientPlugin && <File.Import name={[client.name]} root={mutation.file.path} path={client.file.path} />}\n {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={mutation.file.path} path={path.resolve(root, '.kubb/config.ts')} />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={mutation.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <MutationKey\n name={mutationKey.name}\n typeName={mutationKey.typeName}\n operation={operation}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n transformer={options.mutationKey}\n />\n {!shouldUseClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsCasing={options.client?.paramsCasing || options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n {options.mutation && (\n <>\n <File.Import name={['createMutation']} path={importPath} />\n <File.Import name={['CreateMutationOptions', 'CreateMutationResult', 'QueryClient']} path={importPath} isTypeOnly />\n <Mutation\n name={mutation.name}\n clientName={client.name}\n typeName={mutation.typeName}\n typeSchemas={type.schemas}\n operation={operation}\n paramsCasing={options.paramsCasing}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n mutationKeyName={mutationKey.name}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import path from 'node:path'\nimport { useDriver } from '@kubb/core/hooks'\nimport { ClientLegacy as Client, pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { difference } from 'remeda'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginSvelteQuery } from '../types'\n\nexport const queryGenerator = createReactGenerator<PluginSvelteQuery>({\n name: 'svelte-query',\n Operation({ config, operation, generator, plugin }) {\n const {\n options,\n options: { output },\n } = plugin\n const driver = useDriver()\n const root = path.resolve(config.root, config.output.path)\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(\n (method) => operation.method === method,\n )\n const importPath = options.query ? options.query.importPath : '@tanstack/svelte-query'\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const hasClientPlugin = !!driver.getPlugin(pluginClientName)\n // Class-based clients are not compatible with query hooks, so we generate inline clients\n const shouldUseClientPlugin = hasClientPlugin && options.client.clientType !== 'class'\n const client = {\n name: shouldUseClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginName: pluginClientName,\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginName: pluginClientName }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'QueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'QueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'QueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n //todo remove type?\n schemas: getSchemas(operation, {\n pluginName: pluginTsName,\n type: 'type',\n }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, {\n pluginName: pluginZodName,\n type: 'function',\n }),\n }\n\n if (!isQuery || isMutation) {\n return null\n }\n\n return (\n <File\n baseName={query.file.baseName}\n path={query.file.path}\n meta={query.file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={query.file.path} path={zod.file.path} />\n )}\n {options.client.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={options.client.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['fetch']} root={query.file.path} path={path.resolve(root, '.kubb/fetch.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={query.file.path}\n path={path.resolve(root, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {options.client.dataReturnType === 'full' && (\n <File.Import name={['ResponseConfig']} root={query.file.path} path={path.resolve(root, '.kubb/fetch.ts')} isTypeOnly />\n )}\n </>\n )}\n {shouldUseClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}\n {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={query.file.path} path={path.resolve(root, '.kubb/config.ts')} />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n transformer={options.queryKey}\n />\n\n {!shouldUseClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsCasing={options.client?.paramsCasing || options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n <File.Import name={['queryOptions']} path={importPath} />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType || 'data'}\n />\n {options.query && (\n <>\n <File.Import name={['createQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'CreateBaseQueryOptions', 'CreateQueryResult']} path={importPath} isTypeOnly />\n <Query\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n operation={operation}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n dataReturnType={options.client.dataReturnType || 'data'}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </>\n )}\n </File>\n )\n },\n})\n"],"mappings":"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"}
@@ -17,6 +17,7 @@ const mutationGenerator = createReactGenerator({
17
17
  Operation({ config, operation, generator, plugin }) {
18
18
  const { options, options: { output } } = plugin;
19
19
  const driver = useDriver();
20
+ const root = path.resolve(config.root, config.output.path);
20
21
  const oas = useOas();
21
22
  const { getSchemas, getName, getFile } = useOperationManager(generator);
22
23
  const isQuery = !!options.query && options.query?.methods.some((method) => operation.method === method);
@@ -105,7 +106,7 @@ const mutationGenerator = createReactGenerator({
105
106
  !shouldUseClientPlugin && /* @__PURE__ */ jsx(File.Import, {
106
107
  name: ["fetch"],
107
108
  root: mutation.file.path,
108
- path: path.resolve(config.root, config.output.path, ".kubb/fetch.ts")
109
+ path: path.resolve(root, ".kubb/fetch.ts")
109
110
  }),
110
111
  /* @__PURE__ */ jsx(File.Import, {
111
112
  name: [
@@ -114,13 +115,13 @@ const mutationGenerator = createReactGenerator({
114
115
  "ResponseErrorConfig"
115
116
  ],
116
117
  root: mutation.file.path,
117
- path: path.resolve(config.root, config.output.path, ".kubb/fetch.ts"),
118
+ path: path.resolve(root, ".kubb/fetch.ts"),
118
119
  isTypeOnly: true
119
120
  }),
120
121
  options.client.dataReturnType === "full" && /* @__PURE__ */ jsx(File.Import, {
121
122
  name: ["ResponseConfig"],
122
123
  root: mutation.file.path,
123
- path: path.resolve(config.root, config.output.path, ".kubb/fetch.ts"),
124
+ path: path.resolve(root, ".kubb/fetch.ts"),
124
125
  isTypeOnly: true
125
126
  })
126
127
  ] }),
@@ -132,7 +133,7 @@ const mutationGenerator = createReactGenerator({
132
133
  !shouldUseClientPlugin && /* @__PURE__ */ jsx(File.Import, {
133
134
  name: ["buildFormData"],
134
135
  root: mutation.file.path,
135
- path: path.resolve(config.root, config.output.path, ".kubb/config.ts")
136
+ path: path.resolve(root, ".kubb/config.ts")
136
137
  }),
137
138
  /* @__PURE__ */ jsx(File.Import, {
138
139
  name: [
@@ -206,6 +207,7 @@ const queryGenerator = createReactGenerator({
206
207
  Operation({ config, operation, generator, plugin }) {
207
208
  const { options, options: { output } } = plugin;
208
209
  const driver = useDriver();
210
+ const root = path.resolve(config.root, config.output.path);
209
211
  const oas = useOas();
210
212
  const { getSchemas, getName, getFile } = useOperationManager(generator);
211
213
  const isQuery = typeof options.query === "boolean" ? true : options.query?.methods.some((method) => operation.method === method);
@@ -298,7 +300,7 @@ const queryGenerator = createReactGenerator({
298
300
  !shouldUseClientPlugin && /* @__PURE__ */ jsx(File.Import, {
299
301
  name: ["fetch"],
300
302
  root: query.file.path,
301
- path: path.resolve(config.root, config.output.path, ".kubb/fetch.ts")
303
+ path: path.resolve(root, ".kubb/fetch.ts")
302
304
  }),
303
305
  /* @__PURE__ */ jsx(File.Import, {
304
306
  name: [
@@ -307,13 +309,13 @@ const queryGenerator = createReactGenerator({
307
309
  "ResponseErrorConfig"
308
310
  ],
309
311
  root: query.file.path,
310
- path: path.resolve(config.root, config.output.path, ".kubb/fetch.ts"),
312
+ path: path.resolve(root, ".kubb/fetch.ts"),
311
313
  isTypeOnly: true
312
314
  }),
313
315
  options.client.dataReturnType === "full" && /* @__PURE__ */ jsx(File.Import, {
314
316
  name: ["ResponseConfig"],
315
317
  root: query.file.path,
316
- path: path.resolve(config.root, config.output.path, ".kubb/fetch.ts"),
318
+ path: path.resolve(root, ".kubb/fetch.ts"),
317
319
  isTypeOnly: true
318
320
  })
319
321
  ] }),
@@ -325,7 +327,7 @@ const queryGenerator = createReactGenerator({
325
327
  !shouldUseClientPlugin && /* @__PURE__ */ jsx(File.Import, {
326
328
  name: ["buildFormData"],
327
329
  root: query.file.path,
328
- path: path.resolve(config.root, config.output.path, ".kubb/config.ts")
330
+ path: path.resolve(root, ".kubb/config.ts")
329
331
  }),
330
332
  /* @__PURE__ */ jsx(File.Import, {
331
333
  name: [
@@ -410,4 +412,4 @@ const queryGenerator = createReactGenerator({
410
412
  //#endregion
411
413
  export { mutationGenerator as n, queryGenerator as t };
412
414
 
413
- //# sourceMappingURL=generators-D2Pw1laO.js.map
415
+ //# sourceMappingURL=generators-DV7MaGbo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators-DV7MaGbo.js","names":["Client","Client"],"sources":["../src/generators/mutationGenerator.tsx","../src/generators/queryGenerator.tsx"],"sourcesContent":["import path from 'node:path'\nimport { useDriver } from '@kubb/core/hooks'\nimport { ClientLegacy as Client, pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { difference } from 'remeda'\nimport { Mutation, MutationKey } from '../components'\nimport type { PluginSvelteQuery } from '../types'\n\nexport const mutationGenerator = createReactGenerator<PluginSvelteQuery>({\n name: 'svelte-query',\n Operation({ config, operation, generator, plugin }) {\n const {\n options,\n options: { output },\n } = plugin\n const driver = useDriver()\n const root = path.resolve(config.root, config.output.path)\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const isQuery = !!options.query && options.query?.methods.some((method) => operation.method === method)\n const isMutation =\n options.mutation !== false &&\n !isQuery &&\n difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some((method) => operation.method === method)\n\n const importPath = options.mutation ? options.mutation.importPath : '@tanstack/svelte-query'\n\n const mutation = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginName: pluginTsName, type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, { pluginName: pluginZodName, type: 'function' }),\n }\n\n const hasClientPlugin = !!driver.getPlugin(pluginClientName)\n // Class-based clients are not compatible with query hooks, so we generate inline clients\n const shouldUseClientPlugin = hasClientPlugin && options.client.clientType !== 'class'\n const client = {\n name: shouldUseClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginName: pluginClientName,\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginName: pluginClientName }),\n }\n\n const mutationKey = {\n name: getName(operation, { type: 'const', suffix: 'MutationKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'MutationKey' }),\n }\n\n if (!isMutation) {\n return null\n }\n\n return (\n <File\n baseName={mutation.file.baseName}\n path={mutation.file.path}\n meta={mutation.file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={mutation.file.path} path={zod.file.path} />\n )}\n {options.client.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={options.client.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['fetch']} root={mutation.file.path} path={path.resolve(root, '.kubb/fetch.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={mutation.file.path}\n path={path.resolve(root, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {options.client.dataReturnType === 'full' && (\n <File.Import name={['ResponseConfig']} root={mutation.file.path} path={path.resolve(root, '.kubb/fetch.ts')} isTypeOnly />\n )}\n </>\n )}\n {shouldUseClientPlugin && <File.Import name={[client.name]} root={mutation.file.path} path={client.file.path} />}\n {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={mutation.file.path} path={path.resolve(root, '.kubb/config.ts')} />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={mutation.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <MutationKey\n name={mutationKey.name}\n typeName={mutationKey.typeName}\n operation={operation}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n transformer={options.mutationKey}\n />\n {!shouldUseClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsCasing={options.client?.paramsCasing || options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n {options.mutation && (\n <>\n <File.Import name={['createMutation']} path={importPath} />\n <File.Import name={['CreateMutationOptions', 'CreateMutationResult', 'QueryClient']} path={importPath} isTypeOnly />\n <Mutation\n name={mutation.name}\n clientName={client.name}\n typeName={mutation.typeName}\n typeSchemas={type.schemas}\n operation={operation}\n paramsCasing={options.paramsCasing}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n mutationKeyName={mutationKey.name}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import path from 'node:path'\nimport { useDriver } from '@kubb/core/hooks'\nimport { ClientLegacy as Client, pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { difference } from 'remeda'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginSvelteQuery } from '../types'\n\nexport const queryGenerator = createReactGenerator<PluginSvelteQuery>({\n name: 'svelte-query',\n Operation({ config, operation, generator, plugin }) {\n const {\n options,\n options: { output },\n } = plugin\n const driver = useDriver()\n const root = path.resolve(config.root, config.output.path)\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(\n (method) => operation.method === method,\n )\n const importPath = options.query ? options.query.importPath : '@tanstack/svelte-query'\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const hasClientPlugin = !!driver.getPlugin(pluginClientName)\n // Class-based clients are not compatible with query hooks, so we generate inline clients\n const shouldUseClientPlugin = hasClientPlugin && options.client.clientType !== 'class'\n const client = {\n name: shouldUseClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginName: pluginClientName,\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginName: pluginClientName }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'QueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'QueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'QueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n //todo remove type?\n schemas: getSchemas(operation, {\n pluginName: pluginTsName,\n type: 'type',\n }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, {\n pluginName: pluginZodName,\n type: 'function',\n }),\n }\n\n if (!isQuery || isMutation) {\n return null\n }\n\n return (\n <File\n baseName={query.file.baseName}\n path={query.file.path}\n meta={query.file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={query.file.path} path={zod.file.path} />\n )}\n {options.client.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={options.client.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['fetch']} root={query.file.path} path={path.resolve(root, '.kubb/fetch.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={query.file.path}\n path={path.resolve(root, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {options.client.dataReturnType === 'full' && (\n <File.Import name={['ResponseConfig']} root={query.file.path} path={path.resolve(root, '.kubb/fetch.ts')} isTypeOnly />\n )}\n </>\n )}\n {shouldUseClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}\n {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={query.file.path} path={path.resolve(root, '.kubb/config.ts')} />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n transformer={options.queryKey}\n />\n\n {!shouldUseClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsCasing={options.client?.paramsCasing || options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n <File.Import name={['queryOptions']} path={importPath} />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType || 'data'}\n />\n {options.query && (\n <>\n <File.Import name={['createQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'CreateBaseQueryOptions', 'CreateQueryResult']} path={importPath} isTypeOnly />\n <Query\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n operation={operation}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n dataReturnType={options.client.dataReturnType || 'data'}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </>\n )}\n </File>\n )\n },\n})\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_generators = require("./generators-Cunk8XX8.cjs");
2
+ const require_generators = require("./generators-DI9PsPA0.cjs");
3
3
  exports.mutationGenerator = require_generators.mutationGenerator;
4
4
  exports.queryGenerator = require_generators.queryGenerator;
@@ -1,5 +1,5 @@
1
1
  import { t as __name } from "./chunk--u3MIqq1.js";
2
- import { n as PluginSvelteQuery } from "./types-QEg87A8l.js";
2
+ import { n as PluginSvelteQuery } from "./types-Bncfr56t.js";
3
3
  import * as _$_kubb_plugin_oas_generators0 from "@kubb/plugin-oas/generators";
4
4
 
5
5
  //#region src/generators/mutationGenerator.d.ts
@@ -1,2 +1,2 @@
1
- import { n as mutationGenerator, t as queryGenerator } from "./generators-D2Pw1laO.js";
1
+ import { n as mutationGenerator, t as queryGenerator } from "./generators-DV7MaGbo.js";
2
2
  export { mutationGenerator, queryGenerator };
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_components = require("./components-DHd_T2Es.cjs");
3
- const require_generators = require("./generators-Cunk8XX8.cjs");
3
+ const require_generators = require("./generators-DI9PsPA0.cjs");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_components.__toESM(node_path);
6
6
  let _kubb_core = require("@kubb/core");
@@ -11,6 +11,9 @@ let _kubb_plugin_client_templates_config_source = require("@kubb/plugin-client/t
11
11
  let _kubb_plugin_oas = require("@kubb/plugin-oas");
12
12
  let _kubb_plugin_ts = require("@kubb/plugin-ts");
13
13
  let _kubb_plugin_zod = require("@kubb/plugin-zod");
14
+ //#region package.json
15
+ var version = "5.0.0-alpha.30";
16
+ //#endregion
14
17
  //#region src/plugin.ts
15
18
  const pluginSvelteQueryName = "plugin-svelte-query";
16
19
  const pluginSvelteQuery = (0, _kubb_core.createPlugin)((options) => {
@@ -22,6 +25,7 @@ const pluginSvelteQuery = (0, _kubb_core.createPlugin)((options) => {
22
25
  const clientImportPath = client?.importPath ?? (!client?.bundle ? `@kubb/plugin-client/clients/${clientName}` : void 0);
23
26
  return {
24
27
  name: pluginSvelteQueryName,
28
+ version,
25
29
  options: {
26
30
  output,
27
31
  client: {
@@ -55,7 +59,10 @@ const pluginSvelteQuery = (0, _kubb_core.createPlugin)((options) => {
55
59
  pathParamsType,
56
60
  parser,
57
61
  paramsCasing,
58
- group
62
+ group,
63
+ exclude,
64
+ include,
65
+ override
59
66
  },
60
67
  pre: [
61
68
  _kubb_plugin_oas.pluginOasName,
@@ -63,8 +70,8 @@ const pluginSvelteQuery = (0, _kubb_core.createPlugin)((options) => {
63
70
  parser === "zod" ? _kubb_plugin_zod.pluginZodName : void 0
64
71
  ].filter(Boolean),
65
72
  resolvePath(baseName, pathMode, options) {
66
- const root = node_path.default.resolve(this.config.root, this.config.output.path);
67
- if ((pathMode ?? (0, _kubb_core.getMode)(node_path.default.resolve(root, output.path))) === "single")
73
+ const root = this.root;
74
+ if ((pathMode ?? this.getMode(output)) === "single")
68
75
  /**
69
76
  * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend
70
77
  * Other plugins then need to call addOrAppend instead of just add from the fileManager class
@@ -86,9 +93,9 @@ const pluginSvelteQuery = (0, _kubb_core.createPlugin)((options) => {
86
93
  if (type) return transformers?.name?.(resolvedName, type) || resolvedName;
87
94
  return resolvedName;
88
95
  },
89
- async install() {
90
- const root = node_path.default.resolve(this.config.root, this.config.output.path);
91
- const mode = (0, _kubb_core.getMode)(node_path.default.resolve(root, output.path));
96
+ async buildStart() {
97
+ const root = this.root;
98
+ const mode = this.getMode(output);
92
99
  const oas = await this.getOas();
93
100
  const baseURL = await this.getBaseURL();
94
101
  if (baseURL) this.plugin.options.client.baseURL = baseURL;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["MutationKey","QueryKey","queryGenerator","mutationGenerator","pluginOasName","pluginTsName","pluginZodName","path","camelCase","pascalCase","pluginClientName","fetchClientSource","axiosClientSource","configSource","OperationGenerator"],"sources":["../src/plugin.ts"],"sourcesContent":["import path from 'node:path'\nimport { camelCase, pascalCase } from '@internals/utils'\nimport { createPlugin, getBarrelFiles, getMode, type UserGroup } from '@kubb/core'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { source as axiosClientSource } from '@kubb/plugin-client/templates/clients/axios.source'\nimport { source as fetchClientSource } from '@kubb/plugin-client/templates/clients/fetch.source'\nimport { source as configSource } from '@kubb/plugin-client/templates/config.source'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { MutationKey, QueryKey } from './components'\nimport { mutationGenerator, queryGenerator } from './generators'\nimport type { PluginSvelteQuery } from './types.ts'\n\nexport const pluginSvelteQueryName = 'plugin-svelte-query' satisfies PluginSvelteQuery['name']\n\nexport const pluginSvelteQuery = createPlugin<PluginSvelteQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n transformers = {},\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n mutation = {},\n query = {},\n paramsCasing,\n mutationKey = MutationKey.getTransformer,\n queryKey = QueryKey.getTransformer,\n generators = [queryGenerator, mutationGenerator].filter(Boolean),\n contentType,\n client,\n } = options\n\n const clientName = client?.client ?? 'axios'\n const clientImportPath = client?.importPath ?? (!client?.bundle ? `@kubb/plugin-client/clients/${clientName}` : undefined)\n\n return {\n name: pluginSvelteQueryName,\n options: {\n output,\n client: {\n bundle: client?.bundle,\n baseURL: client?.baseURL,\n client: clientName,\n clientType: client?.clientType ?? 'function',\n dataReturnType: client?.dataReturnType ?? 'data',\n pathParamsType,\n importPath: clientImportPath,\n paramsCasing,\n },\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/svelte-query',\n ...query,\n },\n mutationKey,\n mutation:\n mutation === false\n ? false\n : {\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/svelte-query',\n ...mutation,\n },\n paramsType,\n pathParamsType,\n parser,\n paramsCasing,\n group,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? getMode(path.resolve(root, output.path))\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: UserGroup['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async install() {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = getMode(path.resolve(root, output.path))\n const oas = await this.getOas()\n const baseURL = await this.getBaseURL()\n\n if (baseURL) {\n this.plugin.options.client.baseURL = baseURL\n }\n\n const hasClientPlugin = !!this.getPlugin(pluginClientName)\n\n if (this.plugin.options.client.bundle && !hasClientPlugin && !this.plugin.options.client.importPath) {\n // pre add bundled fetch\n await this.upsertFile({\n baseName: 'fetch.ts',\n path: path.resolve(root, '.kubb/fetch.ts'),\n sources: [\n {\n name: 'fetch',\n value: this.plugin.options.client.client === 'fetch' ? fetchClientSource : axiosClientSource,\n isExportable: true,\n isIndexable: true,\n },\n ],\n imports: [],\n exports: [],\n })\n }\n\n if (!hasClientPlugin) {\n await this.addFile({\n baseName: 'config.ts',\n path: path.resolve(root, '.kubb/config.ts'),\n sources: [\n {\n name: 'config',\n value: configSource,\n isExportable: false,\n isIndexable: false,\n },\n ],\n imports: [],\n exports: [],\n })\n }\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n fabric: this.fabric,\n oas,\n driver: this.driver,\n events: this.events,\n plugin: this.plugin,\n contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.upsertFile(...files)\n\n const barrelFiles = await getBarrelFiles(this.fabric.files, {\n type: output.barrelType ?? 'named',\n root,\n output,\n meta: {\n pluginName: this.plugin.name,\n },\n })\n\n await this.upsertFile(...barrelFiles)\n },\n }\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["MutationKey","QueryKey","queryGenerator","mutationGenerator","pluginOasName","pluginTsName","pluginZodName","path","camelCase","pascalCase","pluginClientName","fetchClientSource","axiosClientSource","configSource","OperationGenerator"],"sources":["../package.json","../src/plugin.ts"],"sourcesContent":["","import path from 'node:path'\nimport { camelCase, pascalCase } from '@internals/utils'\nimport { createPlugin, getBarrelFiles, type UserGroup } from '@kubb/core'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { source as axiosClientSource } from '@kubb/plugin-client/templates/clients/axios.source'\nimport { source as fetchClientSource } from '@kubb/plugin-client/templates/clients/fetch.source'\nimport { source as configSource } from '@kubb/plugin-client/templates/config.source'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { version } from '../package.json'\nimport { MutationKey, QueryKey } from './components'\nimport { mutationGenerator, queryGenerator } from './generators'\nimport type { PluginSvelteQuery } from './types.ts'\n\nexport const pluginSvelteQueryName = 'plugin-svelte-query' satisfies PluginSvelteQuery['name']\n\nexport const pluginSvelteQuery = createPlugin<PluginSvelteQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n transformers = {},\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n mutation = {},\n query = {},\n paramsCasing,\n mutationKey = MutationKey.getTransformer,\n queryKey = QueryKey.getTransformer,\n generators = [queryGenerator, mutationGenerator].filter(Boolean),\n contentType,\n client,\n } = options\n\n const clientName = client?.client ?? 'axios'\n const clientImportPath = client?.importPath ?? (!client?.bundle ? `@kubb/plugin-client/clients/${clientName}` : undefined)\n\n return {\n name: pluginSvelteQueryName,\n version,\n options: {\n output,\n client: {\n bundle: client?.bundle,\n baseURL: client?.baseURL,\n client: clientName,\n clientType: client?.clientType ?? 'function',\n dataReturnType: client?.dataReturnType ?? 'data',\n pathParamsType,\n importPath: clientImportPath,\n paramsCasing,\n },\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/svelte-query',\n ...query,\n },\n mutationKey,\n mutation:\n mutation === false\n ? false\n : {\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/svelte-query',\n ...mutation,\n },\n paramsType,\n pathParamsType,\n parser,\n paramsCasing,\n group,\n exclude,\n include,\n override,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = this.root\n const mode = pathMode ?? this.getMode(output)\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: UserGroup['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const root = this.root\n const mode = this.getMode(output)\n const oas = await this.getOas()\n const baseURL = await this.getBaseURL()\n\n if (baseURL) {\n this.plugin.options.client.baseURL = baseURL\n }\n\n const hasClientPlugin = !!this.getPlugin(pluginClientName)\n\n if (this.plugin.options.client.bundle && !hasClientPlugin && !this.plugin.options.client.importPath) {\n // pre add bundled fetch\n await this.upsertFile({\n baseName: 'fetch.ts',\n path: path.resolve(root, '.kubb/fetch.ts'),\n sources: [\n {\n name: 'fetch',\n value: this.plugin.options.client.client === 'fetch' ? fetchClientSource : axiosClientSource,\n isExportable: true,\n isIndexable: true,\n },\n ],\n imports: [],\n exports: [],\n })\n }\n\n if (!hasClientPlugin) {\n await this.addFile({\n baseName: 'config.ts',\n path: path.resolve(root, '.kubb/config.ts'),\n sources: [\n {\n name: 'config',\n value: configSource,\n isExportable: false,\n isIndexable: false,\n },\n ],\n imports: [],\n exports: [],\n })\n }\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n fabric: this.fabric,\n oas,\n driver: this.driver,\n events: this.events,\n plugin: this.plugin,\n contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.upsertFile(...files)\n\n const barrelFiles = await getBarrelFiles(this.fabric.files, {\n type: output.barrelType ?? 'named',\n root,\n output,\n meta: {\n pluginName: this.plugin.name,\n },\n })\n\n await this.upsertFile(...barrelFiles)\n },\n }\n})\n"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as __name } from "./chunk--u3MIqq1.js";
2
- import { n as PluginSvelteQuery, t as Options } from "./types-QEg87A8l.js";
2
+ import { n as PluginSvelteQuery, t as Options } from "./types-Bncfr56t.js";
3
3
  import * as _$_kubb_core0 from "@kubb/core";
4
4
 
5
5
  //#region src/plugin.d.ts
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import "./chunk--u3MIqq1.js";
2
2
  import { a as MutationKey, i as QueryKey, o as camelCase, s as pascalCase } from "./components-BHuFcBvT.js";
3
- import { n as mutationGenerator, t as queryGenerator } from "./generators-D2Pw1laO.js";
3
+ import { n as mutationGenerator, t as queryGenerator } from "./generators-DV7MaGbo.js";
4
4
  import path from "node:path";
5
- import { createPlugin, getBarrelFiles, getMode } from "@kubb/core";
5
+ import { createPlugin, getBarrelFiles } from "@kubb/core";
6
6
  import { pluginClientName } from "@kubb/plugin-client";
7
7
  import { source } from "@kubb/plugin-client/templates/clients/axios.source";
8
8
  import { source as source$1 } from "@kubb/plugin-client/templates/clients/fetch.source";
@@ -10,6 +10,9 @@ import { source as source$2 } from "@kubb/plugin-client/templates/config.source"
10
10
  import { OperationGenerator, pluginOasName } from "@kubb/plugin-oas";
11
11
  import { pluginTsName } from "@kubb/plugin-ts";
12
12
  import { pluginZodName } from "@kubb/plugin-zod";
13
+ //#region package.json
14
+ var version = "5.0.0-alpha.30";
15
+ //#endregion
13
16
  //#region src/plugin.ts
14
17
  const pluginSvelteQueryName = "plugin-svelte-query";
15
18
  const pluginSvelteQuery = createPlugin((options) => {
@@ -21,6 +24,7 @@ const pluginSvelteQuery = createPlugin((options) => {
21
24
  const clientImportPath = client?.importPath ?? (!client?.bundle ? `@kubb/plugin-client/clients/${clientName}` : void 0);
22
25
  return {
23
26
  name: pluginSvelteQueryName,
27
+ version,
24
28
  options: {
25
29
  output,
26
30
  client: {
@@ -54,7 +58,10 @@ const pluginSvelteQuery = createPlugin((options) => {
54
58
  pathParamsType,
55
59
  parser,
56
60
  paramsCasing,
57
- group
61
+ group,
62
+ exclude,
63
+ include,
64
+ override
58
65
  },
59
66
  pre: [
60
67
  pluginOasName,
@@ -62,8 +69,8 @@ const pluginSvelteQuery = createPlugin((options) => {
62
69
  parser === "zod" ? pluginZodName : void 0
63
70
  ].filter(Boolean),
64
71
  resolvePath(baseName, pathMode, options) {
65
- const root = path.resolve(this.config.root, this.config.output.path);
66
- if ((pathMode ?? getMode(path.resolve(root, output.path))) === "single")
72
+ const root = this.root;
73
+ if ((pathMode ?? this.getMode(output)) === "single")
67
74
  /**
68
75
  * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend
69
76
  * Other plugins then need to call addOrAppend instead of just add from the fileManager class
@@ -85,9 +92,9 @@ const pluginSvelteQuery = createPlugin((options) => {
85
92
  if (type) return transformers?.name?.(resolvedName, type) || resolvedName;
86
93
  return resolvedName;
87
94
  },
88
- async install() {
89
- const root = path.resolve(this.config.root, this.config.output.path);
90
- const mode = getMode(path.resolve(root, output.path));
95
+ async buildStart() {
96
+ const root = this.root;
97
+ const mode = this.getMode(output);
91
98
  const oas = await this.getOas();
92
99
  const baseURL = await this.getBaseURL();
93
100
  if (baseURL) this.plugin.options.client.baseURL = baseURL;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fetchClientSource","axiosClientSource","configSource"],"sources":["../src/plugin.ts"],"sourcesContent":["import path from 'node:path'\nimport { camelCase, pascalCase } from '@internals/utils'\nimport { createPlugin, getBarrelFiles, getMode, type UserGroup } from '@kubb/core'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { source as axiosClientSource } from '@kubb/plugin-client/templates/clients/axios.source'\nimport { source as fetchClientSource } from '@kubb/plugin-client/templates/clients/fetch.source'\nimport { source as configSource } from '@kubb/plugin-client/templates/config.source'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { MutationKey, QueryKey } from './components'\nimport { mutationGenerator, queryGenerator } from './generators'\nimport type { PluginSvelteQuery } from './types.ts'\n\nexport const pluginSvelteQueryName = 'plugin-svelte-query' satisfies PluginSvelteQuery['name']\n\nexport const pluginSvelteQuery = createPlugin<PluginSvelteQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n transformers = {},\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n mutation = {},\n query = {},\n paramsCasing,\n mutationKey = MutationKey.getTransformer,\n queryKey = QueryKey.getTransformer,\n generators = [queryGenerator, mutationGenerator].filter(Boolean),\n contentType,\n client,\n } = options\n\n const clientName = client?.client ?? 'axios'\n const clientImportPath = client?.importPath ?? (!client?.bundle ? `@kubb/plugin-client/clients/${clientName}` : undefined)\n\n return {\n name: pluginSvelteQueryName,\n options: {\n output,\n client: {\n bundle: client?.bundle,\n baseURL: client?.baseURL,\n client: clientName,\n clientType: client?.clientType ?? 'function',\n dataReturnType: client?.dataReturnType ?? 'data',\n pathParamsType,\n importPath: clientImportPath,\n paramsCasing,\n },\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/svelte-query',\n ...query,\n },\n mutationKey,\n mutation:\n mutation === false\n ? false\n : {\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/svelte-query',\n ...mutation,\n },\n paramsType,\n pathParamsType,\n parser,\n paramsCasing,\n group,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? getMode(path.resolve(root, output.path))\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: UserGroup['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async install() {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = getMode(path.resolve(root, output.path))\n const oas = await this.getOas()\n const baseURL = await this.getBaseURL()\n\n if (baseURL) {\n this.plugin.options.client.baseURL = baseURL\n }\n\n const hasClientPlugin = !!this.getPlugin(pluginClientName)\n\n if (this.plugin.options.client.bundle && !hasClientPlugin && !this.plugin.options.client.importPath) {\n // pre add bundled fetch\n await this.upsertFile({\n baseName: 'fetch.ts',\n path: path.resolve(root, '.kubb/fetch.ts'),\n sources: [\n {\n name: 'fetch',\n value: this.plugin.options.client.client === 'fetch' ? fetchClientSource : axiosClientSource,\n isExportable: true,\n isIndexable: true,\n },\n ],\n imports: [],\n exports: [],\n })\n }\n\n if (!hasClientPlugin) {\n await this.addFile({\n baseName: 'config.ts',\n path: path.resolve(root, '.kubb/config.ts'),\n sources: [\n {\n name: 'config',\n value: configSource,\n isExportable: false,\n isIndexable: false,\n },\n ],\n imports: [],\n exports: [],\n })\n }\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n fabric: this.fabric,\n oas,\n driver: this.driver,\n events: this.events,\n plugin: this.plugin,\n contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.upsertFile(...files)\n\n const barrelFiles = await getBarrelFiles(this.fabric.files, {\n type: output.barrelType ?? 'named',\n root,\n output,\n meta: {\n pluginName: this.plugin.name,\n },\n })\n\n await this.upsertFile(...barrelFiles)\n },\n }\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["fetchClientSource","axiosClientSource","configSource"],"sources":["../package.json","../src/plugin.ts"],"sourcesContent":["","import path from 'node:path'\nimport { camelCase, pascalCase } from '@internals/utils'\nimport { createPlugin, getBarrelFiles, type UserGroup } from '@kubb/core'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { source as axiosClientSource } from '@kubb/plugin-client/templates/clients/axios.source'\nimport { source as fetchClientSource } from '@kubb/plugin-client/templates/clients/fetch.source'\nimport { source as configSource } from '@kubb/plugin-client/templates/config.source'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { version } from '../package.json'\nimport { MutationKey, QueryKey } from './components'\nimport { mutationGenerator, queryGenerator } from './generators'\nimport type { PluginSvelteQuery } from './types.ts'\n\nexport const pluginSvelteQueryName = 'plugin-svelte-query' satisfies PluginSvelteQuery['name']\n\nexport const pluginSvelteQuery = createPlugin<PluginSvelteQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n transformers = {},\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n mutation = {},\n query = {},\n paramsCasing,\n mutationKey = MutationKey.getTransformer,\n queryKey = QueryKey.getTransformer,\n generators = [queryGenerator, mutationGenerator].filter(Boolean),\n contentType,\n client,\n } = options\n\n const clientName = client?.client ?? 'axios'\n const clientImportPath = client?.importPath ?? (!client?.bundle ? `@kubb/plugin-client/clients/${clientName}` : undefined)\n\n return {\n name: pluginSvelteQueryName,\n version,\n options: {\n output,\n client: {\n bundle: client?.bundle,\n baseURL: client?.baseURL,\n client: clientName,\n clientType: client?.clientType ?? 'function',\n dataReturnType: client?.dataReturnType ?? 'data',\n pathParamsType,\n importPath: clientImportPath,\n paramsCasing,\n },\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/svelte-query',\n ...query,\n },\n mutationKey,\n mutation:\n mutation === false\n ? false\n : {\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/svelte-query',\n ...mutation,\n },\n paramsType,\n pathParamsType,\n parser,\n paramsCasing,\n group,\n exclude,\n include,\n override,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = this.root\n const mode = pathMode ?? this.getMode(output)\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: UserGroup['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const root = this.root\n const mode = this.getMode(output)\n const oas = await this.getOas()\n const baseURL = await this.getBaseURL()\n\n if (baseURL) {\n this.plugin.options.client.baseURL = baseURL\n }\n\n const hasClientPlugin = !!this.getPlugin(pluginClientName)\n\n if (this.plugin.options.client.bundle && !hasClientPlugin && !this.plugin.options.client.importPath) {\n // pre add bundled fetch\n await this.upsertFile({\n baseName: 'fetch.ts',\n path: path.resolve(root, '.kubb/fetch.ts'),\n sources: [\n {\n name: 'fetch',\n value: this.plugin.options.client.client === 'fetch' ? fetchClientSource : axiosClientSource,\n isExportable: true,\n isIndexable: true,\n },\n ],\n imports: [],\n exports: [],\n })\n }\n\n if (!hasClientPlugin) {\n await this.addFile({\n baseName: 'config.ts',\n path: path.resolve(root, '.kubb/config.ts'),\n sources: [\n {\n name: 'config',\n value: configSource,\n isExportable: false,\n isIndexable: false,\n },\n ],\n imports: [],\n exports: [],\n })\n }\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n fabric: this.fabric,\n oas,\n driver: this.driver,\n events: this.events,\n plugin: this.plugin,\n contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.upsertFile(...files)\n\n const barrelFiles = await getBarrelFiles(this.fabric.files, {\n type: output.barrelType ?? 'named',\n root,\n output,\n meta: {\n pluginName: this.plugin.name,\n },\n })\n\n await this.upsertFile(...barrelFiles)\n },\n }\n})\n"],"mappings":"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"}
@@ -193,6 +193,9 @@ type Options = {
193
193
  type ResolvedOptions = {
194
194
  output: Output<Oas>;
195
195
  group: Options['group'];
196
+ exclude: NonNullable<Options['exclude']>;
197
+ include: Options['include'];
198
+ override: NonNullable<Options['override']>;
196
199
  client: Pick<PluginClient['options'], 'client' | 'clientType' | 'dataReturnType' | 'importPath' | 'baseURL' | 'bundle' | 'paramsCasing'>;
197
200
  parser: Required<NonNullable<Options['parser']>>;
198
201
  paramsCasing: Options['paramsCasing'];
@@ -204,6 +207,13 @@ type ResolvedOptions = {
204
207
  mutation: NonNullable<Required<Mutation>> | false;
205
208
  };
206
209
  type PluginSvelteQuery = PluginFactoryOptions<'plugin-svelte-query', Options, ResolvedOptions, never, ResolvePathOptions>;
210
+ declare global {
211
+ namespace Kubb {
212
+ interface PluginRegistry {
213
+ 'plugin-svelte-query': PluginSvelteQuery;
214
+ }
215
+ }
216
+ }
207
217
  //#endregion
208
218
  export { MutationKey$1 as i, PluginSvelteQuery as n, QueryKey$1 as r, Options as t };
209
- //# sourceMappingURL=types-QEg87A8l.d.ts.map
219
+ //# sourceMappingURL=types-Bncfr56t.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/plugin-svelte-query",
3
- "version": "5.0.0-alpha.29",
3
+ "version": "5.0.0-alpha.30",
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",
@@ -75,12 +75,12 @@
75
75
  "@kubb/fabric-core": "0.15.1",
76
76
  "@kubb/react-fabric": "0.15.1",
77
77
  "remeda": "^2.33.7",
78
- "@kubb/core": "5.0.0-alpha.29",
79
- "@kubb/oas": "5.0.0-alpha.29",
80
- "@kubb/plugin-client": "5.0.0-alpha.29",
81
- "@kubb/plugin-oas": "5.0.0-alpha.29",
82
- "@kubb/plugin-ts": "5.0.0-alpha.29",
83
- "@kubb/plugin-zod": "5.0.0-alpha.29"
78
+ "@kubb/core": "5.0.0-alpha.30",
79
+ "@kubb/oas": "5.0.0-alpha.30",
80
+ "@kubb/plugin-client": "5.0.0-alpha.30",
81
+ "@kubb/plugin-oas": "5.0.0-alpha.30",
82
+ "@kubb/plugin-ts": "5.0.0-alpha.30",
83
+ "@kubb/plugin-zod": "5.0.0-alpha.30"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@kubb/fabric-core": "0.15.1",
@@ -19,6 +19,7 @@ export const mutationGenerator = createReactGenerator<PluginSvelteQuery>({
19
19
  options: { output },
20
20
  } = plugin
21
21
  const driver = useDriver()
22
+ const root = path.resolve(config.root, config.output.path)
22
23
 
23
24
  const oas = useOas()
24
25
  const { getSchemas, getName, getFile } = useOperationManager(generator)
@@ -91,29 +92,20 @@ export const mutationGenerator = createReactGenerator<PluginSvelteQuery>({
91
92
  </>
92
93
  ) : (
93
94
  <>
94
- {!shouldUseClientPlugin && (
95
- <File.Import name={['fetch']} root={mutation.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />
96
- )}
95
+ {!shouldUseClientPlugin && <File.Import name={['fetch']} root={mutation.file.path} path={path.resolve(root, '.kubb/fetch.ts')} />}
97
96
  <File.Import
98
97
  name={['Client', 'RequestConfig', 'ResponseErrorConfig']}
99
98
  root={mutation.file.path}
100
- path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}
99
+ path={path.resolve(root, '.kubb/fetch.ts')}
101
100
  isTypeOnly
102
101
  />
103
102
  {options.client.dataReturnType === 'full' && (
104
- <File.Import
105
- name={['ResponseConfig']}
106
- root={mutation.file.path}
107
- path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}
108
- isTypeOnly
109
- />
103
+ <File.Import name={['ResponseConfig']} root={mutation.file.path} path={path.resolve(root, '.kubb/fetch.ts')} isTypeOnly />
110
104
  )}
111
105
  </>
112
106
  )}
113
107
  {shouldUseClientPlugin && <File.Import name={[client.name]} root={mutation.file.path} path={client.file.path} />}
114
- {!shouldUseClientPlugin && (
115
- <File.Import name={['buildFormData']} root={mutation.file.path} path={path.resolve(config.root, config.output.path, '.kubb/config.ts')} />
116
- )}
108
+ {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={mutation.file.path} path={path.resolve(root, '.kubb/config.ts')} />}
117
109
  <File.Import
118
110
  name={[
119
111
  type.schemas.request?.name,
@@ -19,6 +19,7 @@ export const queryGenerator = createReactGenerator<PluginSvelteQuery>({
19
19
  options: { output },
20
20
  } = plugin
21
21
  const driver = useDriver()
22
+ const root = path.resolve(config.root, config.output.path)
22
23
 
23
24
  const oas = useOas()
24
25
  const { getSchemas, getName, getFile } = useOperationManager(generator)
@@ -99,24 +100,20 @@ export const queryGenerator = createReactGenerator<PluginSvelteQuery>({
99
100
  </>
100
101
  ) : (
101
102
  <>
102
- {!shouldUseClientPlugin && (
103
- <File.Import name={['fetch']} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />
104
- )}
103
+ {!shouldUseClientPlugin && <File.Import name={['fetch']} root={query.file.path} path={path.resolve(root, '.kubb/fetch.ts')} />}
105
104
  <File.Import
106
105
  name={['Client', 'RequestConfig', 'ResponseErrorConfig']}
107
106
  root={query.file.path}
108
- path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}
107
+ path={path.resolve(root, '.kubb/fetch.ts')}
109
108
  isTypeOnly
110
109
  />
111
110
  {options.client.dataReturnType === 'full' && (
112
- <File.Import name={['ResponseConfig']} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} isTypeOnly />
111
+ <File.Import name={['ResponseConfig']} root={query.file.path} path={path.resolve(root, '.kubb/fetch.ts')} isTypeOnly />
113
112
  )}
114
113
  </>
115
114
  )}
116
115
  {shouldUseClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}
117
- {!shouldUseClientPlugin && (
118
- <File.Import name={['buildFormData']} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/config.ts')} />
119
- )}
116
+ {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={query.file.path} path={path.resolve(root, '.kubb/config.ts')} />}
120
117
  <File.Import
121
118
  name={[
122
119
  type.schemas.request?.name,
package/src/plugin.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import path from 'node:path'
2
2
  import { camelCase, pascalCase } from '@internals/utils'
3
- import { createPlugin, getBarrelFiles, getMode, type UserGroup } from '@kubb/core'
3
+ import { createPlugin, getBarrelFiles, type UserGroup } from '@kubb/core'
4
4
  import { pluginClientName } from '@kubb/plugin-client'
5
5
  import { source as axiosClientSource } from '@kubb/plugin-client/templates/clients/axios.source'
6
6
  import { source as fetchClientSource } from '@kubb/plugin-client/templates/clients/fetch.source'
@@ -8,6 +8,7 @@ import { source as configSource } from '@kubb/plugin-client/templates/config.sou
8
8
  import { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'
9
9
  import { pluginTsName } from '@kubb/plugin-ts'
10
10
  import { pluginZodName } from '@kubb/plugin-zod'
11
+ import { version } from '../package.json'
11
12
  import { MutationKey, QueryKey } from './components'
12
13
  import { mutationGenerator, queryGenerator } from './generators'
13
14
  import type { PluginSvelteQuery } from './types.ts'
@@ -40,6 +41,7 @@ export const pluginSvelteQuery = createPlugin<PluginSvelteQuery>((options) => {
40
41
 
41
42
  return {
42
43
  name: pluginSvelteQueryName,
44
+ version,
43
45
  options: {
44
46
  output,
45
47
  client: {
@@ -75,11 +77,14 @@ export const pluginSvelteQuery = createPlugin<PluginSvelteQuery>((options) => {
75
77
  parser,
76
78
  paramsCasing,
77
79
  group,
80
+ exclude,
81
+ include,
82
+ override,
78
83
  },
79
84
  pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),
80
85
  resolvePath(baseName, pathMode, options) {
81
- const root = path.resolve(this.config.root, this.config.output.path)
82
- const mode = pathMode ?? getMode(path.resolve(root, output.path))
86
+ const root = this.root
87
+ const mode = pathMode ?? this.getMode(output)
83
88
 
84
89
  if (mode === 'single') {
85
90
  /**
@@ -129,9 +134,9 @@ export const pluginSvelteQuery = createPlugin<PluginSvelteQuery>((options) => {
129
134
 
130
135
  return resolvedName
131
136
  },
132
- async install() {
133
- const root = path.resolve(this.config.root, this.config.output.path)
134
- const mode = getMode(path.resolve(root, output.path))
137
+ async buildStart() {
138
+ const root = this.root
139
+ const mode = this.getMode(output)
135
140
  const oas = await this.getOas()
136
141
  const baseURL = await this.getBaseURL()
137
142
 
package/src/types.ts CHANGED
@@ -126,6 +126,9 @@ export type Options = {
126
126
  type ResolvedOptions = {
127
127
  output: Output<Oas>
128
128
  group: Options['group']
129
+ exclude: NonNullable<Options['exclude']>
130
+ include: Options['include']
131
+ override: NonNullable<Options['override']>
129
132
  client: Pick<PluginClient['options'], 'client' | 'clientType' | 'dataReturnType' | 'importPath' | 'baseURL' | 'bundle' | 'paramsCasing'>
130
133
  parser: Required<NonNullable<Options['parser']>>
131
134
  paramsCasing: Options['paramsCasing']
@@ -138,3 +141,11 @@ type ResolvedOptions = {
138
141
  }
139
142
 
140
143
  export type PluginSvelteQuery = PluginFactoryOptions<'plugin-svelte-query', Options, ResolvedOptions, never, ResolvePathOptions>
144
+
145
+ declare global {
146
+ namespace Kubb {
147
+ interface PluginRegistry {
148
+ 'plugin-svelte-query': PluginSvelteQuery
149
+ }
150
+ }
151
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"generators-Cunk8XX8.cjs","names":["pluginTsName","pluginZodName","pluginClientName","File","path","MutationKey","Client","Mutation","pluginClientName","pluginTsName","pluginZodName","File","path","QueryKey","Client","QueryOptions","Query"],"sources":["../src/generators/mutationGenerator.tsx","../src/generators/queryGenerator.tsx"],"sourcesContent":["import path from 'node:path'\nimport { useDriver } from '@kubb/core/hooks'\nimport { ClientLegacy as Client, pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { difference } from 'remeda'\nimport { Mutation, MutationKey } from '../components'\nimport type { PluginSvelteQuery } from '../types'\n\nexport const mutationGenerator = createReactGenerator<PluginSvelteQuery>({\n name: 'svelte-query',\n Operation({ config, operation, generator, plugin }) {\n const {\n options,\n options: { output },\n } = plugin\n const driver = useDriver()\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const isQuery = !!options.query && options.query?.methods.some((method) => operation.method === method)\n const isMutation =\n options.mutation !== false &&\n !isQuery &&\n difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some((method) => operation.method === method)\n\n const importPath = options.mutation ? options.mutation.importPath : '@tanstack/svelte-query'\n\n const mutation = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginName: pluginTsName, type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, { pluginName: pluginZodName, type: 'function' }),\n }\n\n const hasClientPlugin = !!driver.getPlugin(pluginClientName)\n // Class-based clients are not compatible with query hooks, so we generate inline clients\n const shouldUseClientPlugin = hasClientPlugin && options.client.clientType !== 'class'\n const client = {\n name: shouldUseClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginName: pluginClientName,\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginName: pluginClientName }),\n }\n\n const mutationKey = {\n name: getName(operation, { type: 'const', suffix: 'MutationKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'MutationKey' }),\n }\n\n if (!isMutation) {\n return null\n }\n\n return (\n <File\n baseName={mutation.file.baseName}\n path={mutation.file.path}\n meta={mutation.file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={mutation.file.path} path={zod.file.path} />\n )}\n {options.client.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={options.client.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && (\n <File.Import name={['fetch']} root={mutation.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />\n )}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={mutation.file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {options.client.dataReturnType === 'full' && (\n <File.Import\n name={['ResponseConfig']}\n root={mutation.file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n )}\n </>\n )}\n {shouldUseClientPlugin && <File.Import name={[client.name]} root={mutation.file.path} path={client.file.path} />}\n {!shouldUseClientPlugin && (\n <File.Import name={['buildFormData']} root={mutation.file.path} path={path.resolve(config.root, config.output.path, '.kubb/config.ts')} />\n )}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={mutation.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <MutationKey\n name={mutationKey.name}\n typeName={mutationKey.typeName}\n operation={operation}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n transformer={options.mutationKey}\n />\n {!shouldUseClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsCasing={options.client?.paramsCasing || options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n {options.mutation && (\n <>\n <File.Import name={['createMutation']} path={importPath} />\n <File.Import name={['CreateMutationOptions', 'CreateMutationResult', 'QueryClient']} path={importPath} isTypeOnly />\n <Mutation\n name={mutation.name}\n clientName={client.name}\n typeName={mutation.typeName}\n typeSchemas={type.schemas}\n operation={operation}\n paramsCasing={options.paramsCasing}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n mutationKeyName={mutationKey.name}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import path from 'node:path'\nimport { useDriver } from '@kubb/core/hooks'\nimport { ClientLegacy as Client, pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { difference } from 'remeda'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginSvelteQuery } from '../types'\n\nexport const queryGenerator = createReactGenerator<PluginSvelteQuery>({\n name: 'svelte-query',\n Operation({ config, operation, generator, plugin }) {\n const {\n options,\n options: { output },\n } = plugin\n const driver = useDriver()\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(\n (method) => operation.method === method,\n )\n const importPath = options.query ? options.query.importPath : '@tanstack/svelte-query'\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const hasClientPlugin = !!driver.getPlugin(pluginClientName)\n // Class-based clients are not compatible with query hooks, so we generate inline clients\n const shouldUseClientPlugin = hasClientPlugin && options.client.clientType !== 'class'\n const client = {\n name: shouldUseClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginName: pluginClientName,\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginName: pluginClientName }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'QueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'QueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'QueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n //todo remove type?\n schemas: getSchemas(operation, {\n pluginName: pluginTsName,\n type: 'type',\n }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, {\n pluginName: pluginZodName,\n type: 'function',\n }),\n }\n\n if (!isQuery || isMutation) {\n return null\n }\n\n return (\n <File\n baseName={query.file.baseName}\n path={query.file.path}\n meta={query.file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={query.file.path} path={zod.file.path} />\n )}\n {options.client.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={options.client.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && (\n <File.Import name={['fetch']} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />\n )}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={query.file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {options.client.dataReturnType === 'full' && (\n <File.Import name={['ResponseConfig']} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} isTypeOnly />\n )}\n </>\n )}\n {shouldUseClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}\n {!shouldUseClientPlugin && (\n <File.Import name={['buildFormData']} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/config.ts')} />\n )}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n transformer={options.queryKey}\n />\n\n {!shouldUseClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsCasing={options.client?.paramsCasing || options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n <File.Import name={['queryOptions']} path={importPath} />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType || 'data'}\n />\n {options.query && (\n <>\n <File.Import name={['createQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'CreateBaseQueryOptions', 'CreateQueryResult']} path={importPath} isTypeOnly />\n <Query\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n operation={operation}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n dataReturnType={options.client.dataReturnType || 'data'}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </>\n )}\n </File>\n )\n },\n})\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generators-D2Pw1laO.js","names":["Client","Client"],"sources":["../src/generators/mutationGenerator.tsx","../src/generators/queryGenerator.tsx"],"sourcesContent":["import path from 'node:path'\nimport { useDriver } from '@kubb/core/hooks'\nimport { ClientLegacy as Client, pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { difference } from 'remeda'\nimport { Mutation, MutationKey } from '../components'\nimport type { PluginSvelteQuery } from '../types'\n\nexport const mutationGenerator = createReactGenerator<PluginSvelteQuery>({\n name: 'svelte-query',\n Operation({ config, operation, generator, plugin }) {\n const {\n options,\n options: { output },\n } = plugin\n const driver = useDriver()\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const isQuery = !!options.query && options.query?.methods.some((method) => operation.method === method)\n const isMutation =\n options.mutation !== false &&\n !isQuery &&\n difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some((method) => operation.method === method)\n\n const importPath = options.mutation ? options.mutation.importPath : '@tanstack/svelte-query'\n\n const mutation = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginName: pluginTsName, type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, { pluginName: pluginZodName, type: 'function' }),\n }\n\n const hasClientPlugin = !!driver.getPlugin(pluginClientName)\n // Class-based clients are not compatible with query hooks, so we generate inline clients\n const shouldUseClientPlugin = hasClientPlugin && options.client.clientType !== 'class'\n const client = {\n name: shouldUseClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginName: pluginClientName,\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginName: pluginClientName }),\n }\n\n const mutationKey = {\n name: getName(operation, { type: 'const', suffix: 'MutationKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'MutationKey' }),\n }\n\n if (!isMutation) {\n return null\n }\n\n return (\n <File\n baseName={mutation.file.baseName}\n path={mutation.file.path}\n meta={mutation.file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={mutation.file.path} path={zod.file.path} />\n )}\n {options.client.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={options.client.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && (\n <File.Import name={['fetch']} root={mutation.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />\n )}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={mutation.file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {options.client.dataReturnType === 'full' && (\n <File.Import\n name={['ResponseConfig']}\n root={mutation.file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n )}\n </>\n )}\n {shouldUseClientPlugin && <File.Import name={[client.name]} root={mutation.file.path} path={client.file.path} />}\n {!shouldUseClientPlugin && (\n <File.Import name={['buildFormData']} root={mutation.file.path} path={path.resolve(config.root, config.output.path, '.kubb/config.ts')} />\n )}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={mutation.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <MutationKey\n name={mutationKey.name}\n typeName={mutationKey.typeName}\n operation={operation}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n transformer={options.mutationKey}\n />\n {!shouldUseClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsCasing={options.client?.paramsCasing || options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n {options.mutation && (\n <>\n <File.Import name={['createMutation']} path={importPath} />\n <File.Import name={['CreateMutationOptions', 'CreateMutationResult', 'QueryClient']} path={importPath} isTypeOnly />\n <Mutation\n name={mutation.name}\n clientName={client.name}\n typeName={mutation.typeName}\n typeSchemas={type.schemas}\n operation={operation}\n paramsCasing={options.paramsCasing}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n mutationKeyName={mutationKey.name}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import path from 'node:path'\nimport { useDriver } from '@kubb/core/hooks'\nimport { ClientLegacy as Client, pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { difference } from 'remeda'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginSvelteQuery } from '../types'\n\nexport const queryGenerator = createReactGenerator<PluginSvelteQuery>({\n name: 'svelte-query',\n Operation({ config, operation, generator, plugin }) {\n const {\n options,\n options: { output },\n } = plugin\n const driver = useDriver()\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(\n (method) => operation.method === method,\n )\n const importPath = options.query ? options.query.importPath : '@tanstack/svelte-query'\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const hasClientPlugin = !!driver.getPlugin(pluginClientName)\n // Class-based clients are not compatible with query hooks, so we generate inline clients\n const shouldUseClientPlugin = hasClientPlugin && options.client.clientType !== 'class'\n const client = {\n name: shouldUseClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginName: pluginClientName,\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginName: pluginClientName }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'QueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'QueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'QueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n //todo remove type?\n schemas: getSchemas(operation, {\n pluginName: pluginTsName,\n type: 'type',\n }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, {\n pluginName: pluginZodName,\n type: 'function',\n }),\n }\n\n if (!isQuery || isMutation) {\n return null\n }\n\n return (\n <File\n baseName={query.file.baseName}\n path={query.file.path}\n meta={query.file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={query.file.path} path={zod.file.path} />\n )}\n {options.client.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={options.client.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && (\n <File.Import name={['fetch']} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />\n )}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={query.file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {options.client.dataReturnType === 'full' && (\n <File.Import name={['ResponseConfig']} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} isTypeOnly />\n )}\n </>\n )}\n {shouldUseClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}\n {!shouldUseClientPlugin && (\n <File.Import name={['buildFormData']} root={query.file.path} path={path.resolve(config.root, config.output.path, '.kubb/config.ts')} />\n )}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n transformer={options.queryKey}\n />\n\n {!shouldUseClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType || 'data'}\n paramsCasing={options.client?.paramsCasing || options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n <File.Import name={['queryOptions']} path={importPath} />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType || 'data'}\n />\n {options.query && (\n <>\n <File.Import name={['createQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'CreateBaseQueryOptions', 'CreateQueryResult']} path={importPath} isTypeOnly />\n <Query\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n operation={operation}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n dataReturnType={options.client.dataReturnType || 'data'}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </>\n )}\n </File>\n )\n },\n})\n"],"mappings":"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"}