@kubb/core 2.11.1 → 2.12.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.
- package/dist/{chunk-4GE2JRAA.cjs → chunk-33S7A7ZE.cjs} +28 -5
- package/dist/chunk-33S7A7ZE.cjs.map +1 -0
- package/dist/{chunk-CH2676BL.js → chunk-4BZD7YTT.js} +2 -2
- package/dist/{chunk-G7EQ47A4.js → chunk-ALE7CO7I.js} +26 -3
- package/dist/chunk-ALE7CO7I.js.map +1 -0
- package/dist/{chunk-WAIHMG76.cjs → chunk-F4TSJHGA.cjs} +3 -3
- package/dist/chunk-FOWWV3PP.js +41 -0
- package/dist/chunk-FOWWV3PP.js.map +1 -0
- package/dist/{chunk-XZZ2F3LK.cjs → chunk-IBUMXAET.cjs} +3 -3
- package/dist/{chunk-WXV3UNEP.js → chunk-IP732R22.js} +1 -29
- package/dist/chunk-IP732R22.js.map +1 -0
- package/dist/chunk-KPXUT3DG.cjs +143 -0
- package/dist/chunk-KPXUT3DG.cjs.map +1 -0
- package/dist/{chunk-UYADU5OY.js → chunk-L2OHRGUS.js} +7 -3
- package/dist/chunk-L2OHRGUS.js.map +1 -0
- package/dist/{chunk-JDIEEDDB.cjs → chunk-OMX2RMAX.cjs} +3 -3
- package/dist/{chunk-TJHTFTXA.cjs → chunk-OVLOS3IJ.cjs} +267 -347
- package/dist/chunk-OVLOS3IJ.cjs.map +1 -0
- package/dist/{chunk-KOQSM5X7.cjs → chunk-VHRZO2NC.cjs} +20 -20
- package/dist/chunk-VHRZO2NC.cjs.map +1 -0
- package/dist/chunk-YYCT7ZB7.cjs +94 -0
- package/dist/chunk-YYCT7ZB7.cjs.map +1 -0
- package/dist/{chunk-H7U5WQ3I.js → chunk-Z5N655B7.js} +20 -20
- package/dist/chunk-Z5N655B7.js.map +1 -0
- package/dist/{chunk-DOELQNBO.cjs → chunk-ZS3YTJ2L.cjs} +3 -133
- package/dist/chunk-ZS3YTJ2L.cjs.map +1 -0
- package/dist/fs.cjs +5 -4
- package/dist/fs.cjs.map +1 -1
- package/dist/fs.js +3 -3
- package/dist/index.cjs +2672 -83
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +1981 -52
- package/dist/index.js.map +1 -1
- package/dist/logger.cjs +4 -3
- package/dist/logger.js +2 -2
- package/dist/mocks.cjs +6 -10
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.js +1 -6
- package/dist/mocks.js.map +1 -1
- package/dist/transformers.cjs +34 -21
- package/dist/transformers.cjs.map +1 -1
- package/dist/transformers.d.cts +4 -2
- package/dist/transformers.d.ts +4 -2
- package/dist/transformers.js +24 -11
- package/dist/transformers.js.map +1 -1
- package/dist/utils.cjs +28 -26
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +29 -27
- package/dist/utils.js.map +1 -1
- package/package.json +4 -3
- package/src/BarrelManager.ts +33 -31
- package/src/FileManager.ts +176 -137
- package/src/PackageManager.ts +4 -4
- package/src/PluginManager.ts +62 -52
- package/src/build.ts +28 -9
- package/src/config.ts +3 -3
- package/src/fs/write.ts +6 -2
- package/src/index.ts +1 -1
- package/src/transformers/casing.ts +11 -5
- package/src/transformers/escape.ts +2 -4
- package/src/transformers/index.ts +3 -2
- package/src/transformers/stringify.ts +19 -3
- package/src/transformers/toNumber.ts +1 -1
- package/src/transformers/toRegExp.ts +1 -5
- package/src/types.ts +67 -71
- package/src/utils/FunctionParams.ts +24 -23
- package/src/utils/TreeNode.ts +15 -4
- package/src/utils/URLPath.ts +2 -6
- package/src/utils/executeStrategies.ts +7 -7
- package/src/utils/index.ts +5 -1
- package/dist/chunk-4GE2JRAA.cjs.map +0 -1
- package/dist/chunk-B7DTFNR4.js +0 -30
- package/dist/chunk-B7DTFNR4.js.map +0 -1
- package/dist/chunk-DOELQNBO.cjs.map +0 -1
- package/dist/chunk-G7EQ47A4.js.map +0 -1
- package/dist/chunk-H7U5WQ3I.js.map +0 -1
- package/dist/chunk-KOQSM5X7.cjs.map +0 -1
- package/dist/chunk-TJHTFTXA.cjs.map +0 -1
- package/dist/chunk-UIWHEBZA.cjs +0 -2549
- package/dist/chunk-UIWHEBZA.cjs.map +0 -1
- package/dist/chunk-UUBXTHJG.cjs +0 -30
- package/dist/chunk-UUBXTHJG.cjs.map +0 -1
- package/dist/chunk-UYADU5OY.js.map +0 -1
- package/dist/chunk-WXV3UNEP.js.map +0 -1
- package/dist/chunk-ZNYG4U5D.js +0 -1888
- package/dist/chunk-ZNYG4U5D.js.map +0 -1
- /package/dist/{chunk-CH2676BL.js.map → chunk-4BZD7YTT.js.map} +0 -0
- /package/dist/{chunk-WAIHMG76.cjs.map → chunk-F4TSJHGA.cjs.map} +0 -0
- /package/dist/{chunk-XZZ2F3LK.cjs.map → chunk-IBUMXAET.cjs.map} +0 -0
- /package/dist/{chunk-JDIEEDDB.cjs.map → chunk-OMX2RMAX.cjs.map} +0 -0
package/dist/utils.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
|
-
URLPath
|
|
3
|
-
} from "./chunk-G7EQ47A4.js";
|
|
4
|
-
import {
|
|
2
|
+
URLPath,
|
|
5
3
|
getUniqueName,
|
|
6
4
|
setUniqueName
|
|
7
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ALE7CO7I.js";
|
|
8
6
|
import {
|
|
9
|
-
camelCase,
|
|
10
7
|
orderBy
|
|
11
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-IP732R22.js";
|
|
9
|
+
import {
|
|
10
|
+
camelCase
|
|
11
|
+
} from "./chunk-FOWWV3PP.js";
|
|
12
12
|
import {
|
|
13
13
|
__privateAdd,
|
|
14
14
|
__privateGet,
|
|
@@ -62,15 +62,16 @@ var _FunctionParams = class _FunctionParams {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
static toString(items) {
|
|
65
|
-
|
|
65
|
+
var _a;
|
|
66
|
+
const sortedData = __privateMethod(_a = _FunctionParams, _orderItems, orderItems_fn).call(_a, items);
|
|
66
67
|
return sortedData.reduce((acc, item) => {
|
|
67
|
-
var
|
|
68
|
+
var _a2, _b, _c;
|
|
68
69
|
if (Array.isArray(item)) {
|
|
69
|
-
const subItems = __privateMethod(
|
|
70
|
+
const subItems = __privateMethod(_a2 = _FunctionParams, _orderItems, orderItems_fn).call(_a2, item);
|
|
70
71
|
const objectItem = _FunctionParams.toObject(subItems);
|
|
71
|
-
return __privateMethod(
|
|
72
|
+
return __privateMethod(_b = _FunctionParams, _addParams, addParams_fn).call(_b, acc, objectItem);
|
|
72
73
|
}
|
|
73
|
-
return __privateMethod(
|
|
74
|
+
return __privateMethod(_c = _FunctionParams, _addParams, addParams_fn).call(_c, acc, item);
|
|
74
75
|
}, []).join(", ");
|
|
75
76
|
}
|
|
76
77
|
toObject() {
|
|
@@ -87,23 +88,24 @@ var _FunctionParams = class _FunctionParams {
|
|
|
87
88
|
_items = new WeakMap();
|
|
88
89
|
_orderItems = new WeakSet();
|
|
89
90
|
orderItems_fn = function(items) {
|
|
90
|
-
return orderBy(
|
|
91
|
-
(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
91
|
+
return orderBy(
|
|
92
|
+
items.filter(Boolean),
|
|
93
|
+
[
|
|
94
|
+
(v) => {
|
|
95
|
+
if (Array.isArray(v)) {
|
|
96
|
+
return void 0;
|
|
97
|
+
}
|
|
98
|
+
return !v.default;
|
|
99
|
+
},
|
|
100
|
+
(v) => {
|
|
101
|
+
if (Array.isArray(v)) {
|
|
102
|
+
return void 0;
|
|
103
|
+
}
|
|
104
|
+
return v.required ?? true;
|
|
100
105
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
"desc",
|
|
105
|
-
"desc"
|
|
106
|
-
]);
|
|
106
|
+
],
|
|
107
|
+
["desc", "desc"]
|
|
108
|
+
);
|
|
107
109
|
};
|
|
108
110
|
_addParams = new WeakSet();
|
|
109
111
|
addParams_fn = function(acc, item) {
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"sourcesContent":["export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport {
|
|
1
|
+
{"version":3,"sources":["../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"sourcesContent":["export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport {\n isPromise,\n isPromiseFulfilledResult,\n isPromiseRejectedResult,\n} from './promise.ts'\nexport { renderTemplate } from './renderTemplate.ts'\nexport { timeout } from './timeout.ts'\nexport { getUniqueName, setUniqueName } from './uniqueName.ts'\nexport type { URLObject } from './URLPath.ts'\nexport { URLPath } from './URLPath.ts'\n","import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\nexport class FunctionParams {\n type?: 'generics' | 'typed'\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.#items.push(it))\n return this\n }\n this.#items.push(item)\n\n return this\n }\n static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join(', ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\n }\n}\n","import type { PossiblePromise } from '@kubb/types'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n"],"mappings":"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","names":["item","_a"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
4
|
"description": "Generator core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -97,8 +97,8 @@
|
|
|
97
97
|
"seedrandom": "^3.0.5",
|
|
98
98
|
"semver": "^7.6.0",
|
|
99
99
|
"unraw": "^3.0.0",
|
|
100
|
-
"@kubb/parser": "2.
|
|
101
|
-
"@kubb/types": "2.
|
|
100
|
+
"@kubb/parser": "2.12.0",
|
|
101
|
+
"@kubb/types": "2.12.0"
|
|
102
102
|
},
|
|
103
103
|
"devDependencies": {
|
|
104
104
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -112,6 +112,7 @@
|
|
|
112
112
|
"lodash.isequal": "^4.5.0",
|
|
113
113
|
"lodash.tonumber": "^4.0.3",
|
|
114
114
|
"ora": "^8.0.1",
|
|
115
|
+
"prettier": "^3.2.5",
|
|
115
116
|
"tinyrainbow": "^1.1.1",
|
|
116
117
|
"tsup": "^8.0.2",
|
|
117
118
|
"typescript": "^5.4.3",
|
package/src/BarrelManager.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getExports } from '@kubb/parser'
|
|
2
2
|
|
|
3
|
-
import path from 'path'
|
|
3
|
+
import path from 'node:path'
|
|
4
4
|
|
|
5
5
|
import { trimExtName } from './transformers/trim.ts'
|
|
6
6
|
import { TreeNode } from './utils/TreeNode.ts'
|
|
@@ -33,38 +33,42 @@ export class BarrelManager {
|
|
|
33
33
|
return [item]
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
return exportedNames.reduce(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
return exportedNames.reduce(
|
|
37
|
+
(prev, curr) => {
|
|
38
|
+
if (!prev[0]?.name || !prev[1]?.name) {
|
|
39
|
+
return prev
|
|
40
|
+
}
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
if (curr.isTypeOnly) {
|
|
43
|
+
prev[1] = { ...prev[1], name: [...prev[1].name, curr.name] }
|
|
44
|
+
} else {
|
|
45
|
+
prev[0] = { ...prev[0], name: [...prev[0].name, curr.name] }
|
|
46
|
+
}
|
|
46
47
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
return prev
|
|
49
|
+
},
|
|
50
|
+
[
|
|
51
|
+
{
|
|
52
|
+
...item,
|
|
53
|
+
name: [],
|
|
54
|
+
isTypeOnly: false,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
...item,
|
|
58
|
+
name: [],
|
|
59
|
+
isTypeOnly: true,
|
|
60
|
+
},
|
|
61
|
+
] as KubbFile.Export[],
|
|
62
|
+
)
|
|
57
63
|
}
|
|
58
64
|
|
|
59
65
|
getNamedExports(root: string, exports: KubbFile.Export[]): KubbFile.Export[] {
|
|
60
|
-
return exports?.
|
|
66
|
+
return exports?.flatMap((item) => {
|
|
61
67
|
return this.getNamedExport(root, item)
|
|
62
|
-
})
|
|
68
|
+
})
|
|
63
69
|
}
|
|
64
70
|
|
|
65
|
-
getIndexes(
|
|
66
|
-
root: string,
|
|
67
|
-
): Array<KubbFile.File> | null {
|
|
71
|
+
getIndexes(root: string): Array<KubbFile.File> | null {
|
|
68
72
|
const { treeNode = {}, isTypeOnly, extName } = this.#options
|
|
69
73
|
const tree = TreeNode.build(root, treeNode)
|
|
70
74
|
|
|
@@ -101,20 +105,17 @@ export class BarrelManager {
|
|
|
101
105
|
baseName: 'index.ts',
|
|
102
106
|
source: '',
|
|
103
107
|
exports,
|
|
108
|
+
exportable: true,
|
|
104
109
|
})
|
|
105
110
|
} else if (treeNode.children.length === 1) {
|
|
106
111
|
const [treeNodeChild] = treeNode.children as [TreeNode]
|
|
107
112
|
|
|
108
113
|
const indexPath = path.resolve(treeNode.data.path, 'index.ts')
|
|
109
|
-
const importPath = treeNodeChild.data.type === 'directory'
|
|
110
|
-
? `./${treeNodeChild.data.name}/index`
|
|
111
|
-
: `./${trimExtName(treeNodeChild.data.name)}`
|
|
114
|
+
const importPath = treeNodeChild.data.type === 'directory' ? `./${treeNodeChild.data.name}/index` : `./${trimExtName(treeNodeChild.data.name)}`
|
|
112
115
|
|
|
113
116
|
const exports = [
|
|
114
117
|
{
|
|
115
|
-
path: extName
|
|
116
|
-
? `${importPath}${extName}`
|
|
117
|
-
: importPath,
|
|
118
|
+
path: extName ? `${importPath}${extName}` : importPath,
|
|
118
119
|
isTypeOnly,
|
|
119
120
|
},
|
|
120
121
|
]
|
|
@@ -124,6 +125,7 @@ export class BarrelManager {
|
|
|
124
125
|
baseName: 'index.ts',
|
|
125
126
|
source: '',
|
|
126
127
|
exports,
|
|
128
|
+
exportable: true,
|
|
127
129
|
})
|
|
128
130
|
}
|
|
129
131
|
|