@kubb/plugin-msw 4.2.0 → 4.2.1
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/{generators-CPaZGj9Z.cjs → generators-BpCsxN0-.cjs} +3 -3
- package/dist/{generators-CPaZGj9Z.cjs.map → generators-BpCsxN0-.cjs.map} +1 -1
- package/dist/{generators-DY8aHf0H.js → generators-itHERcU2.js} +2 -2
- package/dist/{generators-DY8aHf0H.js.map → generators-itHERcU2.js.map} +1 -1
- package/dist/generators.cjs +1 -1
- package/dist/generators.d.cts +1 -1
- package/dist/generators.d.ts +1 -1
- package/dist/generators.js +1 -1
- package/dist/index.cjs +6 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/{types-eHiK8Pi0.d.cts → types-BB6ZV1EN.d.cts} +13 -57
- package/dist/{types-B0eas7Yy.d.ts → types-BLiYk9M7.d.ts} +13 -57
- package/package.json +7 -7
- package/src/plugin.ts +6 -9
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const require_components = require('./components-CULOceYX.cjs');
|
|
2
|
-
let __kubb_plugin_oas = require("@kubb/plugin-oas");
|
|
3
|
-
__kubb_plugin_oas = require_components.__toESM(__kubb_plugin_oas);
|
|
4
2
|
let __kubb_plugin_faker = require("@kubb/plugin-faker");
|
|
5
3
|
__kubb_plugin_faker = require_components.__toESM(__kubb_plugin_faker);
|
|
4
|
+
let __kubb_plugin_oas = require("@kubb/plugin-oas");
|
|
5
|
+
__kubb_plugin_oas = require_components.__toESM(__kubb_plugin_oas);
|
|
6
6
|
let __kubb_plugin_ts = require("@kubb/plugin-ts");
|
|
7
7
|
__kubb_plugin_ts = require_components.__toESM(__kubb_plugin_ts);
|
|
8
8
|
let __kubb_core_hooks = require("@kubb/core/hooks");
|
|
@@ -179,4 +179,4 @@ Object.defineProperty(exports, 'mswGenerator', {
|
|
|
179
179
|
return mswGenerator;
|
|
180
180
|
}
|
|
181
181
|
});
|
|
182
|
-
//# sourceMappingURL=generators-
|
|
182
|
+
//# sourceMappingURL=generators-BpCsxN0-.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generators-
|
|
1
|
+
{"version":3,"file":"generators-BpCsxN0-.cjs","names":["pluginFakerName","pluginTsName","types: [statusCode: number | 'default', typeName: string][]","File","Response","MockWithFaker","Mock","File","Handlers"],"sources":["../src/generators/mswGenerator.tsx","../src/generators/handlersGenerator.tsx"],"sourcesContent":["import { usePlugin, usePluginManager } from '@kubb/core/hooks'\nimport { pluginFakerName } from '@kubb/plugin-faker'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File } from '@kubb/react'\nimport { Mock, MockWithFaker, Response } from '../components'\nimport type { PluginMsw } from '../types'\n\nexport const mswGenerator = createReactGenerator<PluginMsw>({\n name: 'msw',\n Operation({ operation }) {\n const {\n options: { output, parser, baseURL },\n } = usePlugin<PluginMsw>()\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const mock = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const faker = {\n file: getFile(operation, { pluginKey: [pluginFakerName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginFakerName], type: 'function' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const responseStatusCodes = operation.getResponseStatusCodes()\n\n const types: [statusCode: number | 'default', typeName: string][] = []\n\n for (const code of responseStatusCodes) {\n if (code === 'default') {\n types.push(['default', type.schemas.response.name])\n continue\n }\n\n if (code.startsWith('2')) {\n types.push([Number(code), type.schemas.response.name])\n continue\n }\n\n const codeType = type.schemas.errors?.find((err) => err.statusCode === Number(code))\n if (codeType) types.push([Number(code), codeType.name])\n }\n\n return (\n <File\n baseName={mock.file.baseName}\n path={mock.file.path}\n meta={mock.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n <File.Import name={['http']} path=\"msw\" />\n <File.Import name={['ResponseResolver']} isTypeOnly path=\"msw\" />\n <File.Import\n name={Array.from(new Set([type.schemas.response.name, ...types.map((t) => t[1])]))}\n path={type.file.path}\n root={mock.file.path}\n isTypeOnly\n />\n {parser === 'faker' && faker.file && faker.schemas.response && (\n <File.Import name={[faker.schemas.response.name]} root={mock.file.path} path={faker.file.path} />\n )}\n\n {types\n .filter(([code]) => code !== 'default')\n .map(([code, typeName]) => (\n <Response typeName={typeName} operation={operation} name={mock.name} statusCode={code as number} />\n ))}\n {parser === 'faker' && (\n <MockWithFaker\n name={mock.name}\n typeName={type.schemas.response.name}\n fakerName={faker.schemas.response.name}\n operation={operation}\n baseURL={baseURL}\n />\n )}\n {parser === 'data' && (\n <Mock name={mock.name} typeName={type.schemas.response.name} fakerName={faker.schemas.response.name} operation={operation} baseURL={baseURL} />\n )}\n </File>\n )\n },\n})\n","import { usePlugin, usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File } from '@kubb/react'\nimport { Handlers } from '../components/Handlers.tsx'\nimport type { PluginMsw } from '../types'\n\nexport const handlersGenerator = createReactGenerator<PluginMsw>({\n name: 'plugin-msw',\n Operations({ operations }) {\n const plugin = usePlugin<PluginMsw>()\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getName, getFile } = useOperationManager()\n\n const file = pluginManager.getFile({ name: 'handlers', extname: '.ts', pluginKey: plugin.key })\n\n const imports = operations.map((operation) => {\n const operationFile = getFile(operation, { pluginKey: plugin.key })\n const operationName = getName(operation, { pluginKey: plugin.key, type: 'function' })\n\n return <File.Import key={operationFile.path} name={[operationName]} root={file.path} path={operationFile.path} />\n })\n\n const handlers = operations.map((operation) => `${getName(operation, { type: 'function', pluginKey: plugin.key })}()`)\n\n return (\n <File\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output: plugin.options.output, config: pluginManager.config })}\n footer={getFooter({ oas, output: plugin.options.output })}\n >\n {imports}\n <Handlers name={'handlers'} handlers={handlers} />\n </File>\n )\n },\n})\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as Mock, n as MockWithFaker, r as Handlers, t as Response } from "./components-DcRndqwD.js";
|
|
2
|
-
import { createReactGenerator } from "@kubb/plugin-oas";
|
|
3
2
|
import { pluginFakerName } from "@kubb/plugin-faker";
|
|
3
|
+
import { createReactGenerator } from "@kubb/plugin-oas";
|
|
4
4
|
import { pluginTsName } from "@kubb/plugin-ts";
|
|
5
5
|
import { usePlugin, usePluginManager } from "@kubb/core/hooks";
|
|
6
6
|
import { useOas, useOperationManager } from "@kubb/plugin-oas/hooks";
|
|
@@ -160,4 +160,4 @@ const handlersGenerator = createReactGenerator({
|
|
|
160
160
|
|
|
161
161
|
//#endregion
|
|
162
162
|
export { mswGenerator as n, handlersGenerator as t };
|
|
163
|
-
//# sourceMappingURL=generators-
|
|
163
|
+
//# sourceMappingURL=generators-itHERcU2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generators-
|
|
1
|
+
{"version":3,"file":"generators-itHERcU2.js","names":["types: [statusCode: number | 'default', typeName: string][]"],"sources":["../src/generators/mswGenerator.tsx","../src/generators/handlersGenerator.tsx"],"sourcesContent":["import { usePlugin, usePluginManager } from '@kubb/core/hooks'\nimport { pluginFakerName } from '@kubb/plugin-faker'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File } from '@kubb/react'\nimport { Mock, MockWithFaker, Response } from '../components'\nimport type { PluginMsw } from '../types'\n\nexport const mswGenerator = createReactGenerator<PluginMsw>({\n name: 'msw',\n Operation({ operation }) {\n const {\n options: { output, parser, baseURL },\n } = usePlugin<PluginMsw>()\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const mock = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const faker = {\n file: getFile(operation, { pluginKey: [pluginFakerName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginFakerName], type: 'function' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const responseStatusCodes = operation.getResponseStatusCodes()\n\n const types: [statusCode: number | 'default', typeName: string][] = []\n\n for (const code of responseStatusCodes) {\n if (code === 'default') {\n types.push(['default', type.schemas.response.name])\n continue\n }\n\n if (code.startsWith('2')) {\n types.push([Number(code), type.schemas.response.name])\n continue\n }\n\n const codeType = type.schemas.errors?.find((err) => err.statusCode === Number(code))\n if (codeType) types.push([Number(code), codeType.name])\n }\n\n return (\n <File\n baseName={mock.file.baseName}\n path={mock.file.path}\n meta={mock.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n <File.Import name={['http']} path=\"msw\" />\n <File.Import name={['ResponseResolver']} isTypeOnly path=\"msw\" />\n <File.Import\n name={Array.from(new Set([type.schemas.response.name, ...types.map((t) => t[1])]))}\n path={type.file.path}\n root={mock.file.path}\n isTypeOnly\n />\n {parser === 'faker' && faker.file && faker.schemas.response && (\n <File.Import name={[faker.schemas.response.name]} root={mock.file.path} path={faker.file.path} />\n )}\n\n {types\n .filter(([code]) => code !== 'default')\n .map(([code, typeName]) => (\n <Response typeName={typeName} operation={operation} name={mock.name} statusCode={code as number} />\n ))}\n {parser === 'faker' && (\n <MockWithFaker\n name={mock.name}\n typeName={type.schemas.response.name}\n fakerName={faker.schemas.response.name}\n operation={operation}\n baseURL={baseURL}\n />\n )}\n {parser === 'data' && (\n <Mock name={mock.name} typeName={type.schemas.response.name} fakerName={faker.schemas.response.name} operation={operation} baseURL={baseURL} />\n )}\n </File>\n )\n },\n})\n","import { usePlugin, usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File } from '@kubb/react'\nimport { Handlers } from '../components/Handlers.tsx'\nimport type { PluginMsw } from '../types'\n\nexport const handlersGenerator = createReactGenerator<PluginMsw>({\n name: 'plugin-msw',\n Operations({ operations }) {\n const plugin = usePlugin<PluginMsw>()\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getName, getFile } = useOperationManager()\n\n const file = pluginManager.getFile({ name: 'handlers', extname: '.ts', pluginKey: plugin.key })\n\n const imports = operations.map((operation) => {\n const operationFile = getFile(operation, { pluginKey: plugin.key })\n const operationName = getName(operation, { pluginKey: plugin.key, type: 'function' })\n\n return <File.Import key={operationFile.path} name={[operationName]} root={file.path} path={operationFile.path} />\n })\n\n const handlers = operations.map((operation) => `${getName(operation, { type: 'function', pluginKey: plugin.key })}()`)\n\n return (\n <File\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output: plugin.options.output, config: pluginManager.config })}\n footer={getFooter({ oas, output: plugin.options.output })}\n >\n {imports}\n <Handlers name={'handlers'} handlers={handlers} />\n </File>\n )\n },\n})\n"],"mappings":"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"}
|
package/dist/generators.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('./components-CULOceYX.cjs');
|
|
2
|
-
const require_generators = require('./generators-
|
|
2
|
+
const require_generators = require('./generators-BpCsxN0-.cjs');
|
|
3
3
|
|
|
4
4
|
exports.handlersGenerator = require_generators.handlersGenerator;
|
|
5
5
|
exports.mswGenerator = require_generators.mswGenerator;
|
package/dist/generators.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./types-8ZXwr93_.cjs";
|
|
2
|
-
import { n as PluginMsw, r as Generator } from "./types-
|
|
2
|
+
import { n as PluginMsw, r as Generator } from "./types-BB6ZV1EN.cjs";
|
|
3
3
|
|
|
4
4
|
//#region src/generators/mswGenerator.d.ts
|
|
5
5
|
declare const mswGenerator: Generator<PluginMsw>;
|
package/dist/generators.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./types-IbHKcY02.js";
|
|
2
|
-
import { n as PluginMsw, r as Generator } from "./types-
|
|
2
|
+
import { n as PluginMsw, r as Generator } from "./types-BLiYk9M7.js";
|
|
3
3
|
|
|
4
4
|
//#region src/generators/mswGenerator.d.ts
|
|
5
5
|
declare const mswGenerator: Generator<PluginMsw>;
|
package/dist/generators.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
const require_components = require('./components-CULOceYX.cjs');
|
|
2
|
-
const require_generators = require('./generators-
|
|
2
|
+
const require_generators = require('./generators-BpCsxN0-.cjs');
|
|
3
3
|
let node_path = require("node:path");
|
|
4
4
|
node_path = require_components.__toESM(node_path);
|
|
5
5
|
let __kubb_core = require("@kubb/core");
|
|
6
6
|
__kubb_core = require_components.__toESM(__kubb_core);
|
|
7
7
|
let __kubb_core_transformers = require("@kubb/core/transformers");
|
|
8
8
|
__kubb_core_transformers = require_components.__toESM(__kubb_core_transformers);
|
|
9
|
-
let __kubb_plugin_oas = require("@kubb/plugin-oas");
|
|
10
|
-
__kubb_plugin_oas = require_components.__toESM(__kubb_plugin_oas);
|
|
11
9
|
let __kubb_plugin_faker = require("@kubb/plugin-faker");
|
|
12
10
|
__kubb_plugin_faker = require_components.__toESM(__kubb_plugin_faker);
|
|
11
|
+
let __kubb_plugin_oas = require("@kubb/plugin-oas");
|
|
12
|
+
__kubb_plugin_oas = require_components.__toESM(__kubb_plugin_oas);
|
|
13
13
|
let __kubb_plugin_ts = require("@kubb/plugin-ts");
|
|
14
14
|
__kubb_plugin_ts = require_components.__toESM(__kubb_plugin_ts);
|
|
15
15
|
|
|
@@ -35,7 +35,7 @@ const pluginMsw = (0, __kubb_core.createPlugin)((options) => {
|
|
|
35
35
|
].filter(Boolean),
|
|
36
36
|
resolvePath(baseName, pathMode, options$1) {
|
|
37
37
|
const root = node_path.default.resolve(this.config.root, this.config.output.path);
|
|
38
|
-
if ((pathMode ?? __kubb_core.
|
|
38
|
+
if ((pathMode ?? (0, __kubb_core.getMode)(node_path.default.resolve(root, output.path))) === "single")
|
|
39
39
|
/**
|
|
40
40
|
* when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend
|
|
41
41
|
* Other plugins then need to call addOrAppend instead of just add from the fileManager class
|
|
@@ -62,7 +62,7 @@ const pluginMsw = (0, __kubb_core.createPlugin)((options) => {
|
|
|
62
62
|
const [swaggerPlugin] = __kubb_core.PluginManager.getDependedPlugins(this.plugins, [__kubb_plugin_oas.pluginOasName]);
|
|
63
63
|
const oas = await swaggerPlugin.context.getOas();
|
|
64
64
|
const root = node_path.default.resolve(this.config.root, this.config.output.path);
|
|
65
|
-
const mode = __kubb_core.
|
|
65
|
+
const mode = (0, __kubb_core.getMode)(node_path.default.resolve(root, output.path));
|
|
66
66
|
const files = await new __kubb_plugin_oas.OperationGenerator(this.plugin.options, {
|
|
67
67
|
oas,
|
|
68
68
|
pluginManager: this.pluginManager,
|
|
@@ -74,7 +74,7 @@ const pluginMsw = (0, __kubb_core.createPlugin)((options) => {
|
|
|
74
74
|
mode
|
|
75
75
|
}).build(...generators);
|
|
76
76
|
await this.addFile(...files);
|
|
77
|
-
const barrelFiles = await this.fileManager.
|
|
77
|
+
const barrelFiles = await (0, __kubb_core.getBarrelFiles)(this.fileManager.files, {
|
|
78
78
|
type: output.barrelType ?? "named",
|
|
79
79
|
root,
|
|
80
80
|
output,
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["mswGenerator","handlersGenerator","pluginOasName","pluginTsName","pluginFakerName","path","
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["mswGenerator","handlersGenerator","pluginOasName","pluginTsName","pluginFakerName","path","options","groupName: Group['name']","PluginManager","OperationGenerator"],"sources":["../src/plugin.ts"],"sourcesContent":["import path from 'node:path'\nimport { createPlugin, type Group, getBarrelFiles, getMode, type Plugin, PluginManager } from '@kubb/core'\nimport { camelCase } from '@kubb/core/transformers'\n\nimport { pluginFakerName } from '@kubb/plugin-faker'\nimport type { PluginOas as SwaggerPluginOptions } from '@kubb/plugin-oas'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { handlersGenerator, mswGenerator } from './generators'\nimport type { PluginMsw } from './types.ts'\n\nexport const pluginMswName = 'plugin-msw' satisfies PluginMsw['name']\n\nexport const pluginMsw = createPlugin<PluginMsw>((options) => {\n const {\n output = { path: 'handlers', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n transformers = {},\n handlers = false,\n parser = 'data',\n generators = [mswGenerator, handlers ? handlersGenerator : undefined].filter(Boolean),\n contentType,\n baseURL,\n } = options\n\n return {\n name: pluginMswName,\n options: {\n output,\n parser,\n group,\n baseURL,\n },\n pre: [pluginOasName, pluginTsName, parser === 'faker' ? pluginFakerName : 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: Group['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 const resolvedName = camelCase(name, {\n suffix: type ? 'handler' : undefined,\n isFile: type === 'file',\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<SwaggerPluginOptions>] = PluginManager.getDependedPlugins<SwaggerPluginOptions>(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 = 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,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.addFile(...files)\n\n const barrelFiles = await getBarrelFiles(this.fileManager.files, {\n type: output.barrelType ?? 'named',\n root,\n output,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"],"mappings":";;;;;;;;;;;;;;;;AAWA,MAAa,gBAAgB;AAE7B,MAAa,2CAAqC,YAAY;CAC5D,MAAM,EACJ,SAAS;EAAE,MAAM;EAAY,YAAY;EAAS,EAClD,OACA,UAAU,EAAE,EACZ,SACA,WAAW,EAAE,EACb,eAAe,EAAE,EACjB,WAAW,OACX,SAAS,QACT,aAAa,CAACA,iCAAc,WAAWC,uCAAoB,OAAU,CAAC,OAAO,QAAQ,EACrF,aACA,YACE;AAEJ,QAAO;EACL,MAAM;EACN,SAAS;GACP;GACA;GACA;GACA;GACD;EACD,KAAK;GAACC;GAAeC;GAAc,WAAW,UAAUC,sCAAkB;GAAU,CAAC,OAAO,QAAQ;EACpG,YAAY,UAAU,UAAU,WAAS;GACvC,MAAM,OAAOC,kBAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO,KAAK;AAGpE,QAFa,qCAAoBA,kBAAK,QAAQ,MAAM,OAAO,KAAK,CAAC,MAEpD;;;;;AAKX,UAAOA,kBAAK,QAAQ,MAAM,OAAO,KAAK;AAGxC,OAAI,UAAUC,WAAS,OAAO,QAAQA,WAAS,OAAO,MAAM;IAC1D,MAAMC,YAA2B,OAAO,OACpC,MAAM,QACL,QAAQ;AACP,SAAI,OAAO,SAAS,OAClB,QAAO,GAAG,IAAI,MAAM,MAAM,IAAI,CAAC;AAEjC,YAAO,2CAAa,IAAI,MAAM,CAAC;;AAGrC,WAAOF,kBAAK,QACV,MACA,OAAO,MACP,UAAU,EACR,OAAO,MAAM,SAAS,SAASC,UAAQ,MAAM,OAAQA,UAAQ,MAAM,KACpE,CAAC,EACF,SACD;;AAGH,UAAOD,kBAAK,QAAQ,MAAM,OAAO,MAAM,SAAS;;EAElD,YAAY,MAAM,MAAM;GACtB,MAAM,uDAAyB,MAAM;IACnC,QAAQ,OAAO,YAAY;IAC3B,QAAQ,SAAS;IAClB,CAAC;AAEF,OAAI,KACF,QAAO,cAAc,OAAO,cAAc,KAAK,IAAI;AAGrD,UAAO;;EAET,MAAM,aAAa;GACjB,MAAM,CAAC,iBAAiDG,0BAAc,mBAAyC,KAAK,SAAS,CAACN,gCAAc,CAAC;GAE7I,MAAM,MAAM,MAAM,cAAc,QAAQ,QAAQ;GAChD,MAAM,OAAOG,kBAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO,KAAK;GACpE,MAAM,gCAAeA,kBAAK,QAAQ,MAAM,OAAO,KAAK,CAAC;GAarD,MAAM,QAAQ,MAXa,IAAII,qCAAmB,KAAK,OAAO,SAAS;IACrE;IACA,eAAe,KAAK;IACpB,QAAQ,KAAK;IACb;IACA;IACA;IACA;IACA;IACD,CAAC,CAEqC,MAAM,GAAG,WAAW;AAC3D,SAAM,KAAK,QAAQ,GAAG,MAAM;GAE5B,MAAM,cAAc,sCAAqB,KAAK,YAAY,OAAO;IAC/D,MAAM,OAAO,cAAc;IAC3B;IACA;IACA,MAAM,EACJ,WAAW,KAAK,OAAO,KACxB;IACD,QAAQ,KAAK;IACd,CAAC;AAEF,SAAM,KAAK,QAAQ,GAAG,YAAY;;EAErC;EACD"}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./types-8ZXwr93_.cjs";
|
|
2
|
-
import { i as UserPluginWithLifeCycle, n as PluginMsw, t as Options } from "./types-
|
|
2
|
+
import { i as UserPluginWithLifeCycle, n as PluginMsw, t as Options } from "./types-BB6ZV1EN.cjs";
|
|
3
3
|
|
|
4
4
|
//#region src/plugin.d.ts
|
|
5
5
|
declare const pluginMswName = "plugin-msw";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./types-IbHKcY02.js";
|
|
2
|
-
import { i as UserPluginWithLifeCycle, n as PluginMsw, t as Options } from "./types-
|
|
2
|
+
import { i as UserPluginWithLifeCycle, n as PluginMsw, t as Options } from "./types-BLiYk9M7.js";
|
|
3
3
|
|
|
4
4
|
//#region src/plugin.d.ts
|
|
5
5
|
declare const pluginMswName = "plugin-msw";
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import "./components-DcRndqwD.js";
|
|
2
|
-
import { n as mswGenerator, t as handlersGenerator } from "./generators-
|
|
2
|
+
import { n as mswGenerator, t as handlersGenerator } from "./generators-itHERcU2.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import {
|
|
4
|
+
import { PluginManager, createPlugin, getBarrelFiles, getMode } from "@kubb/core";
|
|
5
5
|
import { camelCase } from "@kubb/core/transformers";
|
|
6
|
-
import { OperationGenerator, pluginOasName } from "@kubb/plugin-oas";
|
|
7
6
|
import { pluginFakerName } from "@kubb/plugin-faker";
|
|
7
|
+
import { OperationGenerator, pluginOasName } from "@kubb/plugin-oas";
|
|
8
8
|
import { pluginTsName } from "@kubb/plugin-ts";
|
|
9
9
|
|
|
10
10
|
//#region src/plugin.ts
|
|
@@ -29,7 +29,7 @@ const pluginMsw = createPlugin((options) => {
|
|
|
29
29
|
].filter(Boolean),
|
|
30
30
|
resolvePath(baseName, pathMode, options$1) {
|
|
31
31
|
const root = path.resolve(this.config.root, this.config.output.path);
|
|
32
|
-
if ((pathMode ??
|
|
32
|
+
if ((pathMode ?? getMode(path.resolve(root, output.path))) === "single")
|
|
33
33
|
/**
|
|
34
34
|
* when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend
|
|
35
35
|
* Other plugins then need to call addOrAppend instead of just add from the fileManager class
|
|
@@ -56,7 +56,7 @@ const pluginMsw = createPlugin((options) => {
|
|
|
56
56
|
const [swaggerPlugin] = PluginManager.getDependedPlugins(this.plugins, [pluginOasName]);
|
|
57
57
|
const oas = await swaggerPlugin.context.getOas();
|
|
58
58
|
const root = path.resolve(this.config.root, this.config.output.path);
|
|
59
|
-
const mode =
|
|
59
|
+
const mode = getMode(path.resolve(root, output.path));
|
|
60
60
|
const files = await new OperationGenerator(this.plugin.options, {
|
|
61
61
|
oas,
|
|
62
62
|
pluginManager: this.pluginManager,
|
|
@@ -68,7 +68,7 @@ const pluginMsw = createPlugin((options) => {
|
|
|
68
68
|
mode
|
|
69
69
|
}).build(...generators);
|
|
70
70
|
await this.addFile(...files);
|
|
71
|
-
const barrelFiles = await this.fileManager.
|
|
71
|
+
const barrelFiles = await getBarrelFiles(this.fileManager.files, {
|
|
72
72
|
type: output.barrelType ?? "named",
|
|
73
73
|
root,
|
|
74
74
|
output,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["options","groupName: Group['name']"],"sources":["../src/plugin.ts"],"sourcesContent":["import path from 'node:path'\
|
|
1
|
+
{"version":3,"file":"index.js","names":["options","groupName: Group['name']"],"sources":["../src/plugin.ts"],"sourcesContent":["import path from 'node:path'\nimport { createPlugin, type Group, getBarrelFiles, getMode, type Plugin, PluginManager } from '@kubb/core'\nimport { camelCase } from '@kubb/core/transformers'\n\nimport { pluginFakerName } from '@kubb/plugin-faker'\nimport type { PluginOas as SwaggerPluginOptions } from '@kubb/plugin-oas'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { handlersGenerator, mswGenerator } from './generators'\nimport type { PluginMsw } from './types.ts'\n\nexport const pluginMswName = 'plugin-msw' satisfies PluginMsw['name']\n\nexport const pluginMsw = createPlugin<PluginMsw>((options) => {\n const {\n output = { path: 'handlers', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n transformers = {},\n handlers = false,\n parser = 'data',\n generators = [mswGenerator, handlers ? handlersGenerator : undefined].filter(Boolean),\n contentType,\n baseURL,\n } = options\n\n return {\n name: pluginMswName,\n options: {\n output,\n parser,\n group,\n baseURL,\n },\n pre: [pluginOasName, pluginTsName, parser === 'faker' ? pluginFakerName : 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: Group['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 const resolvedName = camelCase(name, {\n suffix: type ? 'handler' : undefined,\n isFile: type === 'file',\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<SwaggerPluginOptions>] = PluginManager.getDependedPlugins<SwaggerPluginOptions>(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 = 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,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.addFile(...files)\n\n const barrelFiles = await getBarrelFiles(this.fileManager.files, {\n type: output.barrelType ?? 'named',\n root,\n output,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"],"mappings":";;;;;;;;;;AAWA,MAAa,gBAAgB;AAE7B,MAAa,YAAY,cAAyB,YAAY;CAC5D,MAAM,EACJ,SAAS;EAAE,MAAM;EAAY,YAAY;EAAS,EAClD,OACA,UAAU,EAAE,EACZ,SACA,WAAW,EAAE,EACb,eAAe,EAAE,EACjB,WAAW,OACX,SAAS,QACT,aAAa,CAAC,cAAc,WAAW,oBAAoB,OAAU,CAAC,OAAO,QAAQ,EACrF,aACA,YACE;AAEJ,QAAO;EACL,MAAM;EACN,SAAS;GACP;GACA;GACA;GACA;GACD;EACD,KAAK;GAAC;GAAe;GAAc,WAAW,UAAU,kBAAkB;GAAU,CAAC,OAAO,QAAQ;EACpG,YAAY,UAAU,UAAU,WAAS;GACvC,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO,KAAK;AAGpE,QAFa,YAAY,QAAQ,KAAK,QAAQ,MAAM,OAAO,KAAK,CAAC,MAEpD;;;;;AAKX,UAAO,KAAK,QAAQ,MAAM,OAAO,KAAK;AAGxC,OAAI,UAAUA,WAAS,OAAO,QAAQA,WAAS,OAAO,MAAM;IAC1D,MAAMC,YAA2B,OAAO,OACpC,MAAM,QACL,QAAQ;AACP,SAAI,OAAO,SAAS,OAClB,QAAO,GAAG,IAAI,MAAM,MAAM,IAAI,CAAC;AAEjC,YAAO,GAAG,UAAU,IAAI,MAAM,CAAC;;AAGrC,WAAO,KAAK,QACV,MACA,OAAO,MACP,UAAU,EACR,OAAO,MAAM,SAAS,SAASD,UAAQ,MAAM,OAAQA,UAAQ,MAAM,KACpE,CAAC,EACF,SACD;;AAGH,UAAO,KAAK,QAAQ,MAAM,OAAO,MAAM,SAAS;;EAElD,YAAY,MAAM,MAAM;GACtB,MAAM,eAAe,UAAU,MAAM;IACnC,QAAQ,OAAO,YAAY;IAC3B,QAAQ,SAAS;IAClB,CAAC;AAEF,OAAI,KACF,QAAO,cAAc,OAAO,cAAc,KAAK,IAAI;AAGrD,UAAO;;EAET,MAAM,aAAa;GACjB,MAAM,CAAC,iBAAiD,cAAc,mBAAyC,KAAK,SAAS,CAAC,cAAc,CAAC;GAE7I,MAAM,MAAM,MAAM,cAAc,QAAQ,QAAQ;GAChD,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO,KAAK;GACpE,MAAM,OAAO,QAAQ,KAAK,QAAQ,MAAM,OAAO,KAAK,CAAC;GAarD,MAAM,QAAQ,MAXa,IAAI,mBAAmB,KAAK,OAAO,SAAS;IACrE;IACA,eAAe,KAAK;IACpB,QAAQ,KAAK;IACb;IACA;IACA;IACA;IACA;IACD,CAAC,CAEqC,MAAM,GAAG,WAAW;AAC3D,SAAM,KAAK,QAAQ,GAAG,MAAM;GAE5B,MAAM,cAAc,MAAM,eAAe,KAAK,YAAY,OAAO;IAC/D,MAAM,OAAO,cAAc;IAC3B;IACA;IACA,MAAM,EACJ,WAAW,KAAK,OAAO,KACxB;IACD,QAAQ,KAAK;IACd,CAAC;AAEF,SAAM,KAAK,QAAQ,GAAG,YAAY;;EAErC;EACD"}
|
|
@@ -5,6 +5,7 @@ import { OpenAPIV3 } from "openapi-types";
|
|
|
5
5
|
import * as oas_normalize_lib_types0 from "oas-normalize/lib/types";
|
|
6
6
|
import BaseOas from "oas";
|
|
7
7
|
import { ConsolaInstance, LogLevel } from "consola";
|
|
8
|
+
import { FileManager } from "@kubb/fabric-core";
|
|
8
9
|
|
|
9
10
|
//#region ../oas/src/Oas.d.ts
|
|
10
11
|
type Options$3 = {
|
|
@@ -213,8 +214,6 @@ type Logger = {
|
|
|
213
214
|
//#endregion
|
|
214
215
|
//#region ../core/src/utils/types.d.ts
|
|
215
216
|
type PossiblePromise<T$1> = Promise<T$1> | T$1;
|
|
216
|
-
type ArrayWithLength<T$1 extends number, U extends any[] = []> = U['length'] extends T$1 ? U : ArrayWithLength<T$1, [true, ...U]>;
|
|
217
|
-
type GreaterThan<T$1 extends number, U extends number> = ArrayWithLength<U> extends [...ArrayWithLength<T$1>, ...infer _] ? false : true;
|
|
218
217
|
//#endregion
|
|
219
218
|
//#region ../core/src/types.d.ts
|
|
220
219
|
type InputPath = {
|
|
@@ -457,6 +456,9 @@ type ResolveNameParams = {
|
|
|
457
456
|
};
|
|
458
457
|
type PluginContext<TOptions$1 extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
459
458
|
config: Config;
|
|
459
|
+
/**
|
|
460
|
+
* @deprecated
|
|
461
|
+
*/
|
|
460
462
|
fileManager: FileManager;
|
|
461
463
|
pluginManager: PluginManager;
|
|
462
464
|
addFile: (...file: Array<File>) => Promise<Array<ResolvedFile>>;
|
|
@@ -508,60 +510,6 @@ type Group = {
|
|
|
508
510
|
name?: (context: GroupContext) => string;
|
|
509
511
|
};
|
|
510
512
|
//#endregion
|
|
511
|
-
//#region ../core/src/FileManager.d.ts
|
|
512
|
-
type FileMetaBase = {
|
|
513
|
-
pluginKey?: Plugin['key'];
|
|
514
|
-
};
|
|
515
|
-
type AddResult<T$1 extends Array<File>> = Promise<Awaited<GreaterThan<T$1['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>;
|
|
516
|
-
type AddIndexesProps = {
|
|
517
|
-
type: BarrelType | false | undefined;
|
|
518
|
-
/**
|
|
519
|
-
* Root based on root and output.path specified in the config
|
|
520
|
-
*/
|
|
521
|
-
root: string;
|
|
522
|
-
/**
|
|
523
|
-
* Output for plugin
|
|
524
|
-
*/
|
|
525
|
-
output: {
|
|
526
|
-
path: string;
|
|
527
|
-
};
|
|
528
|
-
group?: {
|
|
529
|
-
output: string;
|
|
530
|
-
exportAs: string;
|
|
531
|
-
};
|
|
532
|
-
logger?: Logger;
|
|
533
|
-
meta?: FileMetaBase;
|
|
534
|
-
};
|
|
535
|
-
type WriteFilesProps = {
|
|
536
|
-
root: Config['root'];
|
|
537
|
-
extension?: Record<Extname, Extname | ''>;
|
|
538
|
-
logger?: Logger;
|
|
539
|
-
dryRun?: boolean;
|
|
540
|
-
};
|
|
541
|
-
declare class FileManager {
|
|
542
|
-
#private;
|
|
543
|
-
constructor();
|
|
544
|
-
add<T extends Array<File> = Array<File>>(...files: T): AddResult<T>;
|
|
545
|
-
getByPath(path: Path): Promise<ResolvedFile | null>;
|
|
546
|
-
deleteByPath(path: Path): Promise<void>;
|
|
547
|
-
clear(): Promise<void>;
|
|
548
|
-
getFiles(): Promise<Array<ResolvedFile>>;
|
|
549
|
-
processFiles({
|
|
550
|
-
dryRun,
|
|
551
|
-
root,
|
|
552
|
-
extension,
|
|
553
|
-
logger
|
|
554
|
-
}: WriteFilesProps): Promise<Array<ResolvedFile>>;
|
|
555
|
-
getBarrelFiles({
|
|
556
|
-
type,
|
|
557
|
-
meta,
|
|
558
|
-
root,
|
|
559
|
-
output,
|
|
560
|
-
logger
|
|
561
|
-
}: AddIndexesProps): Promise<File[]>;
|
|
562
|
-
static getMode(path: string | undefined | null): Mode;
|
|
563
|
-
}
|
|
564
|
-
//#endregion
|
|
565
513
|
//#region ../core/src/PluginManager.d.ts
|
|
566
514
|
type RequiredPluginLifecycle = Required<PluginLifecycle>;
|
|
567
515
|
type Strategy = 'hookFirst' | 'hookForPlugin' | 'hookParallel' | 'hookSeq';
|
|
@@ -600,6 +548,9 @@ type GetFileProps<TOptions$1 = object> = {
|
|
|
600
548
|
declare class PluginManager {
|
|
601
549
|
#private;
|
|
602
550
|
readonly plugins: Set<Plugin<PluginFactoryOptions<string, object, object, any, object>>>;
|
|
551
|
+
/**
|
|
552
|
+
* @deprecated do not use from pluginManager
|
|
553
|
+
*/
|
|
603
554
|
readonly fileManager: FileManager;
|
|
604
555
|
readonly events: EventEmitter<Events>;
|
|
605
556
|
readonly config: Config;
|
|
@@ -708,6 +659,11 @@ declare class PluginManager {
|
|
|
708
659
|
static get hooks(): readonly ["buildStart", "resolvePath", "resolveName", "buildEnd"];
|
|
709
660
|
}
|
|
710
661
|
//#endregion
|
|
662
|
+
//#region ../core/src/FileManager.d.ts
|
|
663
|
+
type FileMetaBase = {
|
|
664
|
+
pluginKey?: Plugin['key'];
|
|
665
|
+
};
|
|
666
|
+
//#endregion
|
|
711
667
|
//#region ../plugin-oas/src/SchemaMapper.d.ts
|
|
712
668
|
type SchemaKeywordMapper = {
|
|
713
669
|
object: {
|
|
@@ -1182,4 +1138,4 @@ type ResolvedOptions = {
|
|
|
1182
1138
|
type PluginMsw = PluginFactoryOptions<'plugin-msw', Options$1, ResolvedOptions, never, ResolvePathOptions>;
|
|
1183
1139
|
//#endregion
|
|
1184
1140
|
export { UserPluginWithLifeCycle as i, PluginMsw as n, Generator as r, Options$1 as t };
|
|
1185
|
-
//# sourceMappingURL=types-
|
|
1141
|
+
//# sourceMappingURL=types-BB6ZV1EN.d.cts.map
|
|
@@ -5,6 +5,7 @@ import { OpenAPIV3 } from "openapi-types";
|
|
|
5
5
|
import * as oas_normalize_lib_types0 from "oas-normalize/lib/types";
|
|
6
6
|
import BaseOas from "oas";
|
|
7
7
|
import { ConsolaInstance, LogLevel } from "consola";
|
|
8
|
+
import { FileManager } from "@kubb/fabric-core";
|
|
8
9
|
|
|
9
10
|
//#region ../oas/src/Oas.d.ts
|
|
10
11
|
type Options$3 = {
|
|
@@ -213,8 +214,6 @@ type Logger = {
|
|
|
213
214
|
//#endregion
|
|
214
215
|
//#region ../core/src/utils/types.d.ts
|
|
215
216
|
type PossiblePromise<T$1> = Promise<T$1> | T$1;
|
|
216
|
-
type ArrayWithLength<T$1 extends number, U extends any[] = []> = U['length'] extends T$1 ? U : ArrayWithLength<T$1, [true, ...U]>;
|
|
217
|
-
type GreaterThan<T$1 extends number, U extends number> = ArrayWithLength<U> extends [...ArrayWithLength<T$1>, ...infer _] ? false : true;
|
|
218
217
|
//#endregion
|
|
219
218
|
//#region ../core/src/types.d.ts
|
|
220
219
|
type InputPath = {
|
|
@@ -457,6 +456,9 @@ type ResolveNameParams = {
|
|
|
457
456
|
};
|
|
458
457
|
type PluginContext<TOptions$1 extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
459
458
|
config: Config;
|
|
459
|
+
/**
|
|
460
|
+
* @deprecated
|
|
461
|
+
*/
|
|
460
462
|
fileManager: FileManager;
|
|
461
463
|
pluginManager: PluginManager;
|
|
462
464
|
addFile: (...file: Array<File>) => Promise<Array<ResolvedFile>>;
|
|
@@ -508,60 +510,6 @@ type Group = {
|
|
|
508
510
|
name?: (context: GroupContext) => string;
|
|
509
511
|
};
|
|
510
512
|
//#endregion
|
|
511
|
-
//#region ../core/src/FileManager.d.ts
|
|
512
|
-
type FileMetaBase = {
|
|
513
|
-
pluginKey?: Plugin['key'];
|
|
514
|
-
};
|
|
515
|
-
type AddResult<T$1 extends Array<File>> = Promise<Awaited<GreaterThan<T$1['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>;
|
|
516
|
-
type AddIndexesProps = {
|
|
517
|
-
type: BarrelType | false | undefined;
|
|
518
|
-
/**
|
|
519
|
-
* Root based on root and output.path specified in the config
|
|
520
|
-
*/
|
|
521
|
-
root: string;
|
|
522
|
-
/**
|
|
523
|
-
* Output for plugin
|
|
524
|
-
*/
|
|
525
|
-
output: {
|
|
526
|
-
path: string;
|
|
527
|
-
};
|
|
528
|
-
group?: {
|
|
529
|
-
output: string;
|
|
530
|
-
exportAs: string;
|
|
531
|
-
};
|
|
532
|
-
logger?: Logger;
|
|
533
|
-
meta?: FileMetaBase;
|
|
534
|
-
};
|
|
535
|
-
type WriteFilesProps = {
|
|
536
|
-
root: Config['root'];
|
|
537
|
-
extension?: Record<Extname, Extname | ''>;
|
|
538
|
-
logger?: Logger;
|
|
539
|
-
dryRun?: boolean;
|
|
540
|
-
};
|
|
541
|
-
declare class FileManager {
|
|
542
|
-
#private;
|
|
543
|
-
constructor();
|
|
544
|
-
add<T extends Array<File> = Array<File>>(...files: T): AddResult<T>;
|
|
545
|
-
getByPath(path: Path): Promise<ResolvedFile | null>;
|
|
546
|
-
deleteByPath(path: Path): Promise<void>;
|
|
547
|
-
clear(): Promise<void>;
|
|
548
|
-
getFiles(): Promise<Array<ResolvedFile>>;
|
|
549
|
-
processFiles({
|
|
550
|
-
dryRun,
|
|
551
|
-
root,
|
|
552
|
-
extension,
|
|
553
|
-
logger
|
|
554
|
-
}: WriteFilesProps): Promise<Array<ResolvedFile>>;
|
|
555
|
-
getBarrelFiles({
|
|
556
|
-
type,
|
|
557
|
-
meta,
|
|
558
|
-
root,
|
|
559
|
-
output,
|
|
560
|
-
logger
|
|
561
|
-
}: AddIndexesProps): Promise<File[]>;
|
|
562
|
-
static getMode(path: string | undefined | null): Mode;
|
|
563
|
-
}
|
|
564
|
-
//#endregion
|
|
565
513
|
//#region ../core/src/PluginManager.d.ts
|
|
566
514
|
type RequiredPluginLifecycle = Required<PluginLifecycle>;
|
|
567
515
|
type Strategy = 'hookFirst' | 'hookForPlugin' | 'hookParallel' | 'hookSeq';
|
|
@@ -600,6 +548,9 @@ type GetFileProps<TOptions$1 = object> = {
|
|
|
600
548
|
declare class PluginManager {
|
|
601
549
|
#private;
|
|
602
550
|
readonly plugins: Set<Plugin<PluginFactoryOptions<string, object, object, any, object>>>;
|
|
551
|
+
/**
|
|
552
|
+
* @deprecated do not use from pluginManager
|
|
553
|
+
*/
|
|
603
554
|
readonly fileManager: FileManager;
|
|
604
555
|
readonly events: EventEmitter<Events>;
|
|
605
556
|
readonly config: Config;
|
|
@@ -708,6 +659,11 @@ declare class PluginManager {
|
|
|
708
659
|
static get hooks(): readonly ["buildStart", "resolvePath", "resolveName", "buildEnd"];
|
|
709
660
|
}
|
|
710
661
|
//#endregion
|
|
662
|
+
//#region ../core/src/FileManager.d.ts
|
|
663
|
+
type FileMetaBase = {
|
|
664
|
+
pluginKey?: Plugin['key'];
|
|
665
|
+
};
|
|
666
|
+
//#endregion
|
|
711
667
|
//#region ../plugin-oas/src/SchemaMapper.d.ts
|
|
712
668
|
type SchemaKeywordMapper = {
|
|
713
669
|
object: {
|
|
@@ -1182,4 +1138,4 @@ type ResolvedOptions = {
|
|
|
1182
1138
|
type PluginMsw = PluginFactoryOptions<'plugin-msw', Options$1, ResolvedOptions, never, ResolvePathOptions>;
|
|
1183
1139
|
//#endregion
|
|
1184
1140
|
export { UserPluginWithLifeCycle as i, PluginMsw as n, Generator as r, Options$1 as t };
|
|
1185
|
-
//# sourceMappingURL=types-
|
|
1141
|
+
//# sourceMappingURL=types-BLiYk9M7.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-msw",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.1",
|
|
4
4
|
"description": "Mock Service Worker (MSW) handlers generator plugin for Kubb, creating API mocks from OpenAPI specifications for frontend development and testing.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"msw",
|
|
@@ -66,12 +66,12 @@
|
|
|
66
66
|
"!/**/__tests__/**"
|
|
67
67
|
],
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@kubb/core": "4.2.
|
|
70
|
-
"@kubb/oas": "4.2.
|
|
71
|
-
"@kubb/plugin-faker": "4.2.
|
|
72
|
-
"@kubb/plugin-oas": "4.2.
|
|
73
|
-
"@kubb/plugin-ts": "4.2.
|
|
74
|
-
"@kubb/react": "4.2.
|
|
69
|
+
"@kubb/core": "4.2.1",
|
|
70
|
+
"@kubb/oas": "4.2.1",
|
|
71
|
+
"@kubb/plugin-faker": "4.2.1",
|
|
72
|
+
"@kubb/plugin-oas": "4.2.1",
|
|
73
|
+
"@kubb/plugin-ts": "4.2.1",
|
|
74
|
+
"@kubb/react": "4.2.1"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"tsdown": "^0.15.9",
|
package/src/plugin.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import path from 'node:path'
|
|
2
|
-
|
|
3
|
-
import { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'
|
|
2
|
+
import { createPlugin, type Group, getBarrelFiles, getMode, type Plugin, PluginManager } from '@kubb/core'
|
|
4
3
|
import { camelCase } from '@kubb/core/transformers'
|
|
5
|
-
import { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'
|
|
6
4
|
|
|
7
5
|
import { pluginFakerName } from '@kubb/plugin-faker'
|
|
8
|
-
import { pluginTsName } from '@kubb/plugin-ts'
|
|
9
|
-
|
|
10
|
-
import type { Plugin } from '@kubb/core'
|
|
11
6
|
import type { PluginOas as SwaggerPluginOptions } from '@kubb/plugin-oas'
|
|
7
|
+
import { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'
|
|
8
|
+
import { pluginTsName } from '@kubb/plugin-ts'
|
|
12
9
|
import { handlersGenerator, mswGenerator } from './generators'
|
|
13
10
|
import type { PluginMsw } from './types.ts'
|
|
14
11
|
|
|
@@ -40,7 +37,7 @@ export const pluginMsw = createPlugin<PluginMsw>((options) => {
|
|
|
40
37
|
pre: [pluginOasName, pluginTsName, parser === 'faker' ? pluginFakerName : undefined].filter(Boolean),
|
|
41
38
|
resolvePath(baseName, pathMode, options) {
|
|
42
39
|
const root = path.resolve(this.config.root, this.config.output.path)
|
|
43
|
-
const mode = pathMode ??
|
|
40
|
+
const mode = pathMode ?? getMode(path.resolve(root, output.path))
|
|
44
41
|
|
|
45
42
|
if (mode === 'single') {
|
|
46
43
|
/**
|
|
@@ -89,7 +86,7 @@ export const pluginMsw = createPlugin<PluginMsw>((options) => {
|
|
|
89
86
|
|
|
90
87
|
const oas = await swaggerPlugin.context.getOas()
|
|
91
88
|
const root = path.resolve(this.config.root, this.config.output.path)
|
|
92
|
-
const mode =
|
|
89
|
+
const mode = getMode(path.resolve(root, output.path))
|
|
93
90
|
|
|
94
91
|
const operationGenerator = new OperationGenerator(this.plugin.options, {
|
|
95
92
|
oas,
|
|
@@ -105,7 +102,7 @@ export const pluginMsw = createPlugin<PluginMsw>((options) => {
|
|
|
105
102
|
const files = await operationGenerator.build(...generators)
|
|
106
103
|
await this.addFile(...files)
|
|
107
104
|
|
|
108
|
-
const barrelFiles = await this.fileManager.
|
|
105
|
+
const barrelFiles = await getBarrelFiles(this.fileManager.files, {
|
|
109
106
|
type: output.barrelType ?? 'named',
|
|
110
107
|
root,
|
|
111
108
|
output,
|