@kubb/plugin-react-query 3.0.0-alpha.1 → 3.0.0-alpha.11
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.
- package/dist/chunk-7ZODZVKP.cjs +1427 -0
- package/dist/chunk-7ZODZVKP.cjs.map +1 -0
- package/dist/{chunk-5IL6M74X.js → chunk-ZYTZV43V.js} +295 -382
- package/dist/chunk-ZYTZV43V.js.map +1 -0
- package/dist/components.cjs +23 -14
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.cts +1 -2
- package/dist/components.d.ts +1 -2
- package/dist/components.js +2 -14
- package/dist/components.js.map +1 -1
- package/dist/{index-C9fwRDH7.d.cts → index-5kpkk-7M.d.cts} +7 -41
- package/dist/{index-C9fwRDH7.d.ts → index-5kpkk-7M.d.ts} +7 -41
- package/dist/index.cjs +67 -107
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.js +30 -77
- package/dist/index.js.map +1 -1
- package/package.json +15 -15
- package/src/OperationGenerator.tsx +0 -29
- package/src/__snapshots__/mutateAsQuery/updatePetWithForm.ts +14 -9
- package/src/__snapshots__/pathParamsTypeInline/getPetById.ts +14 -9
- package/src/__snapshots__/pathParamsTypeObject/getPetById.ts +14 -9
- package/src/__snapshots__/queryOptions/getPetById.ts +9 -5
- package/src/__snapshots__/queryWithoutQueryOptions/getPetById.ts +11 -7
- package/src/__snapshots__/variablesTypeMutate/deletePet.ts +6 -3
- package/src/components/Mutation.tsx +30 -30
- package/src/components/Query.tsx +74 -78
- package/src/components/QueryKey.tsx +13 -9
- package/src/components/QueryOptions.tsx +21 -13
- package/src/components/SchemaType.tsx +9 -5
- package/src/components/__snapshots__/gen/showPetById.ts +58 -48
- package/src/components/__snapshots__/gen/useCreatePets.ts +36 -36
- package/src/components/__snapshots__/gen/useCreatePetsMutate.ts +36 -37
- package/src/components/index.ts +0 -1
- package/src/plugin.ts +16 -34
- package/src/types.ts +0 -3
- package/dist/chunk-5IL6M74X.js.map +0 -1
- package/dist/chunk-JFX7DCS7.cjs +0 -1504
- package/dist/chunk-JFX7DCS7.cjs.map +0 -1
- package/src/__snapshots__/upload/UploadFile.ts +0 -67
- package/src/__snapshots__/uploadMutation/UploadFile.ts +0 -44
- package/src/components/Operations.tsx +0 -74
package/dist/index.cjs
CHANGED
|
@@ -1,67 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunk7ZODZVKP_cjs = require('./chunk-7ZODZVKP.cjs');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
var core = require('@kubb/core');
|
|
6
|
+
var transformers = require('@kubb/core/transformers');
|
|
7
|
+
var utils = require('@kubb/core/utils');
|
|
8
|
+
var pluginOas = require('@kubb/plugin-oas');
|
|
9
|
+
var pluginTs = require('@kubb/plugin-ts');
|
|
10
|
+
var pluginZod = require('@kubb/plugin-zod');
|
|
11
|
+
var components = require('@kubb/plugin-oas/components');
|
|
12
|
+
var react = require('@kubb/react');
|
|
13
|
+
var jsxRuntime = require('@kubb/react/jsx-runtime');
|
|
3
14
|
|
|
15
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
4
16
|
|
|
17
|
+
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
5
18
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _chunkJFX7DCS7cjs = require('./chunk-JFX7DCS7.cjs');
|
|
9
|
-
|
|
10
|
-
// src/plugin.ts
|
|
11
|
-
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
12
|
-
var _core = require('@kubb/core');
|
|
13
|
-
var _transformers = require('@kubb/core/transformers');
|
|
14
|
-
var _utils = require('@kubb/core/utils');
|
|
15
|
-
var _pluginoas = require('@kubb/plugin-oas');
|
|
16
|
-
var _utils3 = require('@kubb/plugin-oas/utils');
|
|
17
|
-
var _plugints = require('@kubb/plugin-ts');
|
|
18
|
-
var _pluginzod = require('@kubb/plugin-zod');
|
|
19
|
-
|
|
20
|
-
// src/OperationGenerator.tsx
|
|
21
|
-
|
|
22
|
-
var _components = require('@kubb/plugin-oas/components');
|
|
23
|
-
var _react = require('@kubb/react');
|
|
24
|
-
var _jsxruntime = require('@kubb/react/jsx-runtime');
|
|
25
|
-
var OperationGenerator = class extends _pluginoas.OperationGenerator {
|
|
26
|
-
async all(operations) {
|
|
27
|
-
const { pluginManager, oas, plugin, mode } = this.context;
|
|
28
|
-
const root = _react.createRoot.call(void 0, {
|
|
29
|
-
logger: pluginManager.logger
|
|
30
|
-
});
|
|
31
|
-
const templates = {
|
|
32
|
-
mutation: _chunkJFX7DCS7cjs.Mutation.templates,
|
|
33
|
-
query: _chunkJFX7DCS7cjs.Query.templates,
|
|
34
|
-
queryOptions: _chunkJFX7DCS7cjs.QueryOptions.templates,
|
|
35
|
-
queryKey: _chunkJFX7DCS7cjs.QueryKey.templates,
|
|
36
|
-
queryImports: _chunkJFX7DCS7cjs.QueryImports.templates,
|
|
37
|
-
operations: _chunkJFX7DCS7cjs.Operations.templates,
|
|
38
|
-
...this.options.templates
|
|
39
|
-
};
|
|
40
|
-
root.render(
|
|
41
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.App, { pluginManager, plugin, mode, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _components.Oas, { oas, operations, generator: this, children: templates.operations && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJFX7DCS7cjs.Operations.File, { templates: templates.operations }) }) })
|
|
42
|
-
);
|
|
43
|
-
return root.files;
|
|
44
|
-
}
|
|
19
|
+
var OperationGenerator = class extends pluginOas.OperationGenerator {
|
|
45
20
|
async operation(operation, options) {
|
|
46
21
|
const { oas, pluginManager, plugin, mode } = this.context;
|
|
47
|
-
const root =
|
|
22
|
+
const root = react.createRoot({
|
|
48
23
|
logger: pluginManager.logger
|
|
49
24
|
});
|
|
50
25
|
const templates = {
|
|
51
|
-
mutation:
|
|
52
|
-
query:
|
|
53
|
-
queryOptions:
|
|
54
|
-
queryKey:
|
|
55
|
-
queryImports:
|
|
26
|
+
mutation: chunk7ZODZVKP_cjs.Mutation.templates,
|
|
27
|
+
query: chunk7ZODZVKP_cjs.Query.templates,
|
|
28
|
+
queryOptions: chunk7ZODZVKP_cjs.QueryOptions.templates,
|
|
29
|
+
queryKey: chunk7ZODZVKP_cjs.QueryKey.templates,
|
|
30
|
+
queryImports: chunk7ZODZVKP_cjs.QueryImports.templates,
|
|
56
31
|
...options.templates
|
|
57
32
|
};
|
|
58
|
-
const isQuery = typeof options.query === "boolean" ? true :
|
|
33
|
+
const isQuery = typeof options.query === "boolean" ? true : options.query?.methods.some((method) => operation.method === method);
|
|
59
34
|
const isMutate = !isQuery && options.mutate && options.mutate.methods.some((method) => operation.method === method);
|
|
60
35
|
root.render(
|
|
61
|
-
/* @__PURE__ */
|
|
62
|
-
isMutate &&
|
|
63
|
-
isQuery &&
|
|
64
|
-
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.App, { pluginManager, plugin: { ...plugin, options }, mode, children: /* @__PURE__ */ jsxRuntime.jsx(components.Oas, { oas, operations: [operation], generator: this, children: /* @__PURE__ */ jsxRuntime.jsxs(components.Oas.Operation, { operation, children: [
|
|
37
|
+
isMutate && templates?.mutation && /* @__PURE__ */ jsxRuntime.jsx(chunk7ZODZVKP_cjs.Mutation.File, { templates: templates.mutation }),
|
|
38
|
+
isQuery && templates?.query && templates.queryKey && templates.queryOptions && templates.queryImports && /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
chunk7ZODZVKP_cjs.Query.File,
|
|
65
40
|
{
|
|
66
41
|
templates: {
|
|
67
42
|
query: templates.query,
|
|
@@ -79,7 +54,7 @@ var OperationGenerator = class extends _pluginoas.OperationGenerator {
|
|
|
79
54
|
|
|
80
55
|
// src/plugin.ts
|
|
81
56
|
var pluginReactQueryName = "plugin-react-query";
|
|
82
|
-
var pluginReactQuery =
|
|
57
|
+
var pluginReactQuery = core.createPlugin((options) => {
|
|
83
58
|
const {
|
|
84
59
|
output = { path: "hooks" },
|
|
85
60
|
group,
|
|
@@ -89,7 +64,7 @@ var pluginReactQuery = _core.createPlugin.call(void 0, (options) => {
|
|
|
89
64
|
parser,
|
|
90
65
|
suspense = {},
|
|
91
66
|
infinite,
|
|
92
|
-
transformers = {},
|
|
67
|
+
transformers: transformers$1 = {},
|
|
93
68
|
dataReturnType = "data",
|
|
94
69
|
pathParamsType = "inline",
|
|
95
70
|
mutate = {},
|
|
@@ -97,9 +72,13 @@ var pluginReactQuery = _core.createPlugin.call(void 0, (options) => {
|
|
|
97
72
|
queryOptions = {},
|
|
98
73
|
templates
|
|
99
74
|
} = options;
|
|
100
|
-
const template =
|
|
75
|
+
const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`;
|
|
101
76
|
return {
|
|
102
77
|
name: pluginReactQueryName,
|
|
78
|
+
output: {
|
|
79
|
+
exportType: "barrelNamed",
|
|
80
|
+
...output
|
|
81
|
+
},
|
|
103
82
|
options: {
|
|
104
83
|
client: {
|
|
105
84
|
importPath: "@kubb/plugin-client/client",
|
|
@@ -127,55 +106,54 @@ var pluginReactQuery = _core.createPlugin.call(void 0, (options) => {
|
|
|
127
106
|
...mutate
|
|
128
107
|
} : false,
|
|
129
108
|
templates: {
|
|
130
|
-
mutation:
|
|
131
|
-
query:
|
|
132
|
-
queryOptions:
|
|
133
|
-
queryKey:
|
|
134
|
-
queryImports:
|
|
135
|
-
operations: _chunkJFX7DCS7cjs.Operations.templates,
|
|
109
|
+
mutation: chunk7ZODZVKP_cjs.Mutation.templates,
|
|
110
|
+
query: chunk7ZODZVKP_cjs.Query.templates,
|
|
111
|
+
queryOptions: chunk7ZODZVKP_cjs.QueryOptions.templates,
|
|
112
|
+
queryKey: chunk7ZODZVKP_cjs.QueryKey.templates,
|
|
113
|
+
queryImports: chunk7ZODZVKP_cjs.QueryImports.templates,
|
|
136
114
|
...templates
|
|
137
115
|
},
|
|
138
116
|
parser
|
|
139
117
|
},
|
|
140
|
-
pre: [
|
|
118
|
+
pre: [pluginOas.pluginOasName, pluginTs.pluginTsName, parser === "zod" ? pluginZod.pluginZodName : void 0].filter(Boolean),
|
|
141
119
|
resolvePath(baseName, pathMode, options2) {
|
|
142
|
-
const root =
|
|
143
|
-
const mode =
|
|
120
|
+
const root = path__default.default.resolve(this.config.root, this.config.output.path);
|
|
121
|
+
const mode = pathMode ?? core.FileManager.getMode(path__default.default.resolve(root, output.path));
|
|
144
122
|
if (mode === "single") {
|
|
145
|
-
return
|
|
123
|
+
return path__default.default.resolve(root, output.path);
|
|
146
124
|
}
|
|
147
|
-
if (
|
|
148
|
-
const tag =
|
|
149
|
-
return
|
|
125
|
+
if (options2?.tag && group?.type === "tag") {
|
|
126
|
+
const tag = transformers.camelCase(options2.tag);
|
|
127
|
+
return path__default.default.resolve(root, utils.renderTemplate(template, { tag }), baseName);
|
|
150
128
|
}
|
|
151
|
-
return
|
|
129
|
+
return path__default.default.resolve(root, output.path, baseName);
|
|
152
130
|
},
|
|
153
131
|
resolveName(name, type) {
|
|
154
|
-
let resolvedName =
|
|
132
|
+
let resolvedName = transformers.camelCase(name);
|
|
155
133
|
if (type === "file" || type === "function") {
|
|
156
|
-
resolvedName =
|
|
134
|
+
resolvedName = transformers.camelCase(name, {
|
|
157
135
|
prefix: "use",
|
|
158
136
|
isFile: type === "file"
|
|
159
137
|
});
|
|
160
138
|
}
|
|
161
139
|
if (type === "type") {
|
|
162
|
-
resolvedName =
|
|
140
|
+
resolvedName = transformers.pascalCase(name);
|
|
163
141
|
}
|
|
164
142
|
if (type) {
|
|
165
|
-
return
|
|
143
|
+
return transformers$1?.name?.(resolvedName, type) || resolvedName;
|
|
166
144
|
}
|
|
167
145
|
return resolvedName;
|
|
168
146
|
},
|
|
169
147
|
async buildStart() {
|
|
170
|
-
const [swaggerPlugin] =
|
|
171
|
-
const oas = await swaggerPlugin.
|
|
172
|
-
const root =
|
|
173
|
-
const mode =
|
|
148
|
+
const [swaggerPlugin] = core.PluginManager.getDependedPlugins(this.plugins, [pluginOas.pluginOasName]);
|
|
149
|
+
const oas = await swaggerPlugin.context.getOas();
|
|
150
|
+
const root = path__default.default.resolve(this.config.root, this.config.output.path);
|
|
151
|
+
const mode = core.FileManager.getMode(path__default.default.resolve(root, output.path));
|
|
174
152
|
const operationGenerator = new OperationGenerator(this.plugin.options, {
|
|
175
153
|
oas,
|
|
176
154
|
pluginManager: this.pluginManager,
|
|
177
155
|
plugin: this.plugin,
|
|
178
|
-
contentType: swaggerPlugin.
|
|
156
|
+
contentType: swaggerPlugin.context.contentType,
|
|
179
157
|
exclude,
|
|
180
158
|
include,
|
|
181
159
|
override,
|
|
@@ -183,41 +161,23 @@ var pluginReactQuery = _core.createPlugin.call(void 0, (options) => {
|
|
|
183
161
|
});
|
|
184
162
|
const files = await operationGenerator.build();
|
|
185
163
|
await this.addFile(...files);
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if (!path2.endsWith(".ts") || !source) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
return this.fileManager.write(path2, source, { sanity: false });
|
|
192
|
-
},
|
|
193
|
-
async buildEnd() {
|
|
194
|
-
if (this.config.output.write === false) {
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
const root = _path2.default.resolve(this.config.root, this.config.output.path);
|
|
198
|
-
if (_optionalChain([group, 'optionalAccess', _12 => _12.type]) === "tag") {
|
|
199
|
-
const rootFiles = await _utils3.getGroupedByTagFiles.call(void 0, {
|
|
200
|
-
logger: this.logger,
|
|
201
|
-
files: this.fileManager.files,
|
|
202
|
-
plugin: this.plugin,
|
|
203
|
-
template,
|
|
204
|
-
exportAs: group.exportAs || "{{tag}}Hooks",
|
|
164
|
+
if (this.config.output.exportType) {
|
|
165
|
+
const barrelFiles = await this.fileManager.getBarrelFiles({
|
|
205
166
|
root,
|
|
206
|
-
output
|
|
167
|
+
output,
|
|
168
|
+
files: this.fileManager.files,
|
|
169
|
+
meta: {
|
|
170
|
+
pluginKey: this.plugin.key
|
|
171
|
+
},
|
|
172
|
+
logger: this.logger
|
|
207
173
|
});
|
|
208
|
-
await this.addFile(...
|
|
174
|
+
await this.addFile(...barrelFiles);
|
|
209
175
|
}
|
|
210
|
-
await this.fileManager.addIndexes({
|
|
211
|
-
root,
|
|
212
|
-
output,
|
|
213
|
-
meta: { pluginKey: this.plugin.key },
|
|
214
|
-
logger: this.logger
|
|
215
|
-
});
|
|
216
176
|
}
|
|
217
177
|
};
|
|
218
178
|
});
|
|
219
179
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
180
|
+
exports.pluginReactQuery = pluginReactQuery;
|
|
181
|
+
exports.pluginReactQueryName = pluginReactQueryName;
|
|
182
|
+
//# sourceMappingURL=index.cjs.map
|
|
223
183
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-react-query/dist/index.cjs","../src/plugin.ts","../src/OperationGenerator.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/plugin-react-query/dist/index.cjs","sourcesContent":[null,"import path from 'node:path'\n\nimport { FileManager, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { renderTemplate } from '@kubb/core/utils'\nimport { pluginOasName } from '@kubb/plugin-oas'\nimport { getGroupedByTagFiles } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport { OperationGenerator } from './OperationGenerator.tsx'\nimport { Mutation, Operations, Query, QueryKey, QueryOptions } from './components/index.ts'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { QueryImports } from './components/QueryImports.tsx'\nimport type { PluginReactQuery } from './types.ts'\n\nexport const pluginReactQueryName = 'plugin-react-query' satisfies PluginReactQuery['name']\n\nexport const pluginReactQuery = createPlugin<PluginReactQuery>((options) => {\n const {\n output = { path: 'hooks' },\n group,\n exclude = [],\n include,\n override = [],\n parser,\n suspense = {},\n infinite,\n transformers = {},\n dataReturnType = 'data',\n pathParamsType = 'inline',\n mutate = {},\n query = {},\n queryOptions = {},\n templates,\n } = options\n const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`\n\n return {\n name: pluginReactQueryName,\n options: {\n client: {\n importPath: '@kubb/plugin-client/client',\n ...options.client,\n },\n dataReturnType,\n pathParamsType,\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n suspense,\n query: query\n ? {\n queryKey: (key: unknown[]) => key,\n methods: ['get'],\n importPath: '@tanstack/react-query',\n ...query,\n }\n : false,\n queryOptions,\n mutate: mutate\n ? {\n variablesType: 'hook',\n methods: ['post', 'put', 'patch', 'delete'],\n ...mutate,\n }\n : false,\n templates: {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n operations: Operations.templates,\n ...templates,\n },\n parser,\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 ?? FileManager.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 (options?.tag && group?.type === 'tag') {\n const tag = camelCase(options.tag)\n\n return path.resolve(root, renderTemplate(template, { tag }), baseName)\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 prefix: 'use',\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 [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.api.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.api.contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build()\n await this.addFile(...files)\n },\n async writeFile(path, source) {\n if (!path.endsWith('.ts') || !source) {\n return\n }\n\n return this.fileManager.write(path, source, { sanity: false })\n },\n async buildEnd() {\n if (this.config.output.write === false) {\n return\n }\n\n const root = path.resolve(this.config.root, this.config.output.path)\n\n if (group?.type === 'tag') {\n const rootFiles = await getGroupedByTagFiles({\n logger: this.logger,\n files: this.fileManager.files,\n plugin: this.plugin,\n template,\n exportAs: group.exportAs || '{{tag}}Hooks',\n root,\n output,\n })\n\n await this.addFile(...rootFiles)\n }\n\n await this.fileManager.addIndexes({\n root,\n output,\n meta: { pluginKey: this.plugin.key },\n logger: this.logger,\n })\n },\n }\n})\n","import { OperationGenerator as Generator } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { App, createRoot } from '@kubb/react'\n\nimport { Mutation } from './components/Mutation.tsx'\nimport { Operations } from './components/Operations.tsx'\nimport { Query } from './components/Query.tsx'\nimport { QueryKey } from './components/QueryKey.tsx'\nimport { QueryOptions } from './components/QueryOptions.tsx'\n\nimport type { Operation } from '@kubb/oas'\nimport type { OperationMethodResult } from '@kubb/plugin-oas'\nimport { QueryImports } from './components/QueryImports.tsx'\nimport type { FileMeta, PluginReactQuery } from './types.ts'\n\nexport class OperationGenerator extends Generator<PluginReactQuery['resolvedOptions'], PluginReactQuery, FileMeta> {\n async all(operations: Operation[]): OperationMethodResult<FileMeta> {\n const { pluginManager, oas, plugin, mode } = this.context\n\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const templates = {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n operations: Operations.templates,\n ...this.options.templates,\n }\n\n root.render(\n <App pluginManager={pluginManager} plugin={plugin} mode={mode}>\n <Oas oas={oas} operations={operations} generator={this}>\n {templates.operations && <Operations.File templates={templates.operations} />}\n </Oas>\n </App>,\n )\n\n return root.files\n }\n\n async operation(operation: Operation, options: PluginReactQuery['resolvedOptions']): OperationMethodResult<FileMeta> {\n const { oas, pluginManager, plugin, mode } = this.context\n\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const templates = {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n ...options.templates,\n }\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutate = !isQuery && options.mutate && options.mutate.methods.some((method) => operation.method === method)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas} operations={[operation]} generator={this}>\n <Oas.Operation operation={operation}>\n {isMutate && templates?.mutation && <Mutation.File templates={templates.mutation} />}\n {isQuery && templates?.query && templates.queryKey && templates.queryOptions && templates.queryImports && (\n <Query.File\n templates={{\n query: templates.query,\n queryKey: templates.queryKey,\n queryOptions: templates.queryOptions,\n queryImports: templates.queryImports,\n }}\n />\n )}\n </Oas.Operation>\n </Oas>\n </App>,\n )\n\n return root.files\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/OperationGenerator.tsx","../src/plugin.ts"],"names":["Generator","createRoot","Mutation","Query","QueryOptions","QueryKey","QueryImports","jsx","App","Oas","jsxs","createPlugin","transformers","pluginOasName","pluginTsName","pluginZodName","options","path","FileManager","camelCase","renderTemplate","pascalCase","PluginManager"],"mappings":"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","file":"index.cjs","sourcesContent":["import { OperationGenerator as Generator } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { App, createRoot } from '@kubb/react'\n\nimport { Mutation } from './components/Mutation.tsx'\nimport { Query } from './components/Query.tsx'\nimport { QueryKey } from './components/QueryKey.tsx'\nimport { QueryOptions } from './components/QueryOptions.tsx'\n\nimport type { Operation } from '@kubb/oas'\nimport type { OperationMethodResult } from '@kubb/plugin-oas'\nimport { QueryImports } from './components/QueryImports.tsx'\nimport type { FileMeta, PluginReactQuery } from './types.ts'\n\nexport class OperationGenerator extends Generator<PluginReactQuery['resolvedOptions'], PluginReactQuery, FileMeta> {\n async operation(operation: Operation, options: PluginReactQuery['resolvedOptions']): OperationMethodResult<FileMeta> {\n const { oas, pluginManager, plugin, mode } = this.context\n\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const templates = {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n ...options.templates,\n }\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutate = !isQuery && options.mutate && options.mutate.methods.some((method) => operation.method === method)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas} operations={[operation]} generator={this}>\n <Oas.Operation operation={operation}>\n {isMutate && templates?.mutation && <Mutation.File templates={templates.mutation} />}\n {isQuery && templates?.query && templates.queryKey && templates.queryOptions && templates.queryImports && (\n <Query.File\n templates={{\n query: templates.query,\n queryKey: templates.queryKey,\n queryOptions: templates.queryOptions,\n queryImports: templates.queryImports,\n }}\n />\n )}\n </Oas.Operation>\n </Oas>\n </App>,\n )\n\n return root.files\n }\n}\n","import path from 'node:path'\n\nimport { FileManager, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { renderTemplate } from '@kubb/core/utils'\nimport { pluginOasName } from '@kubb/plugin-oas'\n\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport { OperationGenerator } from './OperationGenerator.tsx'\nimport { Mutation, Query, QueryKey, QueryOptions } from './components/index.ts'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { QueryImports } from './components/QueryImports.tsx'\nimport type { PluginReactQuery } from './types.ts'\n\nexport const pluginReactQueryName = 'plugin-react-query' satisfies PluginReactQuery['name']\n\nexport const pluginReactQuery = createPlugin<PluginReactQuery>((options) => {\n const {\n output = { path: 'hooks' },\n group,\n exclude = [],\n include,\n override = [],\n parser,\n suspense = {},\n infinite,\n transformers = {},\n dataReturnType = 'data',\n pathParamsType = 'inline',\n mutate = {},\n query = {},\n queryOptions = {},\n templates,\n } = options\n const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`\n\n return {\n name: pluginReactQueryName,\n output: {\n exportType: 'barrelNamed',\n ...output,\n },\n options: {\n client: {\n importPath: '@kubb/plugin-client/client',\n ...options.client,\n },\n dataReturnType,\n pathParamsType,\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n suspense,\n query: query\n ? {\n queryKey: (key: unknown[]) => key,\n methods: ['get'],\n importPath: '@tanstack/react-query',\n ...query,\n }\n : false,\n queryOptions,\n mutate: mutate\n ? {\n variablesType: 'hook',\n methods: ['post', 'put', 'patch', 'delete'],\n ...mutate,\n }\n : false,\n templates: {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n ...templates,\n },\n parser,\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 ?? FileManager.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 (options?.tag && group?.type === 'tag') {\n const tag = camelCase(options.tag)\n\n return path.resolve(root, renderTemplate(template, { tag }), baseName)\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 prefix: 'use',\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 [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build()\n await this.addFile(...files)\n\n if (this.config.output.exportType) {\n const barrelFiles = await this.fileManager.getBarrelFiles({\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n }\n },\n }\n})\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as _kubb_core from '@kubb/core';
|
|
2
|
-
import { O as Options, P as PluginReactQuery } from './index-
|
|
2
|
+
import { O as Options, P as PluginReactQuery } from './index-5kpkk-7M.cjs';
|
|
3
3
|
import '@kubb/core/utils';
|
|
4
4
|
import '@kubb/oas';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '@kubb/fs/types';
|
|
7
7
|
import '@kubb/plugin-oas';
|
|
8
|
-
import '@kubb/react';
|
|
9
8
|
|
|
10
9
|
declare const pluginReactQueryName = "plugin-react-query";
|
|
11
10
|
declare const pluginReactQuery: (options?: Options | undefined) => _kubb_core.UserPluginWithLifeCycle<PluginReactQuery>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as _kubb_core from '@kubb/core';
|
|
2
|
-
import { O as Options, P as PluginReactQuery } from './index-
|
|
2
|
+
import { O as Options, P as PluginReactQuery } from './index-5kpkk-7M.js';
|
|
3
3
|
import '@kubb/core/utils';
|
|
4
4
|
import '@kubb/oas';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '@kubb/fs/types';
|
|
7
7
|
import '@kubb/plugin-oas';
|
|
8
|
-
import '@kubb/react';
|
|
9
8
|
|
|
10
9
|
declare const pluginReactQueryName = "plugin-react-query";
|
|
11
10
|
declare const pluginReactQuery: (options?: Options | undefined) => _kubb_core.UserPluginWithLifeCycle<PluginReactQuery>;
|
package/dist/index.js
CHANGED
|
@@ -1,47 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
} from
|
|
1
|
+
import { Mutation, Query, QueryOptions, QueryKey, QueryImports } from './chunk-ZYTZV43V.js';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { createPlugin, FileManager, PluginManager } from '@kubb/core';
|
|
4
|
+
import { camelCase, pascalCase } from '@kubb/core/transformers';
|
|
5
|
+
import { renderTemplate } from '@kubb/core/utils';
|
|
6
|
+
import { pluginOasName, OperationGenerator as OperationGenerator$1 } from '@kubb/plugin-oas';
|
|
7
|
+
import { pluginTsName } from '@kubb/plugin-ts';
|
|
8
|
+
import { pluginZodName } from '@kubb/plugin-zod';
|
|
9
|
+
import { Oas } from '@kubb/plugin-oas/components';
|
|
10
|
+
import { createRoot, App } from '@kubb/react';
|
|
11
|
+
import { jsx, jsxs } from '@kubb/react/jsx-runtime';
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
import path from "path";
|
|
12
|
-
import { FileManager, PluginManager, createPlugin } from "@kubb/core";
|
|
13
|
-
import { camelCase, pascalCase } from "@kubb/core/transformers";
|
|
14
|
-
import { renderTemplate } from "@kubb/core/utils";
|
|
15
|
-
import { pluginOasName } from "@kubb/plugin-oas";
|
|
16
|
-
import { getGroupedByTagFiles } from "@kubb/plugin-oas/utils";
|
|
17
|
-
import { pluginTsName } from "@kubb/plugin-ts";
|
|
18
|
-
import { pluginZodName } from "@kubb/plugin-zod";
|
|
19
|
-
|
|
20
|
-
// src/OperationGenerator.tsx
|
|
21
|
-
import { OperationGenerator as Generator } from "@kubb/plugin-oas";
|
|
22
|
-
import { Oas } from "@kubb/plugin-oas/components";
|
|
23
|
-
import { App, createRoot } from "@kubb/react";
|
|
24
|
-
import { jsx, jsxs } from "@kubb/react/jsx-runtime";
|
|
25
|
-
var OperationGenerator = class extends Generator {
|
|
26
|
-
async all(operations) {
|
|
27
|
-
const { pluginManager, oas, plugin, mode } = this.context;
|
|
28
|
-
const root = createRoot({
|
|
29
|
-
logger: pluginManager.logger
|
|
30
|
-
});
|
|
31
|
-
const templates = {
|
|
32
|
-
mutation: Mutation.templates,
|
|
33
|
-
query: Query.templates,
|
|
34
|
-
queryOptions: QueryOptions.templates,
|
|
35
|
-
queryKey: QueryKey.templates,
|
|
36
|
-
queryImports: QueryImports.templates,
|
|
37
|
-
operations: Operations.templates,
|
|
38
|
-
...this.options.templates
|
|
39
|
-
};
|
|
40
|
-
root.render(
|
|
41
|
-
/* @__PURE__ */ jsx(App, { pluginManager, plugin, mode, children: /* @__PURE__ */ jsx(Oas, { oas, operations, generator: this, children: templates.operations && /* @__PURE__ */ jsx(Operations.File, { templates: templates.operations }) }) })
|
|
42
|
-
);
|
|
43
|
-
return root.files;
|
|
44
|
-
}
|
|
13
|
+
var OperationGenerator = class extends OperationGenerator$1 {
|
|
45
14
|
async operation(operation, options) {
|
|
46
15
|
const { oas, pluginManager, plugin, mode } = this.context;
|
|
47
16
|
const root = createRoot({
|
|
@@ -100,6 +69,10 @@ var pluginReactQuery = createPlugin((options) => {
|
|
|
100
69
|
const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`;
|
|
101
70
|
return {
|
|
102
71
|
name: pluginReactQueryName,
|
|
72
|
+
output: {
|
|
73
|
+
exportType: "barrelNamed",
|
|
74
|
+
...output
|
|
75
|
+
},
|
|
103
76
|
options: {
|
|
104
77
|
client: {
|
|
105
78
|
importPath: "@kubb/plugin-client/client",
|
|
@@ -132,7 +105,6 @@ var pluginReactQuery = createPlugin((options) => {
|
|
|
132
105
|
queryOptions: QueryOptions.templates,
|
|
133
106
|
queryKey: QueryKey.templates,
|
|
134
107
|
queryImports: QueryImports.templates,
|
|
135
|
-
operations: Operations.templates,
|
|
136
108
|
...templates
|
|
137
109
|
},
|
|
138
110
|
parser
|
|
@@ -168,14 +140,14 @@ var pluginReactQuery = createPlugin((options) => {
|
|
|
168
140
|
},
|
|
169
141
|
async buildStart() {
|
|
170
142
|
const [swaggerPlugin] = PluginManager.getDependedPlugins(this.plugins, [pluginOasName]);
|
|
171
|
-
const oas = await swaggerPlugin.
|
|
143
|
+
const oas = await swaggerPlugin.context.getOas();
|
|
172
144
|
const root = path.resolve(this.config.root, this.config.output.path);
|
|
173
145
|
const mode = FileManager.getMode(path.resolve(root, output.path));
|
|
174
146
|
const operationGenerator = new OperationGenerator(this.plugin.options, {
|
|
175
147
|
oas,
|
|
176
148
|
pluginManager: this.pluginManager,
|
|
177
149
|
plugin: this.plugin,
|
|
178
|
-
contentType: swaggerPlugin.
|
|
150
|
+
contentType: swaggerPlugin.context.contentType,
|
|
179
151
|
exclude,
|
|
180
152
|
include,
|
|
181
153
|
override,
|
|
@@ -183,41 +155,22 @@ var pluginReactQuery = createPlugin((options) => {
|
|
|
183
155
|
});
|
|
184
156
|
const files = await operationGenerator.build();
|
|
185
157
|
await this.addFile(...files);
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if (!path2.endsWith(".ts") || !source) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
return this.fileManager.write(path2, source, { sanity: false });
|
|
192
|
-
},
|
|
193
|
-
async buildEnd() {
|
|
194
|
-
if (this.config.output.write === false) {
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
const root = path.resolve(this.config.root, this.config.output.path);
|
|
198
|
-
if (group?.type === "tag") {
|
|
199
|
-
const rootFiles = await getGroupedByTagFiles({
|
|
200
|
-
logger: this.logger,
|
|
201
|
-
files: this.fileManager.files,
|
|
202
|
-
plugin: this.plugin,
|
|
203
|
-
template,
|
|
204
|
-
exportAs: group.exportAs || "{{tag}}Hooks",
|
|
158
|
+
if (this.config.output.exportType) {
|
|
159
|
+
const barrelFiles = await this.fileManager.getBarrelFiles({
|
|
205
160
|
root,
|
|
206
|
-
output
|
|
161
|
+
output,
|
|
162
|
+
files: this.fileManager.files,
|
|
163
|
+
meta: {
|
|
164
|
+
pluginKey: this.plugin.key
|
|
165
|
+
},
|
|
166
|
+
logger: this.logger
|
|
207
167
|
});
|
|
208
|
-
await this.addFile(...
|
|
168
|
+
await this.addFile(...barrelFiles);
|
|
209
169
|
}
|
|
210
|
-
await this.fileManager.addIndexes({
|
|
211
|
-
root,
|
|
212
|
-
output,
|
|
213
|
-
meta: { pluginKey: this.plugin.key },
|
|
214
|
-
logger: this.logger
|
|
215
|
-
});
|
|
216
170
|
}
|
|
217
171
|
};
|
|
218
172
|
});
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
};
|
|
173
|
+
|
|
174
|
+
export { pluginReactQuery, pluginReactQueryName };
|
|
175
|
+
//# sourceMappingURL=index.js.map
|
|
223
176
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugin.ts","../src/OperationGenerator.tsx"],"sourcesContent":["import path from 'node:path'\n\nimport { FileManager, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { renderTemplate } from '@kubb/core/utils'\nimport { pluginOasName } from '@kubb/plugin-oas'\nimport { getGroupedByTagFiles } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport { OperationGenerator } from './OperationGenerator.tsx'\nimport { Mutation, Operations, Query, QueryKey, QueryOptions } from './components/index.ts'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { QueryImports } from './components/QueryImports.tsx'\nimport type { PluginReactQuery } from './types.ts'\n\nexport const pluginReactQueryName = 'plugin-react-query' satisfies PluginReactQuery['name']\n\nexport const pluginReactQuery = createPlugin<PluginReactQuery>((options) => {\n const {\n output = { path: 'hooks' },\n group,\n exclude = [],\n include,\n override = [],\n parser,\n suspense = {},\n infinite,\n transformers = {},\n dataReturnType = 'data',\n pathParamsType = 'inline',\n mutate = {},\n query = {},\n queryOptions = {},\n templates,\n } = options\n const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`\n\n return {\n name: pluginReactQueryName,\n options: {\n client: {\n importPath: '@kubb/plugin-client/client',\n ...options.client,\n },\n dataReturnType,\n pathParamsType,\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n suspense,\n query: query\n ? {\n queryKey: (key: unknown[]) => key,\n methods: ['get'],\n importPath: '@tanstack/react-query',\n ...query,\n }\n : false,\n queryOptions,\n mutate: mutate\n ? {\n variablesType: 'hook',\n methods: ['post', 'put', 'patch', 'delete'],\n ...mutate,\n }\n : false,\n templates: {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n operations: Operations.templates,\n ...templates,\n },\n parser,\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 ?? FileManager.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 (options?.tag && group?.type === 'tag') {\n const tag = camelCase(options.tag)\n\n return path.resolve(root, renderTemplate(template, { tag }), baseName)\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 prefix: 'use',\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 [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.api.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.api.contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build()\n await this.addFile(...files)\n },\n async writeFile(path, source) {\n if (!path.endsWith('.ts') || !source) {\n return\n }\n\n return this.fileManager.write(path, source, { sanity: false })\n },\n async buildEnd() {\n if (this.config.output.write === false) {\n return\n }\n\n const root = path.resolve(this.config.root, this.config.output.path)\n\n if (group?.type === 'tag') {\n const rootFiles = await getGroupedByTagFiles({\n logger: this.logger,\n files: this.fileManager.files,\n plugin: this.plugin,\n template,\n exportAs: group.exportAs || '{{tag}}Hooks',\n root,\n output,\n })\n\n await this.addFile(...rootFiles)\n }\n\n await this.fileManager.addIndexes({\n root,\n output,\n meta: { pluginKey: this.plugin.key },\n logger: this.logger,\n })\n },\n }\n})\n","import { OperationGenerator as Generator } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { App, createRoot } from '@kubb/react'\n\nimport { Mutation } from './components/Mutation.tsx'\nimport { Operations } from './components/Operations.tsx'\nimport { Query } from './components/Query.tsx'\nimport { QueryKey } from './components/QueryKey.tsx'\nimport { QueryOptions } from './components/QueryOptions.tsx'\n\nimport type { Operation } from '@kubb/oas'\nimport type { OperationMethodResult } from '@kubb/plugin-oas'\nimport { QueryImports } from './components/QueryImports.tsx'\nimport type { FileMeta, PluginReactQuery } from './types.ts'\n\nexport class OperationGenerator extends Generator<PluginReactQuery['resolvedOptions'], PluginReactQuery, FileMeta> {\n async all(operations: Operation[]): OperationMethodResult<FileMeta> {\n const { pluginManager, oas, plugin, mode } = this.context\n\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const templates = {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n operations: Operations.templates,\n ...this.options.templates,\n }\n\n root.render(\n <App pluginManager={pluginManager} plugin={plugin} mode={mode}>\n <Oas oas={oas} operations={operations} generator={this}>\n {templates.operations && <Operations.File templates={templates.operations} />}\n </Oas>\n </App>,\n )\n\n return root.files\n }\n\n async operation(operation: Operation, options: PluginReactQuery['resolvedOptions']): OperationMethodResult<FileMeta> {\n const { oas, pluginManager, plugin, mode } = this.context\n\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const templates = {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n ...options.templates,\n }\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutate = !isQuery && options.mutate && options.mutate.methods.some((method) => operation.method === method)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas} operations={[operation]} generator={this}>\n <Oas.Operation operation={operation}>\n {isMutate && templates?.mutation && <Mutation.File templates={templates.mutation} />}\n {isQuery && templates?.query && templates.queryKey && templates.queryOptions && templates.queryImports && (\n <Query.File\n templates={{\n query: templates.query,\n queryKey: templates.queryKey,\n queryOptions: templates.queryOptions,\n queryImports: templates.queryImports,\n }}\n />\n )}\n </Oas.Operation>\n </Oas>\n </App>,\n )\n\n return root.files\n }\n}\n"],"mappings":"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","names":["options","path"]}
|
|
1
|
+
{"version":3,"sources":["../src/OperationGenerator.tsx","../src/plugin.ts"],"names":["Generator","options"],"mappings":"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","file":"index.js","sourcesContent":["import { OperationGenerator as Generator } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { App, createRoot } from '@kubb/react'\n\nimport { Mutation } from './components/Mutation.tsx'\nimport { Query } from './components/Query.tsx'\nimport { QueryKey } from './components/QueryKey.tsx'\nimport { QueryOptions } from './components/QueryOptions.tsx'\n\nimport type { Operation } from '@kubb/oas'\nimport type { OperationMethodResult } from '@kubb/plugin-oas'\nimport { QueryImports } from './components/QueryImports.tsx'\nimport type { FileMeta, PluginReactQuery } from './types.ts'\n\nexport class OperationGenerator extends Generator<PluginReactQuery['resolvedOptions'], PluginReactQuery, FileMeta> {\n async operation(operation: Operation, options: PluginReactQuery['resolvedOptions']): OperationMethodResult<FileMeta> {\n const { oas, pluginManager, plugin, mode } = this.context\n\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const templates = {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n ...options.templates,\n }\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutate = !isQuery && options.mutate && options.mutate.methods.some((method) => operation.method === method)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas} operations={[operation]} generator={this}>\n <Oas.Operation operation={operation}>\n {isMutate && templates?.mutation && <Mutation.File templates={templates.mutation} />}\n {isQuery && templates?.query && templates.queryKey && templates.queryOptions && templates.queryImports && (\n <Query.File\n templates={{\n query: templates.query,\n queryKey: templates.queryKey,\n queryOptions: templates.queryOptions,\n queryImports: templates.queryImports,\n }}\n />\n )}\n </Oas.Operation>\n </Oas>\n </App>,\n )\n\n return root.files\n }\n}\n","import path from 'node:path'\n\nimport { FileManager, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { renderTemplate } from '@kubb/core/utils'\nimport { pluginOasName } from '@kubb/plugin-oas'\n\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport { OperationGenerator } from './OperationGenerator.tsx'\nimport { Mutation, Query, QueryKey, QueryOptions } from './components/index.ts'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { QueryImports } from './components/QueryImports.tsx'\nimport type { PluginReactQuery } from './types.ts'\n\nexport const pluginReactQueryName = 'plugin-react-query' satisfies PluginReactQuery['name']\n\nexport const pluginReactQuery = createPlugin<PluginReactQuery>((options) => {\n const {\n output = { path: 'hooks' },\n group,\n exclude = [],\n include,\n override = [],\n parser,\n suspense = {},\n infinite,\n transformers = {},\n dataReturnType = 'data',\n pathParamsType = 'inline',\n mutate = {},\n query = {},\n queryOptions = {},\n templates,\n } = options\n const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`\n\n return {\n name: pluginReactQueryName,\n output: {\n exportType: 'barrelNamed',\n ...output,\n },\n options: {\n client: {\n importPath: '@kubb/plugin-client/client',\n ...options.client,\n },\n dataReturnType,\n pathParamsType,\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n suspense,\n query: query\n ? {\n queryKey: (key: unknown[]) => key,\n methods: ['get'],\n importPath: '@tanstack/react-query',\n ...query,\n }\n : false,\n queryOptions,\n mutate: mutate\n ? {\n variablesType: 'hook',\n methods: ['post', 'put', 'patch', 'delete'],\n ...mutate,\n }\n : false,\n templates: {\n mutation: Mutation.templates,\n query: Query.templates,\n queryOptions: QueryOptions.templates,\n queryKey: QueryKey.templates,\n queryImports: QueryImports.templates,\n ...templates,\n },\n parser,\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 ?? FileManager.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 (options?.tag && group?.type === 'tag') {\n const tag = camelCase(options.tag)\n\n return path.resolve(root, renderTemplate(template, { tag }), baseName)\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 prefix: 'use',\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 [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build()\n await this.addFile(...files)\n\n if (this.config.output.exportType) {\n const barrelFiles = await this.fileManager.getBarrelFiles({\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n }\n },\n }\n})\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-react-query",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.11",
|
|
4
4
|
"description": "Generator react-query hooks",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"faker",
|
|
@@ -54,27 +54,27 @@
|
|
|
54
54
|
"!/**/__tests__/**"
|
|
55
55
|
],
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@kubb/core": "3.0.0-alpha.
|
|
58
|
-
"@kubb/fs": "3.0.0-alpha.
|
|
59
|
-
"@kubb/oas": "3.0.0-alpha.
|
|
60
|
-
"@kubb/parser-ts": "3.0.0-alpha.
|
|
61
|
-
"@kubb/plugin-faker": "3.0.0-alpha.
|
|
62
|
-
"@kubb/plugin-oas": "3.0.0-alpha.
|
|
63
|
-
"@kubb/plugin-ts": "3.0.0-alpha.
|
|
64
|
-
"@kubb/plugin-zod": "3.0.0-alpha.
|
|
65
|
-
"@kubb/react": "3.0.0-alpha.
|
|
57
|
+
"@kubb/core": "3.0.0-alpha.11",
|
|
58
|
+
"@kubb/fs": "3.0.0-alpha.11",
|
|
59
|
+
"@kubb/oas": "3.0.0-alpha.11",
|
|
60
|
+
"@kubb/parser-ts": "3.0.0-alpha.11",
|
|
61
|
+
"@kubb/plugin-faker": "3.0.0-alpha.11",
|
|
62
|
+
"@kubb/plugin-oas": "3.0.0-alpha.11",
|
|
63
|
+
"@kubb/plugin-ts": "3.0.0-alpha.11",
|
|
64
|
+
"@kubb/plugin-zod": "3.0.0-alpha.11",
|
|
65
|
+
"@kubb/react": "3.0.0-alpha.11"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@types/react": "^18.3.
|
|
68
|
+
"@types/react": "^18.3.5",
|
|
69
69
|
"react": "^18.3.1",
|
|
70
70
|
"tsup": "^8.2.4",
|
|
71
71
|
"typescript": "^5.5.4",
|
|
72
|
-
"@kubb/config-biome": "3.0.0-alpha.
|
|
73
|
-
"@kubb/config-ts": "3.0.0-alpha.
|
|
74
|
-
"@kubb/config-tsup": "3.0.0-alpha.
|
|
72
|
+
"@kubb/config-biome": "3.0.0-alpha.11",
|
|
73
|
+
"@kubb/config-ts": "3.0.0-alpha.11",
|
|
74
|
+
"@kubb/config-tsup": "3.0.0-alpha.11"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
|
-
"@kubb/react": "3.0.0-alpha.
|
|
77
|
+
"@kubb/react": "3.0.0-alpha.11"
|
|
78
78
|
},
|
|
79
79
|
"engines": {
|
|
80
80
|
"node": ">=20"
|