unplugin-kubb 5.0.0-beta.85 → 5.0.0-beta.87

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/astro.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
1
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
2
2
  const require_vite = require("./vite.cjs");
3
3
  //#region src/astro.ts
4
4
  var astro_default = /* @__PURE__ */ require_unpluginFactory.__name((options) => ({
package/dist/esbuild.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
1
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
2
2
  //#region src/esbuild.ts
3
3
  var esbuild_default = (0, require("unplugin").createEsbuildPlugin)(require_unpluginFactory.unpluginFactory);
4
4
  //#endregion
package/dist/esbuild.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as unpluginFactory } from "./unpluginFactory-C2kvDtAc.js";
1
+ import { t as unpluginFactory } from "./unpluginFactory-BNIaOSC1.js";
2
2
  import { createEsbuildPlugin } from "unplugin";
3
3
  //#region src/esbuild.ts
4
4
  var esbuild_default = createEsbuildPlugin(unpluginFactory);
package/dist/farm.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
1
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
2
2
  //#region src/farm.ts
3
3
  var farm_default = (0, require("unplugin").createFarmPlugin)(require_unpluginFactory.unpluginFactory);
4
4
  //#endregion
package/dist/farm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as unpluginFactory } from "./unpluginFactory-C2kvDtAc.js";
1
+ import { t as unpluginFactory } from "./unpluginFactory-BNIaOSC1.js";
2
2
  import { createFarmPlugin } from "unplugin";
3
3
  //#region src/farm.ts
4
4
  var farm_default = createFarmPlugin(unpluginFactory);
package/dist/index.cjs CHANGED
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
5
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
6
6
  //#region src/index.ts
7
7
  const plugin = /* #__PURE__ */ (0, require("unplugin").createUnplugin)(require_unpluginFactory.unpluginFactory);
8
8
  //#endregion
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as unpluginFactory } from "./unpluginFactory-C2kvDtAc.js";
1
+ import { t as unpluginFactory } from "./unpluginFactory-BNIaOSC1.js";
2
2
  import { createUnplugin } from "unplugin";
3
3
  //#region src/index.ts
4
4
  const plugin = /* #__PURE__ */ createUnplugin(unpluginFactory);
package/dist/nuxt.cjs CHANGED
@@ -1,4 +1,4 @@
1
- require("./unpluginFactory-CO4EColv.cjs");
1
+ require("./unpluginFactory-CJ06qOwO.cjs");
2
2
  const require_vite = require("./vite.cjs");
3
3
  const require_webpack = require("./webpack.cjs");
4
4
  let _nuxt_kit = require("@nuxt/kit");
package/dist/rolldown.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
1
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
2
2
  //#region src/rolldown.ts
3
3
  var rolldown_default = (0, require("unplugin").createRolldownPlugin)(require_unpluginFactory.unpluginFactory);
4
4
  //#endregion
package/dist/rolldown.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as unpluginFactory } from "./unpluginFactory-C2kvDtAc.js";
1
+ import { t as unpluginFactory } from "./unpluginFactory-BNIaOSC1.js";
2
2
  import { createRolldownPlugin } from "unplugin";
3
3
  //#region src/rolldown.ts
4
4
  var rolldown_default = createRolldownPlugin(unpluginFactory);
package/dist/rollup.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
1
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
2
2
  //#region src/rollup.ts
3
3
  var rollup_default = (0, require("unplugin").createRollupPlugin)(require_unpluginFactory.unpluginFactory);
4
4
  //#endregion
package/dist/rollup.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as unpluginFactory } from "./unpluginFactory-C2kvDtAc.js";
1
+ import { t as unpluginFactory } from "./unpluginFactory-BNIaOSC1.js";
2
2
  import { createRollupPlugin } from "unplugin";
3
3
  //#region src/rollup.ts
4
4
  var rollup_default = createRollupPlugin(unpluginFactory);
package/dist/rspack.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
1
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
2
2
  //#region src/rspack.ts
3
3
  var rspack_default = (0, require("unplugin").createRspackPlugin)(require_unpluginFactory.unpluginFactory);
4
4
  //#endregion
package/dist/rspack.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as unpluginFactory } from "./unpluginFactory-C2kvDtAc.js";
1
+ import { t as unpluginFactory } from "./unpluginFactory-BNIaOSC1.js";
2
2
  import { createRspackPlugin } from "unplugin";
3
3
  //#region src/rspack.ts
4
4
  var rspack_default = createRspackPlugin(unpluginFactory);
@@ -1,11 +1,11 @@
1
1
  import "./rolldown-runtime-C0LytTxp.js";
2
2
  import process from "node:process";
3
3
  import { adapterOas } from "@kubb/adapter-oas";
4
- import { AsyncEventEmitter, Diagnostics, createKubb } from "@kubb/core";
4
+ import { Diagnostics, Hookable, createKubb } from "@kubb/core";
5
5
  import { pluginBarrel, pluginBarrelName } from "@kubb/plugin-barrel";
6
6
  import { parserTs, parserTsx } from "@kubb/parser-ts";
7
7
  //#region package.json
8
- var version = "5.0.0-beta.85";
8
+ var version = "5.0.0-beta.87";
9
9
  //#endregion
10
10
  //#region src/unpluginFactory.ts
11
11
  /**
@@ -17,31 +17,31 @@ var version = "5.0.0-beta.85";
17
17
  */
18
18
  const unpluginFactory = (options, meta) => {
19
19
  const name = "unplugin-kubb";
20
- const hooks = new AsyncEventEmitter();
20
+ const hooks = new Hookable();
21
21
  const isVite = meta.framework === "vite";
22
- hooks.on("kubb:lifecycle:start", ({ version }) => {
22
+ hooks.hook("kubb:lifecycle:start", ({ version }) => {
23
23
  console.log(`Kubb Unplugin ${version} 🧩`);
24
24
  });
25
- hooks.on("kubb:error", ({ error }) => {
25
+ hooks.hook("kubb:error", ({ error }) => {
26
26
  console.error(`✗ ${error?.message || "failed"}`);
27
27
  });
28
- hooks.on("kubb:warn", ({ message }) => {
28
+ hooks.hook("kubb:warn", ({ message }) => {
29
29
  console.warn(`⚠ ${message}`);
30
30
  });
31
- hooks.on("kubb:info", ({ message }) => {
31
+ hooks.hook("kubb:info", ({ message }) => {
32
32
  console.info(`ℹ ${message}`);
33
33
  });
34
- hooks.on("kubb:success", ({ message }) => {
34
+ hooks.hook("kubb:success", ({ message }) => {
35
35
  console.log(`✓ ${message}`);
36
36
  });
37
- hooks.on("kubb:plugin:end", ({ plugin, duration }) => {
37
+ hooks.hook("kubb:plugin:end", ({ plugin, duration }) => {
38
38
  const durationStr = duration >= 1e3 ? `${(duration / 1e3).toFixed(2)}s` : `${duration}ms`;
39
39
  console.log(`✓ ${plugin.name} completed in ${durationStr}`);
40
40
  });
41
- hooks.on("kubb:files:processing:end", () => {
41
+ hooks.hook("kubb:files:processing:end", () => {
42
42
  console.log("✓ Files written successfully");
43
43
  });
44
- hooks.on("kubb:generation:end", ({ config, status, diagnostics }) => {
44
+ hooks.hook("kubb:generation:end", ({ config, status, diagnostics }) => {
45
45
  console.log(config.name ? `✓ Generation completed for ${config.name}` : "✓ Generation completed");
46
46
  if (!diagnostics || !status) return;
47
47
  const failedCount = Diagnostics.failedPlugins(diagnostics).length;
@@ -67,19 +67,19 @@ const unpluginFactory = (options, meta) => {
67
67
  output
68
68
  };
69
69
  const hrStart = process.hrtime();
70
- await hooks.emit("kubb:lifecycle:start", { version });
70
+ await hooks.callHook("kubb:lifecycle:start", { version });
71
71
  const kubb = createKubb(config, { hooks });
72
72
  await kubb.setup();
73
- await hooks.emit("kubb:generation:start", { config: kubb.config });
73
+ await hooks.callHook("kubb:generation:start", { config: kubb.config });
74
74
  const { diagnostics, files, storage } = await kubb.safeBuild();
75
75
  const hasFailures = Diagnostics.hasError(diagnostics);
76
76
  for (const diagnostic of diagnostics) {
77
77
  if (!Diagnostics.isProblem(diagnostic)) continue;
78
- if (diagnostic.severity === "error") hooks.emit("kubb:error", { error: diagnostic.cause ?? new Error(diagnostic.message) });
79
- else if (diagnostic.severity === "warning") hooks.emit("kubb:warn", { message: diagnostic.message });
80
- else hooks.emit("kubb:info", { message: diagnostic.message });
78
+ if (diagnostic.severity === "error") hooks.callHook("kubb:error", { error: diagnostic.cause ?? new Error(diagnostic.message) });
79
+ else if (diagnostic.severity === "warning") hooks.callHook("kubb:warn", { message: diagnostic.message });
80
+ else hooks.callHook("kubb:info", { message: diagnostic.message });
81
81
  }
82
- await hooks.emit("kubb:generation:end", {
82
+ await hooks.callHook("kubb:generation:end", {
83
83
  config: kubb.config,
84
84
  storage,
85
85
  diagnostics,
@@ -87,7 +87,7 @@ const unpluginFactory = (options, meta) => {
87
87
  status: hasFailures ? "failed" : "success",
88
88
  hrStart
89
89
  });
90
- await hooks.emit("kubb:lifecycle:end");
90
+ await hooks.callHook("kubb:lifecycle:end");
91
91
  if (hasFailures) {
92
92
  const failedCount = Diagnostics.failedPlugins(diagnostics).length;
93
93
  const firstError = diagnostics.filter(Diagnostics.isProblem).find((diagnostic) => diagnostic.severity === "error");
@@ -112,4 +112,4 @@ const unpluginFactory = (options, meta) => {
112
112
  //#endregion
113
113
  export { unpluginFactory as t };
114
114
 
115
- //# sourceMappingURL=unpluginFactory-C2kvDtAc.js.map
115
+ //# sourceMappingURL=unpluginFactory-BNIaOSC1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unpluginFactory-BNIaOSC1.js","names":["unpluginVersion","userConfig"],"sources":["../package.json","../src/unpluginFactory.ts"],"sourcesContent":["","import process from 'node:process'\nimport { adapterOas } from '@kubb/adapter-oas'\nimport { type Config, createKubb, Diagnostics, type KubbHooks, Hookable } from '@kubb/core'\nimport { pluginBarrel, pluginBarrelName } from '@kubb/plugin-barrel'\nimport { parserTs, parserTsx } from '@kubb/parser-ts'\nimport type { UnpluginFactory } from 'unplugin'\nimport { version as unpluginVersion } from '../package.json'\nimport type { Options } from './types.ts'\n\ntype RollupContext = {\n info?: (message: string) => void\n warn?: (message: string) => void\n error?: (message: string) => void\n}\n\n/**\n * Builds the Kubb unplugin for any unplugin-supported bundler (Vite, Rollup, Webpack, esbuild).\n *\n * Registers hook handlers that log lifecycle, diagnostics, and a per-plugin summary, then runs\n * the Kubb build during `buildStart`. When the config omits them, it fills in defaults: the OAS\n * adapter, the TS and TSX parsers, and a barrel plugin. Under Vite it only applies during `build`.\n */\nexport const unpluginFactory: UnpluginFactory<Options | undefined> = (options, meta) => {\n const name = 'unplugin-kubb' as const\n const hooks = new Hookable<KubbHooks>()\n const isVite = meta.framework === 'vite'\n\n hooks.hook('kubb:lifecycle:start', ({ version }) => {\n console.log(`Kubb Unplugin ${version} 🧩`)\n })\n\n hooks.hook('kubb:error', ({ error }) => {\n console.error(`✗ ${error?.message || 'failed'}`)\n })\n\n hooks.hook('kubb:warn', ({ message }) => {\n console.warn(`⚠ ${message}`)\n })\n\n hooks.hook('kubb:info', ({ message }) => {\n console.info(`ℹ ${message}`)\n })\n\n hooks.hook('kubb:success', ({ message }) => {\n console.log(`✓ ${message}`)\n })\n\n hooks.hook('kubb:plugin:end', ({ plugin, duration }) => {\n const durationStr = duration >= 1000 ? `${(duration / 1000).toFixed(2)}s` : `${duration}ms`\n\n console.log(`✓ ${plugin.name} completed in ${durationStr}`)\n })\n\n hooks.hook('kubb:files:processing:end', () => {\n const text = '✓ Files written successfully'\n\n console.log(text)\n })\n\n hooks.hook('kubb:generation:end', ({ config, status, diagnostics }) => {\n console.log(config.name ? `✓ Generation completed for ${config.name}` : '✓ Generation completed')\n\n if (!diagnostics || !status) return\n\n const failedCount = Diagnostics.failedPlugins(diagnostics).length\n const pluginsCount = config.plugins.length\n const successCount = pluginsCount - failedCount\n\n console.log(\n status === 'success'\n ? `Kubb Summary: ✓ ${`${successCount} successful`}, ${pluginsCount} total`\n : `Kubb Summary: ✓ ${`${successCount} successful`}, ✗ ${`${failedCount} failed`}, ${pluginsCount} total`,\n )\n })\n\n async function runBuild(ctx: RollupContext) {\n if (!options?.config) {\n ;(ctx.error ?? console.error)(`[${name}] Config is not set`)\n return\n }\n\n const alreadyHasBarrel = options.config.plugins?.some((p) => p.name === pluginBarrelName)\n const plugins = alreadyHasBarrel ? (options.config.plugins ?? []) : [...(options.config.plugins ?? []), pluginBarrel()]\n const output = { ...options.config.output }\n output.barrel ??= { type: 'named' }\n output.format ??= false\n output.lint ??= false\n\n const config = {\n ...options.config,\n adapter: options.config.adapter ?? adapterOas(),\n parsers: options.config.parsers?.length ? options.config.parsers : [parserTs, parserTsx],\n plugins,\n output,\n }\n const hrStart = process.hrtime()\n\n await hooks.callHook('kubb:lifecycle:start', { version: unpluginVersion })\n\n const userConfig = config as Config\n\n const kubb = createKubb(userConfig, { hooks })\n await kubb.setup()\n\n await hooks.callHook('kubb:generation:start', { config: kubb.config })\n\n const { diagnostics, files, storage } = await kubb.safeBuild()\n\n const hasFailures = Diagnostics.hasError(diagnostics)\n\n // Surface every problem by severity. Unplugin has no diagnostic renderer, so route\n // errors/warnings/info to the channels it does listen on. Non-problem diagnostics are skipped.\n for (const diagnostic of diagnostics) {\n if (!Diagnostics.isProblem(diagnostic)) {\n continue\n }\n if (diagnostic.severity === 'error') {\n hooks.callHook('kubb:error', { error: diagnostic.cause ?? new Error(diagnostic.message) })\n } else if (diagnostic.severity === 'warning') {\n hooks.callHook('kubb:warn', { message: diagnostic.message })\n } else {\n hooks.callHook('kubb:info', { message: diagnostic.message })\n }\n }\n\n await hooks.callHook('kubb:generation:end', {\n config: kubb.config,\n storage,\n diagnostics,\n filesCreated: files.length,\n status: hasFailures ? 'failed' : 'success',\n hrStart,\n })\n\n await hooks.callHook('kubb:lifecycle:end')\n\n if (hasFailures) {\n const failedCount = Diagnostics.failedPlugins(diagnostics).length\n const firstError = diagnostics.filter(Diagnostics.isProblem).find((diagnostic) => diagnostic.severity === 'error')\n const message = failedCount > 0 ? `Build Error with ${failedCount} failed plugins` : (firstError?.message ?? 'Build failed')\n if (ctx.error) {\n ctx.error(`[${name}] ${message}`)\n return\n }\n\n throw new Error(`[${name}] ${message}`, { cause: firstError?.cause })\n }\n }\n\n return {\n name,\n enforce: 'pre',\n apply: isVite ? 'build' : undefined,\n async buildStart() {\n await runBuild(this as unknown as RollupContext)\n },\n vite: {},\n }\n}\n"],"mappings":"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"}
@@ -31,7 +31,7 @@ let _kubb_core = require("@kubb/core");
31
31
  let _kubb_plugin_barrel = require("@kubb/plugin-barrel");
32
32
  let _kubb_parser_ts = require("@kubb/parser-ts");
33
33
  //#region package.json
34
- var version = "5.0.0-beta.85";
34
+ var version = "5.0.0-beta.87";
35
35
  //#endregion
36
36
  //#region src/unpluginFactory.ts
37
37
  /**
@@ -43,31 +43,31 @@ var version = "5.0.0-beta.85";
43
43
  */
44
44
  const unpluginFactory = (options, meta) => {
45
45
  const name = "unplugin-kubb";
46
- const hooks = new _kubb_core.AsyncEventEmitter();
46
+ const hooks = new _kubb_core.Hookable();
47
47
  const isVite = meta.framework === "vite";
48
- hooks.on("kubb:lifecycle:start", ({ version }) => {
48
+ hooks.hook("kubb:lifecycle:start", ({ version }) => {
49
49
  console.log(`Kubb Unplugin ${version} 🧩`);
50
50
  });
51
- hooks.on("kubb:error", ({ error }) => {
51
+ hooks.hook("kubb:error", ({ error }) => {
52
52
  console.error(`✗ ${error?.message || "failed"}`);
53
53
  });
54
- hooks.on("kubb:warn", ({ message }) => {
54
+ hooks.hook("kubb:warn", ({ message }) => {
55
55
  console.warn(`⚠ ${message}`);
56
56
  });
57
- hooks.on("kubb:info", ({ message }) => {
57
+ hooks.hook("kubb:info", ({ message }) => {
58
58
  console.info(`ℹ ${message}`);
59
59
  });
60
- hooks.on("kubb:success", ({ message }) => {
60
+ hooks.hook("kubb:success", ({ message }) => {
61
61
  console.log(`✓ ${message}`);
62
62
  });
63
- hooks.on("kubb:plugin:end", ({ plugin, duration }) => {
63
+ hooks.hook("kubb:plugin:end", ({ plugin, duration }) => {
64
64
  const durationStr = duration >= 1e3 ? `${(duration / 1e3).toFixed(2)}s` : `${duration}ms`;
65
65
  console.log(`✓ ${plugin.name} completed in ${durationStr}`);
66
66
  });
67
- hooks.on("kubb:files:processing:end", () => {
67
+ hooks.hook("kubb:files:processing:end", () => {
68
68
  console.log("✓ Files written successfully");
69
69
  });
70
- hooks.on("kubb:generation:end", ({ config, status, diagnostics }) => {
70
+ hooks.hook("kubb:generation:end", ({ config, status, diagnostics }) => {
71
71
  console.log(config.name ? `✓ Generation completed for ${config.name}` : "✓ Generation completed");
72
72
  if (!diagnostics || !status) return;
73
73
  const failedCount = _kubb_core.Diagnostics.failedPlugins(diagnostics).length;
@@ -93,19 +93,19 @@ const unpluginFactory = (options, meta) => {
93
93
  output
94
94
  };
95
95
  const hrStart = node_process.default.hrtime();
96
- await hooks.emit("kubb:lifecycle:start", { version });
96
+ await hooks.callHook("kubb:lifecycle:start", { version });
97
97
  const kubb = (0, _kubb_core.createKubb)(config, { hooks });
98
98
  await kubb.setup();
99
- await hooks.emit("kubb:generation:start", { config: kubb.config });
99
+ await hooks.callHook("kubb:generation:start", { config: kubb.config });
100
100
  const { diagnostics, files, storage } = await kubb.safeBuild();
101
101
  const hasFailures = _kubb_core.Diagnostics.hasError(diagnostics);
102
102
  for (const diagnostic of diagnostics) {
103
103
  if (!_kubb_core.Diagnostics.isProblem(diagnostic)) continue;
104
- if (diagnostic.severity === "error") hooks.emit("kubb:error", { error: diagnostic.cause ?? new Error(diagnostic.message) });
105
- else if (diagnostic.severity === "warning") hooks.emit("kubb:warn", { message: diagnostic.message });
106
- else hooks.emit("kubb:info", { message: diagnostic.message });
104
+ if (diagnostic.severity === "error") hooks.callHook("kubb:error", { error: diagnostic.cause ?? new Error(diagnostic.message) });
105
+ else if (diagnostic.severity === "warning") hooks.callHook("kubb:warn", { message: diagnostic.message });
106
+ else hooks.callHook("kubb:info", { message: diagnostic.message });
107
107
  }
108
- await hooks.emit("kubb:generation:end", {
108
+ await hooks.callHook("kubb:generation:end", {
109
109
  config: kubb.config,
110
110
  storage,
111
111
  diagnostics,
@@ -113,7 +113,7 @@ const unpluginFactory = (options, meta) => {
113
113
  status: hasFailures ? "failed" : "success",
114
114
  hrStart
115
115
  });
116
- await hooks.emit("kubb:lifecycle:end");
116
+ await hooks.callHook("kubb:lifecycle:end");
117
117
  if (hasFailures) {
118
118
  const failedCount = _kubb_core.Diagnostics.failedPlugins(diagnostics).length;
119
119
  const firstError = diagnostics.filter(_kubb_core.Diagnostics.isProblem).find((diagnostic) => diagnostic.severity === "error");
@@ -149,4 +149,4 @@ Object.defineProperty(exports, "unpluginFactory", {
149
149
  }
150
150
  });
151
151
 
152
- //# sourceMappingURL=unpluginFactory-CO4EColv.cjs.map
152
+ //# sourceMappingURL=unpluginFactory-CJ06qOwO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unpluginFactory-CJ06qOwO.cjs","names":["Hookable","Diagnostics","pluginBarrelName","parserTs","parserTsx","process","unpluginVersion","userConfig"],"sources":["../package.json","../src/unpluginFactory.ts"],"sourcesContent":["","import process from 'node:process'\nimport { adapterOas } from '@kubb/adapter-oas'\nimport { type Config, createKubb, Diagnostics, type KubbHooks, Hookable } from '@kubb/core'\nimport { pluginBarrel, pluginBarrelName } from '@kubb/plugin-barrel'\nimport { parserTs, parserTsx } from '@kubb/parser-ts'\nimport type { UnpluginFactory } from 'unplugin'\nimport { version as unpluginVersion } from '../package.json'\nimport type { Options } from './types.ts'\n\ntype RollupContext = {\n info?: (message: string) => void\n warn?: (message: string) => void\n error?: (message: string) => void\n}\n\n/**\n * Builds the Kubb unplugin for any unplugin-supported bundler (Vite, Rollup, Webpack, esbuild).\n *\n * Registers hook handlers that log lifecycle, diagnostics, and a per-plugin summary, then runs\n * the Kubb build during `buildStart`. When the config omits them, it fills in defaults: the OAS\n * adapter, the TS and TSX parsers, and a barrel plugin. Under Vite it only applies during `build`.\n */\nexport const unpluginFactory: UnpluginFactory<Options | undefined> = (options, meta) => {\n const name = 'unplugin-kubb' as const\n const hooks = new Hookable<KubbHooks>()\n const isVite = meta.framework === 'vite'\n\n hooks.hook('kubb:lifecycle:start', ({ version }) => {\n console.log(`Kubb Unplugin ${version} 🧩`)\n })\n\n hooks.hook('kubb:error', ({ error }) => {\n console.error(`✗ ${error?.message || 'failed'}`)\n })\n\n hooks.hook('kubb:warn', ({ message }) => {\n console.warn(`⚠ ${message}`)\n })\n\n hooks.hook('kubb:info', ({ message }) => {\n console.info(`ℹ ${message}`)\n })\n\n hooks.hook('kubb:success', ({ message }) => {\n console.log(`✓ ${message}`)\n })\n\n hooks.hook('kubb:plugin:end', ({ plugin, duration }) => {\n const durationStr = duration >= 1000 ? `${(duration / 1000).toFixed(2)}s` : `${duration}ms`\n\n console.log(`✓ ${plugin.name} completed in ${durationStr}`)\n })\n\n hooks.hook('kubb:files:processing:end', () => {\n const text = '✓ Files written successfully'\n\n console.log(text)\n })\n\n hooks.hook('kubb:generation:end', ({ config, status, diagnostics }) => {\n console.log(config.name ? `✓ Generation completed for ${config.name}` : '✓ Generation completed')\n\n if (!diagnostics || !status) return\n\n const failedCount = Diagnostics.failedPlugins(diagnostics).length\n const pluginsCount = config.plugins.length\n const successCount = pluginsCount - failedCount\n\n console.log(\n status === 'success'\n ? `Kubb Summary: ✓ ${`${successCount} successful`}, ${pluginsCount} total`\n : `Kubb Summary: ✓ ${`${successCount} successful`}, ✗ ${`${failedCount} failed`}, ${pluginsCount} total`,\n )\n })\n\n async function runBuild(ctx: RollupContext) {\n if (!options?.config) {\n ;(ctx.error ?? console.error)(`[${name}] Config is not set`)\n return\n }\n\n const alreadyHasBarrel = options.config.plugins?.some((p) => p.name === pluginBarrelName)\n const plugins = alreadyHasBarrel ? (options.config.plugins ?? []) : [...(options.config.plugins ?? []), pluginBarrel()]\n const output = { ...options.config.output }\n output.barrel ??= { type: 'named' }\n output.format ??= false\n output.lint ??= false\n\n const config = {\n ...options.config,\n adapter: options.config.adapter ?? adapterOas(),\n parsers: options.config.parsers?.length ? options.config.parsers : [parserTs, parserTsx],\n plugins,\n output,\n }\n const hrStart = process.hrtime()\n\n await hooks.callHook('kubb:lifecycle:start', { version: unpluginVersion })\n\n const userConfig = config as Config\n\n const kubb = createKubb(userConfig, { hooks })\n await kubb.setup()\n\n await hooks.callHook('kubb:generation:start', { config: kubb.config })\n\n const { diagnostics, files, storage } = await kubb.safeBuild()\n\n const hasFailures = Diagnostics.hasError(diagnostics)\n\n // Surface every problem by severity. Unplugin has no diagnostic renderer, so route\n // errors/warnings/info to the channels it does listen on. Non-problem diagnostics are skipped.\n for (const diagnostic of diagnostics) {\n if (!Diagnostics.isProblem(diagnostic)) {\n continue\n }\n if (diagnostic.severity === 'error') {\n hooks.callHook('kubb:error', { error: diagnostic.cause ?? new Error(diagnostic.message) })\n } else if (diagnostic.severity === 'warning') {\n hooks.callHook('kubb:warn', { message: diagnostic.message })\n } else {\n hooks.callHook('kubb:info', { message: diagnostic.message })\n }\n }\n\n await hooks.callHook('kubb:generation:end', {\n config: kubb.config,\n storage,\n diagnostics,\n filesCreated: files.length,\n status: hasFailures ? 'failed' : 'success',\n hrStart,\n })\n\n await hooks.callHook('kubb:lifecycle:end')\n\n if (hasFailures) {\n const failedCount = Diagnostics.failedPlugins(diagnostics).length\n const firstError = diagnostics.filter(Diagnostics.isProblem).find((diagnostic) => diagnostic.severity === 'error')\n const message = failedCount > 0 ? `Build Error with ${failedCount} failed plugins` : (firstError?.message ?? 'Build failed')\n if (ctx.error) {\n ctx.error(`[${name}] ${message}`)\n return\n }\n\n throw new Error(`[${name}] ${message}`, { cause: firstError?.cause })\n }\n }\n\n return {\n name,\n enforce: 'pre',\n apply: isVite ? 'build' : undefined,\n async buildStart() {\n await runBuild(this as unknown as RollupContext)\n },\n vite: {},\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
2
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
3
3
  exports.unpluginFactory = require_unpluginFactory.unpluginFactory;
@@ -1,2 +1,2 @@
1
- import { t as unpluginFactory } from "./unpluginFactory-C2kvDtAc.js";
1
+ import { t as unpluginFactory } from "./unpluginFactory-BNIaOSC1.js";
2
2
  export { unpluginFactory };
package/dist/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
1
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
2
2
  //#region src/vite.ts
3
3
  var vite_default = (0, require("unplugin").createVitePlugin)(require_unpluginFactory.unpluginFactory);
4
4
  //#endregion
package/dist/vite.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as unpluginFactory } from "./unpluginFactory-C2kvDtAc.js";
1
+ import { t as unpluginFactory } from "./unpluginFactory-BNIaOSC1.js";
2
2
  import { createVitePlugin } from "unplugin";
3
3
  //#region src/vite.ts
4
4
  var vite_default = createVitePlugin(unpluginFactory);
package/dist/webpack.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_unpluginFactory = require("./unpluginFactory-CO4EColv.cjs");
1
+ const require_unpluginFactory = require("./unpluginFactory-CJ06qOwO.cjs");
2
2
  //#region src/webpack.ts
3
3
  var webpack_default = (0, require("unplugin").createWebpackPlugin)(require_unpluginFactory.unpluginFactory);
4
4
  //#endregion
package/dist/webpack.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as unpluginFactory } from "./unpluginFactory-C2kvDtAc.js";
1
+ import { t as unpluginFactory } from "./unpluginFactory-BNIaOSC1.js";
2
2
  import { createWebpackPlugin } from "unplugin";
3
3
  //#region src/webpack.ts
4
4
  var webpack_default = createWebpackPlugin(unpluginFactory);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unplugin-kubb",
3
- "version": "5.0.0-beta.85",
3
+ "version": "5.0.0-beta.87",
4
4
  "description": "Integration of Kubb for Vite, Webpack, Rollup, esbuild, Rspack, Nuxt, and Astro.",
5
5
  "keywords": [
6
6
  "astro",
@@ -100,10 +100,10 @@
100
100
  },
101
101
  "dependencies": {
102
102
  "unplugin": "^3.3.0",
103
- "@kubb/parser-ts": "5.0.0-beta.85",
104
- "@kubb/adapter-oas": "5.0.0-beta.85",
105
- "@kubb/core": "5.0.0-beta.85",
106
- "@kubb/plugin-barrel": "5.0.0-beta.85"
103
+ "@kubb/adapter-oas": "5.0.0-beta.87",
104
+ "@kubb/core": "5.0.0-beta.87",
105
+ "@kubb/parser-ts": "5.0.0-beta.87",
106
+ "@kubb/plugin-barrel": "5.0.0-beta.87"
107
107
  },
108
108
  "devDependencies": {
109
109
  "@farmfe/core": "^1.7.11",
@@ -114,7 +114,7 @@
114
114
  "rollup": "^4.62.2",
115
115
  "vite": "^8.1.3",
116
116
  "webpack": "^5.108.3",
117
- "@kubb/ast": "5.0.0-beta.85"
117
+ "@kubb/ast": "5.0.0-beta.87"
118
118
  },
119
119
  "peerDependencies": {
120
120
  "@farmfe/core": "^1.7.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"unpluginFactory-C2kvDtAc.js","names":["unpluginVersion","userConfig"],"sources":["../package.json","../src/unpluginFactory.ts"],"sourcesContent":["","import process from 'node:process'\nimport { adapterOas } from '@kubb/adapter-oas'\nimport { type Config, createKubb, Diagnostics, type KubbHooks, AsyncEventEmitter } from '@kubb/core'\nimport { pluginBarrel, pluginBarrelName } from '@kubb/plugin-barrel'\nimport { parserTs, parserTsx } from '@kubb/parser-ts'\nimport type { UnpluginFactory } from 'unplugin'\nimport { version as unpluginVersion } from '../package.json'\nimport type { Options } from './types.ts'\n\ntype RollupContext = {\n info?: (message: string) => void\n warn?: (message: string) => void\n error?: (message: string) => void\n}\n\n/**\n * Builds the Kubb unplugin for any unplugin-supported bundler (Vite, Rollup, Webpack, esbuild).\n *\n * Registers hook handlers that log lifecycle, diagnostics, and a per-plugin summary, then runs\n * the Kubb build during `buildStart`. When the config omits them, it fills in defaults: the OAS\n * adapter, the TS and TSX parsers, and a barrel plugin. Under Vite it only applies during `build`.\n */\nexport const unpluginFactory: UnpluginFactory<Options | undefined> = (options, meta) => {\n const name = 'unplugin-kubb' as const\n const hooks = new AsyncEventEmitter<KubbHooks>()\n const isVite = meta.framework === 'vite'\n\n hooks.on('kubb:lifecycle:start', ({ version }) => {\n console.log(`Kubb Unplugin ${version} 🧩`)\n })\n\n hooks.on('kubb:error', ({ error }) => {\n console.error(`✗ ${error?.message || 'failed'}`)\n })\n\n hooks.on('kubb:warn', ({ message }) => {\n console.warn(`⚠ ${message}`)\n })\n\n hooks.on('kubb:info', ({ message }) => {\n console.info(`ℹ ${message}`)\n })\n\n hooks.on('kubb:success', ({ message }) => {\n console.log(`✓ ${message}`)\n })\n\n hooks.on('kubb:plugin:end', ({ plugin, duration }) => {\n const durationStr = duration >= 1000 ? `${(duration / 1000).toFixed(2)}s` : `${duration}ms`\n\n console.log(`✓ ${plugin.name} completed in ${durationStr}`)\n })\n\n hooks.on('kubb:files:processing:end', () => {\n const text = '✓ Files written successfully'\n\n console.log(text)\n })\n\n hooks.on('kubb:generation:end', ({ config, status, diagnostics }) => {\n console.log(config.name ? `✓ Generation completed for ${config.name}` : '✓ Generation completed')\n\n if (!diagnostics || !status) return\n\n const failedCount = Diagnostics.failedPlugins(diagnostics).length\n const pluginsCount = config.plugins.length\n const successCount = pluginsCount - failedCount\n\n console.log(\n status === 'success'\n ? `Kubb Summary: ✓ ${`${successCount} successful`}, ${pluginsCount} total`\n : `Kubb Summary: ✓ ${`${successCount} successful`}, ✗ ${`${failedCount} failed`}, ${pluginsCount} total`,\n )\n })\n\n async function runBuild(ctx: RollupContext) {\n if (!options?.config) {\n ;(ctx.error ?? console.error)(`[${name}] Config is not set`)\n return\n }\n\n const alreadyHasBarrel = options.config.plugins?.some((p) => p.name === pluginBarrelName)\n const plugins = alreadyHasBarrel ? (options.config.plugins ?? []) : [...(options.config.plugins ?? []), pluginBarrel()]\n const output = { ...options.config.output }\n output.barrel ??= { type: 'named' }\n output.format ??= false\n output.lint ??= false\n\n const config = {\n ...options.config,\n adapter: options.config.adapter ?? adapterOas(),\n parsers: options.config.parsers?.length ? options.config.parsers : [parserTs, parserTsx],\n plugins,\n output,\n }\n const hrStart = process.hrtime()\n\n await hooks.emit('kubb:lifecycle:start', { version: unpluginVersion })\n\n const userConfig = config as Config\n\n const kubb = createKubb(userConfig, { hooks })\n await kubb.setup()\n\n await hooks.emit('kubb:generation:start', { config: kubb.config })\n\n const { diagnostics, files, storage } = await kubb.safeBuild()\n\n const hasFailures = Diagnostics.hasError(diagnostics)\n\n // Surface every problem by severity. Unplugin has no diagnostic renderer, so route\n // errors/warnings/info to the channels it does listen on. Non-problem diagnostics are skipped.\n for (const diagnostic of diagnostics) {\n if (!Diagnostics.isProblem(diagnostic)) {\n continue\n }\n if (diagnostic.severity === 'error') {\n hooks.emit('kubb:error', { error: diagnostic.cause ?? new Error(diagnostic.message) })\n } else if (diagnostic.severity === 'warning') {\n hooks.emit('kubb:warn', { message: diagnostic.message })\n } else {\n hooks.emit('kubb:info', { message: diagnostic.message })\n }\n }\n\n await hooks.emit('kubb:generation:end', {\n config: kubb.config,\n storage,\n diagnostics,\n filesCreated: files.length,\n status: hasFailures ? 'failed' : 'success',\n hrStart,\n })\n\n await hooks.emit('kubb:lifecycle:end')\n\n if (hasFailures) {\n const failedCount = Diagnostics.failedPlugins(diagnostics).length\n const firstError = diagnostics.filter(Diagnostics.isProblem).find((diagnostic) => diagnostic.severity === 'error')\n const message = failedCount > 0 ? `Build Error with ${failedCount} failed plugins` : (firstError?.message ?? 'Build failed')\n if (ctx.error) {\n ctx.error(`[${name}] ${message}`)\n return\n }\n\n throw new Error(`[${name}] ${message}`, { cause: firstError?.cause })\n }\n }\n\n return {\n name,\n enforce: 'pre',\n apply: isVite ? 'build' : undefined,\n async buildStart() {\n await runBuild(this as unknown as RollupContext)\n },\n vite: {},\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"unpluginFactory-CO4EColv.cjs","names":["AsyncEventEmitter","Diagnostics","pluginBarrelName","parserTs","parserTsx","process","unpluginVersion","userConfig"],"sources":["../package.json","../src/unpluginFactory.ts"],"sourcesContent":["","import process from 'node:process'\nimport { adapterOas } from '@kubb/adapter-oas'\nimport { type Config, createKubb, Diagnostics, type KubbHooks, AsyncEventEmitter } from '@kubb/core'\nimport { pluginBarrel, pluginBarrelName } from '@kubb/plugin-barrel'\nimport { parserTs, parserTsx } from '@kubb/parser-ts'\nimport type { UnpluginFactory } from 'unplugin'\nimport { version as unpluginVersion } from '../package.json'\nimport type { Options } from './types.ts'\n\ntype RollupContext = {\n info?: (message: string) => void\n warn?: (message: string) => void\n error?: (message: string) => void\n}\n\n/**\n * Builds the Kubb unplugin for any unplugin-supported bundler (Vite, Rollup, Webpack, esbuild).\n *\n * Registers hook handlers that log lifecycle, diagnostics, and a per-plugin summary, then runs\n * the Kubb build during `buildStart`. When the config omits them, it fills in defaults: the OAS\n * adapter, the TS and TSX parsers, and a barrel plugin. Under Vite it only applies during `build`.\n */\nexport const unpluginFactory: UnpluginFactory<Options | undefined> = (options, meta) => {\n const name = 'unplugin-kubb' as const\n const hooks = new AsyncEventEmitter<KubbHooks>()\n const isVite = meta.framework === 'vite'\n\n hooks.on('kubb:lifecycle:start', ({ version }) => {\n console.log(`Kubb Unplugin ${version} 🧩`)\n })\n\n hooks.on('kubb:error', ({ error }) => {\n console.error(`✗ ${error?.message || 'failed'}`)\n })\n\n hooks.on('kubb:warn', ({ message }) => {\n console.warn(`⚠ ${message}`)\n })\n\n hooks.on('kubb:info', ({ message }) => {\n console.info(`ℹ ${message}`)\n })\n\n hooks.on('kubb:success', ({ message }) => {\n console.log(`✓ ${message}`)\n })\n\n hooks.on('kubb:plugin:end', ({ plugin, duration }) => {\n const durationStr = duration >= 1000 ? `${(duration / 1000).toFixed(2)}s` : `${duration}ms`\n\n console.log(`✓ ${plugin.name} completed in ${durationStr}`)\n })\n\n hooks.on('kubb:files:processing:end', () => {\n const text = '✓ Files written successfully'\n\n console.log(text)\n })\n\n hooks.on('kubb:generation:end', ({ config, status, diagnostics }) => {\n console.log(config.name ? `✓ Generation completed for ${config.name}` : '✓ Generation completed')\n\n if (!diagnostics || !status) return\n\n const failedCount = Diagnostics.failedPlugins(diagnostics).length\n const pluginsCount = config.plugins.length\n const successCount = pluginsCount - failedCount\n\n console.log(\n status === 'success'\n ? `Kubb Summary: ✓ ${`${successCount} successful`}, ${pluginsCount} total`\n : `Kubb Summary: ✓ ${`${successCount} successful`}, ✗ ${`${failedCount} failed`}, ${pluginsCount} total`,\n )\n })\n\n async function runBuild(ctx: RollupContext) {\n if (!options?.config) {\n ;(ctx.error ?? console.error)(`[${name}] Config is not set`)\n return\n }\n\n const alreadyHasBarrel = options.config.plugins?.some((p) => p.name === pluginBarrelName)\n const plugins = alreadyHasBarrel ? (options.config.plugins ?? []) : [...(options.config.plugins ?? []), pluginBarrel()]\n const output = { ...options.config.output }\n output.barrel ??= { type: 'named' }\n output.format ??= false\n output.lint ??= false\n\n const config = {\n ...options.config,\n adapter: options.config.adapter ?? adapterOas(),\n parsers: options.config.parsers?.length ? options.config.parsers : [parserTs, parserTsx],\n plugins,\n output,\n }\n const hrStart = process.hrtime()\n\n await hooks.emit('kubb:lifecycle:start', { version: unpluginVersion })\n\n const userConfig = config as Config\n\n const kubb = createKubb(userConfig, { hooks })\n await kubb.setup()\n\n await hooks.emit('kubb:generation:start', { config: kubb.config })\n\n const { diagnostics, files, storage } = await kubb.safeBuild()\n\n const hasFailures = Diagnostics.hasError(diagnostics)\n\n // Surface every problem by severity. Unplugin has no diagnostic renderer, so route\n // errors/warnings/info to the channels it does listen on. Non-problem diagnostics are skipped.\n for (const diagnostic of diagnostics) {\n if (!Diagnostics.isProblem(diagnostic)) {\n continue\n }\n if (diagnostic.severity === 'error') {\n hooks.emit('kubb:error', { error: diagnostic.cause ?? new Error(diagnostic.message) })\n } else if (diagnostic.severity === 'warning') {\n hooks.emit('kubb:warn', { message: diagnostic.message })\n } else {\n hooks.emit('kubb:info', { message: diagnostic.message })\n }\n }\n\n await hooks.emit('kubb:generation:end', {\n config: kubb.config,\n storage,\n diagnostics,\n filesCreated: files.length,\n status: hasFailures ? 'failed' : 'success',\n hrStart,\n })\n\n await hooks.emit('kubb:lifecycle:end')\n\n if (hasFailures) {\n const failedCount = Diagnostics.failedPlugins(diagnostics).length\n const firstError = diagnostics.filter(Diagnostics.isProblem).find((diagnostic) => diagnostic.severity === 'error')\n const message = failedCount > 0 ? `Build Error with ${failedCount} failed plugins` : (firstError?.message ?? 'Build failed')\n if (ctx.error) {\n ctx.error(`[${name}] ${message}`)\n return\n }\n\n throw new Error(`[${name}] ${message}`, { cause: firstError?.cause })\n }\n }\n\n return {\n name,\n enforce: 'pre',\n apply: isVite ? 'build' : undefined,\n async buildStart() {\n await runBuild(this as unknown as RollupContext)\n },\n vite: {},\n }\n}\n"],"mappings":"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"}