@kubb/core 2.18.3 → 2.18.5

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 (74) hide show
  1. package/dist/chunk-7TB4GNKF.cjs +1268 -0
  2. package/dist/chunk-7TB4GNKF.cjs.map +1 -0
  3. package/dist/{chunk-JLT7YQF5.js → chunk-7UMWFPXG.js} +9 -10
  4. package/dist/chunk-7UMWFPXG.js.map +1 -0
  5. package/dist/{chunk-WNT5FJKX.cjs → chunk-BE4KSMB4.cjs} +5 -5
  6. package/dist/chunk-EPAC7V2R.js +597 -0
  7. package/dist/chunk-EPAC7V2R.js.map +1 -0
  8. package/dist/{chunk-LSRMKE3Q.cjs → chunk-FWUA552W.cjs} +29 -29
  9. package/dist/{chunk-I6K57NKM.cjs → chunk-JI763CHT.cjs} +18 -18
  10. package/dist/{chunk-CURDPCUG.cjs → chunk-M6VNU2SJ.cjs} +21 -22
  11. package/dist/chunk-M6VNU2SJ.cjs.map +1 -0
  12. package/dist/{chunk-SJLROYQM.cjs → chunk-TCFN5BZ6.cjs} +5 -13
  13. package/dist/chunk-TCFN5BZ6.cjs.map +1 -0
  14. package/dist/index.cjs +1297 -10
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +54 -175
  17. package/dist/index.d.ts +54 -175
  18. package/dist/index.js +991 -22
  19. package/dist/index.js.map +1 -1
  20. package/dist/{logger-Cskfrvra.d.ts → logger-DChjnJMn.d.cts} +10 -2
  21. package/dist/{logger-Cskfrvra.d.cts → logger-DChjnJMn.d.ts} +10 -2
  22. package/dist/logger.cjs +5 -4
  23. package/dist/logger.d.cts +2 -1
  24. package/dist/logger.d.ts +2 -1
  25. package/dist/logger.js +3 -2
  26. package/dist/mocks.cjs +15 -14
  27. package/dist/mocks.cjs.map +1 -1
  28. package/dist/mocks.d.cts +6 -3
  29. package/dist/mocks.d.ts +6 -3
  30. package/dist/mocks.js +7 -6
  31. package/dist/mocks.js.map +1 -1
  32. package/dist/transformers.cjs +4 -4
  33. package/dist/utils.cjs +4 -4
  34. package/package.json +10 -19
  35. package/src/BarrelManager.ts +1 -1
  36. package/src/FileManager.ts +36 -167
  37. package/src/PackageManager.ts +1 -1
  38. package/src/PluginManager.ts +5 -5
  39. package/src/build.ts +6 -8
  40. package/src/config.ts +29 -2
  41. package/src/index.ts +2 -3
  42. package/src/logger.ts +11 -9
  43. package/src/types.ts +4 -30
  44. package/src/utils/TreeNode.ts +1 -1
  45. package/dist/chunk-2F7E62RD.js +0 -85
  46. package/dist/chunk-2F7E62RD.js.map +0 -1
  47. package/dist/chunk-CURDPCUG.cjs.map +0 -1
  48. package/dist/chunk-J7SXH3YG.js +0 -1597
  49. package/dist/chunk-J7SXH3YG.js.map +0 -1
  50. package/dist/chunk-JLT7YQF5.js.map +0 -1
  51. package/dist/chunk-KSXPJNIA.cjs +0 -2584
  52. package/dist/chunk-KSXPJNIA.cjs.map +0 -1
  53. package/dist/chunk-MDO6MCFJ.js +0 -65
  54. package/dist/chunk-MDO6MCFJ.js.map +0 -1
  55. package/dist/chunk-RPDYCQHF.cjs +0 -2332
  56. package/dist/chunk-RPDYCQHF.cjs.map +0 -1
  57. package/dist/chunk-SJLROYQM.cjs.map +0 -1
  58. package/dist/chunk-U2XQEWRF.cjs +0 -75
  59. package/dist/chunk-U2XQEWRF.cjs.map +0 -1
  60. package/dist/fs.cjs +0 -23
  61. package/dist/fs.cjs.map +0 -1
  62. package/dist/fs.d.cts +0 -5
  63. package/dist/fs.d.ts +0 -5
  64. package/dist/fs.js +0 -18
  65. package/dist/fs.js.map +0 -1
  66. package/dist/write-CN8f7bYv.d.cts +0 -10
  67. package/dist/write-CN8f7bYv.d.ts +0 -10
  68. package/src/fs/clean.ts +0 -5
  69. package/src/fs/index.ts +0 -3
  70. package/src/fs/read.ts +0 -68
  71. package/src/fs/write.ts +0 -83
  72. /package/dist/{chunk-WNT5FJKX.cjs.map → chunk-BE4KSMB4.cjs.map} +0 -0
  73. /package/dist/{chunk-LSRMKE3Q.cjs.map → chunk-FWUA552W.cjs.map} +0 -0
  74. /package/dist/{chunk-I6K57NKM.cjs.map → chunk-JI763CHT.cjs.map} +0 -0
@@ -1,85 +0,0 @@
1
- // src/fs/write.ts
2
- import { resolve } from "path";
3
- import fs from "fs-extra";
4
- import { switcher } from "js-runtime";
5
- var writer = switcher(
6
- {
7
- node: async (path, data, { sanity }) => {
8
- try {
9
- const oldContent = await fs.readFile(resolve(path), {
10
- encoding: "utf-8"
11
- });
12
- if (oldContent?.toString() === data?.toString()) {
13
- return;
14
- }
15
- } catch (_err) {
16
- }
17
- await fs.outputFile(resolve(path), data, { encoding: "utf-8" });
18
- if (sanity) {
19
- const savedData = await fs.readFile(resolve(path), {
20
- encoding: "utf-8"
21
- });
22
- if (savedData?.toString() !== data?.toString()) {
23
- throw new Error(`Sanity check failed for ${path}
24
-
25
- Data[${data.length}]:
26
- ${data}
27
-
28
- Saved[${savedData.length}]:
29
- ${savedData}
30
- `);
31
- }
32
- return savedData;
33
- }
34
- return data;
35
- },
36
- bun: async (path, data, { sanity }) => {
37
- try {
38
- await Bun.write(resolve(path), data);
39
- if (sanity) {
40
- const file = Bun.file(resolve(path));
41
- const savedData = await file.text();
42
- if (savedData?.toString() !== data?.toString()) {
43
- throw new Error(`Sanity check failed for ${path}
44
-
45
- Data[${data.length}]:
46
- ${data}
47
-
48
- Saved[${savedData.length}]:
49
- ${savedData}
50
- `);
51
- }
52
- return savedData;
53
- }
54
- return data;
55
- } catch (e) {
56
- console.log(e, resolve(path));
57
- }
58
- }
59
- },
60
- "node"
61
- );
62
- async function write(data, path, options = {}) {
63
- if (data.trim() === "") {
64
- return void 0;
65
- }
66
- return writer(path, data.trim(), options);
67
- }
68
- async function writeLog(data) {
69
- if (data.trim() === "") {
70
- return void 0;
71
- }
72
- const path = resolve(process.cwd(), "kubb-log.log");
73
- let previousLogs = "";
74
- try {
75
- previousLogs = await fs.readFile(resolve(path), { encoding: "utf-8" });
76
- } catch (_err) {
77
- }
78
- return writer(path, [previousLogs, data.trim()].filter(Boolean).join("\n\n\n"), { sanity: false });
79
- }
80
-
81
- export {
82
- write,
83
- writeLog
84
- };
85
- //# sourceMappingURL=chunk-2F7E62RD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/fs/write.ts"],"sourcesContent":["import { resolve } from 'node:path'\n\nimport fs from 'fs-extra'\nimport { switcher } from 'js-runtime'\n\ntype Options = { sanity?: boolean }\n\nconst writer = switcher(\n {\n node: async (path: string, data: string, { sanity }: Options) => {\n try {\n const oldContent = await fs.readFile(resolve(path), {\n encoding: 'utf-8',\n })\n if (oldContent?.toString() === data?.toString()) {\n return\n }\n } catch (_err) {\n /* empty */\n }\n\n await fs.outputFile(resolve(path), data, { encoding: 'utf-8' })\n\n if (sanity) {\n const savedData = await fs.readFile(resolve(path), {\n encoding: 'utf-8',\n })\n\n if (savedData?.toString() !== data?.toString()) {\n throw new Error(`Sanity check failed for ${path}\\n\\nData[${data.length}]:\\n${data}\\n\\nSaved[${savedData.length}]:\\n${savedData}\\n`)\n }\n\n return savedData\n }\n\n return data\n },\n bun: async (path: string, data: string, { sanity }: Options) => {\n try {\n await Bun.write(resolve(path), data)\n\n if (sanity) {\n const file = Bun.file(resolve(path))\n const savedData = await file.text()\n\n if (savedData?.toString() !== data?.toString()) {\n throw new Error(`Sanity check failed for ${path}\\n\\nData[${data.length}]:\\n${data}\\n\\nSaved[${savedData.length}]:\\n${savedData}\\n`)\n }\n\n return savedData\n }\n\n return data\n } catch (e) {\n console.log(e, resolve(path))\n }\n },\n },\n 'node',\n)\n\nexport async function write(data: string, path: string, options: Options = {}): Promise<string | undefined> {\n if (data.trim() === '') {\n return undefined\n }\n return writer(path, data.trim(), options)\n}\n\nexport async function writeLog(data: string): Promise<string | undefined> {\n if (data.trim() === '') {\n return undefined\n }\n const path = resolve(process.cwd(), 'kubb-log.log')\n let previousLogs = ''\n\n try {\n previousLogs = await fs.readFile(resolve(path), { encoding: 'utf-8' })\n } catch (_err) {\n /* empty */\n }\n\n return writer(path, [previousLogs, data.trim()].filter(Boolean).join('\\n\\n\\n'), { sanity: false })\n}\n"],"mappings":";AAAA,SAAS,eAAe;AAExB,OAAO,QAAQ;AACf,SAAS,gBAAgB;AAIzB,IAAM,SAAS;AAAA,EACb;AAAA,IACE,MAAM,OAAO,MAAc,MAAc,EAAE,OAAO,MAAe;AAC/D,UAAI;AACF,cAAM,aAAa,MAAM,GAAG,SAAS,QAAQ,IAAI,GAAG;AAAA,UAClD,UAAU;AAAA,QACZ,CAAC;AACD,YAAI,YAAY,SAAS,MAAM,MAAM,SAAS,GAAG;AAC/C;AAAA,QACF;AAAA,MACF,SAAS,MAAM;AAAA,MAEf;AAEA,YAAM,GAAG,WAAW,QAAQ,IAAI,GAAG,MAAM,EAAE,UAAU,QAAQ,CAAC;AAE9D,UAAI,QAAQ;AACV,cAAM,YAAY,MAAM,GAAG,SAAS,QAAQ,IAAI,GAAG;AAAA,UACjD,UAAU;AAAA,QACZ,CAAC;AAED,YAAI,WAAW,SAAS,MAAM,MAAM,SAAS,GAAG;AAC9C,gBAAM,IAAI,MAAM,2BAA2B,IAAI;AAAA;AAAA,OAAY,KAAK,MAAM;AAAA,EAAO,IAAI;AAAA;AAAA,QAAa,UAAU,MAAM;AAAA,EAAO,SAAS;AAAA,CAAI;AAAA,QACpI;AAEA,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT;AAAA,IACA,KAAK,OAAO,MAAc,MAAc,EAAE,OAAO,MAAe;AAC9D,UAAI;AACF,cAAM,IAAI,MAAM,QAAQ,IAAI,GAAG,IAAI;AAEnC,YAAI,QAAQ;AACV,gBAAM,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC;AACnC,gBAAM,YAAY,MAAM,KAAK,KAAK;AAElC,cAAI,WAAW,SAAS,MAAM,MAAM,SAAS,GAAG;AAC9C,kBAAM,IAAI,MAAM,2BAA2B,IAAI;AAAA;AAAA,OAAY,KAAK,MAAM;AAAA,EAAO,IAAI;AAAA;AAAA,QAAa,UAAU,MAAM;AAAA,EAAO,SAAS;AAAA,CAAI;AAAA,UACpI;AAEA,iBAAO;AAAA,QACT;AAEA,eAAO;AAAA,MACT,SAAS,GAAG;AACV,gBAAQ,IAAI,GAAG,QAAQ,IAAI,CAAC;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAAA,EACA;AACF;AAEA,eAAsB,MAAM,MAAc,MAAc,UAAmB,CAAC,GAAgC;AAC1G,MAAI,KAAK,KAAK,MAAM,IAAI;AACtB,WAAO;AAAA,EACT;AACA,SAAO,OAAO,MAAM,KAAK,KAAK,GAAG,OAAO;AAC1C;AAEA,eAAsB,SAAS,MAA2C;AACxE,MAAI,KAAK,KAAK,MAAM,IAAI;AACtB,WAAO;AAAA,EACT;AACA,QAAM,OAAO,QAAQ,QAAQ,IAAI,GAAG,cAAc;AAClD,MAAI,eAAe;AAEnB,MAAI;AACF,mBAAe,MAAM,GAAG,SAAS,QAAQ,IAAI,GAAG,EAAE,UAAU,QAAQ,CAAC;AAAA,EACvE,SAAS,MAAM;AAAA,EAEf;AAEA,SAAO,OAAO,MAAM,CAAC,cAAc,KAAK,KAAK,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,QAAQ,GAAG,EAAE,QAAQ,MAAM,CAAC;AACnG;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/logger.ts","../../../node_modules/.pnpm/tinyrainbow@1.1.1/node_modules/tinyrainbow/dist/node.js","../../../node_modules/.pnpm/tinyrainbow@1.1.1/node_modules/tinyrainbow/dist/chunk-5WCZOS7T.js","../src/utils/EventEmitter.ts"],"names":["r","p"],"mappings":"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","sourcesContent":["import seedrandom from 'seedrandom'\nimport c, { createColors } from 'tinyrainbow'\n\nimport { writeLog } from './fs/write.ts'\nimport { EventEmitter } from './utils/EventEmitter.ts'\n\nimport type { Ora } from 'ora'\nimport type { Formatter } from 'tinyrainbow'\n\n//TODO replace with verbose flag and debug flag\nexport const LogLevel = {\n silent: 'silent',\n info: 'info',\n debug: 'debug',\n} as const\n\nexport type LogLevel = keyof typeof LogLevel\n\ntype Events = {\n start: [message: string]\n end: [message: string]\n error: [message: string, cause: Error]\n warning: [message: string]\n debug: [logs: string[]]\n}\nexport type Logger = {\n /**\n * Optional config name to show in CLI output\n */\n name?: string\n logLevel: LogLevel\n\n spinner?: Ora\n on: EventEmitter<Events>['on']\n emit: EventEmitter<Events>['emit']\n}\n\ntype Props = {\n name?: string\n logLevel: LogLevel\n spinner?: Ora\n}\n\nexport function createLogger({ logLevel, name, spinner }: Props): Logger {\n const events = new EventEmitter<Events>()\n\n events.on('start', (message) => {\n if (spinner) {\n spinner.start(message)\n }\n })\n\n events.on('end', (message) => {\n if (spinner) {\n spinner.suffixText = ''\n spinner.succeed(message)\n }\n })\n\n events.on('warning', (message) => {\n if (spinner) {\n spinner.warn(c.yellow(message))\n }\n })\n\n events.on('error', (message, cause) => {\n const error = new Error(message || 'Something went wrong')\n error.cause = cause\n\n throw error\n })\n\n events.on('debug', async (messages) => {\n if (logLevel === LogLevel.debug) {\n await writeLog(messages.join('\\n'))\n }\n })\n\n const logger: Logger = {\n name,\n logLevel,\n spinner,\n on: (...args) => {\n return events.on(...args)\n },\n emit: (...args) => {\n return events.emit(...args)\n },\n }\n\n return logger\n}\n\nconst defaultColours = ['black', 'blue', 'darkBlue', 'cyan', 'gray', 'green', 'darkGreen', 'magenta', 'red', 'darkRed', 'yellow', 'darkYellow'] as const\n\nexport function randomColour(text?: string, colours = defaultColours): string {\n if (!text) {\n return 'white'\n }\n\n const random = seedrandom(text)\n const colour = colours.at(Math.floor(random() * colours.length)) || 'white'\n\n return colour\n}\n\nexport function randomCliColour(text?: string, colors = defaultColours): string {\n const colours = createColors(true)\n\n if (!text) {\n return colours.white(text)\n }\n\n const colour = randomColour(text, colors)\n const isDark = colour.includes('dark')\n const key = colour.replace('dark', '').toLowerCase() as keyof typeof colours\n const formatter: Formatter = colours[key] as Formatter\n\n if (isDark) {\n return c.bold(formatter(text))\n }\n\n if (typeof formatter !== 'function') {\n throw new Error('Formatter for picoColor is not of type function/Formatter')\n }\n return formatter(text)\n}\n","import {\n a as t,\n b as e,\n c as o\n} from \"./chunk-5WCZOS7T.js\";\n\n// src/node.ts\nimport { isatty as r } from \"tty\";\nvar p = o(r(1));\nexport {\n o as createColors,\n p as default,\n t as getDefaultColors,\n e as isSupported\n};\n","// src/index.ts\nvar b = {\n reset: [0, 0],\n bold: [1, 22, \"\\x1B[22m\\x1B[1m\"],\n dim: [2, 22, \"\\x1B[22m\\x1B[2m\"],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49]\n}, C = Object.entries(b);\nfunction d(r) {\n return String(r);\n}\nd.open = \"\";\nd.close = \"\";\nvar m = /* @__PURE__ */ C.reduce(\n (r, [n]) => (r[n] = d, r),\n { isColorSupported: !1 }\n);\nfunction x() {\n return { ...m };\n}\nfunction p(r = !1) {\n let n = typeof process != \"undefined\" ? process : void 0, t = (n == null ? void 0 : n.env) || {}, a = (n == null ? void 0 : n.argv) || [];\n return !(\"NO_COLOR\" in t || a.includes(\"--no-color\")) && !(\"GITHUB_ACTIONS\" in t) && (\"FORCE_COLOR\" in t || a.includes(\"--color\") || (n == null ? void 0 : n.platform) === \"win32\" || r && t.TERM !== \"dumb\" || \"CI\" in t) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction w(r = !1) {\n let n = p(r), t = (e, o, c, i) => {\n let u = e.substring(0, i) + c, s = e.substring(i + o.length), l = s.indexOf(o);\n return ~l ? u + t(s, o, c, l) : u + s;\n }, a = (e, o, c = e) => {\n let i = (u) => {\n let s = String(u), l = s.indexOf(o, e.length);\n return ~l ? e + t(s, o, c, l) + o : e + s + o;\n };\n return i.open = e, i.close = o, i;\n }, g = {\n isColorSupported: n\n }, f = (e) => `\\x1B[${e}m`;\n for (let [e, o] of C)\n g[e] = n ? a(\n f(o[0]),\n f(o[1]),\n o[2]\n ) : d;\n return g;\n}\n\nexport {\n x as a,\n p as b,\n w as c\n};\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as []))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n"]}