@kubb/core 3.0.0-alpha.17 → 3.0.0-alpha.19

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 (115) hide show
  1. package/README.md +0 -4
  2. package/dist/{FileManager-YebPduRO.d.ts → FileManager-B4cpHcmd.d.ts} +30 -16
  3. package/dist/{FileManager-BYK3ddE3.d.cts → FileManager-WLbm4oGD.d.cts} +30 -16
  4. package/dist/{chunk-IR265SBR.cjs → chunk-2QXTZSV2.cjs} +4 -12
  5. package/dist/chunk-2QXTZSV2.cjs.map +1 -0
  6. package/dist/{chunk-B32U3U36.cjs → chunk-6VRWO4MS.cjs} +8 -8
  7. package/dist/{chunk-B32U3U36.cjs.map → chunk-6VRWO4MS.cjs.map} +1 -1
  8. package/dist/{chunk-PZZ736XC.cjs → chunk-AJJTLSA2.cjs} +6 -6
  9. package/dist/{chunk-PZZ736XC.cjs.map → chunk-AJJTLSA2.cjs.map} +1 -1
  10. package/dist/{chunk-IS3U2E4B.js → chunk-CLTNHSMO.js} +4 -4
  11. package/dist/chunk-CLTNHSMO.js.map +1 -0
  12. package/dist/{chunk-JSL2IBGJ.js → chunk-E6CN2CZC.js} +3 -3
  13. package/dist/{chunk-JSL2IBGJ.js.map → chunk-E6CN2CZC.js.map} +1 -1
  14. package/dist/{chunk-GDBJNFFQ.cjs → chunk-GTJDREOE.cjs} +4 -4
  15. package/dist/{chunk-GDBJNFFQ.cjs.map → chunk-GTJDREOE.cjs.map} +1 -1
  16. package/dist/{chunk-ZEL4DI72.js → chunk-HBQM723K.js} +3 -3
  17. package/dist/{chunk-ZEL4DI72.js.map → chunk-HBQM723K.js.map} +1 -1
  18. package/dist/{chunk-BUNKJZH3.cjs → chunk-L2EWYS6N.cjs} +10 -10
  19. package/dist/{chunk-BUNKJZH3.cjs.map → chunk-L2EWYS6N.cjs.map} +1 -1
  20. package/dist/{chunk-73IP2I4Z.cjs → chunk-YLNKHIBG.cjs} +35 -35
  21. package/dist/chunk-YLNKHIBG.cjs.map +1 -0
  22. package/dist/index.cjs +34 -34
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.cts +2 -2
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.js +4 -5
  27. package/dist/index.js.map +1 -1
  28. package/dist/logger.cjs +7 -7
  29. package/dist/logger.js +2 -3
  30. package/dist/mocks.cjs +14 -23336
  31. package/dist/mocks.cjs.map +1 -1
  32. package/dist/mocks.d.cts +1 -1
  33. package/dist/mocks.d.ts +1 -1
  34. package/dist/mocks.js +6 -23297
  35. package/dist/mocks.js.map +1 -1
  36. package/dist/{prompt-HYWTP2ND.cjs → prompt-PFSNR2XA.cjs} +62 -62
  37. package/dist/{prompt-HYWTP2ND.cjs.map → prompt-PFSNR2XA.cjs.map} +1 -1
  38. package/dist/{prompt-EWVFJSYF.js → prompt-WQQUN22Z.js} +3 -4
  39. package/dist/prompt-WQQUN22Z.js.map +1 -0
  40. package/dist/transformers.cjs +23 -23
  41. package/dist/transformers.cjs.map +1 -1
  42. package/dist/transformers.js +0 -1
  43. package/dist/transformers.js.map +1 -1
  44. package/dist/utils.cjs +17 -17
  45. package/dist/utils.js +1 -2
  46. package/package.json +7 -10
  47. package/src/BarrelManager.ts +1 -1
  48. package/src/FileManager.ts +2 -2
  49. package/src/PromiseManager.ts +1 -1
  50. package/src/transformers/escape.ts +0 -10
  51. package/src/types.ts +30 -15
  52. package/src/utils/executeStrategies.ts +2 -2
  53. package/src/utils/parser.ts +3 -3
  54. package/dist/acorn-BDQRFTH5.js +0 -3009
  55. package/dist/acorn-BDQRFTH5.js.map +0 -1
  56. package/dist/acorn-SWAHAI7X.cjs +0 -3015
  57. package/dist/acorn-SWAHAI7X.cjs.map +0 -1
  58. package/dist/angular-7QLNOURG.js +0 -1537
  59. package/dist/angular-7QLNOURG.js.map +0 -1
  60. package/dist/angular-W2RY3LST.cjs +0 -1543
  61. package/dist/angular-W2RY3LST.cjs.map +0 -1
  62. package/dist/babel-GWHGORSH.js +0 -6899
  63. package/dist/babel-GWHGORSH.js.map +0 -1
  64. package/dist/babel-Z3QMLNRG.cjs +0 -6905
  65. package/dist/babel-Z3QMLNRG.cjs.map +0 -1
  66. package/dist/chunk-73IP2I4Z.cjs.map +0 -1
  67. package/dist/chunk-IR265SBR.cjs.map +0 -1
  68. package/dist/chunk-IS3U2E4B.js.map +0 -1
  69. package/dist/chunk-KHG35XCD.cjs +0 -12933
  70. package/dist/chunk-KHG35XCD.cjs.map +0 -1
  71. package/dist/chunk-OSWGRZMH.js +0 -12927
  72. package/dist/chunk-OSWGRZMH.js.map +0 -1
  73. package/dist/chunk-PZ5AY32C.js +0 -9
  74. package/dist/chunk-PZ5AY32C.js.map +0 -1
  75. package/dist/estree-4BFMOGHF.js +0 -4367
  76. package/dist/estree-4BFMOGHF.js.map +0 -1
  77. package/dist/estree-GUB2QUYV.cjs +0 -4375
  78. package/dist/estree-GUB2QUYV.cjs.map +0 -1
  79. package/dist/flow-KXNVL5TH.cjs +0 -26268
  80. package/dist/flow-KXNVL5TH.cjs.map +0 -1
  81. package/dist/flow-VXQDDICF.js +0 -26262
  82. package/dist/flow-VXQDDICF.js.map +0 -1
  83. package/dist/glimmer-7L53E5R3.cjs +0 -2852
  84. package/dist/glimmer-7L53E5R3.cjs.map +0 -1
  85. package/dist/glimmer-FBL5UTXI.js +0 -2844
  86. package/dist/glimmer-FBL5UTXI.js.map +0 -1
  87. package/dist/graphql-NAYJ7XUI.cjs +0 -1250
  88. package/dist/graphql-NAYJ7XUI.cjs.map +0 -1
  89. package/dist/graphql-VWUEBAX7.js +0 -1241
  90. package/dist/graphql-VWUEBAX7.js.map +0 -1
  91. package/dist/html-A4Q53WOG.cjs +0 -2754
  92. package/dist/html-A4Q53WOG.cjs.map +0 -1
  93. package/dist/html-SRQHPYU4.js +0 -2745
  94. package/dist/html-SRQHPYU4.js.map +0 -1
  95. package/dist/markdown-7H53GZRF.js +0 -3319
  96. package/dist/markdown-7H53GZRF.js.map +0 -1
  97. package/dist/markdown-UCYRKIQU.cjs +0 -3328
  98. package/dist/markdown-UCYRKIQU.cjs.map +0 -1
  99. package/dist/meriyah-FOV342OF.cjs +0 -2356
  100. package/dist/meriyah-FOV342OF.cjs.map +0 -1
  101. package/dist/meriyah-MBZURH4I.js +0 -2350
  102. package/dist/meriyah-MBZURH4I.js.map +0 -1
  103. package/dist/postcss-2ZEP7RB4.cjs +0 -4945
  104. package/dist/postcss-2ZEP7RB4.cjs.map +0 -1
  105. package/dist/postcss-TPQQRMEX.js +0 -4936
  106. package/dist/postcss-TPQQRMEX.js.map +0 -1
  107. package/dist/prompt-EWVFJSYF.js.map +0 -1
  108. package/dist/typescript-HWISSPX7.cjs +0 -19
  109. package/dist/typescript-HWISSPX7.cjs.map +0 -1
  110. package/dist/typescript-IRGFXOHK.js +0 -4
  111. package/dist/typescript-IRGFXOHK.js.map +0 -1
  112. package/dist/yaml-HOYUWFS4.cjs +0 -4216
  113. package/dist/yaml-HOYUWFS4.cjs.map +0 -1
  114. package/dist/yaml-Q6KMUOXF.js +0 -4207
  115. package/dist/yaml-Q6KMUOXF.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/core",
3
- "version": "3.0.0-alpha.17",
3
+ "version": "3.0.0-alpha.19",
4
4
  "description": "Generator core",
5
5
  "keywords": [
6
6
  "typescript",
@@ -80,17 +80,15 @@
80
80
  "natural-orderby": "^3.0.2",
81
81
  "object-hash": "^3.0.0",
82
82
  "p-queue": "^8.0.1",
83
- "remeda": "^2.12.0",
83
+ "remeda": "^2.12.1",
84
84
  "seedrandom": "^3.0.5",
85
85
  "semver": "^7.6.3",
86
- "unraw": "^3.0.0",
87
- "@kubb/fs": "3.0.0-alpha.17",
88
- "@kubb/parser-ts": "3.0.0-alpha.17",
89
- "@kubb/types": "3.0.0-alpha.17"
86
+ "@kubb/fs": "3.0.0-alpha.19",
87
+ "@kubb/parser-ts": "3.0.0-alpha.19",
88
+ "@kubb/types": "3.0.0-alpha.19"
90
89
  },
91
90
  "devDependencies": {
92
91
  "@types/object-hash": "^3.0.6",
93
- "@types/react": "^18.3.5",
94
92
  "@types/seedrandom": "^3.0.8",
95
93
  "@types/semver": "^7.5.8",
96
94
  "consola": "^3.2.3",
@@ -98,9 +96,8 @@
98
96
  "tinyrainbow": "^1.2.0",
99
97
  "tsup": "^8.2.4",
100
98
  "typescript": "^5.6.2",
101
- "@kubb/config-biome": "3.0.0-alpha.17",
102
- "@kubb/config-ts": "3.0.0-alpha.17",
103
- "@kubb/config-tsup": "3.0.0-alpha.17"
99
+ "@kubb/config-ts": "3.0.0-alpha.19",
100
+ "@kubb/config-tsup": "3.0.0-alpha.19"
104
101
  },
105
102
  "engines": {
106
103
  "node": ">=20"
@@ -7,7 +7,7 @@ import type * as KubbFile from '@kubb/fs/types'
7
7
  import type { FileMetaBase } from './FileManager.ts'
8
8
  import type { Logger } from './logger.ts'
9
9
 
10
- export type BarrelManagerOptions = {
10
+ type BarrelManagerOptions = {
11
11
  logger?: Logger
12
12
  }
13
13
 
@@ -204,7 +204,7 @@ export async function getSource<TMeta extends FileMetaBase = FileMetaBase>(file:
204
204
  return parser.format(source)
205
205
  }
206
206
 
207
- export function mergeFile<TMeta extends FileMetaBase = FileMetaBase>(a: KubbFile.File<TMeta>, b: KubbFile.File<TMeta>): KubbFile.File<TMeta> {
207
+ function mergeFile<TMeta extends FileMetaBase = FileMetaBase>(a: KubbFile.File<TMeta>, b: KubbFile.File<TMeta>): KubbFile.File<TMeta> {
208
208
  return {
209
209
  ...a,
210
210
  sources: [...(a.sources || []), ...(b.sources || [])],
@@ -216,7 +216,7 @@ export function mergeFile<TMeta extends FileMetaBase = FileMetaBase>(a: KubbFile
216
216
  export function combineSources(sources: Array<KubbFile.Source>): Array<KubbFile.Source> {
217
217
  return sources.reduce(
218
218
  (prev, curr) => {
219
- const prevByName = prev.findLast((imp) => imp.name === curr.name)
219
+ const prevByName = prev.findLast((imp) => imp.name && imp.name === curr.name)
220
220
  const prevByPathAndIsExportable = prev.findLast((imp) => imp.name === curr.name && imp.isExportable)
221
221
 
222
222
  if (prevByPathAndIsExportable) {
@@ -42,7 +42,7 @@ export function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {
42
42
  return !!result && typeof (result as Promise<unknown>)?.then === 'function'
43
43
  }
44
44
 
45
- export function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {
45
+ function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {
46
46
  return result.status === 'fulfilled'
47
47
  }
48
48
 
@@ -29,13 +29,3 @@ export function jsStringEscape(input: any): string {
29
29
  }
30
30
  })
31
31
  }
32
-
33
- export function escapeStringRegexp(string: string) {
34
- if (typeof string !== 'string') {
35
- throw new TypeError('Expected a string')
36
- }
37
-
38
- // Escape characters with special meaning either inside or outside character sets.
39
- // Use a simple backslash escape when it’s always valid, and a `\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.
40
- return string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d')
41
- }
package/src/types.ts CHANGED
@@ -144,6 +144,7 @@ export type UserPlugin<TOptions extends PluginFactoryOptions = PluginFactoryOpti
144
144
  * @example @kubb/typescript
145
145
  */
146
146
  name: TOptions['name']
147
+ output?: Output
147
148
  /**
148
149
  * Options set for a specific plugin(see kubb.config.js), passthrough of options.
149
150
  */
@@ -180,21 +181,7 @@ export type Plugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions>
180
181
  * @private
181
182
  */
182
183
  key: TOptions['key']
183
- output?: {
184
- /**
185
- * Output to save the clients.
186
- */
187
- path: string
188
- /**
189
- * Add an extension to the generated imports and exports, default it will not use an extension
190
- */
191
- extName?: KubbFile.Extname
192
- /**
193
- * Define what needs to exported, here you can also disable the export of barrel files
194
- * @default `'barrelNamed'`
195
- */
196
- exportType?: 'barrel' | 'barrelNamed' | false
197
- }
184
+ output?: Output
198
185
  /**
199
186
  * Specifies the preceding plugins for the current plugin. You can pass an array of preceding plugin names, and the current plugin will be executed after these plugins.
200
187
  * Can be used to validate dependent plugins.
@@ -292,3 +279,31 @@ export type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryO
292
279
  */
293
280
  plugin: Plugin<TOptions>
294
281
  }
282
+
283
+ export type Output = {
284
+ /**
285
+ * Output to save the generated files.
286
+ */
287
+ path: string
288
+ /**
289
+ * Name to be used for the `export * as {{exportAs}} from './'`
290
+ */
291
+ exportAs?: string
292
+ /**
293
+ * Add an extension to the generated imports and exports, default it will not use an extension
294
+ */
295
+ extName?: KubbFile.Extname
296
+ /**
297
+ * Define what needs to exported, here you can also disable the export of barrel files
298
+ * @default `'barrelNamed'`
299
+ */
300
+ exportType?: 'barrel' | 'barrelNamed' | false
301
+ /**
302
+ * Add a footer text in the beginning of every file
303
+ */
304
+ footer?: string
305
+ /**
306
+ * Add a banner text in the beginning of every file
307
+ */
308
+ banner?: string
309
+ }
@@ -1,8 +1,8 @@
1
1
  type PromiseFunc<T = unknown, T2 = never> = (state?: T) => T2 extends never ? Promise<T> : Promise<T> | T2
2
2
 
3
- export type ValueOfPromiseFuncArray<TInput extends Array<unknown>> = TInput extends Array<PromiseFunc<infer X, infer Y>> ? X | Y : never
3
+ type ValueOfPromiseFuncArray<TInput extends Array<unknown>> = TInput extends Array<PromiseFunc<infer X, infer Y>> ? X | Y : never
4
4
 
5
- export function noReturn(): void {}
5
+ function noReturn(): void {}
6
6
 
7
7
  type SeqOutput<TInput extends Array<PromiseFunc<TValue, null>>, TValue> = Promise<Array<Awaited<ValueOfPromiseFuncArray<TInput>>>>
8
8
 
@@ -36,7 +36,7 @@ export function createFile<TMeta extends object = object>(file: KubbFile.File<TM
36
36
  /**
37
37
  * Helper to create a fileImport with extName set
38
38
  */
39
- export function createFileSource(source: KubbFile.Source): KubbFile.Source {
39
+ function createFileSource(source: KubbFile.Source): KubbFile.Source {
40
40
  return source
41
41
  }
42
42
 
@@ -121,7 +121,7 @@ const typeScriptParser = createFileParser({
121
121
  })
122
122
  .filter(Boolean)
123
123
 
124
- return [module.print([...importNodes, ...exportNodes]), source].join('\n')
124
+ return [file.banner, module.print([...importNodes, ...exportNodes]), source, file.footer].join('\n')
125
125
  },
126
126
  })
127
127
 
@@ -159,7 +159,7 @@ export async function getFileParser<TMeta extends object = object>(extName: Kubb
159
159
  return parser || defaultParser
160
160
  }
161
161
 
162
- export function trimExtName(text: string): string {
162
+ function trimExtName(text: string): string {
163
163
  const extName = text.split('.').pop()
164
164
 
165
165
  return text.replace(`.${extName}`, '')