@kubb/core 4.3.1 → 4.4.0

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 (128) hide show
  1. package/dist/{URLPath-BYceu_vY.js → URLPath-Bpc_OJmh.js} +2 -3
  2. package/dist/{URLPath-BYceu_vY.js.map → URLPath-Bpc_OJmh.js.map} +1 -1
  3. package/dist/{URLPath-8WVzHBnA.cjs → URLPath-Bu6Wkco7.cjs} +6 -7
  4. package/dist/{URLPath-8WVzHBnA.cjs.map → URLPath-Bu6Wkco7.cjs.map} +1 -1
  5. package/dist/{chunk-CZg_9w7l.cjs → chunk-CUT6urMc.cjs} +0 -23
  6. package/dist/{fs-RSVoUw3S.cjs → fs-CM7ohZSu.cjs} +2 -2
  7. package/dist/{fs-RSVoUw3S.cjs.map → fs-CM7ohZSu.cjs.map} +1 -1
  8. package/dist/fs.cjs +2 -2
  9. package/dist/fs.d.ts +1 -1
  10. package/dist/hooks.cjs +6 -6
  11. package/dist/hooks.cjs.map +1 -1
  12. package/dist/hooks.d.cts +1 -1
  13. package/dist/hooks.d.ts +4 -4
  14. package/dist/hooks.js +1 -1
  15. package/dist/hooks.js.map +1 -1
  16. package/dist/{index-BTe91LHd.d.ts → index-DdO15F70.d.ts} +2 -3
  17. package/dist/index.cjs +46 -53
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +15 -11
  20. package/dist/index.d.ts +18 -14
  21. package/dist/index.js +40 -48
  22. package/dist/index.js.map +1 -1
  23. package/dist/{logger-BXL0YCrv.cjs → logger-C7JFdYpj.cjs} +4 -4
  24. package/dist/{logger-BXL0YCrv.cjs.map → logger-C7JFdYpj.cjs.map} +1 -1
  25. package/dist/{logger-BA-za85-.d.ts → logger-D_jvWsUF.d.ts} +1 -1
  26. package/dist/{logger-CDxSrFkR.js → logger-khF_Lft4.js} +2 -2
  27. package/dist/{logger-CDxSrFkR.js.map → logger-khF_Lft4.js.map} +1 -1
  28. package/dist/logger.cjs +2 -2
  29. package/dist/logger.d.ts +1 -1
  30. package/dist/logger.js +1 -1
  31. package/dist/{prompt-DBVnG4Me.js → prompt-CIpZjUDy.js} +1 -1
  32. package/dist/{prompt-DBVnG4Me.js.map → prompt-CIpZjUDy.js.map} +1 -1
  33. package/dist/{prompt-DgONOpPH.cjs → prompt-CgJLZzbf.cjs} +2 -2
  34. package/dist/{prompt-DgONOpPH.cjs.map → prompt-CgJLZzbf.cjs.map} +1 -1
  35. package/dist/transformers-BN5jfIAt.js +339 -0
  36. package/dist/transformers-BN5jfIAt.js.map +1 -0
  37. package/dist/transformers-BpnIvSiH.cjs +443 -0
  38. package/dist/transformers-BpnIvSiH.cjs.map +1 -0
  39. package/dist/transformers.cjs +7 -6
  40. package/dist/transformers.js +1 -3
  41. package/dist/{types-DPeNK0FO.d.ts → types-CCUiy4jG.d.ts} +43 -45
  42. package/dist/{types-BzI9JlV8.d.ts → types-ClXc6HFo.d.ts} +1 -1
  43. package/dist/{types-DNxlynJr.d.cts → types-EV6-sImo.d.cts} +40 -42
  44. package/dist/utils.cjs +7 -7
  45. package/dist/utils.cjs.map +1 -1
  46. package/dist/utils.d.ts +1 -1
  47. package/dist/utils.js +4 -6
  48. package/dist/utils.js.map +1 -1
  49. package/dist/{write-BJfM7G1_.cjs → write-BsFt8M9e.cjs} +2 -2
  50. package/dist/{write-BJfM7G1_.cjs.map → write-BsFt8M9e.cjs.map} +1 -1
  51. package/package.json +8 -14
  52. package/src/PluginManager.ts +3 -7
  53. package/src/build.ts +37 -41
  54. package/src/hooks/useMode.ts +1 -1
  55. package/src/hooks/usePlugin.ts +1 -1
  56. package/src/hooks/usePluginManager.ts +1 -1
  57. package/src/plugin.ts +10 -5
  58. package/src/types.ts +2 -1
  59. package/dist/acorn-BAVXZMtK.cjs +0 -5082
  60. package/dist/acorn-BAVXZMtK.cjs.map +0 -1
  61. package/dist/acorn-D-VhIOLw.js +0 -5080
  62. package/dist/acorn-D-VhIOLw.js.map +0 -1
  63. package/dist/angular-Bp0XO9db.cjs +0 -3631
  64. package/dist/angular-Bp0XO9db.cjs.map +0 -1
  65. package/dist/angular-Czhp4eq5.js +0 -3629
  66. package/dist/angular-Czhp4eq5.js.map +0 -1
  67. package/dist/babel-DCR_B4Qn.js +0 -10033
  68. package/dist/babel-DCR_B4Qn.js.map +0 -1
  69. package/dist/babel-NI0v59ga.cjs +0 -10035
  70. package/dist/babel-NI0v59ga.cjs.map +0 -1
  71. package/dist/casing-BSeq_teY.js +0 -100
  72. package/dist/casing-BSeq_teY.js.map +0 -1
  73. package/dist/casing-CP-9GGdK.cjs +0 -112
  74. package/dist/casing-CP-9GGdK.cjs.map +0 -1
  75. package/dist/chunk-1SJ2vVWa.js +0 -35
  76. package/dist/estree-C3BZPlpU.cjs +0 -6930
  77. package/dist/estree-C3BZPlpU.cjs.map +0 -1
  78. package/dist/estree-DU2NummP.js +0 -6926
  79. package/dist/estree-DU2NummP.js.map +0 -1
  80. package/dist/flow-CWUBUkoi.cjs +0 -52252
  81. package/dist/flow-CWUBUkoi.cjs.map +0 -1
  82. package/dist/flow-JiEbweKj.js +0 -52250
  83. package/dist/flow-JiEbweKj.js.map +0 -1
  84. package/dist/glimmer-CX9OqG1j.cjs +0 -7275
  85. package/dist/glimmer-CX9OqG1j.cjs.map +0 -1
  86. package/dist/glimmer-t9nWn9aE.js +0 -7271
  87. package/dist/glimmer-t9nWn9aE.js.map +0 -1
  88. package/dist/graphql-DjErlIi5.js +0 -1897
  89. package/dist/graphql-DjErlIi5.js.map +0 -1
  90. package/dist/graphql-GOxQAKxM.cjs +0 -1902
  91. package/dist/graphql-GOxQAKxM.cjs.map +0 -1
  92. package/dist/html-CWrdYAhQ.cjs +0 -6560
  93. package/dist/html-CWrdYAhQ.cjs.map +0 -1
  94. package/dist/html-_apcbx34.js +0 -6555
  95. package/dist/html-_apcbx34.js.map +0 -1
  96. package/dist/markdown-ckUc3Q6q.js +0 -6750
  97. package/dist/markdown-ckUc3Q6q.js.map +0 -1
  98. package/dist/markdown-pzqiRmft.cjs +0 -6755
  99. package/dist/markdown-pzqiRmft.cjs.map +0 -1
  100. package/dist/meriyah-BjnGqpUs.js +0 -8928
  101. package/dist/meriyah-BjnGqpUs.js.map +0 -1
  102. package/dist/meriyah-D_x7itbT.cjs +0 -8930
  103. package/dist/meriyah-D_x7itbT.cjs.map +0 -1
  104. package/dist/mocks.cjs +0 -16830
  105. package/dist/mocks.cjs.map +0 -1
  106. package/dist/mocks.d.cts +0 -13
  107. package/dist/mocks.d.ts +0 -13
  108. package/dist/mocks.js +0 -16818
  109. package/dist/mocks.js.map +0 -1
  110. package/dist/postcss-B_c2wbFu.cjs +0 -6689
  111. package/dist/postcss-B_c2wbFu.cjs.map +0 -1
  112. package/dist/postcss-v7BP6SZ-.js +0 -6684
  113. package/dist/postcss-v7BP6SZ-.js.map +0 -1
  114. package/dist/transformers-BH0KLJJP.cjs +0 -804
  115. package/dist/transformers-BH0KLJJP.cjs.map +0 -1
  116. package/dist/transformers-DzHGqYO2.js +0 -702
  117. package/dist/transformers-DzHGqYO2.js.map +0 -1
  118. package/dist/typescript-6kMN6Wqz.cjs +0 -23014
  119. package/dist/typescript-6kMN6Wqz.cjs.map +0 -1
  120. package/dist/typescript-B_IBfKSe.js +0 -23002
  121. package/dist/typescript-B_IBfKSe.js.map +0 -1
  122. package/dist/typescript-C5hce4HG.cjs +0 -4
  123. package/dist/typescript-Cas1XcNz.js +0 -3
  124. package/dist/yaml-BfWM_B73.js +0 -5209
  125. package/dist/yaml-BfWM_B73.js.map +0 -1
  126. package/dist/yaml-DZs6MhV1.cjs +0 -5215
  127. package/dist/yaml-DZs6MhV1.cjs.map +0 -1
  128. package/src/mocks/index.ts +0 -82
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import { a as read, c as clean, o as readSync, r as getRelativePath, s as exists, t as trimExtName } from "./fs-BIPMUfpW.js";
2
2
  import { t as write } from "./write-CxO1CDML.js";
3
- import { a as EventEmitter, n as createLogger } from "./logger-CDxSrFkR.js";
4
- import { h as trim, v as transformReservedWord } from "./transformers-DzHGqYO2.js";
5
- import { r as setUniqueName, t as URLPath } from "./URLPath-BYceu_vY.js";
6
- import "./casing-BSeq_teY.js";
3
+ import { a as EventEmitter, n as createLogger } from "./logger-khF_Lft4.js";
4
+ import { g as trim, y as transformReservedWord } from "./transformers-BN5jfIAt.js";
5
+ import { r as setUniqueName, t as URLPath } from "./URLPath-Bpc_OJmh.js";
7
6
  import mod from "node:module";
8
7
  import path, { extname, join, relative, resolve } from "node:path";
9
- import { typescriptParser } from "@kubb/react";
8
+ import { createFabric } from "@kubb/react-fabric";
9
+ import { typescriptParser } from "@kubb/react-fabric/parsers";
10
+ import { fsPlugin } from "@kubb/react-fabric/plugins";
10
11
  import pc from "picocolors";
11
12
  import { isDeepEqual } from "remeda";
12
13
  import g$1 from "node:process";
13
- import { FileManager } from "@kubb/fabric-core";
14
14
  import os from "node:os";
15
15
  import { fileURLToPath, pathToFileURL } from "node:url";
16
16
  import fs, { promises } from "node:fs";
@@ -238,13 +238,16 @@ function createPlugin(factory) {
238
238
  };
239
239
  }
240
240
  const pluginCore = createPlugin((options) => {
241
- const { fileManager, pluginManager, resolvePath, resolveName, logger } = options;
241
+ const { fabric, pluginManager, resolvePath, resolveName, logger } = options;
242
242
  return {
243
243
  name: "core",
244
244
  options,
245
245
  key: ["core"],
246
246
  context() {
247
247
  return {
248
+ get fabric() {
249
+ return fabric;
250
+ },
248
251
  get config() {
249
252
  return options.config;
250
253
  },
@@ -255,10 +258,12 @@ const pluginCore = createPlugin((options) => {
255
258
  return options.plugin;
256
259
  },
257
260
  logger,
258
- fileManager,
261
+ get fileManager() {
262
+ return fabric.context.fileManager;
263
+ },
259
264
  pluginManager,
260
265
  async addFile(...files) {
261
- const resolvedFiles = await fileManager.add(...files);
266
+ const resolvedFiles = await fabric.context.fileManager.add(...files);
262
267
  if (!Array.isArray(resolvedFiles)) return [resolvedFiles];
263
268
  return resolvedFiles;
264
269
  },
@@ -280,10 +285,6 @@ const pluginCore = createPlugin((options) => {
280
285
  //#region src/PluginManager.ts
281
286
  var PluginManager = class {
282
287
  plugins = /* @__PURE__ */ new Set();
283
- /**
284
- * @deprecated do not use from pluginManager
285
- */
286
- fileManager;
287
288
  events = new EventEmitter();
288
289
  config;
289
290
  executed = [];
@@ -296,13 +297,12 @@ var PluginManager = class {
296
297
  this.config = config;
297
298
  this.options = options;
298
299
  this.logger = options.logger;
299
- this.fileManager = new FileManager();
300
300
  this.#promiseManager = new PromiseManager({ nullCheck: (state) => !!state?.result });
301
301
  const core = pluginCore({
302
+ fabric: options.fabric,
302
303
  config,
303
304
  logger: this.logger,
304
305
  pluginManager: this,
305
- fileManager: this.fileManager,
306
306
  resolvePath: this.resolvePath.bind(this),
307
307
  resolveName: this.resolveName.bind(this),
308
308
  getPlugins: this.#getSortedPlugins.bind(this)
@@ -724,7 +724,6 @@ var PluginManager = class {
724
724
  //#endregion
725
725
  //#region src/build.ts
726
726
  async function setup(options) {
727
- if (options.pluginManager) return options.pluginManager;
728
727
  const { config: userConfig, logger = createLogger() } = options;
729
728
  if (Array.isArray(userConfig.input)) console.warn(pc.yellow("This feature is still under development — use with caution"));
730
729
  try {
@@ -748,36 +747,32 @@ async function setup(options) {
748
747
  await clean(definedConfig.output.path);
749
748
  await clean(join(definedConfig.root, ".kubb"));
750
749
  }
751
- return new PluginManager(definedConfig, {
752
- logger,
753
- concurrency: 5
754
- });
750
+ const fabric = createFabric();
751
+ fabric.use(fsPlugin, { dryRun: !definedConfig.output.write });
752
+ fabric.use(typescriptParser);
753
+ return {
754
+ fabric,
755
+ pluginManager: new PluginManager(definedConfig, {
756
+ fabric,
757
+ logger,
758
+ concurrency: 5
759
+ })
760
+ };
755
761
  }
756
- async function build(options) {
757
- const { files, pluginManager, error } = await safeBuild(options);
762
+ async function build(options, overrides) {
763
+ const { fabric, files, pluginManager, error } = await safeBuild(options, overrides);
758
764
  if (error) throw error;
759
765
  return {
766
+ fabric,
760
767
  files,
761
768
  pluginManager,
762
769
  error
763
770
  };
764
771
  }
765
- async function safeBuild(options) {
766
- const pluginManager = await setup(options);
772
+ async function safeBuild(options, overrides) {
773
+ const { fabric, pluginManager } = overrides ? overrides : await setup(options);
767
774
  const config = pluginManager.config;
768
775
  try {
769
- pluginManager.events.on("executing", ({ plugin, message }) => {
770
- pluginManager.logger.emit("debug", {
771
- date: /* @__PURE__ */ new Date(),
772
- logs: [`Executing pluginKey ${plugin.key?.join(".")} | ${message}`]
773
- });
774
- });
775
- pluginManager.events.on("executed", ({ plugin, message, output }) => {
776
- pluginManager.logger.emit("debug", {
777
- date: /* @__PURE__ */ new Date(),
778
- logs: [`Executed pluginKey ${plugin.key?.join(".")} | ${message} | ${JSON.stringify(output, void 0, 2)}`]
779
- });
780
- });
781
776
  await pluginManager.hookParallel({
782
777
  hookName: "buildStart",
783
778
  parameters: [config],
@@ -788,7 +783,7 @@ async function safeBuild(options) {
788
783
  const rootFile = {
789
784
  path: rootPath,
790
785
  baseName: "index.ts",
791
- exports: (await pluginManager.fileManager.files).filter((file) => {
786
+ exports: fabric.files.filter((file) => {
792
787
  return file.sources.some((source) => source.isIndexable);
793
788
  }).flatMap((file) => {
794
789
  const containsOnlyTypes = file.sources?.every((source) => source.isTypeOnly);
@@ -809,16 +804,16 @@ async function safeBuild(options) {
809
804
  sources: [],
810
805
  meta: {}
811
806
  };
812
- await pluginManager.fileManager.add(rootFile);
807
+ await fabric.addFile(rootFile);
813
808
  }
814
- pluginManager.fileManager.processor.events.on("process:start", ({ files: files$1 }) => {
809
+ fabric.context.events.on("process:start", ({ files: files$1 }) => {
815
810
  pluginManager.logger.emit("progress_start", {
816
811
  id: "files",
817
812
  size: files$1.length,
818
813
  message: "Writing files ..."
819
814
  });
820
815
  });
821
- pluginManager.fileManager.processor.events.on("process:progress", async ({ file, source }) => {
816
+ fabric.context.events.on("process:progress", async ({ file, source }) => {
822
817
  const message = file ? `Writing ${relative(config.root, file.path)}` : "";
823
818
  pluginManager.logger.emit("progressed", {
824
819
  id: "files",
@@ -826,26 +821,23 @@ async function safeBuild(options) {
826
821
  });
827
822
  if (source) await write(file.path, source, { sanity: false });
828
823
  });
829
- pluginManager.fileManager.processor.events.on("process:end", () => {
824
+ fabric.context.events.on("process:end", () => {
830
825
  pluginManager.logger.emit("progress_stop", { id: "files" });
831
826
  });
832
- const parsers = new Set([typescriptParser]);
833
- const files = await pluginManager.fileManager.write({
834
- extension: config.output.extension,
835
- dryRun: !config.output.write,
836
- parsers
837
- });
827
+ const files = [...fabric.files];
828
+ await fabric.write({ extension: config.output.extension });
838
829
  await pluginManager.hookParallel({
839
830
  hookName: "buildEnd",
840
831
  message: `Build stopped for ${config.name}`
841
832
  });
842
- await pluginManager.fileManager.clear();
843
833
  return {
834
+ fabric,
844
835
  files,
845
836
  pluginManager
846
837
  };
847
838
  } catch (e) {
848
839
  return {
840
+ fabric,
849
841
  files: [],
850
842
  pluginManager,
851
843
  error: e