unplugin-kubb 4.0.0 → 4.0.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.
Files changed (56) hide show
  1. package/dist/astro.cjs +1 -1
  2. package/dist/astro.d.cts +1 -1
  3. package/dist/astro.d.ts +1 -1
  4. package/dist/astro.js +1 -1
  5. package/dist/esbuild.cjs +1 -1
  6. package/dist/esbuild.d.cts +1 -1
  7. package/dist/esbuild.d.ts +1 -1
  8. package/dist/esbuild.js +1 -1
  9. package/dist/index.cjs +1 -1
  10. package/dist/index.d.cts +3 -3
  11. package/dist/index.d.ts +3 -3
  12. package/dist/index.js +1 -1
  13. package/dist/nuxt.cjs +3 -3
  14. package/dist/nuxt.d.cts +1 -1
  15. package/dist/nuxt.d.ts +1 -1
  16. package/dist/nuxt.js +2 -3
  17. package/dist/nuxt.js.map +1 -1
  18. package/dist/rollup.cjs +1 -1
  19. package/dist/rollup.d.cts +1 -1
  20. package/dist/rollup.d.ts +1 -1
  21. package/dist/rollup.js +1 -1
  22. package/dist/rspack.cjs +1 -1
  23. package/dist/rspack.d.cts +1 -1
  24. package/dist/rspack.d.ts +1 -1
  25. package/dist/rspack.js +1 -1
  26. package/dist/src-7pFd4t48.cjs +145 -0
  27. package/dist/src-7pFd4t48.cjs.map +1 -0
  28. package/dist/src-y2za6sAo.js +94 -0
  29. package/dist/src-y2za6sAo.js.map +1 -0
  30. package/dist/{types-BNmRHGEx.d.cts → types-BWfxOttU.d.ts} +231 -80
  31. package/dist/{types-D54bCl1u.d.ts → types-BgPPdoLi.d.cts} +231 -80
  32. package/dist/types.d.cts +1 -1
  33. package/dist/types.d.ts +1 -1
  34. package/dist/{vite-DkSw2hsC.js → vite-DXcgbm9H.js} +2 -2
  35. package/dist/{vite-DkSw2hsC.js.map → vite-DXcgbm9H.js.map} +1 -1
  36. package/dist/{vite-DruCA3WT.cjs → vite-HDFFF5rj.cjs} +2 -2
  37. package/dist/{vite-DruCA3WT.cjs.map → vite-HDFFF5rj.cjs.map} +1 -1
  38. package/dist/vite.cjs +1 -2
  39. package/dist/vite.d.cts +1 -1
  40. package/dist/vite.d.ts +1 -1
  41. package/dist/vite.js +1 -2
  42. package/dist/{webpack-kTaImLW0.js → webpack-BqG9Y2kv.js} +2 -2
  43. package/dist/{webpack-kTaImLW0.js.map → webpack-BqG9Y2kv.js.map} +1 -1
  44. package/dist/{webpack-NglPEtfi.cjs → webpack-D1dzppyE.cjs} +2 -2
  45. package/dist/{webpack-NglPEtfi.cjs.map → webpack-D1dzppyE.cjs.map} +1 -1
  46. package/dist/webpack.cjs +1 -2
  47. package/dist/webpack.d.cts +1 -1
  48. package/dist/webpack.d.ts +1 -1
  49. package/dist/webpack.js +1 -2
  50. package/package.json +26 -26
  51. package/src/index.ts +89 -41
  52. package/dist/chunk-Bwj0kw0m.js +0 -32
  53. package/dist/src-CV35pUck.cjs +0 -116
  54. package/dist/src-CV35pUck.cjs.map +0 -1
  55. package/dist/src-wEqIY2rq.js +0 -65
  56. package/dist/src-wEqIY2rq.js.map +0 -1
package/src/index.ts CHANGED
@@ -1,51 +1,87 @@
1
1
  import process from 'node:process'
2
- import type { Config } from '@kubb/core'
3
- import { safeBuild } from '@kubb/core'
4
- import { createLogger } from '@kubb/core/logger'
2
+ import { type Config, type KubbEvents, safeBuild } from '@kubb/core'
3
+ import { AsyncEventEmitter } from '@kubb/core/utils'
5
4
  import type { UnpluginFactory } from 'unplugin'
6
5
  import { createUnplugin } from 'unplugin'
7
- import type { Logger } from 'vite'
6
+ import { version as unpluginVersion } from '../package.json'
8
7
  import type { Options } from './types.ts'
9
8
 
10
9
  type RollupContext = {
10
+ info?: (message: string) => void
11
11
  warn?: (message: string) => void
12
- error?: (message: string | Error) => void
12
+ error?: (message: string) => void
13
13
  }
14
14
 
15
15
  export const unpluginFactory: UnpluginFactory<Options | undefined> = (options, meta) => {
16
16
  const name = 'unplugin-kubb' as const
17
- const logger = createLogger({ name })
17
+ const events = new AsyncEventEmitter<KubbEvents>()
18
18
  const isVite = meta.framework === 'vite'
19
-
20
- function setupLogger(viteLogger?: Logger, rollupCtx?: RollupContext) {
21
- if (viteLogger) {
22
- // Vite integration
23
- logger.on('start', (message: string) => viteLogger.info(`${name}: ${message}`))
24
- logger.on('success', (message: string) => viteLogger.info(`${name}: ${message}`))
25
- logger.on('warning', (message: string) => viteLogger.warn(`${name}: ${message}`))
26
- logger.on('error', (message: string) => viteLogger.error(`${name}: ${message}`))
27
- } else if (rollupCtx) {
28
- // Rollup-like bundlers (Rollup, Webpack, Rspack, esbuild, etc.)
29
- logger.on('start', (message: string) => rollupCtx.warn?.(`${name}: ${message}`))
30
- logger.on('success', (message: string) => rollupCtx.warn?.(`${name}: ${message}`))
31
- logger.on('warning', (message: string) => rollupCtx.warn?.(`${name}: ${message}`))
32
- logger.on('error', (message: string) => {
33
- rollupCtx.error?.(`${name}: ${message}`) || console.error(`${name}: ${message}`)
34
- })
35
- }
36
- }
19
+ const hrStart = process.hrtime()
37
20
 
38
21
  async function runBuild(ctx: RollupContext) {
39
22
  if (!options?.config) {
40
- ctx.error?.(`[${name}] Config is not set`)
23
+ if (ctx.error) {
24
+ ctx.error?.(`[${name}] Config is not set`)
25
+ } else {
26
+ console.error(`[${name}] Config is not set`)
27
+ }
41
28
  return
42
29
  }
43
30
 
31
+ events.on('lifecycle:start', (version) => {
32
+ console.log(`Kubb Unplugin ${version} 🧩`)
33
+ })
34
+
35
+ events.on('error', (error) => {
36
+ console.error(`✗ ${error?.message || 'failed'}`)
37
+ })
38
+
39
+ events.on('warn', (message) => {
40
+ console.warn(`⚠ ${message}`)
41
+ })
42
+
43
+ events.on('info', (message) => {
44
+ console.info(`ℹ ${message}`)
45
+ })
46
+
47
+ events.on('success', (message) => {
48
+ console.log(`✓ ${message}`)
49
+ })
50
+
51
+ events.on('plugin:end', (plugin, duration) => {
52
+ const durationStr = duration >= 1000 ? `${(duration / 1000).toFixed(2)}s` : `${duration}ms`
53
+
54
+ console.log(`✓ ${plugin.name} completed in ${durationStr}`)
55
+ })
56
+
57
+ events.on('files:processing:end', () => {
58
+ const text = '✓ Files written successfully'
59
+
60
+ console.log(text)
61
+ })
62
+
63
+ events.on('generation:end', (config) => {
64
+ console.log(config.name ? `✓ Generation completed for ${config.name}` : '✓ Generation completed')
65
+ })
66
+
67
+ events.on('generation:summary', (config, { status, failedPlugins }) => {
68
+ const pluginsCount = config.plugins?.length || 0
69
+ const successCount = pluginsCount - failedPlugins.size
70
+
71
+ console.log(
72
+ status === 'success'
73
+ ? `Kubb Summary: ✓ ${`${successCount} successful`}, ${pluginsCount} total`
74
+ : `Kubb Summary: ✓ ${`${successCount} successful`}, ✗ ${`${failedPlugins.size} failed`}, ${pluginsCount} total`,
75
+ )
76
+ })
77
+
78
+ await events.emit('lifecycle:start', unpluginVersion)
79
+
44
80
  const { root: _root, ...userConfig } = options.config as Config
45
81
 
46
- logger.emit('start', 'Building')
82
+ await events.emit('generation:start', options.config as Config)
47
83
 
48
- const { error } = await safeBuild({
84
+ const { error, failedPlugins, pluginTimings, files } = await safeBuild({
49
85
  config: {
50
86
  root: process.cwd(),
51
87
  ...userConfig,
@@ -54,33 +90,45 @@ export const unpluginFactory: UnpluginFactory<Options | undefined> = (options, m
54
90
  ...userConfig.output,
55
91
  },
56
92
  },
57
- logger,
93
+ events,
58
94
  })
59
95
 
60
- if (error) {
61
- ctx.error?.(error)
62
- } else {
63
- logger.emit('success', 'Build finished')
96
+ const hasFailures = failedPlugins.size > 0 || error
97
+ if (hasFailures) {
98
+ // Collect all errors from failed plugins and general error
99
+ const allErrors: Error[] = [
100
+ error,
101
+ ...Array.from(failedPlugins)
102
+ .filter((it) => it.error)
103
+ .map((it) => it.error),
104
+ ].filter(Boolean)
105
+
106
+ allErrors.forEach((err) => {
107
+ events.emit('error', err)
108
+ })
64
109
  }
110
+
111
+ await events.emit('generation:end', options.config as Config)
112
+ await events.emit('generation:summary', options.config as Config, {
113
+ failedPlugins,
114
+ filesCreated: files.length,
115
+ status: failedPlugins.size > 0 || error ? 'failed' : 'success',
116
+ hrStart,
117
+ pluginTimings,
118
+ })
119
+
120
+ await events.emit('lifecycle:end')
65
121
  }
66
122
 
67
123
  return {
68
124
  name,
69
125
  enforce: 'pre',
70
126
  apply: isVite ? 'build' : undefined,
71
-
72
127
  async buildStart() {
73
- if (!isVite) {
74
- setupLogger(undefined, this as unknown as RollupContext)
75
- }
76
128
  await runBuild(this as unknown as RollupContext)
77
129
  },
78
130
 
79
- vite: {
80
- configResolved(config) {
81
- setupLogger(config.logger)
82
- },
83
- },
131
+ vite: {},
84
132
  }
85
133
  }
86
134
 
@@ -1,32 +0,0 @@
1
- import { createRequire } from "node:module";
2
-
3
- //#region rolldown:runtime
4
- var __create = Object.create;
5
- var __defProp = Object.defineProperty;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getProtoOf = Object.getPrototypeOf;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
13
- key = keys[i];
14
- if (!__hasOwnProp.call(to, key) && key !== except) {
15
- __defProp(to, key, {
16
- get: ((k) => from[k]).bind(null, key),
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- }
21
- }
22
- return to;
23
- };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
- value: mod,
26
- enumerable: true
27
- }) : target, mod));
28
- var __toDynamicImportESM = (isNodeMode) => (mod) => __toESM(mod.default, isNodeMode);
29
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
30
-
31
- //#endregion
32
- export { };
@@ -1,116 +0,0 @@
1
- //#region rolldown:runtime
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
- key = keys[i];
12
- if (!__hasOwnProp.call(to, key) && key !== except) {
13
- __defProp(to, key, {
14
- get: ((k) => from[k]).bind(null, key),
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- }
19
- }
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
- value: mod,
24
- enumerable: true
25
- }) : target, mod));
26
-
27
- //#endregion
28
- let node_process = require("node:process");
29
- node_process = __toESM(node_process);
30
- let __kubb_core = require("@kubb/core");
31
- let __kubb_core_logger = require("@kubb/core/logger");
32
- let unplugin = require("unplugin");
33
-
34
- //#region src/index.ts
35
- const unpluginFactory = (options, meta) => {
36
- const name = "unplugin-kubb";
37
- const logger = (0, __kubb_core_logger.createLogger)({ name });
38
- const isVite = meta.framework === "vite";
39
- function setupLogger(viteLogger, rollupCtx) {
40
- if (viteLogger) {
41
- logger.on("start", (message) => viteLogger.info(`${name}: ${message}`));
42
- logger.on("success", (message) => viteLogger.info(`${name}: ${message}`));
43
- logger.on("warning", (message) => viteLogger.warn(`${name}: ${message}`));
44
- logger.on("error", (message) => viteLogger.error(`${name}: ${message}`));
45
- } else if (rollupCtx) {
46
- logger.on("start", (message) => rollupCtx.warn?.(`${name}: ${message}`));
47
- logger.on("success", (message) => rollupCtx.warn?.(`${name}: ${message}`));
48
- logger.on("warning", (message) => rollupCtx.warn?.(`${name}: ${message}`));
49
- logger.on("error", (message) => {
50
- rollupCtx.error?.(`${name}: ${message}`) || console.error(`${name}: ${message}`);
51
- });
52
- }
53
- }
54
- async function runBuild(ctx) {
55
- if (!options?.config) {
56
- ctx.error?.(`[${name}] Config is not set`);
57
- return;
58
- }
59
- const { root: _root, ...userConfig } = options.config;
60
- logger.emit("start", "Building");
61
- const { error } = await (0, __kubb_core.safeBuild)({
62
- config: {
63
- root: node_process.default.cwd(),
64
- ...userConfig,
65
- output: {
66
- write: true,
67
- ...userConfig.output
68
- }
69
- },
70
- logger
71
- });
72
- if (error) ctx.error?.(error);
73
- else logger.emit("success", "Build finished");
74
- }
75
- return {
76
- name,
77
- enforce: "pre",
78
- apply: isVite ? "build" : void 0,
79
- async buildStart() {
80
- if (!isVite) setupLogger(void 0, this);
81
- await runBuild(this);
82
- },
83
- vite: { configResolved(config) {
84
- setupLogger(config.logger);
85
- } }
86
- };
87
- };
88
- const unplugin$1 = /* @__PURE__ */ (0, unplugin.createUnplugin)(unpluginFactory);
89
- var src_default = unplugin$1;
90
-
91
- //#endregion
92
- Object.defineProperty(exports, '__toESM', {
93
- enumerable: true,
94
- get: function () {
95
- return __toESM;
96
- }
97
- });
98
- Object.defineProperty(exports, 'src_default', {
99
- enumerable: true,
100
- get: function () {
101
- return src_default;
102
- }
103
- });
104
- Object.defineProperty(exports, 'unplugin', {
105
- enumerable: true,
106
- get: function () {
107
- return unplugin$1;
108
- }
109
- });
110
- Object.defineProperty(exports, 'unpluginFactory', {
111
- enumerable: true,
112
- get: function () {
113
- return unpluginFactory;
114
- }
115
- });
116
- //# sourceMappingURL=src-CV35pUck.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"src-CV35pUck.cjs","names":["unpluginFactory: UnpluginFactory<Options | undefined>","process","unplugin"],"sources":["../src/index.ts"],"sourcesContent":["import process from 'node:process'\nimport type { Config } from '@kubb/core'\nimport { safeBuild } from '@kubb/core'\nimport { createLogger } from '@kubb/core/logger'\nimport type { UnpluginFactory } from 'unplugin'\nimport { createUnplugin } from 'unplugin'\nimport type { Logger } from 'vite'\nimport type { Options } from './types.ts'\n\ntype RollupContext = {\n warn?: (message: string) => void\n error?: (message: string | Error) => void\n}\n\nexport const unpluginFactory: UnpluginFactory<Options | undefined> = (options, meta) => {\n const name = 'unplugin-kubb' as const\n const logger = createLogger({ name })\n const isVite = meta.framework === 'vite'\n\n function setupLogger(viteLogger?: Logger, rollupCtx?: RollupContext) {\n if (viteLogger) {\n // Vite integration\n logger.on('start', (message: string) => viteLogger.info(`${name}: ${message}`))\n logger.on('success', (message: string) => viteLogger.info(`${name}: ${message}`))\n logger.on('warning', (message: string) => viteLogger.warn(`${name}: ${message}`))\n logger.on('error', (message: string) => viteLogger.error(`${name}: ${message}`))\n } else if (rollupCtx) {\n // Rollup-like bundlers (Rollup, Webpack, Rspack, esbuild, etc.)\n logger.on('start', (message: string) => rollupCtx.warn?.(`${name}: ${message}`))\n logger.on('success', (message: string) => rollupCtx.warn?.(`${name}: ${message}`))\n logger.on('warning', (message: string) => rollupCtx.warn?.(`${name}: ${message}`))\n logger.on('error', (message: string) => {\n rollupCtx.error?.(`${name}: ${message}`) || console.error(`${name}: ${message}`)\n })\n }\n }\n\n async function runBuild(ctx: RollupContext) {\n if (!options?.config) {\n ctx.error?.(`[${name}] Config is not set`)\n return\n }\n\n const { root: _root, ...userConfig } = options.config as Config\n\n logger.emit('start', 'Building')\n\n const { error } = await safeBuild({\n config: {\n root: process.cwd(),\n ...userConfig,\n output: {\n write: true,\n ...userConfig.output,\n },\n },\n logger,\n })\n\n if (error) {\n ctx.error?.(error)\n } else {\n logger.emit('success', 'Build finished')\n }\n }\n\n return {\n name,\n enforce: 'pre',\n apply: isVite ? 'build' : undefined,\n\n async buildStart() {\n if (!isVite) {\n setupLogger(undefined, this as unknown as RollupContext)\n }\n await runBuild(this as unknown as RollupContext)\n },\n\n vite: {\n configResolved(config) {\n setupLogger(config.logger)\n },\n },\n }\n}\n\nexport const unplugin = /* #__PURE__ */ createUnplugin(unpluginFactory)\n\nexport default unplugin\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAaA,mBAAyD,SAAS,SAAS;CACtF,MAAM,OAAO;CACb,MAAM,8CAAsB,EAAE,MAAM,CAAC;CACrC,MAAM,SAAS,KAAK,cAAc;CAElC,SAAS,YAAY,YAAqB,WAA2B;AACnE,MAAI,YAAY;AAEd,UAAO,GAAG,UAAU,YAAoB,WAAW,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC;AAC/E,UAAO,GAAG,YAAY,YAAoB,WAAW,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC;AACjF,UAAO,GAAG,YAAY,YAAoB,WAAW,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC;AACjF,UAAO,GAAG,UAAU,YAAoB,WAAW,MAAM,GAAG,KAAK,IAAI,UAAU,CAAC;aACvE,WAAW;AAEpB,UAAO,GAAG,UAAU,YAAoB,UAAU,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC;AAChF,UAAO,GAAG,YAAY,YAAoB,UAAU,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC;AAClF,UAAO,GAAG,YAAY,YAAoB,UAAU,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC;AAClF,UAAO,GAAG,UAAU,YAAoB;AACtC,cAAU,QAAQ,GAAG,KAAK,IAAI,UAAU,IAAI,QAAQ,MAAM,GAAG,KAAK,IAAI,UAAU;KAChF;;;CAIN,eAAe,SAAS,KAAoB;AAC1C,MAAI,CAAC,SAAS,QAAQ;AACpB,OAAI,QAAQ,IAAI,KAAK,qBAAqB;AAC1C;;EAGF,MAAM,EAAE,MAAM,OAAO,GAAG,eAAe,QAAQ;AAE/C,SAAO,KAAK,SAAS,WAAW;EAEhC,MAAM,EAAE,UAAU,iCAAgB;GAChC,QAAQ;IACN,MAAMC,qBAAQ,KAAK;IACnB,GAAG;IACH,QAAQ;KACN,OAAO;KACP,GAAG,WAAW;KACf;IACF;GACD;GACD,CAAC;AAEF,MAAI,MACF,KAAI,QAAQ,MAAM;MAElB,QAAO,KAAK,WAAW,iBAAiB;;AAI5C,QAAO;EACL;EACA,SAAS;EACT,OAAO,SAAS,UAAU;EAE1B,MAAM,aAAa;AACjB,OAAI,CAAC,OACH,aAAY,QAAW,KAAiC;AAE1D,SAAM,SAAS,KAAiC;;EAGlD,MAAM,EACJ,eAAe,QAAQ;AACrB,eAAY,OAAO,OAAO;KAE7B;EACF;;AAGH,MAAaC,aAA2B,6CAAe,gBAAgB;AAEvE,kBAAeA"}
@@ -1,65 +0,0 @@
1
- import process from "node:process";
2
- import { safeBuild } from "@kubb/core";
3
- import { createLogger } from "@kubb/core/logger";
4
- import { createUnplugin } from "unplugin";
5
-
6
- //#region src/index.ts
7
- const unpluginFactory = (options, meta) => {
8
- const name = "unplugin-kubb";
9
- const logger = createLogger({ name });
10
- const isVite = meta.framework === "vite";
11
- function setupLogger(viteLogger, rollupCtx) {
12
- if (viteLogger) {
13
- logger.on("start", (message) => viteLogger.info(`${name}: ${message}`));
14
- logger.on("success", (message) => viteLogger.info(`${name}: ${message}`));
15
- logger.on("warning", (message) => viteLogger.warn(`${name}: ${message}`));
16
- logger.on("error", (message) => viteLogger.error(`${name}: ${message}`));
17
- } else if (rollupCtx) {
18
- logger.on("start", (message) => rollupCtx.warn?.(`${name}: ${message}`));
19
- logger.on("success", (message) => rollupCtx.warn?.(`${name}: ${message}`));
20
- logger.on("warning", (message) => rollupCtx.warn?.(`${name}: ${message}`));
21
- logger.on("error", (message) => {
22
- rollupCtx.error?.(`${name}: ${message}`) || console.error(`${name}: ${message}`);
23
- });
24
- }
25
- }
26
- async function runBuild(ctx) {
27
- if (!options?.config) {
28
- ctx.error?.(`[${name}] Config is not set`);
29
- return;
30
- }
31
- const { root: _root, ...userConfig } = options.config;
32
- logger.emit("start", "Building");
33
- const { error } = await safeBuild({
34
- config: {
35
- root: process.cwd(),
36
- ...userConfig,
37
- output: {
38
- write: true,
39
- ...userConfig.output
40
- }
41
- },
42
- logger
43
- });
44
- if (error) ctx.error?.(error);
45
- else logger.emit("success", "Build finished");
46
- }
47
- return {
48
- name,
49
- enforce: "pre",
50
- apply: isVite ? "build" : void 0,
51
- async buildStart() {
52
- if (!isVite) setupLogger(void 0, this);
53
- await runBuild(this);
54
- },
55
- vite: { configResolved(config) {
56
- setupLogger(config.logger);
57
- } }
58
- };
59
- };
60
- const unplugin = /* @__PURE__ */ createUnplugin(unpluginFactory);
61
- var src_default = unplugin;
62
-
63
- //#endregion
64
- export { unplugin as n, unpluginFactory as r, src_default as t };
65
- //# sourceMappingURL=src-wEqIY2rq.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"src-wEqIY2rq.js","names":["unpluginFactory: UnpluginFactory<Options | undefined>"],"sources":["../src/index.ts"],"sourcesContent":["import process from 'node:process'\nimport type { Config } from '@kubb/core'\nimport { safeBuild } from '@kubb/core'\nimport { createLogger } from '@kubb/core/logger'\nimport type { UnpluginFactory } from 'unplugin'\nimport { createUnplugin } from 'unplugin'\nimport type { Logger } from 'vite'\nimport type { Options } from './types.ts'\n\ntype RollupContext = {\n warn?: (message: string) => void\n error?: (message: string | Error) => void\n}\n\nexport const unpluginFactory: UnpluginFactory<Options | undefined> = (options, meta) => {\n const name = 'unplugin-kubb' as const\n const logger = createLogger({ name })\n const isVite = meta.framework === 'vite'\n\n function setupLogger(viteLogger?: Logger, rollupCtx?: RollupContext) {\n if (viteLogger) {\n // Vite integration\n logger.on('start', (message: string) => viteLogger.info(`${name}: ${message}`))\n logger.on('success', (message: string) => viteLogger.info(`${name}: ${message}`))\n logger.on('warning', (message: string) => viteLogger.warn(`${name}: ${message}`))\n logger.on('error', (message: string) => viteLogger.error(`${name}: ${message}`))\n } else if (rollupCtx) {\n // Rollup-like bundlers (Rollup, Webpack, Rspack, esbuild, etc.)\n logger.on('start', (message: string) => rollupCtx.warn?.(`${name}: ${message}`))\n logger.on('success', (message: string) => rollupCtx.warn?.(`${name}: ${message}`))\n logger.on('warning', (message: string) => rollupCtx.warn?.(`${name}: ${message}`))\n logger.on('error', (message: string) => {\n rollupCtx.error?.(`${name}: ${message}`) || console.error(`${name}: ${message}`)\n })\n }\n }\n\n async function runBuild(ctx: RollupContext) {\n if (!options?.config) {\n ctx.error?.(`[${name}] Config is not set`)\n return\n }\n\n const { root: _root, ...userConfig } = options.config as Config\n\n logger.emit('start', 'Building')\n\n const { error } = await safeBuild({\n config: {\n root: process.cwd(),\n ...userConfig,\n output: {\n write: true,\n ...userConfig.output,\n },\n },\n logger,\n })\n\n if (error) {\n ctx.error?.(error)\n } else {\n logger.emit('success', 'Build finished')\n }\n }\n\n return {\n name,\n enforce: 'pre',\n apply: isVite ? 'build' : undefined,\n\n async buildStart() {\n if (!isVite) {\n setupLogger(undefined, this as unknown as RollupContext)\n }\n await runBuild(this as unknown as RollupContext)\n },\n\n vite: {\n configResolved(config) {\n setupLogger(config.logger)\n },\n },\n }\n}\n\nexport const unplugin = /* #__PURE__ */ createUnplugin(unpluginFactory)\n\nexport default unplugin\n"],"mappings":";;;;;;AAcA,MAAaA,mBAAyD,SAAS,SAAS;CACtF,MAAM,OAAO;CACb,MAAM,SAAS,aAAa,EAAE,MAAM,CAAC;CACrC,MAAM,SAAS,KAAK,cAAc;CAElC,SAAS,YAAY,YAAqB,WAA2B;AACnE,MAAI,YAAY;AAEd,UAAO,GAAG,UAAU,YAAoB,WAAW,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC;AAC/E,UAAO,GAAG,YAAY,YAAoB,WAAW,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC;AACjF,UAAO,GAAG,YAAY,YAAoB,WAAW,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC;AACjF,UAAO,GAAG,UAAU,YAAoB,WAAW,MAAM,GAAG,KAAK,IAAI,UAAU,CAAC;aACvE,WAAW;AAEpB,UAAO,GAAG,UAAU,YAAoB,UAAU,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC;AAChF,UAAO,GAAG,YAAY,YAAoB,UAAU,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC;AAClF,UAAO,GAAG,YAAY,YAAoB,UAAU,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC;AAClF,UAAO,GAAG,UAAU,YAAoB;AACtC,cAAU,QAAQ,GAAG,KAAK,IAAI,UAAU,IAAI,QAAQ,MAAM,GAAG,KAAK,IAAI,UAAU;KAChF;;;CAIN,eAAe,SAAS,KAAoB;AAC1C,MAAI,CAAC,SAAS,QAAQ;AACpB,OAAI,QAAQ,IAAI,KAAK,qBAAqB;AAC1C;;EAGF,MAAM,EAAE,MAAM,OAAO,GAAG,eAAe,QAAQ;AAE/C,SAAO,KAAK,SAAS,WAAW;EAEhC,MAAM,EAAE,UAAU,MAAM,UAAU;GAChC,QAAQ;IACN,MAAM,QAAQ,KAAK;IACnB,GAAG;IACH,QAAQ;KACN,OAAO;KACP,GAAG,WAAW;KACf;IACF;GACD;GACD,CAAC;AAEF,MAAI,MACF,KAAI,QAAQ,MAAM;MAElB,QAAO,KAAK,WAAW,iBAAiB;;AAI5C,QAAO;EACL;EACA,SAAS;EACT,OAAO,SAAS,UAAU;EAE1B,MAAM,aAAa;AACjB,OAAI,CAAC,OACH,aAAY,QAAW,KAAiC;AAE1D,SAAM,SAAS,KAAiC;;EAGlD,MAAM,EACJ,eAAe,QAAQ;AACrB,eAAY,OAAO,OAAO;KAE7B;EACF;;AAGH,MAAa,WAA2B,+BAAe,gBAAgB;AAEvE,kBAAe"}