@kubb/plugin-faker 3.0.0-alpha.18 → 3.0.0-alpha.19
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-2LNFZHDL.js → chunk-BCGRN56X.js} +7 -4
- package/dist/chunk-BCGRN56X.js.map +1 -0
- package/dist/{chunk-27G5TCJD.cjs → chunk-TXAGTKTM.cjs} +7 -4
- package/dist/chunk-TXAGTKTM.cjs.map +1 -0
- package/dist/components.d.cts +1 -2
- package/dist/components.d.ts +1 -2
- package/dist/generators.cjs +2 -2
- package/dist/generators.d.cts +1 -2
- package/dist/generators.d.ts +1 -2
- package/dist/generators.js +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -1
- package/dist/{types-DrJPCRvZ.d.cts → types-BYkltTmy.d.cts} +5 -23
- package/dist/{types-DrJPCRvZ.d.ts → types-BYkltTmy.d.ts} +5 -23
- package/package.json +10 -10
- package/src/generators/fakerGenerator.tsx +5 -2
- package/src/types.ts +5 -24
- package/dist/chunk-27G5TCJD.cjs.map +0 -1
- package/dist/chunk-2LNFZHDL.js.map +0 -1
|
@@ -57,7 +57,7 @@ var fakerGenerator = createReactGenerator({
|
|
|
57
57
|
)
|
|
58
58
|
] }, i);
|
|
59
59
|
};
|
|
60
|
-
return /* @__PURE__ */ jsxs(File, { baseName: file.baseName, path: file.path, meta: file.meta, children: [
|
|
60
|
+
return /* @__PURE__ */ jsxs(File, { baseName: file.baseName, path: file.path, meta: file.meta, banner: plugin.output?.banner, footer: plugin.output?.footer, children: [
|
|
61
61
|
/* @__PURE__ */ jsx(File.Import, { name: ["faker"], path: "@faker-js/faker" }),
|
|
62
62
|
regexGenerator === "randexp" && /* @__PURE__ */ jsx(File.Import, { name: "RandExp", path: "randexp" }),
|
|
63
63
|
dateParser !== "faker" && /* @__PURE__ */ jsx(File.Import, { path: dateParser, name: dateParser }),
|
|
@@ -67,6 +67,9 @@ var fakerGenerator = createReactGenerator({
|
|
|
67
67
|
Schema({ schema, options }) {
|
|
68
68
|
const { dateParser, regexGenerator, seed, mapper } = options;
|
|
69
69
|
const { getName, getFile, getImports } = useSchemaManager();
|
|
70
|
+
const {
|
|
71
|
+
plugin: { output }
|
|
72
|
+
} = useApp();
|
|
70
73
|
const imports = getImports(schema.tree);
|
|
71
74
|
const faker = {
|
|
72
75
|
name: getName(schema.name, { type: "function" }),
|
|
@@ -79,7 +82,7 @@ var fakerGenerator = createReactGenerator({
|
|
|
79
82
|
const canOverride = schema.tree.some(
|
|
80
83
|
({ keyword }) => keyword === schemaKeywords.array || keyword === schemaKeywords.and || keyword === schemaKeywords.object || keyword === schemaKeywords.union || keyword === schemaKeywords.tuple
|
|
81
84
|
);
|
|
82
|
-
return /* @__PURE__ */ jsxs(File, { baseName: faker.file.baseName, path: faker.file.path, meta: faker.file.meta, children: [
|
|
85
|
+
return /* @__PURE__ */ jsxs(File, { baseName: faker.file.baseName, path: faker.file.path, meta: faker.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
83
86
|
/* @__PURE__ */ jsx(File.Import, { name: ["faker"], path: "@faker-js/faker" }),
|
|
84
87
|
regexGenerator === "randexp" && /* @__PURE__ */ jsx(File.Import, { name: "RandExp", path: "randexp" }),
|
|
85
88
|
dateParser !== "faker" && /* @__PURE__ */ jsx(File.Import, { path: dateParser, name: dateParser }),
|
|
@@ -104,5 +107,5 @@ var fakerGenerator = createReactGenerator({
|
|
|
104
107
|
});
|
|
105
108
|
|
|
106
109
|
export { fakerGenerator };
|
|
107
|
-
//# sourceMappingURL=chunk-
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-BCGRN56X.js.map
|
|
111
|
+
//# sourceMappingURL=chunk-BCGRN56X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generators/fakerGenerator.tsx"],"names":["options"],"mappings":"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","file":"chunk-BCGRN56X.js","sourcesContent":["import { type OperationSchema as OperationSchemaType, SchemaGenerator, createReactGenerator, schemaKeywords } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { useOas, useOperationManager, useSchemaManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File, useApp } from '@kubb/react'\nimport { Faker } from '../components'\nimport type { PluginFaker } from '../types'\n\nexport const fakerGenerator = createReactGenerator<PluginFaker>({\n name: 'faker',\n Operation({ operation, options }) {\n const { dateParser, regexGenerator, seed, mapper } = options\n\n const { plugin, pluginManager, mode } = useApp<PluginFaker>()\n const oas = useOas()\n const { getSchemas, getFile } = useOperationManager()\n const schemaManager = useSchemaManager()\n\n const file = getFile(operation)\n const schemas = getSchemas(operation)\n const schemaGenerator = new SchemaGenerator(options, {\n oas,\n plugin,\n pluginManager,\n mode,\n override: options.override,\n })\n\n const operationSchemas = [schemas.pathParams, schemas.queryParams, schemas.headerParams, schemas.statusCodes, schemas.request, schemas.response]\n .flat()\n .filter(Boolean)\n\n const mapOperationSchema = ({ name, schema, description, ...options }: OperationSchemaType, i: number) => {\n const tree = schemaGenerator.parse({ schema, name })\n const imports = schemaManager.getImports(tree)\n\n const faker = {\n name: schemaManager.getName(name, { type: 'function' }),\n file: schemaManager.getFile(name),\n }\n\n const type = {\n name: schemaManager.getName(name, { type: 'type', pluginKey: [pluginTsName] }),\n file: schemaManager.getFile(options.operationName || name, { pluginKey: [pluginTsName], tag: options.operation?.getTags()[0]?.name }),\n }\n\n const canOverride = tree.some(\n ({ keyword }) =>\n keyword === schemaKeywords.array ||\n keyword === schemaKeywords.and ||\n keyword === schemaKeywords.object ||\n keyword === schemaKeywords.union ||\n keyword === schemaKeywords.tuple,\n )\n\n return (\n <Oas.Schema key={i} name={name} value={schema} tree={tree}>\n {canOverride && <File.Import isTypeOnly root={file.path} path={type.file.path} name={[type.name]} />}\n {imports.map((imp, index) => (\n <File.Import key={index} root={file.path} path={imp.path} name={imp.name} />\n ))}\n <Faker\n name={faker.name}\n typeName={type.name}\n description={description}\n tree={tree}\n regexGenerator={regexGenerator}\n dateParser={dateParser}\n mapper={mapper}\n seed={seed}\n canOverride={canOverride}\n />\n </Oas.Schema>\n )\n }\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta} banner={plugin.output?.banner} footer={plugin.output?.footer}>\n <File.Import name={['faker']} path=\"@faker-js/faker\" />\n {regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}\n {dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}\n {operationSchemas.map(mapOperationSchema)}\n </File>\n )\n },\n Schema({ schema, options }) {\n const { dateParser, regexGenerator, seed, mapper } = options\n\n const { getName, getFile, getImports } = useSchemaManager()\n const {\n plugin: { output },\n } = useApp<PluginFaker>()\n const imports = getImports(schema.tree)\n\n const faker = {\n name: getName(schema.name, { type: 'function' }),\n file: getFile(schema.name),\n }\n\n const type = {\n name: getName(schema.name, { type: 'type', pluginKey: [pluginTsName] }),\n file: getFile(schema.name, { pluginKey: [pluginTsName] }),\n }\n\n const canOverride = schema.tree.some(\n ({ keyword }) =>\n keyword === schemaKeywords.array ||\n keyword === schemaKeywords.and ||\n keyword === schemaKeywords.object ||\n keyword === schemaKeywords.union ||\n keyword === schemaKeywords.tuple,\n )\n\n return (\n <File baseName={faker.file.baseName} path={faker.file.path} meta={faker.file.meta} banner={output?.banner} footer={output?.footer}>\n <File.Import name={['faker']} path=\"@faker-js/faker\" />\n {regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}\n {dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}\n <File.Import isTypeOnly root={faker.file.path} path={type.file.path} name={[type.name]} />\n {imports.map((imp, index) => (\n <File.Import key={index} root={faker.file.path} path={imp.path} name={imp.name} />\n ))}\n\n <Faker\n name={faker.name}\n typeName={type.name}\n description={schema.value.description}\n tree={schema.tree}\n regexGenerator={regexGenerator}\n dateParser={dateParser}\n mapper={mapper}\n seed={seed}\n canOverride={canOverride}\n />\n </File>\n )\n },\n})\n"]}
|
|
@@ -59,7 +59,7 @@ var fakerGenerator = pluginOas.createReactGenerator({
|
|
|
59
59
|
)
|
|
60
60
|
] }, i);
|
|
61
61
|
};
|
|
62
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: file.baseName, path: file.path, meta: file.meta, children: [
|
|
62
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: file.baseName, path: file.path, meta: file.meta, banner: plugin.output?.banner, footer: plugin.output?.footer, children: [
|
|
63
63
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["faker"], path: "@faker-js/faker" }),
|
|
64
64
|
regexGenerator === "randexp" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "RandExp", path: "randexp" }),
|
|
65
65
|
dateParser !== "faker" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { path: dateParser, name: dateParser }),
|
|
@@ -69,6 +69,9 @@ var fakerGenerator = pluginOas.createReactGenerator({
|
|
|
69
69
|
Schema({ schema, options }) {
|
|
70
70
|
const { dateParser, regexGenerator, seed, mapper } = options;
|
|
71
71
|
const { getName, getFile, getImports } = hooks.useSchemaManager();
|
|
72
|
+
const {
|
|
73
|
+
plugin: { output }
|
|
74
|
+
} = react.useApp();
|
|
72
75
|
const imports = getImports(schema.tree);
|
|
73
76
|
const faker = {
|
|
74
77
|
name: getName(schema.name, { type: "function" }),
|
|
@@ -81,7 +84,7 @@ var fakerGenerator = pluginOas.createReactGenerator({
|
|
|
81
84
|
const canOverride = schema.tree.some(
|
|
82
85
|
({ keyword }) => keyword === pluginOas.schemaKeywords.array || keyword === pluginOas.schemaKeywords.and || keyword === pluginOas.schemaKeywords.object || keyword === pluginOas.schemaKeywords.union || keyword === pluginOas.schemaKeywords.tuple
|
|
83
86
|
);
|
|
84
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: faker.file.baseName, path: faker.file.path, meta: faker.file.meta, children: [
|
|
87
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: faker.file.baseName, path: faker.file.path, meta: faker.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
85
88
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["faker"], path: "@faker-js/faker" }),
|
|
86
89
|
regexGenerator === "randexp" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "RandExp", path: "randexp" }),
|
|
87
90
|
dateParser !== "faker" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { path: dateParser, name: dateParser }),
|
|
@@ -106,5 +109,5 @@ var fakerGenerator = pluginOas.createReactGenerator({
|
|
|
106
109
|
});
|
|
107
110
|
|
|
108
111
|
exports.fakerGenerator = fakerGenerator;
|
|
109
|
-
//# sourceMappingURL=chunk-
|
|
110
|
-
//# sourceMappingURL=chunk-
|
|
112
|
+
//# sourceMappingURL=chunk-TXAGTKTM.cjs.map
|
|
113
|
+
//# sourceMappingURL=chunk-TXAGTKTM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generators/fakerGenerator.tsx"],"names":["createReactGenerator","useApp","useOas","useOperationManager","useSchemaManager","SchemaGenerator","options","pluginTsName","schemaKeywords","Oas","File","jsx","Faker"],"mappings":"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","file":"chunk-TXAGTKTM.cjs","sourcesContent":["import { type OperationSchema as OperationSchemaType, SchemaGenerator, createReactGenerator, schemaKeywords } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { useOas, useOperationManager, useSchemaManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File, useApp } from '@kubb/react'\nimport { Faker } from '../components'\nimport type { PluginFaker } from '../types'\n\nexport const fakerGenerator = createReactGenerator<PluginFaker>({\n name: 'faker',\n Operation({ operation, options }) {\n const { dateParser, regexGenerator, seed, mapper } = options\n\n const { plugin, pluginManager, mode } = useApp<PluginFaker>()\n const oas = useOas()\n const { getSchemas, getFile } = useOperationManager()\n const schemaManager = useSchemaManager()\n\n const file = getFile(operation)\n const schemas = getSchemas(operation)\n const schemaGenerator = new SchemaGenerator(options, {\n oas,\n plugin,\n pluginManager,\n mode,\n override: options.override,\n })\n\n const operationSchemas = [schemas.pathParams, schemas.queryParams, schemas.headerParams, schemas.statusCodes, schemas.request, schemas.response]\n .flat()\n .filter(Boolean)\n\n const mapOperationSchema = ({ name, schema, description, ...options }: OperationSchemaType, i: number) => {\n const tree = schemaGenerator.parse({ schema, name })\n const imports = schemaManager.getImports(tree)\n\n const faker = {\n name: schemaManager.getName(name, { type: 'function' }),\n file: schemaManager.getFile(name),\n }\n\n const type = {\n name: schemaManager.getName(name, { type: 'type', pluginKey: [pluginTsName] }),\n file: schemaManager.getFile(options.operationName || name, { pluginKey: [pluginTsName], tag: options.operation?.getTags()[0]?.name }),\n }\n\n const canOverride = tree.some(\n ({ keyword }) =>\n keyword === schemaKeywords.array ||\n keyword === schemaKeywords.and ||\n keyword === schemaKeywords.object ||\n keyword === schemaKeywords.union ||\n keyword === schemaKeywords.tuple,\n )\n\n return (\n <Oas.Schema key={i} name={name} value={schema} tree={tree}>\n {canOverride && <File.Import isTypeOnly root={file.path} path={type.file.path} name={[type.name]} />}\n {imports.map((imp, index) => (\n <File.Import key={index} root={file.path} path={imp.path} name={imp.name} />\n ))}\n <Faker\n name={faker.name}\n typeName={type.name}\n description={description}\n tree={tree}\n regexGenerator={regexGenerator}\n dateParser={dateParser}\n mapper={mapper}\n seed={seed}\n canOverride={canOverride}\n />\n </Oas.Schema>\n )\n }\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta} banner={plugin.output?.banner} footer={plugin.output?.footer}>\n <File.Import name={['faker']} path=\"@faker-js/faker\" />\n {regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}\n {dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}\n {operationSchemas.map(mapOperationSchema)}\n </File>\n )\n },\n Schema({ schema, options }) {\n const { dateParser, regexGenerator, seed, mapper } = options\n\n const { getName, getFile, getImports } = useSchemaManager()\n const {\n plugin: { output },\n } = useApp<PluginFaker>()\n const imports = getImports(schema.tree)\n\n const faker = {\n name: getName(schema.name, { type: 'function' }),\n file: getFile(schema.name),\n }\n\n const type = {\n name: getName(schema.name, { type: 'type', pluginKey: [pluginTsName] }),\n file: getFile(schema.name, { pluginKey: [pluginTsName] }),\n }\n\n const canOverride = schema.tree.some(\n ({ keyword }) =>\n keyword === schemaKeywords.array ||\n keyword === schemaKeywords.and ||\n keyword === schemaKeywords.object ||\n keyword === schemaKeywords.union ||\n keyword === schemaKeywords.tuple,\n )\n\n return (\n <File baseName={faker.file.baseName} path={faker.file.path} meta={faker.file.meta} banner={output?.banner} footer={output?.footer}>\n <File.Import name={['faker']} path=\"@faker-js/faker\" />\n {regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}\n {dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}\n <File.Import isTypeOnly root={faker.file.path} path={type.file.path} name={[type.name]} />\n {imports.map((imp, index) => (\n <File.Import key={index} root={faker.file.path} path={imp.path} name={imp.name} />\n ))}\n\n <Faker\n name={faker.name}\n typeName={type.name}\n description={schema.value.description}\n tree={schema.tree}\n regexGenerator={regexGenerator}\n dateParser={dateParser}\n mapper={mapper}\n seed={seed}\n canOverride={canOverride}\n />\n </File>\n )\n },\n})\n"]}
|
package/dist/components.d.cts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Schema } from '@kubb/plugin-oas';
|
|
2
2
|
import { KubbNode } from '@kubb/react/types';
|
|
3
|
-
import { P as PluginFaker } from './types-
|
|
3
|
+
import { P as PluginFaker } from './types-BYkltTmy.cjs';
|
|
4
4
|
import '@kubb/core';
|
|
5
|
-
import '@kubb/fs/types';
|
|
6
5
|
import '@kubb/oas';
|
|
7
6
|
|
|
8
7
|
type Props = {
|
package/dist/components.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Schema } from '@kubb/plugin-oas';
|
|
2
2
|
import { KubbNode } from '@kubb/react/types';
|
|
3
|
-
import { P as PluginFaker } from './types-
|
|
3
|
+
import { P as PluginFaker } from './types-BYkltTmy.js';
|
|
4
4
|
import '@kubb/core';
|
|
5
|
-
import '@kubb/fs/types';
|
|
6
5
|
import '@kubb/oas';
|
|
7
6
|
|
|
8
7
|
type Props = {
|
package/dist/generators.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkTXAGTKTM_cjs = require('./chunk-TXAGTKTM.cjs');
|
|
4
4
|
require('./chunk-XCZY3DPW.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "fakerGenerator", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkTXAGTKTM_cjs.fakerGenerator; }
|
|
11
11
|
});
|
|
12
12
|
//# sourceMappingURL=generators.cjs.map
|
|
13
13
|
//# sourceMappingURL=generators.cjs.map
|
package/dist/generators.d.cts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as _kubb_plugin_oas from '@kubb/plugin-oas';
|
|
2
|
-
import { P as PluginFaker } from './types-
|
|
2
|
+
import { P as PluginFaker } from './types-BYkltTmy.cjs';
|
|
3
3
|
import '@kubb/core';
|
|
4
|
-
import '@kubb/fs/types';
|
|
5
4
|
import '@kubb/oas';
|
|
6
5
|
|
|
7
6
|
declare const fakerGenerator: _kubb_plugin_oas.Generator<PluginFaker>;
|
package/dist/generators.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as _kubb_plugin_oas from '@kubb/plugin-oas';
|
|
2
|
-
import { P as PluginFaker } from './types-
|
|
2
|
+
import { P as PluginFaker } from './types-BYkltTmy.js';
|
|
3
3
|
import '@kubb/core';
|
|
4
|
-
import '@kubb/fs/types';
|
|
5
4
|
import '@kubb/oas';
|
|
6
5
|
|
|
7
6
|
declare const fakerGenerator: _kubb_plugin_oas.Generator<PluginFaker>;
|
package/dist/generators.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkTXAGTKTM_cjs = require('./chunk-TXAGTKTM.cjs');
|
|
4
4
|
require('./chunk-XCZY3DPW.cjs');
|
|
5
5
|
var path = require('path');
|
|
6
6
|
var core = require('@kubb/core');
|
|
@@ -84,7 +84,7 @@ var pluginFaker = core.createPlugin((options) => {
|
|
|
84
84
|
mode,
|
|
85
85
|
output: output.path
|
|
86
86
|
});
|
|
87
|
-
const schemaFiles = await schemaGenerator.build(
|
|
87
|
+
const schemaFiles = await schemaGenerator.build(chunkTXAGTKTM_cjs.fakerGenerator);
|
|
88
88
|
await this.addFile(...schemaFiles);
|
|
89
89
|
const operationGenerator = new pluginOas.OperationGenerator(this.plugin.options, {
|
|
90
90
|
oas,
|
|
@@ -96,7 +96,7 @@ var pluginFaker = core.createPlugin((options) => {
|
|
|
96
96
|
override,
|
|
97
97
|
mode
|
|
98
98
|
});
|
|
99
|
-
const operationFiles = await operationGenerator.build(
|
|
99
|
+
const operationFiles = await operationGenerator.build(chunkTXAGTKTM_cjs.fakerGenerator);
|
|
100
100
|
await this.addFile(...operationFiles);
|
|
101
101
|
if (this.config.output.exportType) {
|
|
102
102
|
const barrelFiles = await this.fileManager.getBarrelFiles({
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,30 +1,12 @@
|
|
|
1
|
-
import { PluginFactoryOptions, ResolveNameParams } from '@kubb/core';
|
|
2
|
-
import * as KubbFile from '@kubb/fs/types';
|
|
1
|
+
import { PluginFactoryOptions, Output, ResolveNameParams } from '@kubb/core';
|
|
3
2
|
import { SchemaObject } from '@kubb/oas';
|
|
4
3
|
import { ResolvePathOptions, Exclude, Include, Override, Schema } from '@kubb/plugin-oas';
|
|
5
4
|
|
|
6
5
|
type Options = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* @default 'mocks'
|
|
12
|
-
*/
|
|
13
|
-
path: string;
|
|
14
|
-
/**
|
|
15
|
-
* Name to be used for the `export * as {{exportAs}} from './'`
|
|
16
|
-
*/
|
|
17
|
-
exportAs?: string;
|
|
18
|
-
/**
|
|
19
|
-
* Add an extension to the generated imports and exports, default it will not use an extension
|
|
20
|
-
*/
|
|
21
|
-
extName?: KubbFile.Extname;
|
|
22
|
-
/**
|
|
23
|
-
* Define what needs to exported, here you can also disable the export of barrel files
|
|
24
|
-
* @default `'barrel'`
|
|
25
|
-
*/
|
|
26
|
-
exportType?: 'barrel' | 'barrelNamed' | false;
|
|
27
|
-
};
|
|
6
|
+
/**
|
|
7
|
+
* @default 'handlers'
|
|
8
|
+
*/
|
|
9
|
+
output?: Output;
|
|
28
10
|
/**
|
|
29
11
|
* Group the Faker mocks based on the provided name.
|
|
30
12
|
*/
|
|
@@ -1,30 +1,12 @@
|
|
|
1
|
-
import { PluginFactoryOptions, ResolveNameParams } from '@kubb/core';
|
|
2
|
-
import * as KubbFile from '@kubb/fs/types';
|
|
1
|
+
import { PluginFactoryOptions, Output, ResolveNameParams } from '@kubb/core';
|
|
3
2
|
import { SchemaObject } from '@kubb/oas';
|
|
4
3
|
import { ResolvePathOptions, Exclude, Include, Override, Schema } from '@kubb/plugin-oas';
|
|
5
4
|
|
|
6
5
|
type Options = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* @default 'mocks'
|
|
12
|
-
*/
|
|
13
|
-
path: string;
|
|
14
|
-
/**
|
|
15
|
-
* Name to be used for the `export * as {{exportAs}} from './'`
|
|
16
|
-
*/
|
|
17
|
-
exportAs?: string;
|
|
18
|
-
/**
|
|
19
|
-
* Add an extension to the generated imports and exports, default it will not use an extension
|
|
20
|
-
*/
|
|
21
|
-
extName?: KubbFile.Extname;
|
|
22
|
-
/**
|
|
23
|
-
* Define what needs to exported, here you can also disable the export of barrel files
|
|
24
|
-
* @default `'barrel'`
|
|
25
|
-
*/
|
|
26
|
-
exportType?: 'barrel' | 'barrelNamed' | false;
|
|
27
|
-
};
|
|
6
|
+
/**
|
|
7
|
+
* @default 'handlers'
|
|
8
|
+
*/
|
|
9
|
+
output?: Output;
|
|
28
10
|
/**
|
|
29
11
|
* Group the Faker mocks based on the provided name.
|
|
30
12
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-faker",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.19",
|
|
4
4
|
"description": "Generator plugin-faker",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"faker",
|
|
@@ -61,21 +61,21 @@
|
|
|
61
61
|
"!/**/__tests__/**"
|
|
62
62
|
],
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@kubb/core": "3.0.0-alpha.
|
|
65
|
-
"@kubb/fs": "3.0.0-alpha.
|
|
66
|
-
"@kubb/oas": "3.0.0-alpha.
|
|
67
|
-
"@kubb/plugin-oas": "3.0.0-alpha.
|
|
68
|
-
"@kubb/plugin-ts": "3.0.0-alpha.
|
|
69
|
-
"@kubb/react": "3.0.0-alpha.
|
|
64
|
+
"@kubb/core": "3.0.0-alpha.19",
|
|
65
|
+
"@kubb/fs": "3.0.0-alpha.19",
|
|
66
|
+
"@kubb/oas": "3.0.0-alpha.19",
|
|
67
|
+
"@kubb/plugin-oas": "3.0.0-alpha.19",
|
|
68
|
+
"@kubb/plugin-ts": "3.0.0-alpha.19",
|
|
69
|
+
"@kubb/react": "3.0.0-alpha.19"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"tsup": "^8.2.4",
|
|
73
73
|
"typescript": "^5.6.2",
|
|
74
|
-
"@kubb/config-ts": "3.0.0-alpha.
|
|
75
|
-
"@kubb/config-tsup": "3.0.0-alpha.
|
|
74
|
+
"@kubb/config-ts": "3.0.0-alpha.19",
|
|
75
|
+
"@kubb/config-tsup": "3.0.0-alpha.19"
|
|
76
76
|
},
|
|
77
77
|
"peerDependencies": {
|
|
78
|
-
"@kubb/react": "3.0.0-alpha.
|
|
78
|
+
"@kubb/react": "3.0.0-alpha.19"
|
|
79
79
|
},
|
|
80
80
|
"engines": {
|
|
81
81
|
"node": ">=20"
|
|
@@ -75,7 +75,7 @@ export const fakerGenerator = createReactGenerator<PluginFaker>({
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
return (
|
|
78
|
-
<File baseName={file.baseName} path={file.path} meta={file.meta}>
|
|
78
|
+
<File baseName={file.baseName} path={file.path} meta={file.meta} banner={plugin.output?.banner} footer={plugin.output?.footer}>
|
|
79
79
|
<File.Import name={['faker']} path="@faker-js/faker" />
|
|
80
80
|
{regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}
|
|
81
81
|
{dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}
|
|
@@ -87,6 +87,9 @@ export const fakerGenerator = createReactGenerator<PluginFaker>({
|
|
|
87
87
|
const { dateParser, regexGenerator, seed, mapper } = options
|
|
88
88
|
|
|
89
89
|
const { getName, getFile, getImports } = useSchemaManager()
|
|
90
|
+
const {
|
|
91
|
+
plugin: { output },
|
|
92
|
+
} = useApp<PluginFaker>()
|
|
90
93
|
const imports = getImports(schema.tree)
|
|
91
94
|
|
|
92
95
|
const faker = {
|
|
@@ -109,7 +112,7 @@ export const fakerGenerator = createReactGenerator<PluginFaker>({
|
|
|
109
112
|
)
|
|
110
113
|
|
|
111
114
|
return (
|
|
112
|
-
<File baseName={faker.file.baseName} path={faker.file.path} meta={faker.file.meta}>
|
|
115
|
+
<File baseName={faker.file.baseName} path={faker.file.path} meta={faker.file.meta} banner={output?.banner} footer={output?.footer}>
|
|
113
116
|
<File.Import name={['faker']} path="@faker-js/faker" />
|
|
114
117
|
{regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}
|
|
115
118
|
{dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}
|
package/src/types.ts
CHANGED
|
@@ -1,32 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type * as KubbFile from '@kubb/fs/types'
|
|
1
|
+
import type { Output, PluginFactoryOptions, ResolveNameParams } from '@kubb/core'
|
|
3
2
|
|
|
4
3
|
import type { SchemaObject } from '@kubb/oas'
|
|
5
4
|
import type { Exclude, Include, Override, ResolvePathOptions, Schema } from '@kubb/plugin-oas'
|
|
6
5
|
|
|
7
6
|
export type Options = {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
* @default 'mocks'
|
|
13
|
-
*/
|
|
14
|
-
path: string
|
|
15
|
-
/**
|
|
16
|
-
* Name to be used for the `export * as {{exportAs}} from './'`
|
|
17
|
-
*/
|
|
18
|
-
exportAs?: string
|
|
19
|
-
/**
|
|
20
|
-
* Add an extension to the generated imports and exports, default it will not use an extension
|
|
21
|
-
*/
|
|
22
|
-
extName?: KubbFile.Extname
|
|
23
|
-
/**
|
|
24
|
-
* Define what needs to exported, here you can also disable the export of barrel files
|
|
25
|
-
* @default `'barrel'`
|
|
26
|
-
*/
|
|
27
|
-
exportType?: 'barrel' | 'barrelNamed' | false
|
|
28
|
-
}
|
|
29
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @default 'handlers'
|
|
9
|
+
*/
|
|
10
|
+
output?: Output
|
|
30
11
|
/**
|
|
31
12
|
* Group the Faker mocks based on the provided name.
|
|
32
13
|
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generators/fakerGenerator.tsx"],"names":["createReactGenerator","useApp","useOas","useOperationManager","useSchemaManager","SchemaGenerator","options","pluginTsName","schemaKeywords","Oas","File","jsx","Faker","jsxs"],"mappings":"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","file":"chunk-27G5TCJD.cjs","sourcesContent":["import { type OperationSchema as OperationSchemaType, SchemaGenerator, createReactGenerator, schemaKeywords } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { useOas, useOperationManager, useSchemaManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File, useApp } from '@kubb/react'\nimport { Faker } from '../components'\nimport type { PluginFaker } from '../types'\n\nexport const fakerGenerator = createReactGenerator<PluginFaker>({\n name: 'faker',\n Operation({ operation, options }) {\n const { dateParser, regexGenerator, seed, mapper } = options\n\n const { plugin, pluginManager, mode } = useApp<PluginFaker>()\n const oas = useOas()\n const { getSchemas, getFile } = useOperationManager()\n const schemaManager = useSchemaManager()\n\n const file = getFile(operation)\n const schemas = getSchemas(operation)\n const schemaGenerator = new SchemaGenerator(options, {\n oas,\n plugin,\n pluginManager,\n mode,\n override: options.override,\n })\n\n const operationSchemas = [schemas.pathParams, schemas.queryParams, schemas.headerParams, schemas.statusCodes, schemas.request, schemas.response]\n .flat()\n .filter(Boolean)\n\n const mapOperationSchema = ({ name, schema, description, ...options }: OperationSchemaType, i: number) => {\n const tree = schemaGenerator.parse({ schema, name })\n const imports = schemaManager.getImports(tree)\n\n const faker = {\n name: schemaManager.getName(name, { type: 'function' }),\n file: schemaManager.getFile(name),\n }\n\n const type = {\n name: schemaManager.getName(name, { type: 'type', pluginKey: [pluginTsName] }),\n file: schemaManager.getFile(options.operationName || name, { pluginKey: [pluginTsName], tag: options.operation?.getTags()[0]?.name }),\n }\n\n const canOverride = tree.some(\n ({ keyword }) =>\n keyword === schemaKeywords.array ||\n keyword === schemaKeywords.and ||\n keyword === schemaKeywords.object ||\n keyword === schemaKeywords.union ||\n keyword === schemaKeywords.tuple,\n )\n\n return (\n <Oas.Schema key={i} name={name} value={schema} tree={tree}>\n {canOverride && <File.Import isTypeOnly root={file.path} path={type.file.path} name={[type.name]} />}\n {imports.map((imp, index) => (\n <File.Import key={index} root={file.path} path={imp.path} name={imp.name} />\n ))}\n <Faker\n name={faker.name}\n typeName={type.name}\n description={description}\n tree={tree}\n regexGenerator={regexGenerator}\n dateParser={dateParser}\n mapper={mapper}\n seed={seed}\n canOverride={canOverride}\n />\n </Oas.Schema>\n )\n }\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta}>\n <File.Import name={['faker']} path=\"@faker-js/faker\" />\n {regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}\n {dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}\n {operationSchemas.map(mapOperationSchema)}\n </File>\n )\n },\n Schema({ schema, options }) {\n const { dateParser, regexGenerator, seed, mapper } = options\n\n const { getName, getFile, getImports } = useSchemaManager()\n const imports = getImports(schema.tree)\n\n const faker = {\n name: getName(schema.name, { type: 'function' }),\n file: getFile(schema.name),\n }\n\n const type = {\n name: getName(schema.name, { type: 'type', pluginKey: [pluginTsName] }),\n file: getFile(schema.name, { pluginKey: [pluginTsName] }),\n }\n\n const canOverride = schema.tree.some(\n ({ keyword }) =>\n keyword === schemaKeywords.array ||\n keyword === schemaKeywords.and ||\n keyword === schemaKeywords.object ||\n keyword === schemaKeywords.union ||\n keyword === schemaKeywords.tuple,\n )\n\n return (\n <File baseName={faker.file.baseName} path={faker.file.path} meta={faker.file.meta}>\n <File.Import name={['faker']} path=\"@faker-js/faker\" />\n {regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}\n {dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}\n <File.Import isTypeOnly root={faker.file.path} path={type.file.path} name={[type.name]} />\n {imports.map((imp, index) => (\n <File.Import key={index} root={faker.file.path} path={imp.path} name={imp.name} />\n ))}\n\n <Faker\n name={faker.name}\n typeName={type.name}\n description={schema.value.description}\n tree={schema.tree}\n regexGenerator={regexGenerator}\n dateParser={dateParser}\n mapper={mapper}\n seed={seed}\n canOverride={canOverride}\n />\n </File>\n )\n },\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generators/fakerGenerator.tsx"],"names":["options"],"mappings":"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","file":"chunk-2LNFZHDL.js","sourcesContent":["import { type OperationSchema as OperationSchemaType, SchemaGenerator, createReactGenerator, schemaKeywords } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { useOas, useOperationManager, useSchemaManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File, useApp } from '@kubb/react'\nimport { Faker } from '../components'\nimport type { PluginFaker } from '../types'\n\nexport const fakerGenerator = createReactGenerator<PluginFaker>({\n name: 'faker',\n Operation({ operation, options }) {\n const { dateParser, regexGenerator, seed, mapper } = options\n\n const { plugin, pluginManager, mode } = useApp<PluginFaker>()\n const oas = useOas()\n const { getSchemas, getFile } = useOperationManager()\n const schemaManager = useSchemaManager()\n\n const file = getFile(operation)\n const schemas = getSchemas(operation)\n const schemaGenerator = new SchemaGenerator(options, {\n oas,\n plugin,\n pluginManager,\n mode,\n override: options.override,\n })\n\n const operationSchemas = [schemas.pathParams, schemas.queryParams, schemas.headerParams, schemas.statusCodes, schemas.request, schemas.response]\n .flat()\n .filter(Boolean)\n\n const mapOperationSchema = ({ name, schema, description, ...options }: OperationSchemaType, i: number) => {\n const tree = schemaGenerator.parse({ schema, name })\n const imports = schemaManager.getImports(tree)\n\n const faker = {\n name: schemaManager.getName(name, { type: 'function' }),\n file: schemaManager.getFile(name),\n }\n\n const type = {\n name: schemaManager.getName(name, { type: 'type', pluginKey: [pluginTsName] }),\n file: schemaManager.getFile(options.operationName || name, { pluginKey: [pluginTsName], tag: options.operation?.getTags()[0]?.name }),\n }\n\n const canOverride = tree.some(\n ({ keyword }) =>\n keyword === schemaKeywords.array ||\n keyword === schemaKeywords.and ||\n keyword === schemaKeywords.object ||\n keyword === schemaKeywords.union ||\n keyword === schemaKeywords.tuple,\n )\n\n return (\n <Oas.Schema key={i} name={name} value={schema} tree={tree}>\n {canOverride && <File.Import isTypeOnly root={file.path} path={type.file.path} name={[type.name]} />}\n {imports.map((imp, index) => (\n <File.Import key={index} root={file.path} path={imp.path} name={imp.name} />\n ))}\n <Faker\n name={faker.name}\n typeName={type.name}\n description={description}\n tree={tree}\n regexGenerator={regexGenerator}\n dateParser={dateParser}\n mapper={mapper}\n seed={seed}\n canOverride={canOverride}\n />\n </Oas.Schema>\n )\n }\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta}>\n <File.Import name={['faker']} path=\"@faker-js/faker\" />\n {regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}\n {dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}\n {operationSchemas.map(mapOperationSchema)}\n </File>\n )\n },\n Schema({ schema, options }) {\n const { dateParser, regexGenerator, seed, mapper } = options\n\n const { getName, getFile, getImports } = useSchemaManager()\n const imports = getImports(schema.tree)\n\n const faker = {\n name: getName(schema.name, { type: 'function' }),\n file: getFile(schema.name),\n }\n\n const type = {\n name: getName(schema.name, { type: 'type', pluginKey: [pluginTsName] }),\n file: getFile(schema.name, { pluginKey: [pluginTsName] }),\n }\n\n const canOverride = schema.tree.some(\n ({ keyword }) =>\n keyword === schemaKeywords.array ||\n keyword === schemaKeywords.and ||\n keyword === schemaKeywords.object ||\n keyword === schemaKeywords.union ||\n keyword === schemaKeywords.tuple,\n )\n\n return (\n <File baseName={faker.file.baseName} path={faker.file.path} meta={faker.file.meta}>\n <File.Import name={['faker']} path=\"@faker-js/faker\" />\n {regexGenerator === 'randexp' && <File.Import name={'RandExp'} path={'randexp'} />}\n {dateParser !== 'faker' && <File.Import path={dateParser} name={dateParser} />}\n <File.Import isTypeOnly root={faker.file.path} path={type.file.path} name={[type.name]} />\n {imports.map((imp, index) => (\n <File.Import key={index} root={faker.file.path} path={imp.path} name={imp.name} />\n ))}\n\n <Faker\n name={faker.name}\n typeName={type.name}\n description={schema.value.description}\n tree={schema.tree}\n regexGenerator={regexGenerator}\n dateParser={dateParser}\n mapper={mapper}\n seed={seed}\n canOverride={canOverride}\n />\n </File>\n )\n },\n})\n"]}
|