@kubb/core 3.0.0-alpha.4 → 3.0.0-alpha.5
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/{FileManager-CaejIVBd.d.ts → FileManager-jZpqETKU.d.cts} +4 -17
- package/dist/{FileManager--scIq4y4.d.cts → FileManager-tzl0YsYE.d.ts} +4 -17
- package/dist/{chunk-UUBPTMRW.js → chunk-CEWT73XF.js} +72 -43
- package/dist/chunk-CEWT73XF.js.map +1 -0
- package/dist/{chunk-V5THHXXQ.cjs → chunk-FWU62YO5.cjs} +77 -48
- package/dist/chunk-FWU62YO5.cjs.map +1 -0
- package/dist/{chunk-QRIDQ4RG.cjs → chunk-RBP2ASUX.cjs} +1 -1
- package/dist/{chunk-QRIDQ4RG.cjs.map → chunk-RBP2ASUX.cjs.map} +1 -1
- package/dist/{chunk-EFQPHF4E.js → chunk-Z5CHJQJB.js} +1 -1
- package/dist/chunk-Z5CHJQJB.js.map +1 -0
- package/dist/index.cjs +15 -20
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +5 -10
- package/dist/index.js.map +1 -1
- package/dist/{logger-dzAcLeAA.d.cts → logger-BnWJh6Yq.d.cts} +6 -1
- package/dist/{logger-dzAcLeAA.d.ts → logger-BnWJh6Yq.d.ts} +6 -1
- package/dist/logger.cjs +2 -2
- package/dist/logger.d.cts +2 -1
- package/dist/logger.d.ts +2 -1
- package/dist/logger.js +1 -1
- package/dist/mocks.cjs +2 -2
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.d.cts +2 -2
- package/dist/mocks.d.ts +2 -2
- package/dist/mocks.js +3 -3
- package/dist/mocks.js.map +1 -1
- package/package.json +7 -7
- package/src/BarrelManager.ts +10 -1
- package/src/FileManager.ts +57 -33
- package/src/PluginManager.ts +2 -2
- package/src/build.ts +1 -7
- package/src/logger.ts +2 -1
- package/dist/chunk-EFQPHF4E.js.map +0 -1
- package/dist/chunk-UUBPTMRW.js.map +0 -1
- package/dist/chunk-V5THHXXQ.cjs.map +0 -1
|
@@ -261,10 +261,10 @@ var TreeNode = class _TreeNode {
|
|
|
261
261
|
}
|
|
262
262
|
return this;
|
|
263
263
|
}
|
|
264
|
-
static build(
|
|
264
|
+
static build(path3, options = {}) {
|
|
265
265
|
try {
|
|
266
266
|
const exclude = Array.isArray(options.exclude) ? options.exclude : [options.exclude].filter(Boolean);
|
|
267
|
-
const filteredTree = _directorytree2.default.call(void 0,
|
|
267
|
+
const filteredTree = _directorytree2.default.call(void 0, path3, {
|
|
268
268
|
extensions: options.extensions,
|
|
269
269
|
exclude: [/node_modules/, ...exclude]
|
|
270
270
|
});
|
|
@@ -304,12 +304,16 @@ var BarrelManager = class {
|
|
|
304
304
|
_chunkXCPFG6DOcjs.__privateSet.call(void 0, this, _options, options);
|
|
305
305
|
return this;
|
|
306
306
|
}
|
|
307
|
+
/**
|
|
308
|
+
* Loop through the file and find all exports(with the help of the ts printer)
|
|
309
|
+
* Important: a real file is needed(cannot work from memory/FileManager)
|
|
310
|
+
*/
|
|
307
311
|
getNamedExport(root, item) {
|
|
308
312
|
const exportedNames = _parserts.getExports.call(void 0, _path2.default.resolve(root, item.path));
|
|
309
313
|
if (!exportedNames) {
|
|
310
314
|
return [item];
|
|
311
315
|
}
|
|
312
|
-
|
|
316
|
+
const exports = exportedNames.reduce(
|
|
313
317
|
(prev, curr) => {
|
|
314
318
|
if (!_optionalChain([prev, 'access', _16 => _16[0], 'optionalAccess', _17 => _17.name]) || !_optionalChain([prev, 'access', _18 => _18[1], 'optionalAccess', _19 => _19.name])) {
|
|
315
319
|
return prev;
|
|
@@ -334,6 +338,7 @@ var BarrelManager = class {
|
|
|
334
338
|
}
|
|
335
339
|
]
|
|
336
340
|
);
|
|
341
|
+
return exports;
|
|
337
342
|
}
|
|
338
343
|
getNamedExports(root, exports) {
|
|
339
344
|
return _optionalChain([exports, 'optionalAccess', _20 => _20.flatMap, 'call', _21 => _21((item) => {
|
|
@@ -883,7 +888,7 @@ var _FileManager = class _FileManager {
|
|
|
883
888
|
}
|
|
884
889
|
return resolvedFiles[0];
|
|
885
890
|
}
|
|
886
|
-
async getIndexFiles({ root, output,
|
|
891
|
+
async getIndexFiles({ plugin, root, output, logger, options = {} }) {
|
|
887
892
|
const { exportType = "barrel" } = output;
|
|
888
893
|
if (exportType === false) {
|
|
889
894
|
return [];
|
|
@@ -903,17 +908,6 @@ var _FileManager = class _FileManager {
|
|
|
903
908
|
if (!files) {
|
|
904
909
|
return [];
|
|
905
910
|
}
|
|
906
|
-
if (exportType === "barrelNamed") {
|
|
907
|
-
files = files.map((file) => {
|
|
908
|
-
if (file.exports) {
|
|
909
|
-
return {
|
|
910
|
-
...file,
|
|
911
|
-
exports: barrelManager.getNamedExports(pathToBuildFrom, file.exports)
|
|
912
|
-
};
|
|
913
|
-
}
|
|
914
|
-
return file;
|
|
915
|
-
});
|
|
916
|
-
}
|
|
917
911
|
const rootPath = mode === "split" ? `${exportPath}/index${output.extName || ""}` : `${exportPath}${output.extName || ""}`;
|
|
918
912
|
const rootFile = {
|
|
919
913
|
path: _path.resolve.call(void 0, root, "index.ts"),
|
|
@@ -932,21 +926,47 @@ var _FileManager = class _FileManager {
|
|
|
932
926
|
],
|
|
933
927
|
exportable: true
|
|
934
928
|
};
|
|
935
|
-
if (exportType === "barrelNamed"
|
|
936
|
-
|
|
929
|
+
if (exportType === "barrelNamed") {
|
|
930
|
+
files = files.map((file) => {
|
|
931
|
+
if (file.exports) {
|
|
932
|
+
return {
|
|
933
|
+
...file,
|
|
934
|
+
exports: barrelManager.getNamedExports(pathToBuildFrom, file.exports)
|
|
935
|
+
};
|
|
936
|
+
}
|
|
937
|
+
return file;
|
|
938
|
+
});
|
|
939
|
+
const barrelExportRoot = _optionalChain([rootFile, 'access', _32 => _32.exports, 'optionalAccess', _33 => _33[0]]);
|
|
940
|
+
if (!output.exportAs && barrelExportRoot) {
|
|
941
|
+
const exportFile = files.find((file) => {
|
|
942
|
+
return _chunkPZT4CTBVcjs.trimExtName.call(void 0, file.path) === _path2.default.resolve(root, barrelExportRoot.path);
|
|
943
|
+
});
|
|
944
|
+
if (_optionalChain([exportFile, 'optionalAccess', _34 => _34.exports])) {
|
|
945
|
+
rootFile.exports = exportFile.exports.map((exportItem) => {
|
|
946
|
+
return {
|
|
947
|
+
...exportItem,
|
|
948
|
+
path: _fs.getRelativePath.call(void 0, rootFile.path, exportFile.path)
|
|
949
|
+
};
|
|
950
|
+
});
|
|
951
|
+
}
|
|
952
|
+
}
|
|
937
953
|
}
|
|
938
954
|
return [
|
|
939
955
|
...await Promise.all(
|
|
940
956
|
files.map((file) => {
|
|
941
957
|
return _chunkXCPFG6DOcjs.__privateMethod.call(void 0, this, _FileManager_instances, addOrAppend_fn).call(this, {
|
|
942
958
|
...file,
|
|
943
|
-
meta:
|
|
959
|
+
meta: {
|
|
960
|
+
pluginKey: plugin.key
|
|
961
|
+
}
|
|
944
962
|
});
|
|
945
963
|
})
|
|
946
964
|
),
|
|
947
965
|
await _chunkXCPFG6DOcjs.__privateMethod.call(void 0, this, _FileManager_instances, addOrAppend_fn).call(this, {
|
|
948
966
|
...rootFile,
|
|
949
|
-
meta:
|
|
967
|
+
meta: {
|
|
968
|
+
pluginKey: plugin.key
|
|
969
|
+
}
|
|
950
970
|
})
|
|
951
971
|
];
|
|
952
972
|
}
|
|
@@ -957,15 +977,15 @@ var _FileManager = class _FileManager {
|
|
|
957
977
|
});
|
|
958
978
|
return cache;
|
|
959
979
|
}
|
|
960
|
-
get(
|
|
961
|
-
return _chunkXCPFG6DOcjs.__privateGet.call(void 0, this, _cache).get(
|
|
980
|
+
get(path3) {
|
|
981
|
+
return _chunkXCPFG6DOcjs.__privateGet.call(void 0, this, _cache).get(path3);
|
|
962
982
|
}
|
|
963
|
-
remove(
|
|
964
|
-
const cacheItem = this.get(
|
|
983
|
+
remove(path3) {
|
|
984
|
+
const cacheItem = this.get(path3);
|
|
965
985
|
if (!cacheItem) {
|
|
966
986
|
return;
|
|
967
987
|
}
|
|
968
|
-
_chunkXCPFG6DOcjs.__privateGet.call(void 0, this, _cache).delete(
|
|
988
|
+
_chunkXCPFG6DOcjs.__privateGet.call(void 0, this, _cache).delete(path3);
|
|
969
989
|
}
|
|
970
990
|
async write(...params) {
|
|
971
991
|
return _fs.write.call(void 0, ...params);
|
|
@@ -977,17 +997,14 @@ var _FileManager = class _FileManager {
|
|
|
977
997
|
return processFiles(...params);
|
|
978
998
|
}
|
|
979
999
|
// statics
|
|
980
|
-
static async getSource(file) {
|
|
981
|
-
return getSource(file);
|
|
982
|
-
}
|
|
983
1000
|
static combineFiles(files) {
|
|
984
1001
|
return combineFiles(files);
|
|
985
1002
|
}
|
|
986
|
-
static getMode(
|
|
987
|
-
if (!
|
|
1003
|
+
static getMode(path3) {
|
|
1004
|
+
if (!path3) {
|
|
988
1005
|
return "split";
|
|
989
1006
|
}
|
|
990
|
-
return _path.extname.call(void 0,
|
|
1007
|
+
return _path.extname.call(void 0, path3) ? "single" : "split";
|
|
991
1008
|
}
|
|
992
1009
|
static get extensions() {
|
|
993
1010
|
return [".js", ".ts", ".tsx"];
|
|
@@ -1005,7 +1022,7 @@ add_fn = async function(file) {
|
|
|
1005
1022
|
name: _chunkPZT4CTBVcjs.trimExtName.call(void 0, file.baseName),
|
|
1006
1023
|
...file
|
|
1007
1024
|
};
|
|
1008
|
-
if (_optionalChain([resolvedFile, 'access',
|
|
1025
|
+
if (_optionalChain([resolvedFile, 'access', _35 => _35.exports, 'optionalAccess', _36 => _36.length])) {
|
|
1009
1026
|
const folder = resolvedFile.path.replace(resolvedFile.baseName, "");
|
|
1010
1027
|
resolvedFile.exports = resolvedFile.exports.filter((exportItem) => {
|
|
1011
1028
|
const exportedFile = this.files.find((file2) => file2.path.includes(_path.resolve.call(void 0, folder, exportItem.path)));
|
|
@@ -1074,13 +1091,13 @@ async function getSource(file) {
|
|
|
1074
1091
|
const exports = file.exports ? combineExports(file.exports) : [];
|
|
1075
1092
|
const imports = file.imports && file.source ? combineImports(file.imports, exports, file.source) : [];
|
|
1076
1093
|
const importNodes = imports.filter((item) => {
|
|
1077
|
-
const
|
|
1078
|
-
return
|
|
1094
|
+
const path3 = item.root ? _fs.getRelativePath.call(void 0, item.root, item.path) : item.path;
|
|
1095
|
+
return path3 !== _chunkPZT4CTBVcjs.trimExtName.call(void 0, file.path);
|
|
1079
1096
|
}).map((item) => {
|
|
1080
|
-
const
|
|
1097
|
+
const path3 = item.root ? _fs.getRelativePath.call(void 0, item.root, item.path) : item.path;
|
|
1081
1098
|
return parser.factory.createImportDeclaration({
|
|
1082
1099
|
name: item.name,
|
|
1083
|
-
path: item.extName ? `${
|
|
1100
|
+
path: item.extName ? `${path3}${item.extName}` : path3,
|
|
1084
1101
|
isTypeOnly: item.isTypeOnly
|
|
1085
1102
|
});
|
|
1086
1103
|
});
|
|
@@ -1107,7 +1124,7 @@ function combineExports(exports) {
|
|
|
1107
1124
|
const uniquePrev = prev.findLast(
|
|
1108
1125
|
(imp) => imp.path === curr.path && _remeda.isDeepEqual.call(void 0, imp.name, name) && imp.isTypeOnly === curr.isTypeOnly && imp.asAlias === curr.asAlias
|
|
1109
1126
|
);
|
|
1110
|
-
if (uniquePrev || Array.isArray(name) && !name.length || _optionalChain([prevByPath, 'optionalAccess',
|
|
1127
|
+
if (uniquePrev || Array.isArray(name) && !name.length || _optionalChain([prevByPath, 'optionalAccess', _37 => _37.asAlias]) && !curr.asAlias) {
|
|
1111
1128
|
return prev;
|
|
1112
1129
|
}
|
|
1113
1130
|
if (!prevByPath) {
|
|
@@ -1187,7 +1204,7 @@ function getEnvSource(source, env) {
|
|
|
1187
1204
|
}
|
|
1188
1205
|
return keys.reduce((prev, key) => {
|
|
1189
1206
|
const environmentValue = env[key];
|
|
1190
|
-
const replaceBy = environmentValue ? `'${_optionalChain([environmentValue, 'access',
|
|
1207
|
+
const replaceBy = environmentValue ? `'${_optionalChain([environmentValue, 'access', _38 => _38.replaceAll, 'call', _39 => _39('"', ""), 'optionalAccess', _40 => _40.replaceAll, 'call', _41 => _41("'", "")])}'` : "undefined";
|
|
1191
1208
|
if (key.toUpperCase() !== key) {
|
|
1192
1209
|
throw new TypeError(`Environment should be in upperCase for ${key}`);
|
|
1193
1210
|
}
|
|
@@ -1207,24 +1224,35 @@ function getEnvSource(source, env) {
|
|
|
1207
1224
|
return prev;
|
|
1208
1225
|
}, source);
|
|
1209
1226
|
}
|
|
1210
|
-
var queue = new PQueue({ concurrency:
|
|
1227
|
+
var queue = new PQueue({ concurrency: 10 });
|
|
1211
1228
|
async function processFiles({ dryRun, logger, files }) {
|
|
1212
1229
|
const mergedFiles = await Promise.all(
|
|
1213
1230
|
files.map(async (file) => ({
|
|
1214
1231
|
...file,
|
|
1215
|
-
source: await
|
|
1232
|
+
source: await getSource(file)
|
|
1216
1233
|
}))
|
|
1217
1234
|
);
|
|
1235
|
+
const orderedFiles = _chunk67C6RBGQcjs.orderBy.call(void 0, mergedFiles, [(v) => !_optionalChain([v, 'access', _42 => _42.meta, 'optionalAccess', _43 => _43.pluginKey]), (v) => v.path.length, (v) => _chunkPZT4CTBVcjs.trimExtName.call(void 0, v.path).endsWith("index")], ["desc", "desc"]);
|
|
1236
|
+
logger.emit(
|
|
1237
|
+
"debug",
|
|
1238
|
+
orderedFiles.map((item) => `[${_optionalChain([item, 'access', _44 => _44.meta, 'optionalAccess', _45 => _45.pluginKey]) || "unknown"}]${item.path}:
|
|
1239
|
+
${item.source}`)
|
|
1240
|
+
);
|
|
1218
1241
|
if (!dryRun) {
|
|
1219
|
-
_optionalChain([logger, 'access',
|
|
1220
|
-
const
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1242
|
+
_optionalChain([logger, 'access', _46 => _46.consola, 'optionalAccess', _47 => _47.pauseLogs, 'call', _48 => _48()]);
|
|
1243
|
+
const size = orderedFiles.length;
|
|
1244
|
+
const promises = orderedFiles.map(async (file, index) => {
|
|
1245
|
+
await queue.add(async () => {
|
|
1246
|
+
logger.emit("progress", { count: index, size, file });
|
|
1247
|
+
await _fs.write.call(void 0, file.path, file.source, { sanity: false });
|
|
1248
|
+
await new Promise((resolve2) => {
|
|
1249
|
+
setTimeout(resolve2, 0);
|
|
1250
|
+
});
|
|
1251
|
+
logger.emit("progress", { count: index + 1, size, file });
|
|
1224
1252
|
});
|
|
1225
1253
|
});
|
|
1226
|
-
await Promise.all(
|
|
1227
|
-
_optionalChain([logger, 'access',
|
|
1254
|
+
await Promise.all(promises);
|
|
1255
|
+
_optionalChain([logger, 'access', _49 => _49.consola, 'optionalAccess', _50 => _50.resumeLogs, 'call', _51 => _51()]);
|
|
1228
1256
|
}
|
|
1229
1257
|
return mergedFiles;
|
|
1230
1258
|
}
|
|
@@ -1232,5 +1260,6 @@ async function processFiles({ dryRun, logger, files }) {
|
|
|
1232
1260
|
|
|
1233
1261
|
|
|
1234
1262
|
|
|
1235
|
-
|
|
1236
|
-
|
|
1263
|
+
|
|
1264
|
+
exports.FileManager = FileManager; exports.getSource = getSource; exports.processFiles = processFiles;
|
|
1265
|
+
//# sourceMappingURL=chunk-FWU62YO5.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-FWU62YO5.cjs","../../../node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.js","../src/FileManager.ts","../src/BarrelManager.ts","../src/utils/TreeNode.ts","../../../node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.js","../../../node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.mjs","../../../node_modules/.pnpm/p-timeout@6.1.2/node_modules/p-timeout/index.js","../../../node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.js","../../../node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.js"],"names":["EventEmitter","path","treeNode","_queue"],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/core/dist/chunk-FWU62YO5.cjs","sourcesContent":[null,"'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","import crypto from 'node:crypto'\nimport path, { extname, resolve } from 'node:path'\n\nimport { orderBy } from 'natural-orderby'\nimport { isDeepEqual } from 'remeda'\n\nimport { getRelativePath, read, write } from '@kubb/fs'\nimport { BarrelManager } from './BarrelManager.ts'\nimport { searchAndReplace } from './transformers/searchAndReplace.ts'\nimport { trimExtName } from './transformers/trim.ts'\n\nimport type * as KubbFile from '@kubb/fs/types'\n\nimport type { BaseName, File, UUID } from '@kubb/fs/src/types.ts'\nimport type { GreaterThan } from '@kubb/types'\nimport type { BarrelManagerOptions } from './BarrelManager.ts'\nimport type { Logger } from './logger.ts'\nimport transformers from './transformers/index.ts'\nimport type { Plugin } from './types.ts'\nimport { getParser } from './utils'\nimport PQueue from 'p-queue'\n\nexport type ResolvedFile<TMeta extends FileMetaBase = FileMetaBase, TBaseName extends BaseName = BaseName> = File<TMeta, TBaseName> & {\n /**\n * @default crypto.randomUUID()\n */\n id: UUID\n /**\n * Contains the first part of the baseName, generated based on baseName\n * @link https://nodejs.org/api/path.html#pathformatpathobject\n */\n\n name: string\n}\n\nexport type FileMetaBase = {\n pluginKey?: Plugin['key']\n}\n\ntype FileWithMeta<TMeta extends FileMetaBase = FileMetaBase> = KubbFile.File<TMeta>\n\ntype CacheItem = ResolvedFile & {\n cancel?: () => void\n}\n\ntype AddResult<T extends Array<FileWithMeta>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>\n\ntype AddIndexesProps = {\n /**\n * Root based on root and output.path specified in the config\n */\n root: string\n /**\n * Output for plugin\n */\n output: {\n path: string\n exportAs?: string\n extName?: KubbFile.Extname\n exportType?: 'barrel' | 'barrelNamed' | false\n }\n logger: Logger\n options?: BarrelManagerOptions\n plugin: Plugin\n}\n\nexport class FileManager {\n #cache: Map<KubbFile.Path, CacheItem[]> = new Map()\n constructor() {\n return this\n }\n\n get files(): Array<FileWithMeta> {\n const files: Array<FileWithMeta> = []\n this.#cache.forEach((item) => {\n files.push(...item.flat(1))\n })\n\n return files\n }\n\n async add<T extends Array<FileWithMeta> = Array<FileWithMeta>>(...files: T): AddResult<T> {\n const promises = combineFiles(files).map((file) => {\n if (file.override) {\n return this.#add(file)\n }\n\n return this.#addOrAppend(file)\n })\n\n const resolvedFiles = await Promise.all(promises)\n\n if (files.length > 1) {\n return resolvedFiles as unknown as AddResult<T>\n }\n\n return resolvedFiles[0] as unknown as AddResult<T>\n }\n\n async #add(file: FileWithMeta): Promise<ResolvedFile> {\n const controller = new AbortController()\n const resolvedFile: ResolvedFile = {\n id: crypto.randomUUID(),\n name: trimExtName(file.baseName),\n ...file,\n }\n\n if (resolvedFile.exports?.length) {\n const folder = resolvedFile.path.replace(resolvedFile.baseName, '')\n\n resolvedFile.exports = resolvedFile.exports.filter((exportItem) => {\n const exportedFile = this.files.find((file) => file.path.includes(resolve(folder, exportItem.path)))\n\n if (exportedFile) {\n return exportedFile.exportable\n }\n\n return true\n })\n }\n\n this.#cache.set(resolvedFile.path, [{ cancel: () => controller.abort(), ...resolvedFile }])\n\n return resolvedFile\n }\n\n async #addOrAppend(file: FileWithMeta): Promise<ResolvedFile> {\n const previousCaches = this.#cache.get(file.path)\n const previousCache = previousCaches ? previousCaches.at(previousCaches.length - 1) : undefined\n\n if (previousCache) {\n this.#cache.delete(previousCache.path)\n\n return this.#add({\n ...file,\n source: previousCache.source && file.source ? `${previousCache.source}\\n${file.source}` : '',\n imports: [...(previousCache.imports || []), ...(file.imports || [])],\n exports: [...(previousCache.exports || []), ...(file.exports || [])],\n env: { ...(previousCache.env || {}), ...(file.env || {}) },\n })\n }\n return this.#add(file)\n }\n\n async getIndexFiles({ plugin, root, output, logger, options = {} }: AddIndexesProps): Promise<ResolvedFile[]> {\n const { exportType = 'barrel' } = output\n if (exportType === false) {\n return []\n }\n\n const pathToBuildFrom = resolve(root, output.path)\n\n if (transformers.trimExtName(pathToBuildFrom).endsWith('index')) {\n logger.emit('warning', 'Output has the same fileName as the barrelFiles, please disable barrel generation')\n return []\n }\n\n const exportPath = output.path.startsWith('./') ? trimExtName(output.path) : `./${trimExtName(output.path)}`\n const mode = FileManager.getMode(output.path)\n const barrelManager = new BarrelManager({\n extName: output.extName,\n ...options,\n })\n let files = barrelManager.getIndexes(pathToBuildFrom)\n\n if (!files) {\n return []\n }\n\n const rootPath = mode === 'split' ? `${exportPath}/index${output.extName || ''}` : `${exportPath}${output.extName || ''}`\n const rootFile: FileWithMeta = {\n path: resolve(root, 'index.ts'),\n baseName: 'index.ts',\n source: '',\n exports: [\n output.exportAs\n ? {\n name: output.exportAs,\n asAlias: true,\n path: rootPath,\n isTypeOnly: options.isTypeOnly,\n }\n : {\n path: rootPath,\n isTypeOnly: options.isTypeOnly,\n },\n ],\n exportable: true,\n }\n\n if (exportType === 'barrelNamed') {\n files = files.map((file) => {\n if (file.exports) {\n return {\n ...file,\n exports: barrelManager.getNamedExports(pathToBuildFrom, file.exports),\n }\n }\n return file\n })\n\n const barrelExportRoot = rootFile.exports?.[0]\n\n if (!output.exportAs && barrelExportRoot) {\n const exportFile = files.find((file) => {\n return trimExtName(file.path) === path.resolve(root, barrelExportRoot.path)\n })\n\n if (exportFile?.exports) {\n rootFile.exports = exportFile.exports.map((exportItem) => {\n return {\n ...exportItem,\n path: getRelativePath(rootFile.path, exportFile.path),\n }\n })\n }\n }\n }\n\n return [\n ...(await Promise.all(\n files.map((file) => {\n return this.#addOrAppend({\n ...file,\n meta: {\n pluginKey: plugin.key,\n },\n })\n }),\n )),\n await this.#addOrAppend({\n ...rootFile,\n meta: {\n pluginKey: plugin.key,\n },\n }),\n ]\n }\n\n getCacheByUUID(UUID: KubbFile.UUID): FileWithMeta | undefined {\n let cache: FileWithMeta | undefined\n\n this.#cache.forEach((files) => {\n cache = files.find((item) => item.id === UUID)\n })\n return cache\n }\n\n get(path: KubbFile.Path): Array<FileWithMeta> | undefined {\n return this.#cache.get(path)\n }\n\n remove(path: KubbFile.Path): void {\n const cacheItem = this.get(path)\n if (!cacheItem) {\n return\n }\n\n this.#cache.delete(path)\n }\n\n async write(...params: Parameters<typeof write>): ReturnType<typeof write> {\n return write(...params)\n }\n\n async read(...params: Parameters<typeof read>): ReturnType<typeof read> {\n return read(...params)\n }\n\n async processFiles(...params: Parameters<typeof processFiles>): ReturnType<typeof processFiles> {\n return processFiles(...params)\n }\n\n // statics\n\n static combineFiles<TMeta extends FileMetaBase = FileMetaBase>(files: Array<FileWithMeta<TMeta> | null>): Array<FileWithMeta<TMeta>> {\n return combineFiles<TMeta>(files)\n }\n static getMode(path: string | undefined | null): KubbFile.Mode {\n if (!path) {\n return 'split'\n }\n return extname(path) ? 'single' : 'split'\n }\n\n static get extensions(): Array<KubbFile.Extname> {\n return ['.js', '.ts', '.tsx']\n }\n\n static isJavascript(baseName: string): boolean {\n return FileManager.extensions.some((extension) => baseName.endsWith(extension))\n }\n}\n\nfunction combineFiles<TMeta extends FileMetaBase = FileMetaBase>(files: Array<FileWithMeta<TMeta> | null>): Array<FileWithMeta<TMeta>> {\n return files.filter(Boolean).reduce(\n (acc, file: FileWithMeta<TMeta>) => {\n const prevIndex = acc.findIndex((item) => item.path === file.path)\n\n if (prevIndex === -1) {\n return [...acc, file]\n }\n\n const prev = acc[prevIndex]\n\n if (prev && file.override) {\n acc[prevIndex] = {\n imports: [],\n exports: [],\n ...file,\n }\n return acc\n }\n\n if (prev) {\n acc[prevIndex] = {\n ...file,\n source: prev.source && file.source ? `${prev.source}\\n${file.source}` : '',\n imports: [...(prev.imports || []), ...(file.imports || [])],\n exports: [...(prev.exports || []), ...(file.exports || [])],\n env: { ...(prev.env || {}), ...(file.env || {}) },\n }\n }\n\n return acc\n },\n [] as Array<FileWithMeta<TMeta>>,\n )\n}\n\nexport async function getSource<TMeta extends FileMetaBase = FileMetaBase>(file: FileWithMeta<TMeta>): Promise<string> {\n // only use .js, .ts or .tsx files for ESM imports\n\n if (file.language ? !['typescript', 'javascript'].includes(file.language) : !FileManager.isJavascript(file.baseName)) {\n return file.source\n }\n\n const parser = await getParser(file.language)\n\n const exports = file.exports ? combineExports(file.exports) : []\n // imports should be defined and source should contain code or we have imports without them being used\n const imports = file.imports && file.source ? combineImports(file.imports, exports, file.source) : []\n\n const importNodes = imports\n .filter((item) => {\n const path = item.root ? getRelativePath(item.root, item.path) : item.path\n // trim extName\n return path !== trimExtName(file.path)\n })\n .map((item) => {\n const path = item.root ? getRelativePath(item.root, item.path) : item.path\n\n return parser.factory.createImportDeclaration({\n name: item.name,\n path: item.extName ? `${path}${item.extName}` : path,\n isTypeOnly: item.isTypeOnly,\n })\n })\n const exportNodes = exports.map((item) =>\n parser.factory.createExportDeclaration({\n name: item.name,\n path: item.extName ? `${item.path}${item.extName}` : item.path,\n isTypeOnly: item.isTypeOnly,\n asAlias: item.asAlias,\n }),\n )\n\n const source = [parser.print([...importNodes, ...exportNodes]), getEnvSource(file.source, file.env)].join('\\n')\n\n // do some basic linting with the ts compiler\n return parser.print([], { source, noEmitHelpers: false })\n}\n\nexport function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {\n const combinedExports = orderBy(exports, [(v) => !v.isTypeOnly], ['asc']).reduce(\n (prev, curr) => {\n const name = curr.name\n const prevByPath = prev.findLast((imp) => imp.path === curr.path)\n const prevByPathAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (export type ...)\n return prev\n }\n\n const uniquePrev = prev.findLast(\n (imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly && imp.asAlias === curr.asAlias,\n )\n\n if (uniquePrev || (Array.isArray(name) && !name.length) || (prevByPath?.asAlias && !curr.asAlias)) {\n return prev\n }\n\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name: Array.isArray(name) ? [...new Set(name)] : name,\n },\n ]\n }\n\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(curr.name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...curr.name])]\n\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Export>,\n )\n\n return orderBy(combinedExports, [(v) => !v.isTypeOnly, (v) => v.asAlias], ['desc', 'desc'])\n}\n\nexport function combineImports(imports: Array<KubbFile.Import>, exports: Array<KubbFile.Export>, source?: string): Array<KubbFile.Import> {\n const combinedImports = orderBy(imports, [(v) => !v.isTypeOnly], ['asc']).reduce(\n (prev, curr) => {\n let name = Array.isArray(curr.name) ? [...new Set(curr.name)] : curr.name\n\n const hasImportInSource = (importName: string) => {\n if (!source) {\n return true\n }\n\n const checker = (name?: string) => name && !!source.includes(name)\n\n return checker(importName) || exports.some(({ name }) => (Array.isArray(name) ? name.some(checker) : checker(name)))\n }\n\n if (curr.path === curr.root) {\n // root and path are the same file, remove the \"./\" import\n return prev\n }\n\n if (Array.isArray(name)) {\n name = name.filter((item) => (typeof item === 'string' ? hasImportInSource(item) : hasImportInSource(item.propertyName)))\n }\n\n const prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly)\n const uniquePrev = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly)\n const prevByPathNameAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathNameAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (import type ...)\n return prev\n }\n\n if (uniquePrev || (Array.isArray(name) && !name.length)) {\n return prev\n }\n\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name,\n },\n ]\n }\n\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...name])]\n\n return prev\n }\n\n if (!Array.isArray(name) && name && !hasImportInSource(name)) {\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Import>,\n )\n\n return orderBy(combinedImports, [(v) => !v.isTypeOnly], ['desc'])\n}\n\nfunction getEnvSource(source: string, env: NodeJS.ProcessEnv | undefined): string {\n if (!env) {\n return source\n }\n\n const keys = Object.keys(env)\n\n if (!keys.length) {\n return source\n }\n\n return keys.reduce((prev, key: string) => {\n const environmentValue = env[key]\n const replaceBy = environmentValue ? `'${environmentValue.replaceAll('\"', '')?.replaceAll(\"'\", '')}'` : 'undefined'\n\n if (key.toUpperCase() !== key) {\n throw new TypeError(`Environment should be in upperCase for ${key}`)\n }\n\n if (typeof replaceBy === 'string') {\n prev = searchAndReplace({\n text: prev.replaceAll(`process.env.${key}`, replaceBy),\n replaceBy,\n prefix: 'process.env',\n key,\n })\n // removes `declare const ...`\n prev = searchAndReplace({\n text: prev.replaceAll(/(declare const).*\\n/gi, ''),\n replaceBy,\n key,\n })\n }\n\n return prev\n }, source)\n}\n\ntype WriteFilesProps = {\n files: KubbFile.File[]\n logger: Logger\n dryRun?: boolean\n}\n/**\n * Global queue\n */\nconst queue = new PQueue({ concurrency: 10 })\n\nexport async function processFiles({ dryRun, logger, files }: WriteFilesProps) {\n const mergedFiles: Array<KubbFile.File<FileMetaBase>> = await Promise.all(\n files.map(async (file) => ({\n ...file,\n source: await getSource(file),\n })),\n )\n const orderedFiles = orderBy(mergedFiles, [(v) => !v.meta?.pluginKey, (v) => v.path.length, (v) => trimExtName(v.path).endsWith('index')], ['desc', 'desc'])\n\n logger.emit(\n 'debug',\n orderedFiles.map((item) => `[${item.meta?.pluginKey || 'unknown'}]${item.path}: \\n${item.source}`),\n )\n\n if (!dryRun) {\n logger.consola?.pauseLogs()\n const size = orderedFiles.length\n\n const promises = orderedFiles.map(async (file, index) => {\n await queue.add(async () => {\n logger.emit('progress', { count: index, size, file })\n await write(file.path, file.source, { sanity: false })\n await new Promise((resolve) => {\n setTimeout(resolve, 0)\n })\n logger.emit('progress', { count: index + 1, size, file })\n })\n })\n\n await Promise.all(promises)\n\n logger.consola?.resumeLogs()\n }\n\n return mergedFiles\n}\n","import { getExports } from '@kubb/parser-ts'\n\nimport path from 'node:path'\n\nimport { trimExtName } from './transformers/trim.ts'\nimport { TreeNode } from './utils/TreeNode.ts'\n\nimport type * as KubbFile from '@kubb/fs/types'\nimport type { DirectoryTreeOptions } from 'directory-tree'\n\nexport type BarrelManagerOptions = {\n treeNode?: DirectoryTreeOptions\n isTypeOnly?: boolean\n /**\n * Add .ts or .js\n */\n extName?: KubbFile.Extname\n}\n\n/**\n * Replace with the use of the FileManager exports/imports\n */\nexport class BarrelManager {\n #options: BarrelManagerOptions\n\n constructor(options: BarrelManagerOptions = {}) {\n this.#options = options\n\n return this\n }\n\n /**\n * Loop through the file and find all exports(with the help of the ts printer)\n * Important: a real file is needed(cannot work from memory/FileManager)\n */\n getNamedExport(root: string, item: KubbFile.Export): KubbFile.Export[] {\n const exportedNames = getExports(path.resolve(root, item.path))\n\n if (!exportedNames) {\n return [item]\n }\n\n const exports = exportedNames.reduce(\n (prev, curr) => {\n if (!prev[0]?.name || !prev[1]?.name) {\n return prev\n }\n\n if (curr.isTypeOnly) {\n prev[1] = { ...prev[1], name: [...prev[1].name, curr.name] }\n } else {\n prev[0] = { ...prev[0], name: [...prev[0].name, curr.name] }\n }\n\n return prev\n },\n [\n {\n ...item,\n name: [],\n isTypeOnly: false,\n },\n {\n ...item,\n name: [],\n isTypeOnly: true,\n },\n ] as KubbFile.Export[],\n )\n\n return exports\n }\n\n getNamedExports(root: string, exports: KubbFile.Export[]): KubbFile.Export[] {\n return exports?.flatMap((item) => {\n return this.getNamedExport(root, item)\n })\n }\n\n getIndexes(root: string): Array<KubbFile.File> | null {\n const { treeNode = {}, isTypeOnly, extName } = this.#options\n const tree = TreeNode.build(root, treeNode)\n\n if (!tree) {\n return null\n }\n\n const fileReducer = (files: Array<KubbFile.File>, treeNode: TreeNode) => {\n if (!treeNode.children) {\n return []\n }\n\n if (treeNode.children.length > 1) {\n const indexPath: KubbFile.Path = path.resolve(treeNode.data.path, 'index.ts')\n\n const exports: Array<KubbFile.Export> = treeNode.children\n .filter(Boolean)\n .map((file) => {\n const importPath: string = file.data.type === 'split' ? `./${file.data.name}/index` : `./${trimExtName(file.data.name)}`\n\n if (importPath.endsWith('index') && file.data.type === 'single') {\n return undefined\n }\n\n return {\n path: extName ? `${importPath}${extName}` : importPath,\n isTypeOnly,\n } as KubbFile.Export\n })\n .filter(Boolean)\n\n files.push({\n path: indexPath,\n baseName: 'index.ts',\n source: '',\n exports,\n exportable: true,\n })\n } else if (treeNode.children.length === 1) {\n const [treeNodeChild] = treeNode.children as [TreeNode]\n\n const indexPath = path.resolve(treeNode.data.path, 'index.ts')\n const importPath = treeNodeChild.data.type === 'split' ? `./${treeNodeChild.data.name}/index` : `./${trimExtName(treeNodeChild.data.name)}`\n\n const exports = [\n {\n path: extName ? `${importPath}${extName}` : importPath,\n isTypeOnly,\n },\n ]\n\n files.push({\n path: indexPath,\n baseName: 'index.ts',\n source: '',\n exports,\n exportable: true,\n })\n }\n\n treeNode.children.forEach((childItem) => {\n fileReducer(files, childItem)\n })\n\n return files\n }\n\n return fileReducer([], tree).reverse()\n }\n}\n","import dirTree from 'directory-tree'\n\nimport { FileManager } from '../FileManager.ts'\n\nimport type * as KubbFile from '@kubb/fs/types'\nimport type { DirectoryTree, DirectoryTreeOptions } from 'directory-tree'\n\nexport type TreeNodeOptions = DirectoryTreeOptions\n\ntype BarrelData = { type: KubbFile.Mode; path: KubbFile.Path; name: string }\n\nexport class TreeNode<T = BarrelData> {\n public data: T\n\n public parent?: TreeNode<T>\n\n public children: Array<TreeNode<T>> = []\n\n constructor(data: T, parent?: TreeNode<T>) {\n this.data = data\n this.parent = parent\n return this\n }\n\n addChild(data: T): TreeNode<T> {\n const child = new TreeNode(data, this)\n if (!this.children) {\n this.children = []\n }\n this.children.push(child)\n return child\n }\n\n find(data?: T): TreeNode<T> | null {\n if (!data) {\n return null\n }\n\n if (data === this.data) {\n return this\n }\n\n if (this.children?.length) {\n for (let i = 0, { length } = this.children, target: TreeNode<T> | null = null; i < length; i++) {\n target = this.children[i]!.find(data)\n if (target) {\n return target\n }\n }\n }\n\n return null\n }\n\n get leaves(): TreeNode<T>[] {\n if (!this.children || this.children.length === 0) {\n // this is a leaf\n return [this]\n }\n\n // if not a leaf, return all children's leaves recursively\n const leaves: TreeNode<T>[] = []\n if (this.children) {\n for (let i = 0, { length } = this.children; i < length; i++) {\n leaves.push.apply(leaves, this.children[i]!.leaves)\n }\n }\n return leaves\n }\n\n get root(): TreeNode<T> {\n if (!this.parent) {\n return this\n }\n return this.parent.root\n }\n\n forEach(callback: (treeNode: TreeNode<T>) => void): this {\n if (typeof callback !== 'function') {\n throw new TypeError('forEach() callback must be a function')\n }\n\n // run this node through function\n callback(this)\n\n // do the same for all children\n if (this.children) {\n for (let i = 0, { length } = this.children; i < length; i++) {\n this.children[i]?.forEach(callback)\n }\n }\n\n return this\n }\n\n public static build(path: string, options: TreeNodeOptions = {}): TreeNode | null {\n try {\n const exclude = Array.isArray(options.exclude) ? options.exclude : [options.exclude].filter(Boolean)\n const filteredTree = dirTree(path, {\n extensions: options.extensions,\n exclude: [/node_modules/, ...exclude],\n })\n\n if (!filteredTree) {\n return null\n }\n\n const treeNode = new TreeNode({\n name: filteredTree.name,\n path: filteredTree.path,\n type: FileManager.getMode(filteredTree.path),\n })\n\n const recurse = (node: typeof treeNode, item: DirectoryTree) => {\n const subNode = node.addChild({\n name: item.name,\n path: item.path,\n type: FileManager.getMode(item.path),\n })\n\n if (item.children?.length) {\n item.children?.forEach((child) => {\n recurse(subNode, child)\n })\n }\n }\n\n filteredTree.children?.forEach((child) => recurse(treeNode, child))\n\n return treeNode\n } catch (e) {\n throw new Error('Something went wrong with creating index files with the TreehNode class', { cause: e })\n }\n }\n}\n","import { EventEmitter } from 'eventemitter3';\nimport pTimeout, { TimeoutError } from 'p-timeout';\nimport PriorityQueue from './priority-queue.js';\n/**\nPromise queue with concurrency control.\n*/\nexport default class PQueue extends EventEmitter {\n #carryoverConcurrencyCount;\n #isIntervalIgnored;\n #intervalCount = 0;\n #intervalCap;\n #interval;\n #intervalEnd = 0;\n #intervalId;\n #timeoutId;\n #queue;\n #queueClass;\n #pending = 0;\n // The `!` is needed because of https://github.com/microsoft/TypeScript/issues/32194\n #concurrency;\n #isPaused;\n #throwOnTimeout;\n /**\n Per-operation timeout in milliseconds. Operations fulfill once `timeout` elapses if they haven't already.\n\n Applies to each future operation.\n */\n timeout;\n // TODO: The `throwOnTimeout` option should affect the return types of `add()` and `addAll()`\n constructor(options) {\n super();\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n options = {\n carryoverConcurrencyCount: false,\n intervalCap: Number.POSITIVE_INFINITY,\n interval: 0,\n concurrency: Number.POSITIVE_INFINITY,\n autoStart: true,\n queueClass: PriorityQueue,\n ...options,\n };\n if (!(typeof options.intervalCap === 'number' && options.intervalCap >= 1)) {\n throw new TypeError(`Expected \\`intervalCap\\` to be a number from 1 and up, got \\`${options.intervalCap?.toString() ?? ''}\\` (${typeof options.intervalCap})`);\n }\n if (options.interval === undefined || !(Number.isFinite(options.interval) && options.interval >= 0)) {\n throw new TypeError(`Expected \\`interval\\` to be a finite number >= 0, got \\`${options.interval?.toString() ?? ''}\\` (${typeof options.interval})`);\n }\n this.#carryoverConcurrencyCount = options.carryoverConcurrencyCount;\n this.#isIntervalIgnored = options.intervalCap === Number.POSITIVE_INFINITY || options.interval === 0;\n this.#intervalCap = options.intervalCap;\n this.#interval = options.interval;\n this.#queue = new options.queueClass();\n this.#queueClass = options.queueClass;\n this.concurrency = options.concurrency;\n this.timeout = options.timeout;\n this.#throwOnTimeout = options.throwOnTimeout === true;\n this.#isPaused = options.autoStart === false;\n }\n get #doesIntervalAllowAnother() {\n return this.#isIntervalIgnored || this.#intervalCount < this.#intervalCap;\n }\n get #doesConcurrentAllowAnother() {\n return this.#pending < this.#concurrency;\n }\n #next() {\n this.#pending--;\n this.#tryToStartAnother();\n this.emit('next');\n }\n #onResumeInterval() {\n this.#onInterval();\n this.#initializeIntervalIfNeeded();\n this.#timeoutId = undefined;\n }\n get #isIntervalPaused() {\n const now = Date.now();\n if (this.#intervalId === undefined) {\n const delay = this.#intervalEnd - now;\n if (delay < 0) {\n // Act as the interval was done\n // We don't need to resume it here because it will be resumed on line 160\n this.#intervalCount = (this.#carryoverConcurrencyCount) ? this.#pending : 0;\n }\n else {\n // Act as the interval is pending\n if (this.#timeoutId === undefined) {\n this.#timeoutId = setTimeout(() => {\n this.#onResumeInterval();\n }, delay);\n }\n return true;\n }\n }\n return false;\n }\n #tryToStartAnother() {\n if (this.#queue.size === 0) {\n // We can clear the interval (\"pause\")\n // Because we can redo it later (\"resume\")\n if (this.#intervalId) {\n clearInterval(this.#intervalId);\n }\n this.#intervalId = undefined;\n this.emit('empty');\n if (this.#pending === 0) {\n this.emit('idle');\n }\n return false;\n }\n if (!this.#isPaused) {\n const canInitializeInterval = !this.#isIntervalPaused;\n if (this.#doesIntervalAllowAnother && this.#doesConcurrentAllowAnother) {\n const job = this.#queue.dequeue();\n if (!job) {\n return false;\n }\n this.emit('active');\n job();\n if (canInitializeInterval) {\n this.#initializeIntervalIfNeeded();\n }\n return true;\n }\n }\n return false;\n }\n #initializeIntervalIfNeeded() {\n if (this.#isIntervalIgnored || this.#intervalId !== undefined) {\n return;\n }\n this.#intervalId = setInterval(() => {\n this.#onInterval();\n }, this.#interval);\n this.#intervalEnd = Date.now() + this.#interval;\n }\n #onInterval() {\n if (this.#intervalCount === 0 && this.#pending === 0 && this.#intervalId) {\n clearInterval(this.#intervalId);\n this.#intervalId = undefined;\n }\n this.#intervalCount = this.#carryoverConcurrencyCount ? this.#pending : 0;\n this.#processQueue();\n }\n /**\n Executes all queued functions until it reaches the limit.\n */\n #processQueue() {\n // eslint-disable-next-line no-empty\n while (this.#tryToStartAnother()) { }\n }\n get concurrency() {\n return this.#concurrency;\n }\n set concurrency(newConcurrency) {\n if (!(typeof newConcurrency === 'number' && newConcurrency >= 1)) {\n throw new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${newConcurrency}\\` (${typeof newConcurrency})`);\n }\n this.#concurrency = newConcurrency;\n this.#processQueue();\n }\n async #throwOnAbort(signal) {\n return new Promise((_resolve, reject) => {\n signal.addEventListener('abort', () => {\n reject(signal.reason);\n }, { once: true });\n });\n }\n async add(function_, options = {}) {\n options = {\n timeout: this.timeout,\n throwOnTimeout: this.#throwOnTimeout,\n ...options,\n };\n return new Promise((resolve, reject) => {\n this.#queue.enqueue(async () => {\n this.#pending++;\n this.#intervalCount++;\n try {\n options.signal?.throwIfAborted();\n let operation = function_({ signal: options.signal });\n if (options.timeout) {\n operation = pTimeout(Promise.resolve(operation), { milliseconds: options.timeout });\n }\n if (options.signal) {\n operation = Promise.race([operation, this.#throwOnAbort(options.signal)]);\n }\n const result = await operation;\n resolve(result);\n this.emit('completed', result);\n }\n catch (error) {\n if (error instanceof TimeoutError && !options.throwOnTimeout) {\n resolve();\n return;\n }\n reject(error);\n this.emit('error', error);\n }\n finally {\n this.#next();\n }\n }, options);\n this.emit('add');\n this.#tryToStartAnother();\n });\n }\n async addAll(functions, options) {\n return Promise.all(functions.map(async (function_) => this.add(function_, options)));\n }\n /**\n Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)\n */\n start() {\n if (!this.#isPaused) {\n return this;\n }\n this.#isPaused = false;\n this.#processQueue();\n return this;\n }\n /**\n Put queue execution on hold.\n */\n pause() {\n this.#isPaused = true;\n }\n /**\n Clear the queue.\n */\n clear() {\n this.#queue = new this.#queueClass();\n }\n /**\n Can be called multiple times. Useful if you for example add additional items at a later time.\n\n @returns A promise that settles when the queue becomes empty.\n */\n async onEmpty() {\n // Instantly resolve if the queue is empty\n if (this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('empty');\n }\n /**\n @returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.\n\n If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.\n\n Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.\n */\n async onSizeLessThan(limit) {\n // Instantly resolve if the queue is empty.\n if (this.#queue.size < limit) {\n return;\n }\n await this.#onEvent('next', () => this.#queue.size < limit);\n }\n /**\n The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.\n\n @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.\n */\n async onIdle() {\n // Instantly resolve if none pending and if nothing else is queued\n if (this.#pending === 0 && this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('idle');\n }\n async #onEvent(event, filter) {\n return new Promise(resolve => {\n const listener = () => {\n if (filter && !filter()) {\n return;\n }\n this.off(event, listener);\n resolve();\n };\n this.on(event, listener);\n });\n }\n /**\n Size of the queue, the number of queued items waiting to run.\n */\n get size() {\n return this.#queue.size;\n }\n /**\n Size of the queue, filtered by the given options.\n\n For example, this can be used to find the number of items remaining in the queue with a specific priority level.\n */\n sizeBy(options) {\n // eslint-disable-next-line unicorn/no-array-callback-reference\n return this.#queue.filter(options).length;\n }\n /**\n Number of running items (no longer in the queue).\n */\n get pending() {\n return this.#pending;\n }\n /**\n Whether the queue is currently paused.\n */\n get isPaused() {\n return this.#isPaused;\n }\n}\n","import EventEmitter from './index.js'\n\nexport { EventEmitter }\nexport default EventEmitter\n","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\n/**\nAn error to be thrown when the request is aborted by AbortController.\nDOMException is thrown instead of this Error when DOMException is available.\n*/\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\n/**\nTODO: Remove AbortError and just throw DOMException when targeting Node 18.\n*/\nconst getDOMException = errorMessage => globalThis.DOMException === undefined\n\t? new AbortError(errorMessage)\n\t: new DOMException(errorMessage);\n\n/**\nTODO: Remove below function and just 'reject(signal.reason)' when targeting Node 18.\n*/\nconst getAbortedReason = signal => {\n\tconst reason = signal.reason === undefined\n\t\t? getDOMException('This operation was aborted.')\n\t\t: signal.reason;\n\n\treturn reason instanceof Error ? reason : getDOMException(reason);\n};\n\nexport default function pTimeout(promise, options) {\n\tconst {\n\t\tmilliseconds,\n\t\tfallback,\n\t\tmessage,\n\t\tcustomTimers = {setTimeout, clearTimeout},\n\t} = options;\n\n\tlet timer;\n\n\tconst wrappedPromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || Math.sign(milliseconds) !== 1) {\n\t\t\tthrow new TypeError(`Expected \\`milliseconds\\` to be a positive number, got \\`${milliseconds}\\``);\n\t\t}\n\n\t\tif (options.signal) {\n\t\t\tconst {signal} = options;\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t});\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tpromise.then(resolve, reject);\n\t\t\treturn;\n\t\t}\n\n\t\t// We create the error outside of `setTimeout` to preserve the stack trace.\n\t\tconst timeoutError = new TimeoutError();\n\n\t\ttimer = customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (fallback) {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\tif (message === false) {\n\t\t\t\tresolve();\n\t\t\t} else if (message instanceof Error) {\n\t\t\t\treject(message);\n\t\t\t} else {\n\t\t\t\ttimeoutError.message = message ?? `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\t\treject(timeoutError);\n\t\t\t}\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t})();\n\t});\n\n\tconst cancelablePromise = wrappedPromise.finally(() => {\n\t\tcancelablePromise.clear();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tcustomTimers.clearTimeout.call(undefined, timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import lowerBound from './lower-bound.js';\nexport default class PriorityQueue {\n #queue = [];\n enqueue(run, options) {\n options = {\n priority: 0,\n ...options,\n };\n const element = {\n priority: options.priority,\n run,\n };\n if (this.size && this.#queue[this.size - 1].priority >= options.priority) {\n this.#queue.push(element);\n return;\n }\n const index = lowerBound(this.#queue, element, (a, b) => b.priority - a.priority);\n this.#queue.splice(index, 0, element);\n }\n dequeue() {\n const item = this.#queue.shift();\n return item?.run;\n }\n filter(options) {\n return this.#queue.filter((element) => element.priority === options.priority).map((element) => element.run);\n }\n get size() {\n return this.#queue.length;\n }\n}\n","// Port of lower_bound from https://en.cppreference.com/w/cpp/algorithm/lower_bound\n// Used to compute insertion index to keep queue sorted after insertion\nexport default function lowerBound(array, value, comparator) {\n let first = 0;\n let count = array.length;\n while (count > 0) {\n const step = Math.trunc(count / 2);\n let it = first + step;\n if (comparator(array[it], value) <= 0) {\n first = ++it;\n count -= step + 1;\n }\n else {\n count = step;\n }\n }\n return first;\n}\n"]}
|
|
@@ -218,4 +218,4 @@ function randomCliColour(text, colors = defaultColours) {
|
|
|
218
218
|
|
|
219
219
|
|
|
220
220
|
exports.p = p2; exports.EventEmitter = EventEmitter; exports.LogMapper = LogMapper; exports.createLogger = createLogger; exports.randomColour = randomColour; exports.randomCliColour = randomCliColour;
|
|
221
|
-
//# sourceMappingURL=chunk-
|
|
221
|
+
//# sourceMappingURL=chunk-RBP2ASUX.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-QRIDQ4RG.cjs","../src/logger.ts","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/node.js","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js","../src/utils/EventEmitter.ts","../../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/index.mjs"],"names":["r","p","consola"],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/core/dist/chunk-QRIDQ4RG.cjs","sourcesContent":[null,"import seedrandom from 'seedrandom'\nimport c, { createColors } from 'tinyrainbow'\n\nimport { EventEmitter } from './utils/EventEmitter.ts'\n\nimport { type ConsolaInstance, createConsola, type LogLevel } from 'consola'\nimport type { Formatter } from 'tinyrainbow'\n\ntype Events = {\n start: [message: string]\n success: [message: string]\n error: [message: string, cause: Error]\n warning: [message: string]\n debug: [logs: string[]]\n info: [message: string]\n progress: [count: number, size: number]\n}\n\nexport const LogMapper = {\n silent: Number.NEGATIVE_INFINITY,\n info: 3,\n debug: 4,\n} as const\n\nexport type Logger = {\n /**\n * Optional config name to show in CLI output\n */\n name?: string\n logLevel: LogLevel\n consola?: ConsolaInstance\n on: EventEmitter<Events>['on']\n emit: EventEmitter<Events>['emit']\n}\n\ntype Props = {\n name?: string\n logLevel?: LogLevel\n consola?: ConsolaInstance\n}\n\nexport function createLogger({ logLevel = 3, name, consola: _consola }: Props = {}): Logger {\n const events = new EventEmitter<Events>()\n\n const consola =\n _consola ||\n createConsola({\n level: logLevel,\n formatOptions: {\n colors: true,\n date: true,\n columns: 120,\n compact: logLevel !== LogMapper.debug,\n },\n }).withTag(name ? randomCliColour(name) : '')\n\n consola?.wrapConsole()\n\n events.on('start', (message) => {\n consola.start(message)\n })\n\n events.on('success', (message) => {\n consola.success(message)\n })\n\n events.on('warning', (message) => {\n consola.warn(c.yellow(message))\n })\n\n events.on('info', (message) => {\n consola.info(c.yellow(message))\n })\n\n events.on('debug', (message) => {\n consola.debug(c.yellow(message))\n })\n\n events.on('error', (message, cause) => {\n const error = new Error(message || 'Something went wrong')\n error.cause = cause\n\n throw error\n })\n\n if (consola) {\n consola.level = logLevel\n }\n\n const logger: Logger = {\n name,\n logLevel,\n consola,\n on: (...args) => {\n return events.on(...args)\n },\n emit: (...args) => {\n return events.emit(...args)\n },\n }\n\n return logger\n}\n\nconst defaultColours = ['black', 'blue', 'darkBlue', 'cyan', 'gray', 'green', 'darkGreen', 'magenta', 'red', 'darkRed', 'yellow', 'darkYellow'] as const\n\nexport function randomColour(text?: string, colours = defaultColours): string {\n if (!text) {\n return 'white'\n }\n\n const random = seedrandom(text)\n const colour = colours.at(Math.floor(random() * colours.length)) || 'white'\n\n return colour\n}\n\nexport function randomCliColour(text?: string, colors = defaultColours): string {\n const colours = createColors(true)\n\n if (!text) {\n return colours.white(text)\n }\n\n const colour = randomColour(text, colors)\n const isDark = colour.includes('dark')\n const key = colour.replace('dark', '').toLowerCase() as keyof typeof colours\n const formatter: Formatter = colours[key] as Formatter\n\n if (isDark) {\n return c.bold(formatter(text))\n }\n\n if (typeof formatter !== 'function') {\n throw new Error('Formatter for picoColor is not of type function/Formatter')\n }\n return formatter(text)\n}\n","import {\n a as t,\n b as e,\n c as o\n} from \"./chunk-BVHSVHOK.js\";\n\n// src/node.ts\nimport { isatty as r } from \"tty\";\nvar p = o(r(1));\nexport {\n o as createColors,\n p as default,\n t as getDefaultColors,\n e as isSupported\n};\n","// src/index.ts\nvar f = {\n reset: [0, 0],\n bold: [1, 22, \"\\x1B[22m\\x1B[1m\"],\n dim: [2, 22, \"\\x1B[22m\\x1B[2m\"],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n blackBright: [90, 39],\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39],\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n}, h = Object.entries(f);\nfunction a(n) {\n return String(n);\n}\na.open = \"\";\na.close = \"\";\nvar B = /* @__PURE__ */ h.reduce(\n (n, [e]) => (n[e] = a, n),\n { isColorSupported: !1 }\n);\nfunction m() {\n return { ...B };\n}\nfunction C(n = !1) {\n let e = typeof process != \"undefined\" ? process : void 0, i = (e == null ? void 0 : e.env) || {}, g = (e == null ? void 0 : e.argv) || [];\n return !(\"NO_COLOR\" in i || g.includes(\"--no-color\")) && (\"FORCE_COLOR\" in i || g.includes(\"--color\") || (e == null ? void 0 : e.platform) === \"win32\" || n && i.TERM !== \"dumb\" || \"CI\" in i) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction p(n = !1) {\n let e = C(n), i = (r, t, c, o) => {\n let l = \"\", s = 0;\n do\n l += r.substring(s, o) + c, s = o + t.length, o = r.indexOf(t, s);\n while (~o);\n return l + r.substring(s);\n }, g = (r, t, c = r) => {\n let o = (l) => {\n let s = String(l), b = s.indexOf(t, r.length);\n return ~b ? r + i(s, t, c, b) + t : r + s + t;\n };\n return o.open = r, o.close = t, o;\n }, u = {\n isColorSupported: e\n }, d = (r) => `\\x1B[${r}m`;\n for (let [r, t] of h)\n u[r] = e ? g(\n d(t[0]),\n d(t[1]),\n t[2]\n ) : a;\n return u;\n}\n\nexport {\n m as a,\n C as b,\n p as c\n};\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as []))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n","export { a as consola, c as createConsola, a as default } from './shared/consola.36c0034f.mjs';\nexport { Consola, LogLevels, LogTypes } from './core.mjs';\nimport './shared/consola.06ad8a64.mjs';\nimport 'node:process';\nimport './utils.mjs';\nimport 'node:tty';\nimport 'node:util';\nimport 'node:path';\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-RBP2ASUX.cjs","../src/logger.ts","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/node.js","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js","../src/utils/EventEmitter.ts","../../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/index.mjs"],"names":["r","p","consola"],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/core/dist/chunk-RBP2ASUX.cjs","sourcesContent":[null,"import seedrandom from 'seedrandom'\nimport c, { createColors } from 'tinyrainbow'\n\nimport { EventEmitter } from './utils/EventEmitter.ts'\n\nimport { type ConsolaInstance, createConsola, type LogLevel } from 'consola'\nimport type { Formatter } from 'tinyrainbow'\nimport type * as KubbFile from '@kubb/fs/src/types.ts'\n\ntype Events = {\n start: [message: string]\n success: [message: string]\n error: [message: string, cause: Error]\n warning: [message: string]\n debug: [logs: string[]]\n info: [message: string]\n progress: [{ count: number; size: number; file: KubbFile.File }]\n}\n\nexport const LogMapper = {\n silent: Number.NEGATIVE_INFINITY,\n info: 3,\n debug: 4,\n} as const\n\nexport type Logger = {\n /**\n * Optional config name to show in CLI output\n */\n name?: string\n logLevel: LogLevel\n consola?: ConsolaInstance\n on: EventEmitter<Events>['on']\n emit: EventEmitter<Events>['emit']\n}\n\ntype Props = {\n name?: string\n logLevel?: LogLevel\n consola?: ConsolaInstance\n}\n\nexport function createLogger({ logLevel = 3, name, consola: _consola }: Props = {}): Logger {\n const events = new EventEmitter<Events>()\n\n const consola =\n _consola ||\n createConsola({\n level: logLevel,\n formatOptions: {\n colors: true,\n date: true,\n columns: 120,\n compact: logLevel !== LogMapper.debug,\n },\n }).withTag(name ? randomCliColour(name) : '')\n\n consola?.wrapConsole()\n\n events.on('start', (message) => {\n consola.start(message)\n })\n\n events.on('success', (message) => {\n consola.success(message)\n })\n\n events.on('warning', (message) => {\n consola.warn(c.yellow(message))\n })\n\n events.on('info', (message) => {\n consola.info(c.yellow(message))\n })\n\n events.on('debug', (message) => {\n consola.debug(c.yellow(message))\n })\n\n events.on('error', (message, cause) => {\n const error = new Error(message || 'Something went wrong')\n error.cause = cause\n\n throw error\n })\n\n if (consola) {\n consola.level = logLevel\n }\n\n const logger: Logger = {\n name,\n logLevel,\n consola,\n on: (...args) => {\n return events.on(...args)\n },\n emit: (...args) => {\n return events.emit(...args)\n },\n }\n\n return logger\n}\n\nconst defaultColours = ['black', 'blue', 'darkBlue', 'cyan', 'gray', 'green', 'darkGreen', 'magenta', 'red', 'darkRed', 'yellow', 'darkYellow'] as const\n\nexport function randomColour(text?: string, colours = defaultColours): string {\n if (!text) {\n return 'white'\n }\n\n const random = seedrandom(text)\n const colour = colours.at(Math.floor(random() * colours.length)) || 'white'\n\n return colour\n}\n\nexport function randomCliColour(text?: string, colors = defaultColours): string {\n const colours = createColors(true)\n\n if (!text) {\n return colours.white(text)\n }\n\n const colour = randomColour(text, colors)\n const isDark = colour.includes('dark')\n const key = colour.replace('dark', '').toLowerCase() as keyof typeof colours\n const formatter: Formatter = colours[key] as Formatter\n\n if (isDark) {\n return c.bold(formatter(text))\n }\n\n if (typeof formatter !== 'function') {\n throw new Error('Formatter for picoColor is not of type function/Formatter')\n }\n return formatter(text)\n}\n","import {\n a as t,\n b as e,\n c as o\n} from \"./chunk-BVHSVHOK.js\";\n\n// src/node.ts\nimport { isatty as r } from \"tty\";\nvar p = o(r(1));\nexport {\n o as createColors,\n p as default,\n t as getDefaultColors,\n e as isSupported\n};\n","// src/index.ts\nvar f = {\n reset: [0, 0],\n bold: [1, 22, \"\\x1B[22m\\x1B[1m\"],\n dim: [2, 22, \"\\x1B[22m\\x1B[2m\"],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n blackBright: [90, 39],\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39],\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n}, h = Object.entries(f);\nfunction a(n) {\n return String(n);\n}\na.open = \"\";\na.close = \"\";\nvar B = /* @__PURE__ */ h.reduce(\n (n, [e]) => (n[e] = a, n),\n { isColorSupported: !1 }\n);\nfunction m() {\n return { ...B };\n}\nfunction C(n = !1) {\n let e = typeof process != \"undefined\" ? process : void 0, i = (e == null ? void 0 : e.env) || {}, g = (e == null ? void 0 : e.argv) || [];\n return !(\"NO_COLOR\" in i || g.includes(\"--no-color\")) && (\"FORCE_COLOR\" in i || g.includes(\"--color\") || (e == null ? void 0 : e.platform) === \"win32\" || n && i.TERM !== \"dumb\" || \"CI\" in i) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction p(n = !1) {\n let e = C(n), i = (r, t, c, o) => {\n let l = \"\", s = 0;\n do\n l += r.substring(s, o) + c, s = o + t.length, o = r.indexOf(t, s);\n while (~o);\n return l + r.substring(s);\n }, g = (r, t, c = r) => {\n let o = (l) => {\n let s = String(l), b = s.indexOf(t, r.length);\n return ~b ? r + i(s, t, c, b) + t : r + s + t;\n };\n return o.open = r, o.close = t, o;\n }, u = {\n isColorSupported: e\n }, d = (r) => `\\x1B[${r}m`;\n for (let [r, t] of h)\n u[r] = e ? g(\n d(t[0]),\n d(t[1]),\n t[2]\n ) : a;\n return u;\n}\n\nexport {\n m as a,\n C as b,\n p as c\n};\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as []))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n","export { a as consola, c as createConsola, a as default } from './shared/consola.36c0034f.mjs';\nexport { Consola, LogLevels, LogTypes } from './core.mjs';\nimport './shared/consola.06ad8a64.mjs';\nimport 'node:process';\nimport './utils.mjs';\nimport 'node:tty';\nimport 'node:util';\nimport 'node:path';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/logger.ts","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/node.js","../src/utils/EventEmitter.ts"],"sourcesContent":["import seedrandom from 'seedrandom'\nimport c, { createColors } from 'tinyrainbow'\n\nimport { EventEmitter } from './utils/EventEmitter.ts'\n\nimport { type ConsolaInstance, createConsola, type LogLevel } from 'consola'\nimport type { Formatter } from 'tinyrainbow'\nimport type * as KubbFile from '@kubb/fs/src/types.ts'\n\ntype Events = {\n start: [message: string]\n success: [message: string]\n error: [message: string, cause: Error]\n warning: [message: string]\n debug: [logs: string[]]\n info: [message: string]\n progress: [{ count: number; size: number; file: KubbFile.File }]\n}\n\nexport const LogMapper = {\n silent: Number.NEGATIVE_INFINITY,\n info: 3,\n debug: 4,\n} as const\n\nexport type Logger = {\n /**\n * Optional config name to show in CLI output\n */\n name?: string\n logLevel: LogLevel\n consola?: ConsolaInstance\n on: EventEmitter<Events>['on']\n emit: EventEmitter<Events>['emit']\n}\n\ntype Props = {\n name?: string\n logLevel?: LogLevel\n consola?: ConsolaInstance\n}\n\nexport function createLogger({ logLevel = 3, name, consola: _consola }: Props = {}): Logger {\n const events = new EventEmitter<Events>()\n\n const consola =\n _consola ||\n createConsola({\n level: logLevel,\n formatOptions: {\n colors: true,\n date: true,\n columns: 120,\n compact: logLevel !== LogMapper.debug,\n },\n }).withTag(name ? randomCliColour(name) : '')\n\n consola?.wrapConsole()\n\n events.on('start', (message) => {\n consola.start(message)\n })\n\n events.on('success', (message) => {\n consola.success(message)\n })\n\n events.on('warning', (message) => {\n consola.warn(c.yellow(message))\n })\n\n events.on('info', (message) => {\n consola.info(c.yellow(message))\n })\n\n events.on('debug', (message) => {\n consola.debug(c.yellow(message))\n })\n\n events.on('error', (message, cause) => {\n const error = new Error(message || 'Something went wrong')\n error.cause = cause\n\n throw error\n })\n\n if (consola) {\n consola.level = logLevel\n }\n\n const logger: Logger = {\n name,\n logLevel,\n consola,\n on: (...args) => {\n return events.on(...args)\n },\n emit: (...args) => {\n return events.emit(...args)\n },\n }\n\n return logger\n}\n\nconst defaultColours = ['black', 'blue', 'darkBlue', 'cyan', 'gray', 'green', 'darkGreen', 'magenta', 'red', 'darkRed', 'yellow', 'darkYellow'] as const\n\nexport function randomColour(text?: string, colours = defaultColours): string {\n if (!text) {\n return 'white'\n }\n\n const random = seedrandom(text)\n const colour = colours.at(Math.floor(random() * colours.length)) || 'white'\n\n return colour\n}\n\nexport function randomCliColour(text?: string, colors = defaultColours): string {\n const colours = createColors(true)\n\n if (!text) {\n return colours.white(text)\n }\n\n const colour = randomColour(text, colors)\n const isDark = colour.includes('dark')\n const key = colour.replace('dark', '').toLowerCase() as keyof typeof colours\n const formatter: Formatter = colours[key] as Formatter\n\n if (isDark) {\n return c.bold(formatter(text))\n }\n\n if (typeof formatter !== 'function') {\n throw new Error('Formatter for picoColor is not of type function/Formatter')\n }\n return formatter(text)\n}\n","// src/index.ts\nvar f = {\n reset: [0, 0],\n bold: [1, 22, \"\\x1B[22m\\x1B[1m\"],\n dim: [2, 22, \"\\x1B[22m\\x1B[2m\"],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n blackBright: [90, 39],\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39],\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n}, h = Object.entries(f);\nfunction a(n) {\n return String(n);\n}\na.open = \"\";\na.close = \"\";\nvar B = /* @__PURE__ */ h.reduce(\n (n, [e]) => (n[e] = a, n),\n { isColorSupported: !1 }\n);\nfunction m() {\n return { ...B };\n}\nfunction C(n = !1) {\n let e = typeof process != \"undefined\" ? process : void 0, i = (e == null ? void 0 : e.env) || {}, g = (e == null ? void 0 : e.argv) || [];\n return !(\"NO_COLOR\" in i || g.includes(\"--no-color\")) && (\"FORCE_COLOR\" in i || g.includes(\"--color\") || (e == null ? void 0 : e.platform) === \"win32\" || n && i.TERM !== \"dumb\" || \"CI\" in i) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction p(n = !1) {\n let e = C(n), i = (r, t, c, o) => {\n let l = \"\", s = 0;\n do\n l += r.substring(s, o) + c, s = o + t.length, o = r.indexOf(t, s);\n while (~o);\n return l + r.substring(s);\n }, g = (r, t, c = r) => {\n let o = (l) => {\n let s = String(l), b = s.indexOf(t, r.length);\n return ~b ? r + i(s, t, c, b) + t : r + s + t;\n };\n return o.open = r, o.close = t, o;\n }, u = {\n isColorSupported: e\n }, d = (r) => `\\x1B[${r}m`;\n for (let [r, t] of h)\n u[r] = e ? g(\n d(t[0]),\n d(t[1]),\n t[2]\n ) : a;\n return u;\n}\n\nexport {\n m as a,\n C as b,\n p as c\n};\n","import {\n a as t,\n b as e,\n c as o\n} from \"./chunk-BVHSVHOK.js\";\n\n// src/node.ts\nimport { isatty as r } from \"tty\";\nvar p = o(r(1));\nexport {\n o as createColors,\n p as default,\n t as getDefaultColors,\n e as isSupported\n};\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as []))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n"],"mappings":"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","names":["r","p","consola","p"]}
|