@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.
- package/README.md +0 -4
- package/dist/{FileManager-YebPduRO.d.ts → FileManager-B4cpHcmd.d.ts} +30 -16
- package/dist/{FileManager-BYK3ddE3.d.cts → FileManager-WLbm4oGD.d.cts} +30 -16
- package/dist/{chunk-IR265SBR.cjs → chunk-2QXTZSV2.cjs} +4 -12
- package/dist/chunk-2QXTZSV2.cjs.map +1 -0
- package/dist/{chunk-B32U3U36.cjs → chunk-6VRWO4MS.cjs} +8 -8
- package/dist/{chunk-B32U3U36.cjs.map → chunk-6VRWO4MS.cjs.map} +1 -1
- package/dist/{chunk-PZZ736XC.cjs → chunk-AJJTLSA2.cjs} +6 -6
- package/dist/{chunk-PZZ736XC.cjs.map → chunk-AJJTLSA2.cjs.map} +1 -1
- package/dist/{chunk-IS3U2E4B.js → chunk-CLTNHSMO.js} +4 -4
- package/dist/chunk-CLTNHSMO.js.map +1 -0
- package/dist/{chunk-JSL2IBGJ.js → chunk-E6CN2CZC.js} +3 -3
- package/dist/{chunk-JSL2IBGJ.js.map → chunk-E6CN2CZC.js.map} +1 -1
- package/dist/{chunk-GDBJNFFQ.cjs → chunk-GTJDREOE.cjs} +4 -4
- package/dist/{chunk-GDBJNFFQ.cjs.map → chunk-GTJDREOE.cjs.map} +1 -1
- package/dist/{chunk-ZEL4DI72.js → chunk-HBQM723K.js} +3 -3
- package/dist/{chunk-ZEL4DI72.js.map → chunk-HBQM723K.js.map} +1 -1
- package/dist/{chunk-BUNKJZH3.cjs → chunk-L2EWYS6N.cjs} +10 -10
- package/dist/{chunk-BUNKJZH3.cjs.map → chunk-L2EWYS6N.cjs.map} +1 -1
- package/dist/{chunk-73IP2I4Z.cjs → chunk-YLNKHIBG.cjs} +35 -35
- package/dist/chunk-YLNKHIBG.cjs.map +1 -0
- package/dist/index.cjs +34 -34
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/logger.cjs +7 -7
- package/dist/logger.js +2 -3
- package/dist/mocks.cjs +14 -23336
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.d.cts +1 -1
- package/dist/mocks.d.ts +1 -1
- package/dist/mocks.js +6 -23297
- package/dist/mocks.js.map +1 -1
- package/dist/{prompt-HYWTP2ND.cjs → prompt-PFSNR2XA.cjs} +62 -62
- package/dist/{prompt-HYWTP2ND.cjs.map → prompt-PFSNR2XA.cjs.map} +1 -1
- package/dist/{prompt-EWVFJSYF.js → prompt-WQQUN22Z.js} +3 -4
- package/dist/prompt-WQQUN22Z.js.map +1 -0
- package/dist/transformers.cjs +23 -23
- package/dist/transformers.cjs.map +1 -1
- package/dist/transformers.js +0 -1
- package/dist/transformers.js.map +1 -1
- package/dist/utils.cjs +17 -17
- package/dist/utils.js +1 -2
- package/package.json +7 -10
- package/src/BarrelManager.ts +1 -1
- package/src/FileManager.ts +2 -2
- package/src/PromiseManager.ts +1 -1
- package/src/transformers/escape.ts +0 -10
- package/src/types.ts +30 -15
- package/src/utils/executeStrategies.ts +2 -2
- package/src/utils/parser.ts +3 -3
- package/dist/acorn-BDQRFTH5.js +0 -3009
- package/dist/acorn-BDQRFTH5.js.map +0 -1
- package/dist/acorn-SWAHAI7X.cjs +0 -3015
- package/dist/acorn-SWAHAI7X.cjs.map +0 -1
- package/dist/angular-7QLNOURG.js +0 -1537
- package/dist/angular-7QLNOURG.js.map +0 -1
- package/dist/angular-W2RY3LST.cjs +0 -1543
- package/dist/angular-W2RY3LST.cjs.map +0 -1
- package/dist/babel-GWHGORSH.js +0 -6899
- package/dist/babel-GWHGORSH.js.map +0 -1
- package/dist/babel-Z3QMLNRG.cjs +0 -6905
- package/dist/babel-Z3QMLNRG.cjs.map +0 -1
- package/dist/chunk-73IP2I4Z.cjs.map +0 -1
- package/dist/chunk-IR265SBR.cjs.map +0 -1
- package/dist/chunk-IS3U2E4B.js.map +0 -1
- package/dist/chunk-KHG35XCD.cjs +0 -12933
- package/dist/chunk-KHG35XCD.cjs.map +0 -1
- package/dist/chunk-OSWGRZMH.js +0 -12927
- package/dist/chunk-OSWGRZMH.js.map +0 -1
- package/dist/chunk-PZ5AY32C.js +0 -9
- package/dist/chunk-PZ5AY32C.js.map +0 -1
- package/dist/estree-4BFMOGHF.js +0 -4367
- package/dist/estree-4BFMOGHF.js.map +0 -1
- package/dist/estree-GUB2QUYV.cjs +0 -4375
- package/dist/estree-GUB2QUYV.cjs.map +0 -1
- package/dist/flow-KXNVL5TH.cjs +0 -26268
- package/dist/flow-KXNVL5TH.cjs.map +0 -1
- package/dist/flow-VXQDDICF.js +0 -26262
- package/dist/flow-VXQDDICF.js.map +0 -1
- package/dist/glimmer-7L53E5R3.cjs +0 -2852
- package/dist/glimmer-7L53E5R3.cjs.map +0 -1
- package/dist/glimmer-FBL5UTXI.js +0 -2844
- package/dist/glimmer-FBL5UTXI.js.map +0 -1
- package/dist/graphql-NAYJ7XUI.cjs +0 -1250
- package/dist/graphql-NAYJ7XUI.cjs.map +0 -1
- package/dist/graphql-VWUEBAX7.js +0 -1241
- package/dist/graphql-VWUEBAX7.js.map +0 -1
- package/dist/html-A4Q53WOG.cjs +0 -2754
- package/dist/html-A4Q53WOG.cjs.map +0 -1
- package/dist/html-SRQHPYU4.js +0 -2745
- package/dist/html-SRQHPYU4.js.map +0 -1
- package/dist/markdown-7H53GZRF.js +0 -3319
- package/dist/markdown-7H53GZRF.js.map +0 -1
- package/dist/markdown-UCYRKIQU.cjs +0 -3328
- package/dist/markdown-UCYRKIQU.cjs.map +0 -1
- package/dist/meriyah-FOV342OF.cjs +0 -2356
- package/dist/meriyah-FOV342OF.cjs.map +0 -1
- package/dist/meriyah-MBZURH4I.js +0 -2350
- package/dist/meriyah-MBZURH4I.js.map +0 -1
- package/dist/postcss-2ZEP7RB4.cjs +0 -4945
- package/dist/postcss-2ZEP7RB4.cjs.map +0 -1
- package/dist/postcss-TPQQRMEX.js +0 -4936
- package/dist/postcss-TPQQRMEX.js.map +0 -1
- package/dist/prompt-EWVFJSYF.js.map +0 -1
- package/dist/typescript-HWISSPX7.cjs +0 -19
- package/dist/typescript-HWISSPX7.cjs.map +0 -1
- package/dist/typescript-IRGFXOHK.js +0 -4
- package/dist/typescript-IRGFXOHK.js.map +0 -1
- package/dist/yaml-HOYUWFS4.cjs +0 -4216
- package/dist/yaml-HOYUWFS4.cjs.map +0 -1
- package/dist/yaml-Q6KMUOXF.js +0 -4207
- 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.
|
|
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.
|
|
83
|
+
"remeda": "^2.12.1",
|
|
84
84
|
"seedrandom": "^3.0.5",
|
|
85
85
|
"semver": "^7.6.3",
|
|
86
|
-
"
|
|
87
|
-
"@kubb/
|
|
88
|
-
"@kubb/
|
|
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-
|
|
102
|
-
"@kubb/config-
|
|
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"
|
package/src/BarrelManager.ts
CHANGED
package/src/FileManager.ts
CHANGED
|
@@ -204,7 +204,7 @@ export async function getSource<TMeta extends FileMetaBase = FileMetaBase>(file:
|
|
|
204
204
|
return parser.format(source)
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
|
|
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) {
|
package/src/PromiseManager.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
3
|
+
type ValueOfPromiseFuncArray<TInput extends Array<unknown>> = TInput extends Array<PromiseFunc<infer X, infer Y>> ? X | Y : never
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
function noReturn(): void {}
|
|
6
6
|
|
|
7
7
|
type SeqOutput<TInput extends Array<PromiseFunc<TValue, null>>, TValue> = Promise<Array<Awaited<ValueOfPromiseFuncArray<TInput>>>>
|
|
8
8
|
|
package/src/utils/parser.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
162
|
+
function trimExtName(text: string): string {
|
|
163
163
|
const extName = text.split('.').pop()
|
|
164
164
|
|
|
165
165
|
return text.replace(`.${extName}`, '')
|