@kubb/core 2.0.5 → 2.1.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-5P7ZNIXW.js +15 -0
- package/dist/chunk-5P7ZNIXW.js.map +1 -0
- package/dist/chunk-65JU7D5L.cjs +29 -0
- package/dist/chunk-65JU7D5L.cjs.map +1 -0
- package/dist/chunk-6CLGRKHL.js +1859 -0
- package/dist/chunk-6CLGRKHL.js.map +1 -0
- package/dist/chunk-6TTDLGHW.cjs +2548 -0
- package/dist/chunk-6TTDLGHW.cjs.map +1 -0
- package/dist/{chunk-XDHI63G7.cjs → chunk-BOAROBF4.cjs} +4 -4
- package/dist/chunk-BYGMREPJ.cjs +15 -0
- package/dist/chunk-BYGMREPJ.cjs.map +1 -0
- package/dist/{chunk-WZQO3EPM.cjs → chunk-CDC7AOGD.cjs} +3 -3
- package/dist/{chunk-WZQO3EPM.cjs.map → chunk-CDC7AOGD.cjs.map} +1 -1
- package/dist/{chunk-PLVKILIY.cjs → chunk-DQ3TMDDK.cjs} +7 -7
- package/dist/{chunk-5TK7TMV6.cjs → chunk-DU6UHGVD.cjs} +5 -5
- package/dist/{chunk-K2H7BYQB.js → chunk-EOUT5FJT.js} +3 -3
- package/dist/chunk-GPCFICX2.js +29 -0
- package/dist/chunk-GPCFICX2.js.map +1 -0
- package/dist/{chunk-4A7WG6IA.js → chunk-GQGYHVNX.js} +4 -25
- package/dist/chunk-GQGYHVNX.js.map +1 -0
- package/dist/{chunk-54P4AWHI.js → chunk-GUCIIN3Z.js} +3 -3
- package/dist/{chunk-54P4AWHI.js.map → chunk-GUCIIN3Z.js.map} +1 -1
- package/dist/{chunk-H47IKRXJ.cjs → chunk-IZOYUU2C.cjs} +6 -29
- package/dist/chunk-IZOYUU2C.cjs.map +1 -0
- package/dist/{chunk-NAWI7UXW.js → chunk-JSVMBHJE.js} +6 -12
- package/dist/chunk-JSVMBHJE.js.map +1 -0
- package/dist/{chunk-HIE46T3F.js → chunk-LIEJUR4C.js} +2 -2
- package/dist/{chunk-W2FP7ZWW.cjs → chunk-PTGWQCIU.cjs} +7 -15
- package/dist/chunk-PTGWQCIU.cjs.map +1 -0
- package/dist/{chunk-7S67BJXQ.js → chunk-QJQ3GMYY.js} +2 -2
- package/dist/{chunk-E3ANGQ5N.cjs → chunk-WHFBT7CJ.cjs} +90 -90
- package/dist/{chunk-XPOF4D5N.js → chunk-ZXH2OPE4.js} +2 -2
- package/dist/fs.cjs +10 -9
- package/dist/fs.cjs.map +1 -1
- package/dist/fs.js +4 -3
- package/dist/fs.js.map +1 -1
- package/dist/index.cjs +171 -2637
- 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 +36 -1847
- package/dist/index.js.map +1 -1
- package/dist/logger.cjs +7 -7
- package/dist/logger.js +3 -3
- package/dist/mocks.cjs +40 -0
- package/dist/mocks.cjs.map +1 -0
- package/dist/mocks.d.cts +11 -0
- package/dist/mocks.d.ts +11 -0
- package/dist/mocks.js +41 -0
- package/dist/mocks.js.map +1 -0
- package/dist/transformers.cjs +21 -21
- package/dist/transformers.js +5 -5
- package/dist/utils.cjs +13 -12
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +4 -3
- package/dist/utils.js.map +1 -1
- package/package.json +10 -5
- package/src/BarrelManager.ts +43 -17
- package/src/FileManager.ts +33 -26
- package/dist/chunk-4A7WG6IA.js.map +0 -1
- package/dist/chunk-H47IKRXJ.cjs.map +0 -1
- package/dist/chunk-NAWI7UXW.js.map +0 -1
- package/dist/chunk-W2FP7ZWW.cjs.map +0 -1
- /package/dist/{chunk-XDHI63G7.cjs.map → chunk-BOAROBF4.cjs.map} +0 -0
- /package/dist/{chunk-PLVKILIY.cjs.map → chunk-DQ3TMDDK.cjs.map} +0 -0
- /package/dist/{chunk-5TK7TMV6.cjs.map → chunk-DU6UHGVD.cjs.map} +0 -0
- /package/dist/{chunk-K2H7BYQB.js.map → chunk-EOUT5FJT.js.map} +0 -0
- /package/dist/{chunk-HIE46T3F.js.map → chunk-LIEJUR4C.js.map} +0 -0
- /package/dist/{chunk-7S67BJXQ.js.map → chunk-QJQ3GMYY.js.map} +0 -0
- /package/dist/{chunk-E3ANGQ5N.cjs.map → chunk-WHFBT7CJ.cjs.map} +0 -0
- /package/dist/{chunk-XPOF4D5N.js.map → chunk-ZXH2OPE4.js.map} +0 -0
package/dist/mocks.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createRequire } from 'module';
|
|
2
|
+
import './chunk-6CLGRKHL.js';
|
|
3
|
+
import './chunk-LIEJUR4C.js';
|
|
4
|
+
import './chunk-GPCFICX2.js';
|
|
5
|
+
import { pascalCase } from './chunk-ZXH2OPE4.js';
|
|
6
|
+
import './chunk-EOUT5FJT.js';
|
|
7
|
+
import './chunk-JSVMBHJE.js';
|
|
8
|
+
import './chunk-QJQ3GMYY.js';
|
|
9
|
+
import { init_esm_shims } from './chunk-GUCIIN3Z.js';
|
|
10
|
+
|
|
11
|
+
createRequire(import.meta.url);
|
|
12
|
+
|
|
13
|
+
// mocks/index.ts
|
|
14
|
+
init_esm_shims();
|
|
15
|
+
var mockedPluginManager = {
|
|
16
|
+
resolveName: ({ name, type }) => {
|
|
17
|
+
if (type === "type") {
|
|
18
|
+
return pascalCase(name);
|
|
19
|
+
}
|
|
20
|
+
return name;
|
|
21
|
+
},
|
|
22
|
+
resolvePath: ({ baseName }) => baseName,
|
|
23
|
+
logger: {
|
|
24
|
+
info(message) {
|
|
25
|
+
console.log(message);
|
|
26
|
+
},
|
|
27
|
+
error(message) {
|
|
28
|
+
console.log(message);
|
|
29
|
+
},
|
|
30
|
+
warn(message) {
|
|
31
|
+
console.log(message);
|
|
32
|
+
},
|
|
33
|
+
log(message) {
|
|
34
|
+
console.log(message);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { mockedPluginManager };
|
|
40
|
+
//# sourceMappingURL=out.js.map
|
|
41
|
+
//# sourceMappingURL=mocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../mocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAGO,IAAM,sBAAsB;AAAA,EACjC,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM;AAC/B,QAAI,SAAS,QAAQ;AACnB,aAAO,WAAW,IAAI;AAAA,IACxB;AAEA,WAAO;AAAA,EACT;AAAA,EACA,aAAa,CAAC,EAAE,SAAS,MAAM;AAAA,EAC/B,QAAQ;AAAA,IACN,KAAK,SAAS;AACZ,cAAQ,IAAI,OAAO;AAAA,IACrB;AAAA,IACA,MAAM,SAAS;AACb,cAAQ,IAAI,OAAO;AAAA,IACrB;AAAA,IACA,KAAK,SAAS;AACZ,cAAQ,IAAI,OAAO;AAAA,IACrB;AAAA,IACA,IAAI,SAAS;AACX,cAAQ,IAAI,OAAO;AAAA,IACrB;AAAA,EACF;AACF","sourcesContent":["import { pascalCase } from '../src/transformers/casing.ts'\n\nimport { PluginManager } from '../src/PluginManager.ts'\nexport const mockedPluginManager = {\n resolveName: ({ name, type }) => {\n if (type === 'type') {\n return pascalCase(name)\n }\n\n return name\n },\n resolvePath: ({ baseName }) => baseName,\n logger: {\n info(message) {\n console.log(message)\n },\n error(message) {\n console.log(message)\n },\n warn(message) {\n console.log(message)\n },\n log(message) {\n console.log(message)\n },\n },\n} as PluginManager\n"]}
|
package/dist/transformers.cjs
CHANGED
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunkDU6UHGVD_cjs = require('./chunk-DU6UHGVD.cjs');
|
|
6
|
+
var chunkBOAROBF4_cjs = require('./chunk-BOAROBF4.cjs');
|
|
7
|
+
var chunkCDC7AOGD_cjs = require('./chunk-CDC7AOGD.cjs');
|
|
8
8
|
|
|
9
9
|
// src/transformers/index.ts
|
|
10
|
-
|
|
10
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
11
11
|
|
|
12
12
|
// src/transformers/combineCodes.ts
|
|
13
|
-
|
|
13
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
14
14
|
function combineCodes(codes) {
|
|
15
15
|
return codes.join("\n");
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
// src/transformers/createJSDocBlockText.ts
|
|
19
|
-
|
|
19
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
20
20
|
function createJSDocBlockText({ comments }) {
|
|
21
21
|
const filteredComments = comments.filter(Boolean);
|
|
22
22
|
if (!filteredComments.length) {
|
|
@@ -28,7 +28,7 @@ function createJSDocBlockText({ comments }) {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
// src/transformers/escape.ts
|
|
31
|
-
|
|
31
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
32
32
|
function escape(text) {
|
|
33
33
|
return text ? text.replaceAll("`", "\\`") : "";
|
|
34
34
|
}
|
|
@@ -54,13 +54,13 @@ function jsStringEscape(input) {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
// src/transformers/indent.ts
|
|
57
|
-
|
|
57
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
58
58
|
function createIndent(size) {
|
|
59
59
|
return Array.from({ length: size + 1 }).join(" ");
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
// src/transformers/nameSorter.ts
|
|
63
|
-
|
|
63
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
64
64
|
function nameSorter(a, b) {
|
|
65
65
|
if (a.name < b.name) {
|
|
66
66
|
return -1;
|
|
@@ -77,41 +77,41 @@ var transformers_default = {
|
|
|
77
77
|
escape,
|
|
78
78
|
jsStringEscape,
|
|
79
79
|
createIndent,
|
|
80
|
-
transformReservedWord:
|
|
80
|
+
transformReservedWord: chunkDU6UHGVD_cjs.transformReservedWord,
|
|
81
81
|
nameSorter,
|
|
82
|
-
searchAndReplace:
|
|
83
|
-
trim:
|
|
84
|
-
trimExtName:
|
|
82
|
+
searchAndReplace: chunkDU6UHGVD_cjs.searchAndReplace,
|
|
83
|
+
trim: chunkDU6UHGVD_cjs.trim,
|
|
84
|
+
trimExtName: chunkDU6UHGVD_cjs.trimExtName,
|
|
85
85
|
JSDoc: {
|
|
86
86
|
createJSDocBlockText
|
|
87
87
|
},
|
|
88
|
-
camelCase:
|
|
89
|
-
pascalCase:
|
|
88
|
+
camelCase: chunkBOAROBF4_cjs.camelCase,
|
|
89
|
+
pascalCase: chunkBOAROBF4_cjs.pascalCase
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
Object.defineProperty(exports, "searchAndReplace", {
|
|
93
93
|
enumerable: true,
|
|
94
|
-
get: function () { return
|
|
94
|
+
get: function () { return chunkDU6UHGVD_cjs.searchAndReplace; }
|
|
95
95
|
});
|
|
96
96
|
Object.defineProperty(exports, "transformReservedWord", {
|
|
97
97
|
enumerable: true,
|
|
98
|
-
get: function () { return
|
|
98
|
+
get: function () { return chunkDU6UHGVD_cjs.transformReservedWord; }
|
|
99
99
|
});
|
|
100
100
|
Object.defineProperty(exports, "trim", {
|
|
101
101
|
enumerable: true,
|
|
102
|
-
get: function () { return
|
|
102
|
+
get: function () { return chunkDU6UHGVD_cjs.trim; }
|
|
103
103
|
});
|
|
104
104
|
Object.defineProperty(exports, "trimExtName", {
|
|
105
105
|
enumerable: true,
|
|
106
|
-
get: function () { return
|
|
106
|
+
get: function () { return chunkDU6UHGVD_cjs.trimExtName; }
|
|
107
107
|
});
|
|
108
108
|
Object.defineProperty(exports, "camelCase", {
|
|
109
109
|
enumerable: true,
|
|
110
|
-
get: function () { return
|
|
110
|
+
get: function () { return chunkBOAROBF4_cjs.camelCase; }
|
|
111
111
|
});
|
|
112
112
|
Object.defineProperty(exports, "pascalCase", {
|
|
113
113
|
enumerable: true,
|
|
114
|
-
get: function () { return
|
|
114
|
+
get: function () { return chunkBOAROBF4_cjs.pascalCase; }
|
|
115
115
|
});
|
|
116
116
|
exports.combineCodes = combineCodes;
|
|
117
117
|
exports.createIndent = createIndent;
|
package/dist/transformers.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createRequire } from 'module';
|
|
2
|
-
import { transformReservedWord, searchAndReplace, trim, trimExtName } from './chunk-
|
|
3
|
-
export { searchAndReplace, transformReservedWord, trim, trimExtName } from './chunk-
|
|
4
|
-
import { camelCase, pascalCase } from './chunk-
|
|
5
|
-
export { camelCase, pascalCase } from './chunk-
|
|
6
|
-
import { init_esm_shims } from './chunk-
|
|
2
|
+
import { transformReservedWord, searchAndReplace, trim, trimExtName } from './chunk-LIEJUR4C.js';
|
|
3
|
+
export { searchAndReplace, transformReservedWord, trim, trimExtName } from './chunk-LIEJUR4C.js';
|
|
4
|
+
import { camelCase, pascalCase } from './chunk-ZXH2OPE4.js';
|
|
5
|
+
export { camelCase, pascalCase } from './chunk-ZXH2OPE4.js';
|
|
6
|
+
import { init_esm_shims } from './chunk-GUCIIN3Z.js';
|
|
7
7
|
|
|
8
8
|
createRequire(import.meta.url);
|
|
9
9
|
|
package/dist/utils.cjs
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkIZOYUU2C_cjs = require('./chunk-IZOYUU2C.cjs');
|
|
4
|
+
var chunk65JU7D5L_cjs = require('./chunk-65JU7D5L.cjs');
|
|
5
|
+
var chunkBOAROBF4_cjs = require('./chunk-BOAROBF4.cjs');
|
|
6
|
+
var chunkCDC7AOGD_cjs = require('./chunk-CDC7AOGD.cjs');
|
|
6
7
|
var naturalOrderby = require('natural-orderby');
|
|
7
8
|
|
|
8
9
|
// src/utils/index.ts
|
|
9
|
-
|
|
10
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
10
11
|
|
|
11
12
|
// src/utils/FunctionParams.ts
|
|
12
|
-
|
|
13
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
13
14
|
var FunctionParams = class {
|
|
14
15
|
constructor(type) {
|
|
15
16
|
this.items = [];
|
|
@@ -34,7 +35,7 @@ var FunctionParams = class {
|
|
|
34
35
|
acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
|
|
35
36
|
return acc;
|
|
36
37
|
}
|
|
37
|
-
const parameterName = name.startsWith("{") ? name :
|
|
38
|
+
const parameterName = name.startsWith("{") ? name : chunkBOAROBF4_cjs.camelCase(name);
|
|
38
39
|
if (type) {
|
|
39
40
|
if (required) {
|
|
40
41
|
acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
|
|
@@ -50,7 +51,7 @@ var FunctionParams = class {
|
|
|
50
51
|
};
|
|
51
52
|
|
|
52
53
|
// src/utils/promise.ts
|
|
53
|
-
|
|
54
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
54
55
|
function isPromise(result) {
|
|
55
56
|
return !!result && typeof result?.then === "function";
|
|
56
57
|
}
|
|
@@ -62,7 +63,7 @@ function isPromiseRejectedResult(result) {
|
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
// src/utils/renderTemplate.ts
|
|
65
|
-
|
|
66
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
66
67
|
function renderTemplate(template, data = void 0) {
|
|
67
68
|
if (!data || !Object.keys(data).length) {
|
|
68
69
|
return template.replace(/{{(.*?)}}/g, "");
|
|
@@ -87,7 +88,7 @@ function renderTemplate(template, data = void 0) {
|
|
|
87
88
|
}
|
|
88
89
|
|
|
89
90
|
// src/utils/timeout.ts
|
|
90
|
-
|
|
91
|
+
chunkCDC7AOGD_cjs.init_cjs_shims();
|
|
91
92
|
async function timeout(ms) {
|
|
92
93
|
return new Promise((resolve) => {
|
|
93
94
|
setTimeout(() => {
|
|
@@ -98,15 +99,15 @@ async function timeout(ms) {
|
|
|
98
99
|
|
|
99
100
|
Object.defineProperty(exports, "URLPath", {
|
|
100
101
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
102
|
+
get: function () { return chunkIZOYUU2C_cjs.URLPath; }
|
|
102
103
|
});
|
|
103
104
|
Object.defineProperty(exports, "getUniqueName", {
|
|
104
105
|
enumerable: true,
|
|
105
|
-
get: function () { return
|
|
106
|
+
get: function () { return chunk65JU7D5L_cjs.getUniqueName; }
|
|
106
107
|
});
|
|
107
108
|
Object.defineProperty(exports, "setUniqueName", {
|
|
108
109
|
enumerable: true,
|
|
109
|
-
get: function () { return
|
|
110
|
+
get: function () { return chunk65JU7D5L_cjs.setUniqueName; }
|
|
110
111
|
});
|
|
111
112
|
exports.FunctionParams = FunctionParams;
|
|
112
113
|
exports.isPromise = isPromise;
|
package/dist/utils.cjs.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"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;ACAA;AAAA,SAAS,eAAe;AAiCjB,IAAM,iBAAN,MAAqB;AAAA,EAG1B,YAAY,MAA6B;AADzC,SAAO,QAA6B,CAAC;AAEnC,SAAK,OAAO;AAEZ,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAA4F;AAC9F,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAK,OAAO,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,MAAM,KAAK,EAAE,CAAC;AACxD,aAAO;AAAA,IACT;AACA,SAAK,MAAM,KAAK,IAAI;AAEpB,WAAO;AAAA,EACT;AAAA,EAEA,WAAmB;AACjB,UAAM,aAAa,QAAQ,KAAK,MAAM,OAAO,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEvH,WAAO,WACJ,OAAO,CAAC,EAAE,UAAU,KAAK,MAAM,OAAO,EACtC,OAAO,CAAC,KAAK,EAAE,MAAM,MAAM,WAAW,MAAM,GAAG,KAAK,MAAM;AACzD,UAAI,CAAC,MAAM;AAET,YAAI,KAAK,GAAG,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAE7D,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,KAAK,WAAW,GAAG,IAAI,OAAO,UAAU,IAAI;AAElE,UAAI,MAAM;AACR,YAAI,UAAU;AACZ,cAAI,KAAK,GAAG,aAAa,KAAK,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAAA,QACjF,OAAO;AACL,cAAI,KAAK,GAAG,aAAa,MAAM,IAAI,EAAE;AAAA,QACvC;AAAA,MACF,OAAO;AACL,YAAI,KAAK,GAAG,aAAa,EAAE;AAAA,MAC7B;AAEA,aAAO;AAAA,IACT,GAAG,CAAC,CAAa,EAChB,KAAK,IAAI;AAAA,EACd;AACF;;;ACrFA;AAEO,SAAS,UAAa,QAAkD;AAC7E,SAAO,CAAC,CAAC,UAAU,OAAQ,QAA6B,SAAS;AACnE;AAEO,SAAS,yBAAsC,QAA4E;AAChI,SAAO,OAAO,WAAW;AAC3B;AAEO,SAAS,wBAA2B,QAAwG;AACjJ,SAAO,OAAO,WAAW;AAC3B;;;ACZA;AAAO,SAAS,eAAgF,UAAkB,OAA0B,QAAmB;AAC7J,MAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,QAAQ;AACtC,WAAO,SAAS,QAAQ,cAAc,EAAE;AAAA,EAC1C;AAEA,QAAM,UAAU,SAAS,MAAM,YAAY;AAE3C,SACE,SAAS,OAAO,CAAC,MAAM,SAAS;AAC9B,UAAM,QAAQ,KAAK,MAAM,OAAO,EAAE,OAAO,OAAO,EAAE,CAAC,GAAG,KAAK;AAC3D,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,KAAK,KAAK;AAExB,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAEA,WAAO,KACJ,QAAQ,MAAM,MAAM;AACnB,UAAI,OAAO,UAAU,WAAW;AAC9B,eAAO,GAAG,MAAM,SAAS,CAAC,MAAM;AAAA,MAClC;AAEA,aAAQ,SAAoB;AAAA,IAC9B,CAAC,EACA,KAAK;AAAA,EACV,GAAG,QAAQ,KAAK;AAEpB;;;AC9BA;AAAA,eAAsB,QAAQ,IAA8B;AAC1D,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,MAAM;AACf,cAAQ,IAAI;AAAA,IACd,GAAG,EAAE;AAAA,EACP,CAAC;AACH","sourcesContent":["export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport { isPromise, isPromiseFulfilledResult, isPromiseRejectedResult } 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 public type?: 'generics' | 'typed'\n public items: FunctionParamsAST[] = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\n return this\n }\n\n add(item: FunctionParamsAST | Array<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\n toString(): string {\n const sortedData = orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ['desc', 'desc'])\n\n return sortedData\n .filter(({ enabled = true }) => enabled)\n .reduce((acc, { name, type, required = true, ...rest }) => {\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 }, [] as string[])\n .join(', ')\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"]}
|
package/dist/utils.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createRequire } from 'module';
|
|
2
|
-
export { URLPath
|
|
3
|
-
|
|
4
|
-
import {
|
|
2
|
+
export { URLPath } from './chunk-GQGYHVNX.js';
|
|
3
|
+
export { getUniqueName, setUniqueName } from './chunk-GPCFICX2.js';
|
|
4
|
+
import { camelCase } from './chunk-ZXH2OPE4.js';
|
|
5
|
+
import { init_esm_shims } from './chunk-GUCIIN3Z.js';
|
|
5
6
|
import { orderBy } from 'natural-orderby';
|
|
6
7
|
|
|
7
8
|
createRequire(import.meta.url);
|
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"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;AAAA,SAAS,eAAe;AAiCjB,IAAM,iBAAN,MAAqB;AAAA,EAG1B,YAAY,MAA6B;AADzC,SAAO,QAA6B,CAAC;AAEnC,SAAK,OAAO;AAEZ,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAA4F;AAC9F,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAK,OAAO,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,MAAM,KAAK,EAAE,CAAC;AACxD,aAAO;AAAA,IACT;AACA,SAAK,MAAM,KAAK,IAAI;AAEpB,WAAO;AAAA,EACT;AAAA,EAEA,WAAmB;AACjB,UAAM,aAAa,QAAQ,KAAK,MAAM,OAAO,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEvH,WAAO,WACJ,OAAO,CAAC,EAAE,UAAU,KAAK,MAAM,OAAO,EACtC,OAAO,CAAC,KAAK,EAAE,MAAM,MAAM,WAAW,MAAM,GAAG,KAAK,MAAM;AACzD,UAAI,CAAC,MAAM;AAET,YAAI,KAAK,GAAG,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAE7D,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,KAAK,WAAW,GAAG,IAAI,OAAO,UAAU,IAAI;AAElE,UAAI,MAAM;AACR,YAAI,UAAU;AACZ,cAAI,KAAK,GAAG,aAAa,KAAK,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAAA,QACjF,OAAO;AACL,cAAI,KAAK,GAAG,aAAa,MAAM,IAAI,EAAE;AAAA,QACvC;AAAA,MACF,OAAO;AACL,YAAI,KAAK,GAAG,aAAa,EAAE;AAAA,MAC7B;AAEA,aAAO;AAAA,IACT,GAAG,CAAC,CAAa,EAChB,KAAK,IAAI;AAAA,EACd;AACF;;;ACrFA;AAEO,SAAS,UAAa,QAAkD;AAC7E,SAAO,CAAC,CAAC,UAAU,OAAQ,QAA6B,SAAS;AACnE;AAEO,SAAS,yBAAsC,QAA4E;AAChI,SAAO,OAAO,WAAW;AAC3B;AAEO,SAAS,wBAA2B,QAAwG;AACjJ,SAAO,OAAO,WAAW;AAC3B;;;ACZA;AAAO,SAAS,eAAgF,UAAkB,OAA0B,QAAmB;AAC7J,MAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,QAAQ;AACtC,WAAO,SAAS,QAAQ,cAAc,EAAE;AAAA,EAC1C;AAEA,QAAM,UAAU,SAAS,MAAM,YAAY;AAE3C,SACE,SAAS,OAAO,CAAC,MAAM,SAAS;AAC9B,UAAM,QAAQ,KAAK,MAAM,OAAO,EAAE,OAAO,OAAO,EAAE,CAAC,GAAG,KAAK;AAC3D,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,KAAK,KAAK;AAExB,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAEA,WAAO,KACJ,QAAQ,MAAM,MAAM;AACnB,UAAI,OAAO,UAAU,WAAW;AAC9B,eAAO,GAAG,MAAM,SAAS,CAAC,MAAM;AAAA,MAClC;AAEA,aAAQ,SAAoB;AAAA,IAC9B,CAAC,EACA,KAAK;AAAA,EACV,GAAG,QAAQ,KAAK;AAEpB;;;AC9BA;AAAA,eAAsB,QAAQ,IAA8B;AAC1D,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,MAAM;AACf,cAAQ,IAAI;AAAA,IACd,GAAG,EAAE;AAAA,EACP,CAAC;AACH","sourcesContent":["export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport { isPromise, isPromiseFulfilledResult, isPromiseRejectedResult } 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 public type?: 'generics' | 'typed'\n public items: FunctionParamsAST[] = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\n return this\n }\n\n add(item: FunctionParamsAST | Array<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\n toString(): string {\n const sortedData = orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ['desc', 'desc'])\n\n return sortedData\n .filter(({ enabled = true }) => enabled)\n .reduce((acc, { name, type, required = true, ...rest }) => {\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 }, [] as string[])\n .join(', ')\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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/core",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Generator core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -43,6 +43,11 @@
|
|
|
43
43
|
"require": "./dist/fs.cjs",
|
|
44
44
|
"default": "./dist/fs.cjs"
|
|
45
45
|
},
|
|
46
|
+
"./mocks": {
|
|
47
|
+
"import": "./dist/mocks.js",
|
|
48
|
+
"require": "./dist/mocks.cjs",
|
|
49
|
+
"default": "./dist/mocks.cjs"
|
|
50
|
+
},
|
|
46
51
|
"./package.json": "./package.json",
|
|
47
52
|
"./globals": {
|
|
48
53
|
"types": "./globals.d.ts"
|
|
@@ -68,11 +73,11 @@
|
|
|
68
73
|
"fs-extra": "^11.2.0",
|
|
69
74
|
"js-runtime": "^0.0.7",
|
|
70
75
|
"natural-orderby": "^3.0.2",
|
|
71
|
-
"p-queue": "^8.0.
|
|
76
|
+
"p-queue": "^8.0.1",
|
|
72
77
|
"seedrandom": "^3.0.5",
|
|
73
78
|
"semver": "^7.5.4",
|
|
74
|
-
"@kubb/parser": "2.0
|
|
75
|
-
"@kubb/types": "2.0
|
|
79
|
+
"@kubb/parser": "2.1.0",
|
|
80
|
+
"@kubb/types": "2.1.0"
|
|
76
81
|
},
|
|
77
82
|
"devDependencies": {
|
|
78
83
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -80,7 +85,7 @@
|
|
|
80
85
|
"@types/react": "^18.2.45",
|
|
81
86
|
"@types/seedrandom": "^3.0.8",
|
|
82
87
|
"@types/semver": "^7.5.6",
|
|
83
|
-
"eslint": "^8.
|
|
88
|
+
"eslint": "^8.56.0",
|
|
84
89
|
"lodash.isequal": "^4.5.0",
|
|
85
90
|
"ora": "^7.0.1",
|
|
86
91
|
"tinyrainbow": "^1.1.1",
|
package/src/BarrelManager.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { getExports } from '@kubb/parser'
|
|
2
|
+
|
|
1
3
|
import path from 'path'
|
|
2
4
|
|
|
3
5
|
import { trimExtName } from './transformers/trim.ts'
|
|
@@ -5,12 +7,6 @@ import { TreeNode } from './utils/TreeNode.ts'
|
|
|
5
7
|
|
|
6
8
|
import type { DirectoryTreeOptions } from 'directory-tree'
|
|
7
9
|
import type { KubbFile } from './FileManager.ts'
|
|
8
|
-
import type { KubbPlugin } from './index.ts'
|
|
9
|
-
|
|
10
|
-
type FileMeta = {
|
|
11
|
-
pluginKey?: KubbPlugin['key']
|
|
12
|
-
treeNode: TreeNode
|
|
13
|
-
}
|
|
14
10
|
|
|
15
11
|
export type BarrelManagerOptions = {
|
|
16
12
|
treeNode?: DirectoryTreeOptions
|
|
@@ -30,17 +26,53 @@ export class BarrelManager {
|
|
|
30
26
|
return this
|
|
31
27
|
}
|
|
32
28
|
|
|
29
|
+
getNamedExport(root: string, item: KubbFile.Export): KubbFile.Export[] {
|
|
30
|
+
const exportedNames = getExports(path.resolve(root, item.path))
|
|
31
|
+
|
|
32
|
+
if (!exportedNames) {
|
|
33
|
+
return [item]
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return exportedNames.reduce((prev, curr) => {
|
|
37
|
+
if (!prev[0]?.name || !prev[1]?.name) {
|
|
38
|
+
return prev
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (curr.isTypeOnly) {
|
|
42
|
+
prev[1] = { ...prev[1], name: [...prev[1].name, curr.name] }
|
|
43
|
+
} else {
|
|
44
|
+
prev[0] = { ...prev[0], name: [...prev[0].name, curr.name] }
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return prev
|
|
48
|
+
}, [{
|
|
49
|
+
...item,
|
|
50
|
+
name: [],
|
|
51
|
+
isTypeOnly: false,
|
|
52
|
+
}, {
|
|
53
|
+
...item,
|
|
54
|
+
name: [],
|
|
55
|
+
isTypeOnly: true,
|
|
56
|
+
}] as KubbFile.Export[])
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
getNamedExports(root: string, exports: KubbFile.Export[]): KubbFile.Export[] {
|
|
60
|
+
return exports?.map(item => {
|
|
61
|
+
return this.getNamedExport(root, item)
|
|
62
|
+
}).flat()
|
|
63
|
+
}
|
|
64
|
+
|
|
33
65
|
getIndexes(
|
|
34
|
-
|
|
35
|
-
): Array<KubbFile.File
|
|
66
|
+
root: string,
|
|
67
|
+
): Array<KubbFile.File> | null {
|
|
36
68
|
const { treeNode = {}, isTypeOnly, extName } = this.#options
|
|
37
|
-
const tree = TreeNode.build(
|
|
69
|
+
const tree = TreeNode.build(root, treeNode)
|
|
38
70
|
|
|
39
71
|
if (!tree) {
|
|
40
72
|
return null
|
|
41
73
|
}
|
|
42
74
|
|
|
43
|
-
const fileReducer = (files: Array<KubbFile.File
|
|
75
|
+
const fileReducer = (files: Array<KubbFile.File>, treeNode: TreeNode) => {
|
|
44
76
|
if (!treeNode.children) {
|
|
45
77
|
return []
|
|
46
78
|
}
|
|
@@ -48,7 +80,7 @@ export class BarrelManager {
|
|
|
48
80
|
if (treeNode.children.length > 1) {
|
|
49
81
|
const indexPath: KubbFile.Path = path.resolve(treeNode.data.path, 'index.ts')
|
|
50
82
|
|
|
51
|
-
const exports: KubbFile.Export
|
|
83
|
+
const exports: Array<KubbFile.Export> = treeNode.children
|
|
52
84
|
.filter(Boolean)
|
|
53
85
|
.map((file) => {
|
|
54
86
|
const importPath: string = file.data.type === 'directory' ? `./${file.data.name}/index` : `./${trimExtName(file.data.name)}`
|
|
@@ -69,9 +101,6 @@ export class BarrelManager {
|
|
|
69
101
|
baseName: 'index.ts',
|
|
70
102
|
source: '',
|
|
71
103
|
exports,
|
|
72
|
-
meta: {
|
|
73
|
-
treeNode,
|
|
74
|
-
},
|
|
75
104
|
})
|
|
76
105
|
} else if (treeNode.children.length === 1) {
|
|
77
106
|
const [treeNodeChild] = treeNode.children as [TreeNode]
|
|
@@ -95,9 +124,6 @@ export class BarrelManager {
|
|
|
95
124
|
baseName: 'index.ts',
|
|
96
125
|
source: '',
|
|
97
126
|
exports,
|
|
98
|
-
meta: {
|
|
99
|
-
treeNode,
|
|
100
|
-
},
|
|
101
127
|
})
|
|
102
128
|
}
|
|
103
129
|
|
package/src/FileManager.ts
CHANGED
|
@@ -184,7 +184,7 @@ type AddIndexesProps = {
|
|
|
184
184
|
path: string
|
|
185
185
|
exportAs?: string
|
|
186
186
|
extName?: KubbFile.Extname
|
|
187
|
-
exportType?: 'barrel' | false
|
|
187
|
+
exportType?: 'barrel' | 'barrelNamed' | false
|
|
188
188
|
}
|
|
189
189
|
options?: BarrelManagerOptions
|
|
190
190
|
meta?: KubbFile.File['meta']
|
|
@@ -272,33 +272,45 @@ export class FileManager {
|
|
|
272
272
|
return this.#add(file)
|
|
273
273
|
}
|
|
274
274
|
|
|
275
|
-
async addIndexes({ root, output, meta, options = {} }: AddIndexesProps): Promise<
|
|
275
|
+
async addIndexes({ root, output, meta, options = {} }: AddIndexesProps): Promise<void> {
|
|
276
276
|
const { exportType = 'barrel' } = output
|
|
277
277
|
|
|
278
|
-
if (
|
|
278
|
+
if (exportType === false) {
|
|
279
279
|
return undefined
|
|
280
280
|
}
|
|
281
281
|
|
|
282
|
+
const pathToBuildFrom = resolve(root, output.path)
|
|
282
283
|
const exportPath = output.path.startsWith('./') ? trimExtName(output.path) : `./${trimExtName(output.path)}`
|
|
283
284
|
const mode = FileManager.getMode(output.path)
|
|
284
285
|
const barrelManager = new BarrelManager({ extName: output.extName, ...options })
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
function getPath() {
|
|
288
|
-
if (output.extName) {
|
|
289
|
-
if (mode === 'directory') {
|
|
290
|
-
return `${exportPath}/index${output.extName}`
|
|
291
|
-
}
|
|
292
|
-
return `${exportPath}${output.extName}`
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
return exportPath
|
|
296
|
-
}
|
|
286
|
+
let files = barrelManager.getIndexes(pathToBuildFrom)
|
|
297
287
|
|
|
298
288
|
if (!files) {
|
|
299
289
|
return undefined
|
|
300
290
|
}
|
|
301
291
|
|
|
292
|
+
if (exportType === 'barrelNamed') {
|
|
293
|
+
files = files.map(file => {
|
|
294
|
+
if (file.exports) {
|
|
295
|
+
return {
|
|
296
|
+
...file,
|
|
297
|
+
exports: barrelManager.getNamedExports(pathToBuildFrom, file.exports),
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
return file
|
|
301
|
+
})
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
await Promise.all(
|
|
305
|
+
files.map((file) => {
|
|
306
|
+
return this.#addOrAppend({
|
|
307
|
+
...file,
|
|
308
|
+
meta: meta ? meta : file.meta,
|
|
309
|
+
})
|
|
310
|
+
}),
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
const rootPath = mode === 'directory' ? `${exportPath}/index${output.extName || ''}` : `${exportPath}${output.extName || ''}`
|
|
302
314
|
const rootFile: KubbFile.File = {
|
|
303
315
|
path: resolve(root, 'index.ts'),
|
|
304
316
|
baseName: 'index.ts',
|
|
@@ -308,29 +320,24 @@ export class FileManager {
|
|
|
308
320
|
? {
|
|
309
321
|
name: output.exportAs,
|
|
310
322
|
asAlias: true,
|
|
311
|
-
path:
|
|
323
|
+
path: rootPath,
|
|
312
324
|
isTypeOnly: options.isTypeOnly,
|
|
313
325
|
}
|
|
314
326
|
: {
|
|
315
|
-
path:
|
|
327
|
+
path: rootPath,
|
|
316
328
|
isTypeOnly: options.isTypeOnly,
|
|
317
329
|
},
|
|
318
330
|
],
|
|
319
331
|
}
|
|
320
332
|
|
|
333
|
+
if (exportType === 'barrelNamed' && !output.exportAs && rootFile.exports?.[0]) {
|
|
334
|
+
rootFile.exports = barrelManager.getNamedExport(root, rootFile.exports[0])
|
|
335
|
+
}
|
|
336
|
+
|
|
321
337
|
await this.#addOrAppend({
|
|
322
338
|
...rootFile,
|
|
323
339
|
meta: meta ? meta : rootFile.meta,
|
|
324
340
|
})
|
|
325
|
-
|
|
326
|
-
return await Promise.all(
|
|
327
|
-
files.map((file) => {
|
|
328
|
-
return this.#addOrAppend({
|
|
329
|
-
...file,
|
|
330
|
-
meta: meta ? meta : file.meta,
|
|
331
|
-
})
|
|
332
|
-
}),
|
|
333
|
-
)
|
|
334
341
|
}
|
|
335
342
|
|
|
336
343
|
getCacheByUUID(UUID: KubbFile.UUID): KubbFile.File | undefined {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/URLPath.ts","../src/utils/uniqueName.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelCase } from '../transformers/casing.ts'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\nexport class URLPath {\n path: string\n\n constructor(path: string) {\n this.path = path\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString(replacer),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString(replacer?: (pathParam: string) => string): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, curr) => {\n const pathParam = replacer\n ? replacer(camelCase(curr))\n : camelCase(curr)\n const replacement = `\\${${pathParam}}`\n\n return prev.replace(curr, replacement)\n }, this.path)\n }\n\n return `\\`${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n const pathParam = replacer\n ? replacer(camelCase(item))\n : camelCase(item)\n\n params[pathParam] = pathParam\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n","export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/URLPath.ts","../src/utils/uniqueName.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelCase } from '../transformers/casing.ts'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\nexport class URLPath {\n path: string\n\n constructor(path: string) {\n this.path = path\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString(replacer),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString(replacer?: (pathParam: string) => string): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, curr) => {\n const pathParam = replacer\n ? replacer(camelCase(curr))\n : camelCase(curr)\n const replacement = `\\${${pathParam}}`\n\n return prev.replace(curr, replacement)\n }, this.path)\n }\n\n return `\\`${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n const pathParam = replacer\n ? replacer(camelCase(item))\n : camelCase(item)\n\n params[pathParam] = pathParam\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n","export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/fs/clean.ts","../src/fs/read.ts"],"names":["fs"],"mappings":";;;;;;;;;AAAA;AAAA,OAAO,QAAQ;AAEf,eAAsB,MAAM,MAA6B;AACvD,SAAO,GAAG,OAAO,IAAI;AACvB;;;ACJA;AAAA,SAAS,UAAU,SAAS,gBAAgB;AAE5C,OAAOA,SAAQ;AACf,SAAS,gBAAgB;AAEzB,SAAS,MAAM,MAAc,WAAwC,SAAS;AAC5E,QAAM,gBAAgB,YAAY,KAAK,IAAI;AAE3C,MAAI,CAAC,SAAS,KAAK,EAAE,SAAS,QAAQ,KAAK,CAAC,eAAe;AAEzD,WAAO,KAAK,WAAW,OAAO,GAAG,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ;AAAA,EAChE;AAGA,SAAO,KAAK,WAAW,OAAO,GAAG,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ;AAChE;AAEO,SAAS,gBAAgB,SAAyB,UAA0B,WAAwC,SAAiB;AAC1I,MAAI,CAAC,WAAW,CAAC,UAAU;AACzB,UAAM,IAAI,MAAM,uEAAuE,WAAW,EAAE,IAAI,YAAY,EAAE,EAAE;AAAA,EAC1H;AAEA,QAAM,eAAe,SAAS,SAAS,QAAQ;AAI/C,QAAM,cAAc,MAAM,cAAc,QAAQ;AAEhD,MAAI,YAAY,WAAW,KAAK,GAAG;AACjC,WAAO,YAAY,QAAQ,SAAS,WAAW,GAAG,SAAS,aAAa,QAAQ,QAAQ,CAAC,CAAC;AAAA,EAC5F;AAEA,SAAO,KAAK,YAAY,QAAQ,SAAS,WAAW,GAAG,SAAS,aAAa,QAAQ,QAAQ,CAAC,CAAC,CAAC;AAClG;AAEA,IAAM,SAAS;AAAA,EACb;AAAA,IACE,MAAM,OAAO,SAAiB;AAC5B,aAAOA,IAAG,SAAS,MAAM,EAAE,UAAU,OAAO,CAAC;AAAA,IAC/C;AAAA,IACA,KAAK,OAAO,SAAiB;AAC3B,YAAM,OAAO,IAAI,KAAK,IAAI;AAE1B,aAAO,KAAK,KAAK;AAAA,IACnB;AAAA,EACF;AAAA,EACA;AACF;AAEA,IAAM,aAAa;AAAA,EACjB;AAAA,IACE,MAAM,CAAC,SAAiB;AACtB,aAAOA,IAAG,aAAa,MAAM,EAAE,UAAU,OAAO,CAAC;AAAA,IACnD;AAAA,IACA,KAAK,MAAM;AACT,YAAM,IAAI,MAAM,sBAAsB;AAAA,IACxC;AAAA,EACF;AAAA,EACA;AACF;AAEA,eAAsB,KAAK,MAA+B;AACxD,SAAO,OAAO,IAAI;AACpB;AAEO,SAAS,SAAS,MAAsB;AAC7C,SAAO,WAAW,IAAI;AACxB","sourcesContent":["import fs from 'fs-extra'\n\nexport async function clean(path: string): Promise<void> {\n return fs.remove(path)\n}\n","import { basename, extname, relative } from 'node:path'\n\nimport fs from 'fs-extra'\nimport { switcher } from 'js-runtime'\n\nfunction slash(path: string, platform: 'windows' | 'mac' | 'linux' = 'linux') {\n const isWindowsPath = /^\\\\\\\\\\?\\\\/.test(path)\n\n if (['linux', 'mac'].includes(platform) && !isWindowsPath) {\n // linux and mac\n return path.replaceAll(/\\\\/g, '/').replace('../', '').trimEnd()\n }\n\n // windows\n return path.replaceAll(/\\\\/g, '/').replace('../', '').trimEnd()\n}\n\nexport function getRelativePath(rootDir?: string | null, filePath?: string | null, platform: 'windows' | 'mac' | 'linux' = 'linux'): string {\n if (!rootDir || !filePath) {\n throw new Error(`Root and file should be filled in when retrieving the relativePath, ${rootDir || ''} ${filePath || ''}`)\n }\n\n const relativePath = relative(rootDir, filePath)\n\n // On Windows, paths are separated with a \"\\\"\n // However, web browsers use \"/\" no matter the platform\n const slashedPath = slash(relativePath, platform)\n\n if (slashedPath.startsWith('../')) {\n return slashedPath.replace(basename(slashedPath), basename(slashedPath, extname(filePath)))\n }\n\n return `./${slashedPath.replace(basename(slashedPath), basename(slashedPath, extname(filePath)))}`\n}\n\nconst reader = switcher(\n {\n node: async (path: string) => {\n return fs.readFile(path, { encoding: 'utf8' })\n },\n bun: async (path: string) => {\n const file = Bun.file(path)\n\n return file.text()\n },\n },\n 'node',\n)\n\nconst syncReader = switcher(\n {\n node: (path: string) => {\n return fs.readFileSync(path, { encoding: 'utf8' })\n },\n bun: () => {\n throw new Error('Bun cannot read sync')\n },\n },\n 'node',\n)\n\nexport async function read(path: string): Promise<string> {\n return reader(path)\n}\n\nexport function readSync(path: string): string {\n return syncReader(path)\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/fs/clean.ts","../src/fs/read.ts"],"names":["fs","import_fs_extra"],"mappings":";;;;;;;;;AAAA;AAAA,sBAAe;AAEf,eAAsB,MAAM,MAA6B;AACvD,SAAO,gBAAAA,QAAG,OAAO,IAAI;AACvB;;;ACJA;AAEA,IAAAC,mBAAe;AAFf,SAAS,UAAU,SAAS,gBAAgB;AAG5C,SAAS,gBAAgB;AAEzB,SAAS,MAAM,MAAc,WAAwC,SAAS;AAC5E,QAAM,gBAAgB,YAAY,KAAK,IAAI;AAE3C,MAAI,CAAC,SAAS,KAAK,EAAE,SAAS,QAAQ,KAAK,CAAC,eAAe;AAEzD,WAAO,KAAK,WAAW,OAAO,GAAG,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ;AAAA,EAChE;AAGA,SAAO,KAAK,WAAW,OAAO,GAAG,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ;AAChE;AAEO,SAAS,gBAAgB,SAAyB,UAA0B,WAAwC,SAAiB;AAC1I,MAAI,CAAC,WAAW,CAAC,UAAU;AACzB,UAAM,IAAI,MAAM,uEAAuE,WAAW,EAAE,IAAI,YAAY,EAAE,EAAE;AAAA,EAC1H;AAEA,QAAM,eAAe,SAAS,SAAS,QAAQ;AAI/C,QAAM,cAAc,MAAM,cAAc,QAAQ;AAEhD,MAAI,YAAY,WAAW,KAAK,GAAG;AACjC,WAAO,YAAY,QAAQ,SAAS,WAAW,GAAG,SAAS,aAAa,QAAQ,QAAQ,CAAC,CAAC;AAAA,EAC5F;AAEA,SAAO,KAAK,YAAY,QAAQ,SAAS,WAAW,GAAG,SAAS,aAAa,QAAQ,QAAQ,CAAC,CAAC,CAAC;AAClG;AAEA,IAAM,SAAS;AAAA,EACb;AAAA,IACE,MAAM,OAAO,SAAiB;AAC5B,aAAO,iBAAAD,QAAG,SAAS,MAAM,EAAE,UAAU,OAAO,CAAC;AAAA,IAC/C;AAAA,IACA,KAAK,OAAO,SAAiB;AAC3B,YAAM,OAAO,IAAI,KAAK,IAAI;AAE1B,aAAO,KAAK,KAAK;AAAA,IACnB;AAAA,EACF;AAAA,EACA;AACF;AAEA,IAAM,aAAa;AAAA,EACjB;AAAA,IACE,MAAM,CAAC,SAAiB;AACtB,aAAO,iBAAAA,QAAG,aAAa,MAAM,EAAE,UAAU,OAAO,CAAC;AAAA,IACnD;AAAA,IACA,KAAK,MAAM;AACT,YAAM,IAAI,MAAM,sBAAsB;AAAA,IACxC;AAAA,EACF;AAAA,EACA;AACF;AAEA,eAAsB,KAAK,MAA+B;AACxD,SAAO,OAAO,IAAI;AACpB;AAEO,SAAS,SAAS,MAAsB;AAC7C,SAAO,WAAW,IAAI;AACxB","sourcesContent":["import fs from 'fs-extra'\n\nexport async function clean(path: string): Promise<void> {\n return fs.remove(path)\n}\n","import { basename, extname, relative } from 'node:path'\n\nimport fs from 'fs-extra'\nimport { switcher } from 'js-runtime'\n\nfunction slash(path: string, platform: 'windows' | 'mac' | 'linux' = 'linux') {\n const isWindowsPath = /^\\\\\\\\\\?\\\\/.test(path)\n\n if (['linux', 'mac'].includes(platform) && !isWindowsPath) {\n // linux and mac\n return path.replaceAll(/\\\\/g, '/').replace('../', '').trimEnd()\n }\n\n // windows\n return path.replaceAll(/\\\\/g, '/').replace('../', '').trimEnd()\n}\n\nexport function getRelativePath(rootDir?: string | null, filePath?: string | null, platform: 'windows' | 'mac' | 'linux' = 'linux'): string {\n if (!rootDir || !filePath) {\n throw new Error(`Root and file should be filled in when retrieving the relativePath, ${rootDir || ''} ${filePath || ''}`)\n }\n\n const relativePath = relative(rootDir, filePath)\n\n // On Windows, paths are separated with a \"\\\"\n // However, web browsers use \"/\" no matter the platform\n const slashedPath = slash(relativePath, platform)\n\n if (slashedPath.startsWith('../')) {\n return slashedPath.replace(basename(slashedPath), basename(slashedPath, extname(filePath)))\n }\n\n return `./${slashedPath.replace(basename(slashedPath), basename(slashedPath, extname(filePath)))}`\n}\n\nconst reader = switcher(\n {\n node: async (path: string) => {\n return fs.readFile(path, { encoding: 'utf8' })\n },\n bun: async (path: string) => {\n const file = Bun.file(path)\n\n return file.text()\n },\n },\n 'node',\n)\n\nconst syncReader = switcher(\n {\n node: (path: string) => {\n return fs.readFileSync(path, { encoding: 'utf8' })\n },\n bun: () => {\n throw new Error('Bun cannot read sync')\n },\n },\n 'node',\n)\n\nexport async function read(path: string): Promise<string> {\n return reader(path)\n}\n\nexport function readSync(path: string): string {\n return syncReader(path)\n}\n"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|