@kubb/core 2.0.0-beta.13 → 2.0.0-beta.14
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-35FDNG5F.cjs +71 -0
- package/dist/chunk-35FDNG5F.cjs.map +1 -0
- package/dist/chunk-7CNPSL5M.js +85 -0
- package/dist/chunk-7CNPSL5M.js.map +1 -0
- package/dist/{chunk-SX2AYX5F.js → chunk-DKYWBKNH.js} +2 -2
- package/dist/chunk-EZSRGYAY.js +128 -0
- package/dist/chunk-EZSRGYAY.js.map +1 -0
- package/dist/{chunk-77QZQ377.cjs → chunk-GBX7KRCX.cjs} +12 -5
- package/dist/chunk-GBX7KRCX.cjs.map +1 -0
- package/dist/{chunk-FOQFLMOC.js → chunk-ICRPOCV4.cjs} +400 -446
- package/dist/chunk-ICRPOCV4.cjs.map +1 -0
- package/dist/chunk-LAS7UYTK.cjs +129 -0
- package/dist/chunk-LAS7UYTK.cjs.map +1 -0
- package/dist/chunk-LJHT3DNH.js +67 -0
- package/dist/chunk-LJHT3DNH.js.map +1 -0
- package/dist/{chunk-I7UUR5MZ.cjs → chunk-MM42A6GN.cjs} +3 -3
- package/dist/{chunk-I7UUR5MZ.cjs.map → chunk-MM42A6GN.cjs.map} +1 -1
- package/dist/{chunk-L6F5QUH2.js → chunk-SRGTC4FJ.js} +2 -2
- package/dist/{chunk-PY7I7OEN.cjs → chunk-ST7GHHSU.cjs} +34 -22
- package/dist/chunk-ST7GHHSU.cjs.map +1 -0
- package/dist/{chunk-ABFPJZJL.cjs → chunk-U4C2WTCI.cjs} +5 -5
- package/dist/{chunk-WFDR7OMY.js → chunk-UIQUKFF4.js} +9 -2
- package/dist/chunk-UIQUKFF4.js.map +1 -0
- package/dist/{chunk-6N4JBFFS.js → chunk-WTSDXEWD.js} +4 -12
- package/dist/chunk-WTSDXEWD.js.map +1 -0
- package/dist/fs.cjs +9 -8
- package/dist/fs.cjs.map +1 -1
- package/dist/fs.d.cts +1 -1
- package/dist/fs.d.ts +1 -1
- package/dist/fs.js +3 -2
- package/dist/fs.js.map +1 -1
- package/dist/index.cjs +955 -244
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -15
- package/dist/index.d.ts +17 -15
- package/dist/index.js +135 -83
- package/dist/index.js.map +1 -1
- package/dist/logger.cjs +7 -6
- package/dist/logger.d.cts +1 -0
- package/dist/logger.d.ts +1 -0
- package/dist/logger.js +3 -2
- package/dist/transformers.cjs +21 -21
- package/dist/transformers.js +5 -5
- package/dist/utils.cjs +22 -19
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +0 -1
- package/dist/utils.d.ts +0 -1
- package/dist/utils.js +14 -4
- package/dist/utils.js.map +1 -1
- package/dist/{write-46ytbnu9.d.cts → write-A6VgHkYA.d.cts} +4 -1
- package/dist/{write-46ytbnu9.d.ts → write-A6VgHkYA.d.ts} +4 -1
- package/package.json +9 -8
- package/src/FileManager.ts +60 -57
- package/src/PluginManager.ts +11 -18
- package/src/build.ts +57 -32
- package/src/fs/clean.ts +2 -2
- package/src/fs/read.ts +1 -0
- package/src/fs/write.ts +40 -24
- package/src/logger.ts +10 -0
- package/src/utils/index.ts +0 -2
- package/dist/Queue-2-6pMcCx.d.cts +0 -32
- package/dist/Queue-2-6pMcCx.d.ts +0 -32
- package/dist/chunk-56YH3VX6.js +0 -239
- package/dist/chunk-56YH3VX6.js.map +0 -1
- package/dist/chunk-6N4JBFFS.js.map +0 -1
- package/dist/chunk-72O327DC.cjs +0 -247
- package/dist/chunk-72O327DC.cjs.map +0 -1
- package/dist/chunk-77QZQ377.cjs.map +0 -1
- package/dist/chunk-FOQFLMOC.js.map +0 -1
- package/dist/chunk-PY7I7OEN.cjs.map +0 -1
- package/dist/chunk-WFDR7OMY.js.map +0 -1
- package/dist/chunk-Z7XZQBAK.cjs +0 -2339
- package/dist/chunk-Z7XZQBAK.cjs.map +0 -1
- package/src/utils/Queue.ts +0 -110
- /package/dist/{chunk-SX2AYX5F.js.map → chunk-DKYWBKNH.js.map} +0 -0
- /package/dist/{chunk-L6F5QUH2.js.map → chunk-SRGTC4FJ.js.map} +0 -0
- /package/dist/{chunk-ABFPJZJL.cjs.map → chunk-U4C2WTCI.cjs.map} +0 -0
package/dist/logger.cjs
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
3
|
+
var chunkGBX7KRCX_cjs = require('./chunk-GBX7KRCX.cjs');
|
|
4
|
+
require('./chunk-ICRPOCV4.cjs');
|
|
5
|
+
require('./chunk-MM42A6GN.cjs');
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
Object.defineProperty(exports, 'LogLevel', {
|
|
9
10
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkGBX7KRCX_cjs.LogLevel; }
|
|
11
12
|
});
|
|
12
13
|
Object.defineProperty(exports, 'createLogger', {
|
|
13
14
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkGBX7KRCX_cjs.createLogger; }
|
|
15
16
|
});
|
|
16
17
|
Object.defineProperty(exports, 'randomCliColour', {
|
|
17
18
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkGBX7KRCX_cjs.randomCliColour; }
|
|
19
20
|
});
|
|
20
21
|
Object.defineProperty(exports, 'randomColour', {
|
|
21
22
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkGBX7KRCX_cjs.randomColour; }
|
|
23
24
|
});
|
|
24
25
|
//# sourceMappingURL=out.js.map
|
|
25
26
|
//# sourceMappingURL=logger.cjs.map
|
package/dist/logger.d.cts
CHANGED
package/dist/logger.d.ts
CHANGED
package/dist/logger.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'module';
|
|
2
|
-
export { LogLevel, createLogger, randomCliColour, randomColour } from './chunk-
|
|
3
|
-
import './chunk-
|
|
2
|
+
export { LogLevel, createLogger, randomCliColour, randomColour } from './chunk-UIQUKFF4.js';
|
|
3
|
+
import './chunk-7CNPSL5M.js';
|
|
4
|
+
import './chunk-WTSDXEWD.js';
|
|
4
5
|
|
|
5
6
|
createRequire(import.meta.url);
|
|
6
7
|
//# sourceMappingURL=out.js.map
|
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 chunkU4C2WTCI_cjs = require('./chunk-U4C2WTCI.cjs');
|
|
6
|
+
var chunkST7GHHSU_cjs = require('./chunk-ST7GHHSU.cjs');
|
|
7
|
+
var chunkMM42A6GN_cjs = require('./chunk-MM42A6GN.cjs');
|
|
8
8
|
|
|
9
9
|
// src/transformers/index.ts
|
|
10
|
-
|
|
10
|
+
chunkMM42A6GN_cjs.init_cjs_shims();
|
|
11
11
|
|
|
12
12
|
// src/transformers/combineCodes.ts
|
|
13
|
-
|
|
13
|
+
chunkMM42A6GN_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
|
+
chunkMM42A6GN_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
|
+
chunkMM42A6GN_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
|
+
chunkMM42A6GN_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
|
+
chunkMM42A6GN_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: chunkU4C2WTCI_cjs.transformReservedWord,
|
|
81
81
|
nameSorter,
|
|
82
|
-
searchAndReplace:
|
|
83
|
-
trim:
|
|
84
|
-
trimExtName:
|
|
82
|
+
searchAndReplace: chunkU4C2WTCI_cjs.searchAndReplace,
|
|
83
|
+
trim: chunkU4C2WTCI_cjs.trim,
|
|
84
|
+
trimExtName: chunkU4C2WTCI_cjs.trimExtName,
|
|
85
85
|
JSDoc: {
|
|
86
86
|
createJSDocBlockText
|
|
87
87
|
},
|
|
88
|
-
camelCase:
|
|
89
|
-
pascalCase:
|
|
88
|
+
camelCase: chunkST7GHHSU_cjs.camelCase,
|
|
89
|
+
pascalCase: chunkST7GHHSU_cjs.pascalCase
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
Object.defineProperty(exports, 'searchAndReplace', {
|
|
93
93
|
enumerable: true,
|
|
94
|
-
get: function () { return
|
|
94
|
+
get: function () { return chunkU4C2WTCI_cjs.searchAndReplace; }
|
|
95
95
|
});
|
|
96
96
|
Object.defineProperty(exports, 'transformReservedWord', {
|
|
97
97
|
enumerable: true,
|
|
98
|
-
get: function () { return
|
|
98
|
+
get: function () { return chunkU4C2WTCI_cjs.transformReservedWord; }
|
|
99
99
|
});
|
|
100
100
|
Object.defineProperty(exports, 'trim', {
|
|
101
101
|
enumerable: true,
|
|
102
|
-
get: function () { return
|
|
102
|
+
get: function () { return chunkU4C2WTCI_cjs.trim; }
|
|
103
103
|
});
|
|
104
104
|
Object.defineProperty(exports, 'trimExtName', {
|
|
105
105
|
enumerable: true,
|
|
106
|
-
get: function () { return
|
|
106
|
+
get: function () { return chunkU4C2WTCI_cjs.trimExtName; }
|
|
107
107
|
});
|
|
108
108
|
Object.defineProperty(exports, 'camelCase', {
|
|
109
109
|
enumerable: true,
|
|
110
|
-
get: function () { return
|
|
110
|
+
get: function () { return chunkST7GHHSU_cjs.camelCase; }
|
|
111
111
|
});
|
|
112
112
|
Object.defineProperty(exports, 'pascalCase', {
|
|
113
113
|
enumerable: true,
|
|
114
|
-
get: function () { return
|
|
114
|
+
get: function () { return chunkST7GHHSU_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-SRGTC4FJ.js';
|
|
3
|
+
export { searchAndReplace, transformReservedWord, trim, trimExtName } from './chunk-SRGTC4FJ.js';
|
|
4
|
+
import { camelCase, pascalCase } from './chunk-DKYWBKNH.js';
|
|
5
|
+
export { camelCase, pascalCase } from './chunk-DKYWBKNH.js';
|
|
6
|
+
import { init_esm_shims } from './chunk-WTSDXEWD.js';
|
|
7
7
|
|
|
8
8
|
createRequire(import.meta.url);
|
|
9
9
|
|
package/dist/utils.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkLAS7UYTK_cjs = require('./chunk-LAS7UYTK.cjs');
|
|
4
|
+
var chunkST7GHHSU_cjs = require('./chunk-ST7GHHSU.cjs');
|
|
5
|
+
var chunkMM42A6GN_cjs = require('./chunk-MM42A6GN.cjs');
|
|
6
6
|
var naturalOrderby = require('natural-orderby');
|
|
7
7
|
|
|
8
8
|
// src/utils/index.ts
|
|
9
|
-
|
|
9
|
+
chunkMM42A6GN_cjs.init_cjs_shims();
|
|
10
10
|
|
|
11
11
|
// src/utils/FunctionParams.ts
|
|
12
|
-
|
|
12
|
+
chunkMM42A6GN_cjs.init_cjs_shims();
|
|
13
13
|
var FunctionParams = class {
|
|
14
14
|
constructor(type) {
|
|
15
15
|
this.items = [];
|
|
@@ -34,7 +34,7 @@ var FunctionParams = class {
|
|
|
34
34
|
acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
|
|
35
35
|
return acc;
|
|
36
36
|
}
|
|
37
|
-
const parameterName = name.startsWith("{") ? name :
|
|
37
|
+
const parameterName = name.startsWith("{") ? name : chunkST7GHHSU_cjs.camelCase(name);
|
|
38
38
|
if (type) {
|
|
39
39
|
if (required) {
|
|
40
40
|
acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
|
|
@@ -50,7 +50,7 @@ var FunctionParams = class {
|
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
// src/utils/promise.ts
|
|
53
|
-
|
|
53
|
+
chunkMM42A6GN_cjs.init_cjs_shims();
|
|
54
54
|
function isPromise(result) {
|
|
55
55
|
return !!result && typeof result?.then === "function";
|
|
56
56
|
}
|
|
@@ -62,7 +62,7 @@ function isPromiseRejectedResult(result) {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// src/utils/renderTemplate.ts
|
|
65
|
-
|
|
65
|
+
chunkMM42A6GN_cjs.init_cjs_shims();
|
|
66
66
|
function renderTemplate(template, data = void 0) {
|
|
67
67
|
if (!data || !Object.keys(data).length) {
|
|
68
68
|
return template.replace(/{{(.*?)}}/g, "");
|
|
@@ -86,30 +86,33 @@ function renderTemplate(template, data = void 0) {
|
|
|
86
86
|
}, template) || "";
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
// src/utils/timeout.ts
|
|
90
|
+
chunkMM42A6GN_cjs.init_cjs_shims();
|
|
91
|
+
async function timeout(ms) {
|
|
92
|
+
return new Promise((resolve) => {
|
|
93
|
+
setTimeout(() => {
|
|
94
|
+
resolve(true);
|
|
95
|
+
}, ms);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
93
99
|
Object.defineProperty(exports, 'URLPath', {
|
|
94
100
|
enumerable: true,
|
|
95
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunkLAS7UYTK_cjs.URLPath; }
|
|
96
102
|
});
|
|
97
103
|
Object.defineProperty(exports, 'getUniqueName', {
|
|
98
104
|
enumerable: true,
|
|
99
|
-
get: function () { return
|
|
105
|
+
get: function () { return chunkLAS7UYTK_cjs.getUniqueName; }
|
|
100
106
|
});
|
|
101
107
|
Object.defineProperty(exports, 'setUniqueName', {
|
|
102
108
|
enumerable: true,
|
|
103
|
-
get: function () { return
|
|
104
|
-
});
|
|
105
|
-
Object.defineProperty(exports, 'timeout', {
|
|
106
|
-
enumerable: true,
|
|
107
|
-
get: function () { return chunk72O327DC_cjs.timeout; }
|
|
109
|
+
get: function () { return chunkLAS7UYTK_cjs.setUniqueName; }
|
|
108
110
|
});
|
|
109
111
|
exports.FunctionParams = FunctionParams;
|
|
110
112
|
exports.isPromise = isPromise;
|
|
111
113
|
exports.isPromiseFulfilledResult = isPromiseFulfilledResult;
|
|
112
114
|
exports.isPromiseRejectedResult = isPromiseRejectedResult;
|
|
113
115
|
exports.renderTemplate = renderTemplate;
|
|
116
|
+
exports.timeout = timeout;
|
|
114
117
|
//# sourceMappingURL=out.js.map
|
|
115
118
|
//# sourceMappingURL=utils.cjs.map
|
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"],"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.d.cts
CHANGED
package/dist/utils.d.ts
CHANGED
package/dist/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'module';
|
|
2
|
-
export {
|
|
3
|
-
import { camelCase } from './chunk-
|
|
4
|
-
import { init_esm_shims } from './chunk-
|
|
2
|
+
export { URLPath, getUniqueName, setUniqueName } from './chunk-EZSRGYAY.js';
|
|
3
|
+
import { camelCase } from './chunk-DKYWBKNH.js';
|
|
4
|
+
import { init_esm_shims } from './chunk-WTSDXEWD.js';
|
|
5
5
|
import { orderBy } from 'natural-orderby';
|
|
6
6
|
|
|
7
7
|
createRequire(import.meta.url);
|
|
@@ -87,6 +87,16 @@ function renderTemplate(template, data = void 0) {
|
|
|
87
87
|
}, template) || "";
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
// src/utils/timeout.ts
|
|
91
|
+
init_esm_shims();
|
|
92
|
+
async function timeout(ms) {
|
|
93
|
+
return new Promise((resolve) => {
|
|
94
|
+
setTimeout(() => {
|
|
95
|
+
resolve(true);
|
|
96
|
+
}, ms);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export { FunctionParams, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, timeout };
|
|
91
101
|
//# sourceMappingURL=out.js.map
|
|
92
102
|
//# sourceMappingURL=utils.js.map
|
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"],"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"]}
|
|
@@ -2,6 +2,9 @@ declare function getRelativePath(rootDir?: string | null, filePath?: string | nu
|
|
|
2
2
|
declare function read(path: string): Promise<string>;
|
|
3
3
|
declare function readSync(path: string): string;
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
type Options = {
|
|
6
|
+
sanity?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare function write(data: string, path: string, options?: Options): Promise<string | undefined>;
|
|
6
9
|
|
|
7
10
|
export { readSync as a, getRelativePath as g, read as r, write as w };
|
|
@@ -2,6 +2,9 @@ declare function getRelativePath(rootDir?: string | null, filePath?: string | nu
|
|
|
2
2
|
declare function read(path: string): Promise<string>;
|
|
3
3
|
declare function readSync(path: string): string;
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
type Options = {
|
|
6
|
+
sanity?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare function write(data: string, path: string, options?: Options): Promise<string | undefined>;
|
|
6
9
|
|
|
7
10
|
export { readSync as a, getRelativePath as g, read as r, write as w };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/core",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.14",
|
|
4
4
|
"description": "Generator core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -62,27 +62,28 @@
|
|
|
62
62
|
"!/**/__tests__/**"
|
|
63
63
|
],
|
|
64
64
|
"dependencies": {
|
|
65
|
+
"change-case": "^5.3.0",
|
|
65
66
|
"directory-tree": "^3.5.1",
|
|
67
|
+
"find-up": "^7.0.0",
|
|
66
68
|
"js-runtime": "^0.0.7",
|
|
67
69
|
"natural-orderby": "^3.0.2",
|
|
70
|
+
"p-queue": "^7.4.1",
|
|
68
71
|
"seedrandom": "^3.0.5",
|
|
69
72
|
"semver": "^7.5.4",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"@kubb/
|
|
73
|
-
"@kubb/types": "2.0.0-beta.13"
|
|
73
|
+
"fs-extra": "^11.2.0",
|
|
74
|
+
"@kubb/parser": "2.0.0-beta.14",
|
|
75
|
+
"@kubb/types": "2.0.0-beta.14"
|
|
74
76
|
},
|
|
75
77
|
"devDependencies": {
|
|
76
78
|
"@types/fs-extra": "^11.0.4",
|
|
77
79
|
"@types/lodash.isequal": "4.5.6",
|
|
78
|
-
"@types/react": "^18.2.
|
|
80
|
+
"@types/react": "^18.2.42",
|
|
79
81
|
"@types/seedrandom": "^3.0.8",
|
|
80
82
|
"@types/semver": "^7.5.6",
|
|
81
83
|
"eslint": "^8.55.0",
|
|
82
|
-
"tinyrainbow": "^1.1.0",
|
|
83
|
-
"fs-extra": "^11.2.0",
|
|
84
84
|
"lodash.isequal": "^4.5.0",
|
|
85
85
|
"ora": "^7.0.1",
|
|
86
|
+
"tinyrainbow": "^1.1.1",
|
|
86
87
|
"tsup": "^8.0.1",
|
|
87
88
|
"typescript": "^5.3.2",
|
|
88
89
|
"@kubb/eslint-config": "1.1.8",
|
package/src/FileManager.ts
CHANGED
|
@@ -7,18 +7,17 @@ import * as factory from '@kubb/parser/factory'
|
|
|
7
7
|
|
|
8
8
|
import isEqual from 'lodash.isequal'
|
|
9
9
|
import { orderBy } from 'natural-orderby'
|
|
10
|
+
import PQueue from 'p-queue'
|
|
10
11
|
|
|
11
12
|
import { getRelativePath, read } from './fs/read.ts'
|
|
12
13
|
import { write } from './fs/write.ts'
|
|
13
14
|
import { searchAndReplace } from './transformers/searchAndReplace.ts'
|
|
14
15
|
import { trimExtName } from './transformers/trim.ts'
|
|
15
|
-
import { timeout } from './utils/timeout.ts'
|
|
16
16
|
import { BarrelManager } from './BarrelManager.ts'
|
|
17
17
|
|
|
18
18
|
import type { GreaterThan } from '@kubb/types'
|
|
19
19
|
import type { BarrelManagerOptions } from './BarrelManager.ts'
|
|
20
20
|
import type { KubbPlugin } from './types.ts'
|
|
21
|
-
import type { Queue, QueueJob } from './utils/Queue.ts'
|
|
22
21
|
|
|
23
22
|
type BasePath<T extends string = string> = `${T}/`
|
|
24
23
|
|
|
@@ -192,31 +191,19 @@ type AddIndexesProps = {
|
|
|
192
191
|
}
|
|
193
192
|
|
|
194
193
|
type Options = {
|
|
195
|
-
queue?:
|
|
196
|
-
task?:
|
|
197
|
-
/**
|
|
198
|
-
* Timeout between writes
|
|
199
|
-
*/
|
|
200
|
-
timeout?: number
|
|
194
|
+
queue?: PQueue
|
|
195
|
+
task?: (file: KubbFile.ResolvedFile) => Promise<KubbFile.ResolvedFile>
|
|
201
196
|
}
|
|
202
197
|
|
|
203
198
|
export class FileManager {
|
|
204
199
|
#cache: Map<KubbFile.Path, CacheItem[]> = new Map()
|
|
205
200
|
|
|
206
|
-
#task
|
|
207
|
-
#
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
#queue?: Queue
|
|
213
|
-
|
|
214
|
-
constructor(options?: Options) {
|
|
215
|
-
if (options) {
|
|
216
|
-
this.#task = options.task
|
|
217
|
-
this.#queue = options.queue
|
|
218
|
-
this.#timeout = options.timeout || 0
|
|
219
|
-
}
|
|
201
|
+
#task: Options['task']
|
|
202
|
+
#queue: PQueue
|
|
203
|
+
|
|
204
|
+
constructor({ task = async (file) => file, queue = new PQueue() }: Options = {}) {
|
|
205
|
+
this.#task = task
|
|
206
|
+
this.#queue = queue
|
|
220
207
|
|
|
221
208
|
return this
|
|
222
209
|
}
|
|
@@ -230,21 +217,13 @@ export class FileManager {
|
|
|
230
217
|
return files
|
|
231
218
|
}
|
|
232
219
|
get isExecuting(): boolean {
|
|
233
|
-
return this.#queue
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
#validate(file: KubbFile.File): void {
|
|
237
|
-
if (!file.path.toLowerCase().endsWith(file.baseName.toLowerCase())) {
|
|
238
|
-
throw new Error(`${file.path} should end with the baseName ${file.baseName}`)
|
|
239
|
-
}
|
|
220
|
+
return this.#queue.size !== 0 && this.#queue.pending !== 0
|
|
240
221
|
}
|
|
241
222
|
|
|
242
223
|
async add<T extends Array<KubbFile.File> = Array<KubbFile.File>>(
|
|
243
224
|
...files: T
|
|
244
225
|
): AddResult<T> {
|
|
245
|
-
const promises = files.map((file) => {
|
|
246
|
-
// this.#validate(file)
|
|
247
|
-
|
|
226
|
+
const promises = combineFiles(files).map((file) => {
|
|
248
227
|
if (file.override) {
|
|
249
228
|
return this.#add(file)
|
|
250
229
|
}
|
|
@@ -267,16 +246,12 @@ export class FileManager {
|
|
|
267
246
|
|
|
268
247
|
this.#cache.set(resolvedFile.path, [{ cancel: () => controller.abort(), ...resolvedFile }])
|
|
269
248
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
)
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
return resolvedFile
|
|
249
|
+
return this.#queue.add(
|
|
250
|
+
async () => {
|
|
251
|
+
return this.#task?.(resolvedFile)
|
|
252
|
+
},
|
|
253
|
+
{ signal: controller.signal },
|
|
254
|
+
) as Promise<KubbFile.ResolvedFile>
|
|
280
255
|
}
|
|
281
256
|
|
|
282
257
|
async #addOrAppend(file: KubbFile.File): Promise<KubbFile.ResolvedFile> {
|
|
@@ -304,7 +279,7 @@ export class FileManager {
|
|
|
304
279
|
return undefined
|
|
305
280
|
}
|
|
306
281
|
|
|
307
|
-
const exportPath = output.path.startsWith('./') ? output.path : `./${output.path}`
|
|
282
|
+
const exportPath = output.path.startsWith('./') ? trimExtName(output.path) : `./${trimExtName(output.path)}`
|
|
308
283
|
const barrelManager = new BarrelManager({ extName: output.extName, ...options })
|
|
309
284
|
const files = barrelManager.getIndexes(resolve(root, output.path))
|
|
310
285
|
|
|
@@ -321,11 +296,11 @@ export class FileManager {
|
|
|
321
296
|
? {
|
|
322
297
|
name: output.exportAs,
|
|
323
298
|
asAlias: true,
|
|
324
|
-
path: exportPath,
|
|
299
|
+
path: output.extName ? `${exportPath}${output.extName}` : exportPath,
|
|
325
300
|
isTypeOnly: options.isTypeOnly,
|
|
326
301
|
}
|
|
327
302
|
: {
|
|
328
|
-
path: exportPath,
|
|
303
|
+
path: output.extName ? `${exportPath}${output.extName}` : exportPath,
|
|
329
304
|
isTypeOnly: options.isTypeOnly,
|
|
330
305
|
},
|
|
331
306
|
],
|
|
@@ -369,18 +344,7 @@ export class FileManager {
|
|
|
369
344
|
}
|
|
370
345
|
|
|
371
346
|
async write(...params: Parameters<typeof write>): Promise<string | undefined> {
|
|
372
|
-
|
|
373
|
-
this.#isWriting = true
|
|
374
|
-
|
|
375
|
-
const text = await write(...params)
|
|
376
|
-
|
|
377
|
-
this.#isWriting = false
|
|
378
|
-
return text
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
await timeout(this.#timeout)
|
|
382
|
-
|
|
383
|
-
return this.write(...params)
|
|
347
|
+
return write(...params)
|
|
384
348
|
}
|
|
385
349
|
|
|
386
350
|
async read(...params: Parameters<typeof read>): Promise<string> {
|
|
@@ -392,6 +356,10 @@ export class FileManager {
|
|
|
392
356
|
static getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBase>(file: KubbFile.File<TMeta>): string {
|
|
393
357
|
return getSource<TMeta>(file)
|
|
394
358
|
}
|
|
359
|
+
|
|
360
|
+
static combineFiles<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBase>(files: Array<KubbFile.File<TMeta> | null>): Array<KubbFile.File<TMeta>> {
|
|
361
|
+
return combineFiles<TMeta>(files)
|
|
362
|
+
}
|
|
395
363
|
static getMode(path: string | undefined | null): KubbFile.Mode {
|
|
396
364
|
if (!path) {
|
|
397
365
|
return 'directory'
|
|
@@ -408,6 +376,41 @@ export class FileManager {
|
|
|
408
376
|
}
|
|
409
377
|
}
|
|
410
378
|
|
|
379
|
+
function combineFiles<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBase>(
|
|
380
|
+
files: Array<KubbFile.File<TMeta> | null>,
|
|
381
|
+
): Array<KubbFile.File<TMeta>> {
|
|
382
|
+
return files.filter(Boolean).reduce((acc, file: KubbFile.File<TMeta>) => {
|
|
383
|
+
const prevIndex = acc.findIndex((item) => item.path === file.path)
|
|
384
|
+
|
|
385
|
+
if (prevIndex === -1) {
|
|
386
|
+
return [...acc, file]
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
const prev = acc[prevIndex]
|
|
390
|
+
|
|
391
|
+
if (prev && file.override) {
|
|
392
|
+
acc[prevIndex] = {
|
|
393
|
+
imports: [],
|
|
394
|
+
exports: [],
|
|
395
|
+
...file,
|
|
396
|
+
}
|
|
397
|
+
return acc
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
if (prev) {
|
|
401
|
+
acc[prevIndex] = {
|
|
402
|
+
...file,
|
|
403
|
+
source: prev.source && file.source ? `${prev.source}\n${file.source}` : '',
|
|
404
|
+
imports: [...(prev.imports || []), ...(file.imports || [])],
|
|
405
|
+
exports: [...(prev.exports || []), ...(file.exports || [])],
|
|
406
|
+
env: { ...(prev.env || {}), ...(file.env || {}) },
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
return acc
|
|
411
|
+
}, [] as Array<KubbFile.File<TMeta>>)
|
|
412
|
+
}
|
|
413
|
+
|
|
411
414
|
export function getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBase>(file: KubbFile.File<TMeta>): string {
|
|
412
415
|
if (!FileManager.isExtensionAllowed(file.baseName)) {
|
|
413
416
|
return file.source
|