@kubb/core 3.15.0 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/{FileManager-HxsypMy8.d.cts → PluginManager-E3SghPP9.d.cts} +125 -161
  2. package/dist/{FileManager-Cm7Iylcx.d.ts → PluginManager-PDmRCu9k.d.ts} +125 -161
  3. package/dist/{chunk-7P6FFVGF.js → chunk-4V7HK7PT.js} +3 -3
  4. package/dist/{chunk-7P6FFVGF.js.map → chunk-4V7HK7PT.js.map} +1 -1
  5. package/dist/{chunk-TEEWO6UV.cjs → chunk-BHSTNFNQ.cjs} +2 -23
  6. package/dist/chunk-BHSTNFNQ.cjs.map +1 -0
  7. package/dist/{chunk-XTSQKCYI.js → chunk-CAZ37TGB.js} +93 -114
  8. package/dist/chunk-CAZ37TGB.js.map +1 -0
  9. package/dist/{chunk-MKN7YSK2.cjs → chunk-E4XLCCPK.cjs} +2 -20
  10. package/dist/chunk-E4XLCCPK.cjs.map +1 -0
  11. package/dist/{chunk-TJJOSCFA.cjs → chunk-MCNA6SYG.cjs} +5 -24
  12. package/dist/chunk-MCNA6SYG.cjs.map +1 -0
  13. package/dist/chunk-QR7CQIA3.cjs +943 -0
  14. package/dist/chunk-QR7CQIA3.cjs.map +1 -0
  15. package/dist/{chunk-CMKZBNCX.js → chunk-YRPOID7E.js} +2 -2
  16. package/dist/{chunk-CMKZBNCX.js.map → chunk-YRPOID7E.js.map} +1 -1
  17. package/dist/fs.cjs +9 -10
  18. package/dist/fs.d.cts +10 -2
  19. package/dist/fs.d.ts +10 -2
  20. package/dist/fs.js +1 -1
  21. package/dist/index.cjs +109 -260
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +9 -7
  24. package/dist/index.d.ts +9 -7
  25. package/dist/index.js +88 -83
  26. package/dist/index.js.map +1 -1
  27. package/dist/logger.cjs +6 -7
  28. package/dist/logger.js +2 -2
  29. package/dist/mocks.cjs +8 -11
  30. package/dist/mocks.cjs.map +1 -1
  31. package/dist/mocks.d.cts +2 -2
  32. package/dist/mocks.d.ts +2 -2
  33. package/dist/mocks.js +2 -2
  34. package/dist/{parser-CcELSk43.d.ts → parser-C1vOjVEd.d.ts} +2 -2
  35. package/dist/{parser-Dwb7eMU3.d.cts → parser-D6vU1kA9.d.cts} +2 -2
  36. package/dist/{prompt-55FJQYBV.cjs → prompt-U7M5G25C.cjs} +2 -4
  37. package/dist/prompt-U7M5G25C.cjs.map +1 -0
  38. package/dist/transformers.cjs +21 -22
  39. package/dist/{types-CX9JVw2n.d.cts → types-CA8nQKwM.d.cts} +1 -15
  40. package/dist/{types-CX9JVw2n.d.ts → types-CA8nQKwM.d.ts} +1 -15
  41. package/dist/utils.cjs +22 -19
  42. package/dist/utils.d.cts +15 -4
  43. package/dist/utils.d.ts +15 -4
  44. package/dist/utils.js +2 -2
  45. package/package.json +6 -6
  46. package/src/BarrelManager.ts +1 -20
  47. package/src/FileManager.ts +78 -121
  48. package/src/PluginManager.ts +40 -33
  49. package/src/PromiseManager.ts +2 -1
  50. package/src/__snapshots__/barrel.json +80 -6
  51. package/src/build.ts +57 -55
  52. package/src/fs/types.ts +0 -6
  53. package/src/index.ts +1 -1
  54. package/src/utils/Cache.ts +31 -0
  55. package/src/utils/executeStrategies.ts +9 -2
  56. package/src/utils/index.ts +1 -0
  57. package/src/utils/parser.ts +6 -7
  58. package/dist/chunk-FAQ7SBKL.cjs +0 -1636
  59. package/dist/chunk-FAQ7SBKL.cjs.map +0 -1
  60. package/dist/chunk-KZOJCFA7.cjs +0 -42
  61. package/dist/chunk-KZOJCFA7.cjs.map +0 -1
  62. package/dist/chunk-MKN7YSK2.cjs.map +0 -1
  63. package/dist/chunk-TEEWO6UV.cjs.map +0 -1
  64. package/dist/chunk-TJJOSCFA.cjs.map +0 -1
  65. package/dist/chunk-XTSQKCYI.js.map +0 -1
  66. package/dist/prompt-55FJQYBV.cjs.map +0 -1
@@ -1,13 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkKZOJCFA7_cjs = require('./chunk-KZOJCFA7.cjs');
4
3
  var remeda = require('remeda');
5
4
 
6
- // src/transformers/index.ts
7
- chunkKZOJCFA7_cjs.init_cjs_shims();
8
-
9
5
  // ../../node_modules/.pnpm/natural-orderby@5.0.0/node_modules/natural-orderby/dist/index.js
10
- chunkKZOJCFA7_cjs.init_cjs_shims();
11
6
  var compareNumbers = function compareNumbers2(numberA, numberB) {
12
7
  if (numberA < numberB) {
13
8
  return -1;
@@ -309,11 +304,7 @@ function orderBy(collection, identifiers, orders, locale) {
309
304
  return baseOrderBy(collection, validatedIdentifiers, validatedOrders, locale);
310
305
  }
311
306
 
312
- // src/transformers/casing.ts
313
- chunkKZOJCFA7_cjs.init_cjs_shims();
314
-
315
307
  // ../../node_modules/.pnpm/camelcase@8.0.0/node_modules/camelcase/index.js
316
- chunkKZOJCFA7_cjs.init_cjs_shims();
317
308
  var UPPERCASE = /[\p{Lu}]/u;
318
309
  var LOWERCASE = /[\p{Ll}]/u;
319
310
  var LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu;
@@ -412,13 +403,11 @@ function pascalCase(text, { isFile, prefix = "", suffix = "" } = {}) {
412
403
  }
413
404
 
414
405
  // src/transformers/combineCodes.ts
415
- chunkKZOJCFA7_cjs.init_cjs_shims();
416
406
  function combineCodes(codes) {
417
407
  return codes.join("\n");
418
408
  }
419
409
 
420
410
  // src/transformers/createJSDocBlockText.ts
421
- chunkKZOJCFA7_cjs.init_cjs_shims();
422
411
  function createJSDocBlockText({ comments }) {
423
412
  const filteredComments = comments.filter(Boolean);
424
413
  if (!filteredComments.length) {
@@ -430,7 +419,6 @@ function createJSDocBlockText({ comments }) {
430
419
  }
431
420
 
432
421
  // src/transformers/escape.ts
433
- chunkKZOJCFA7_cjs.init_cjs_shims();
434
422
  function escape(text) {
435
423
  return text ? text.replaceAll("`", "\\`") : "";
436
424
  }
@@ -457,13 +445,11 @@ function jsStringEscape(input) {
457
445
  }
458
446
 
459
447
  // src/transformers/indent.ts
460
- chunkKZOJCFA7_cjs.init_cjs_shims();
461
448
  function createIndent(size) {
462
449
  return Array.from({ length: size + 1 }).join(" ");
463
450
  }
464
451
 
465
452
  // src/transformers/nameSorter.ts
466
- chunkKZOJCFA7_cjs.init_cjs_shims();
467
453
  function nameSorter(a, b) {
468
454
  if (a.name < b.name) {
469
455
  return -1;
@@ -475,7 +461,6 @@ function nameSorter(a, b) {
475
461
  }
476
462
 
477
463
  // src/transformers/searchAndReplace.ts
478
- chunkKZOJCFA7_cjs.init_cjs_shims();
479
464
  function searchAndReplace(options) {
480
465
  const { text, replaceBy, prefix = "", key } = options;
481
466
  const searchValues = options.searchValues?.(prefix, key) || [
@@ -492,11 +477,7 @@ function searchAndReplace(options) {
492
477
  }, text);
493
478
  }
494
479
 
495
- // src/transformers/stringify.ts
496
- chunkKZOJCFA7_cjs.init_cjs_shims();
497
-
498
480
  // src/transformers/trim.ts
499
- chunkKZOJCFA7_cjs.init_cjs_shims();
500
481
  function trim(text) {
501
482
  return text.replaceAll(/\n/g, "").trim();
502
483
  }
@@ -533,7 +514,6 @@ function stringifyObject(value) {
533
514
  }
534
515
 
535
516
  // src/transformers/toRegExp.ts
536
- chunkKZOJCFA7_cjs.init_cjs_shims();
537
517
  function stringToRegex(text) {
538
518
  const isStartWithSlash = text.startsWith("/");
539
519
  const isEndWithSlash = text.endsWith("/");
@@ -557,7 +537,6 @@ function toRegExpString(text, func = "RegExp") {
557
537
  }
558
538
 
559
539
  // src/transformers/transformReservedWord.ts
560
- chunkKZOJCFA7_cjs.init_cjs_shims();
561
540
  var reservedWords = [
562
541
  "abstract",
563
542
  "arguments",
@@ -718,5 +697,5 @@ exports.transformReservedWord = transformReservedWord;
718
697
  exports.transformers_default = transformers_default;
719
698
  exports.trim = trim;
720
699
  exports.trimQuotes = trimQuotes;
721
- //# sourceMappingURL=chunk-TEEWO6UV.cjs.map
722
- //# sourceMappingURL=chunk-TEEWO6UV.cjs.map
700
+ //# sourceMappingURL=chunk-BHSTNFNQ.cjs.map
701
+ //# sourceMappingURL=chunk-BHSTNFNQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/natural-orderby@5.0.0/node_modules/natural-orderby/dist/index.js","../../../node_modules/.pnpm/camelcase@8.0.0/node_modules/camelcase/index.js","../src/transformers/casing.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/trim.ts","../src/transformers/stringify.ts","../src/transformers/toRegExp.ts","../src/transformers/transformReservedWord.ts","../src/transformers/index.ts"],"names":["compareNumbers","compareUnicode","stringCompare","compareChunks","compareOtherTypes","compareValues","normalizeAlphaChunk","parseNumber","normalizeNumericChunk","createChunkMap","createChunks","createChunkMaps","isFunction","isNaN","isNull","isObject","isSymbol","isUndefined","parseDate","numberify","stringify","getMappedValueRecord","compareMultiple","createIdentifierFn","getElementByIndex","getValueByIdentifier","baseOrderBy","getIdentifiers","getOrders","preserveConsecutiveUppercase","camelCase","value","merge"],"mappings":"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","file":"chunk-BHSTNFNQ.cjs","sourcesContent":["/**\n * natural-orderby v5.0.0\n *\n * Copyright (c) Olaf Ennen\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nvar compareNumbers = function compareNumbers(numberA, numberB) {\n if (numberA < numberB) {\n return -1;\n }\n if (numberA > numberB) {\n return 1;\n }\n return 0;\n};\n\nvar compareUnicode = function compareUnicode(stringA, stringB, locale) {\n var result = stringA.localeCompare(stringB, locale);\n return result ? result / Math.abs(result) : 0;\n};\n\nvar RE_NUMBERS = /(^0x[\\da-fA-F]+$|^([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?!\\.\\d+)(?=\\D|\\s|$))|\\d+)/g;\nvar RE_LEADING_OR_TRAILING_WHITESPACES = /^\\s+|\\s+$/g; // trim pre-post whitespace\nvar RE_WHITESPACES = /\\s+/g; // normalize all whitespace to single ' ' character\nvar RE_INT_OR_FLOAT = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?$/; // identify integers and floats\nvar RE_DATE = /(^([\\w ]+,?[\\w ]+)?[\\w ]+,?[\\w ]+\\d+:\\d+(:\\d+)?[\\w ]?|^\\d{1,4}[/-]\\d{1,4}[/-]\\d{1,4}|^\\w+, \\w+ \\d+, \\d{4})/; // identify date strings\nvar RE_LEADING_ZERO = /^0+[1-9]{1}[0-9]*$/;\n// eslint-disable-next-line no-control-regex\nvar RE_UNICODE_CHARACTERS = /[^\\x00-\\x80]/;\n\nvar stringCompare = function stringCompare(stringA, stringB) {\n if (stringA < stringB) {\n return -1;\n }\n if (stringA > stringB) {\n return 1;\n }\n return 0;\n};\n\nvar compareChunks = function compareChunks(chunksA, chunksB, locale) {\n var lengthA = chunksA.length;\n var lengthB = chunksB.length;\n var size = Math.min(lengthA, lengthB);\n for (var i = 0; i < size; i++) {\n var chunkA = chunksA[i];\n var chunkB = chunksB[i];\n if (chunkA.normalizedString !== chunkB.normalizedString) {\n if (chunkA.normalizedString === '' !== (chunkB.normalizedString === '')) {\n // empty strings have lowest value\n return chunkA.normalizedString === '' ? -1 : 1;\n }\n if (chunkA.parsedNumber !== undefined && chunkB.parsedNumber !== undefined) {\n // compare numbers\n var result = compareNumbers(chunkA.parsedNumber, chunkB.parsedNumber);\n if (result === 0) {\n // compare string value, if parsed numbers are equal\n // Example:\n // chunkA = { parsedNumber: 1, normalizedString: \"001\" }\n // chunkB = { parsedNumber: 1, normalizedString: \"01\" }\n // chunkA.parsedNumber === chunkB.parsedNumber\n // chunkA.normalizedString < chunkB.normalizedString\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n return result;\n } else if (chunkA.parsedNumber !== undefined || chunkB.parsedNumber !== undefined) {\n // number < string\n return chunkA.parsedNumber !== undefined ? -1 : 1;\n } else if (RE_UNICODE_CHARACTERS.test(chunkA.normalizedString + chunkB.normalizedString)) {\n // use locale comparison only if one of the chunks contains unicode characters\n return compareUnicode(chunkA.normalizedString, chunkB.normalizedString, locale);\n } else {\n // use common string comparison for performance reason\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n }\n }\n // if the chunks are equal so far, the one which has more chunks is greater than the other one\n if (lengthA > size || lengthB > size) {\n return lengthA <= size ? -1 : 1;\n }\n return 0;\n};\n\nvar compareOtherTypes = function compareOtherTypes(valueA, valueB) {\n if (!valueA.chunks ? valueB.chunks : !valueB.chunks) {\n return !valueA.chunks ? 1 : -1;\n }\n if (valueA.isNaN ? !valueB.isNaN : valueB.isNaN) {\n return valueA.isNaN ? -1 : 1;\n }\n if (valueA.isSymbol ? !valueB.isSymbol : valueB.isSymbol) {\n return valueA.isSymbol ? -1 : 1;\n }\n if (valueA.isObject ? !valueB.isObject : valueB.isObject) {\n return valueA.isObject ? -1 : 1;\n }\n if (valueA.isArray ? !valueB.isArray : valueB.isArray) {\n return valueA.isArray ? -1 : 1;\n }\n if (valueA.isFunction ? !valueB.isFunction : valueB.isFunction) {\n return valueA.isFunction ? -1 : 1;\n }\n if (valueA.isNull ? !valueB.isNull : valueB.isNull) {\n return valueA.isNull ? -1 : 1;\n }\n return 0;\n};\n\nvar compareValues = function compareValues(valueA, valueB, locale) {\n if (valueA.value === valueB.value) {\n return 0;\n }\n if (valueA.parsedNumber !== undefined && valueB.parsedNumber !== undefined) {\n return compareNumbers(valueA.parsedNumber, valueB.parsedNumber);\n }\n if (valueA.chunks && valueB.chunks) {\n return compareChunks(valueA.chunks, valueB.chunks, locale);\n }\n return compareOtherTypes(valueA, valueB);\n};\n\nvar normalizeAlphaChunk = function normalizeAlphaChunk(chunk) {\n return chunk.replace(RE_WHITESPACES, ' ').replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n};\n\nvar parseNumber = function parseNumber(value) {\n if (value.length !== 0) {\n var parsedNumber = Number(value.replace(/_/g, ''));\n if (!Number.isNaN(parsedNumber)) {\n return parsedNumber;\n }\n }\n return undefined;\n};\n\nvar normalizeNumericChunk = function normalizeNumericChunk(chunk, index, chunks) {\n if (RE_INT_OR_FLOAT.test(chunk)) {\n // don´t parse a number, if there´s a preceding decimal point\n // to keep significance\n // e.g. 1.0020, 1.020\n if (!RE_LEADING_ZERO.test(chunk) || index === 0 || chunks[index - 1] !== '.') {\n return parseNumber(chunk) || 0;\n }\n }\n return undefined;\n};\n\nvar createChunkMap = function createChunkMap(chunk, index, chunks) {\n return {\n parsedNumber: normalizeNumericChunk(chunk, index, chunks),\n normalizedString: normalizeAlphaChunk(chunk)\n };\n};\n\nvar createChunks = function createChunks(value) {\n return value.replace(RE_NUMBERS, '\\0$1\\0').replace(/\\0$/, '').replace(/^\\0/, '').split('\\0');\n};\n\nvar createChunkMaps = function createChunkMaps(value) {\n var chunksMaps = createChunks(value).map(createChunkMap);\n return chunksMaps;\n};\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n\nvar isNaN = function isNaN(value) {\n return Number.isNaN(value) || value instanceof Number && Number.isNaN(value.valueOf());\n};\n\nvar isNull = function isNull(value) {\n return value === null;\n};\n\nvar isObject = function isObject(value) {\n return value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Number) && !(value instanceof String) && !(value instanceof Boolean) && !(value instanceof Date);\n};\n\nvar isSymbol = function isSymbol(value) {\n return typeof value === 'symbol';\n};\n\nvar isUndefined = function isUndefined(value) {\n return value === undefined;\n};\n\nvar parseDate = function parseDate(value) {\n try {\n var parsedDate = Date.parse(value);\n if (!Number.isNaN(parsedDate)) {\n if (RE_DATE.test(value)) {\n return parsedDate;\n }\n }\n return undefined;\n } catch (_unused) {\n return undefined;\n }\n};\n\nvar numberify = function numberify(value) {\n var parsedNumber = parseNumber(value);\n if (parsedNumber !== undefined) {\n return parsedNumber;\n }\n return parseDate(value);\n};\n\nvar stringify = function stringify(value) {\n if (typeof value === 'boolean' || value instanceof Boolean) {\n return Number(value).toString();\n }\n if (typeof value === 'number' || value instanceof Number) {\n return value.toString();\n }\n if (value instanceof Date) {\n return value.getTime().toString();\n }\n if (typeof value === 'string' || value instanceof String) {\n return value.toLowerCase().replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n }\n return '';\n};\n\nvar getMappedValueRecord = function getMappedValueRecord(value) {\n if (typeof value === 'string' || value instanceof String || (typeof value === 'number' || value instanceof Number) && !isNaN(value) || typeof value === 'boolean' || value instanceof Boolean || value instanceof Date) {\n var stringValue = stringify(value);\n var parsedNumber = numberify(stringValue);\n var chunks = createChunkMaps(parsedNumber ? \"\" + parsedNumber : stringValue);\n return {\n parsedNumber: parsedNumber,\n chunks: chunks,\n value: value\n };\n }\n return {\n isArray: Array.isArray(value),\n isFunction: isFunction(value),\n isNaN: isNaN(value),\n isNull: isNull(value),\n isObject: isObject(value),\n isSymbol: isSymbol(value),\n isUndefined: isUndefined(value),\n value: value\n };\n};\n\nvar baseCompare = function baseCompare(options) {\n return function (valueA, valueB) {\n var a = getMappedValueRecord(valueA);\n var b = getMappedValueRecord(valueB);\n var result = compareValues(a, b, options.locale);\n return result * (options.order === 'desc' ? -1 : 1);\n };\n};\n\nvar isValidOrder = function isValidOrder(value) {\n return typeof value === 'string' && (value === 'asc' || value === 'desc');\n};\nvar getOptions = function getOptions(customOptions) {\n var order = 'asc';\n var locale; // = 'en';\n if (typeof customOptions === 'string' && isValidOrder(customOptions)) {\n order = customOptions;\n } else if (customOptions && typeof customOptions === 'object') {\n if (customOptions.order && isValidOrder(customOptions.order)) {\n order = customOptions.order;\n }\n if (customOptions.locale && customOptions.locale.length > 0) {\n locale = customOptions.locale;\n }\n }\n return {\n order: order,\n locale: locale\n };\n};\n\n/**\n * Creates a compare function that defines the natural sort order considering\n * the given `options` which may be passed to [`Array.prototype.sort()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort).\n */\nfunction compare(options) {\n var validatedOptions = getOptions(options);\n return baseCompare(validatedOptions);\n}\n\nvar compareMultiple = function compareMultiple(recordA, recordB, orders, locale) {\n var indexA = recordA.index,\n valuesA = recordA.values;\n var indexB = recordB.index,\n valuesB = recordB.values;\n var length = valuesA.length;\n var ordersLength = orders.length;\n for (var i = 0; i < length; i++) {\n var order = i < ordersLength ? orders[i] : null;\n if (order && typeof order === 'function') {\n var result = order(valuesA[i].value, valuesB[i].value);\n if (result) {\n return result;\n }\n } else {\n var _result = compareValues(valuesA[i], valuesB[i], locale);\n if (_result) {\n return _result * (order === 'desc' ? -1 : 1);\n }\n }\n }\n return indexA - indexB;\n};\n\nvar createIdentifierFn = function createIdentifierFn(identifier) {\n if (typeof identifier === 'function') {\n // identifier is already a lookup function\n return identifier;\n }\n return function (value) {\n if (Array.isArray(value)) {\n var index = Number(identifier);\n if (Number.isInteger(index)) {\n return value[index];\n }\n } else if (value && typeof value === 'object') {\n var result = Object.getOwnPropertyDescriptor(value, identifier);\n return result == null ? void 0 : result.value;\n }\n return value;\n };\n};\n\nvar getElementByIndex = function getElementByIndex(collection, index) {\n return collection[index];\n};\n\nvar getValueByIdentifier = function getValueByIdentifier(value, getValue) {\n return getValue(value);\n};\n\nvar baseOrderBy = function baseOrderBy(collection, identifiers, orders, locale) {\n var identifierFns = identifiers.length ? identifiers.map(createIdentifierFn) : [function (value) {\n return value;\n }];\n\n // temporary array holds elements with position and sort-values\n var mappedCollection = collection.map(function (element, index) {\n var values = identifierFns.map(function (identifier) {\n return getValueByIdentifier(element, identifier);\n }).map(getMappedValueRecord);\n return {\n index: index,\n values: values\n };\n });\n\n // iterate over values and compare values until a != b or last value reached\n mappedCollection.sort(function (recordA, recordB) {\n return compareMultiple(recordA, recordB, orders, locale);\n });\n return mappedCollection.map(function (element) {\n return getElementByIndex(collection, element.index);\n });\n};\n\nvar getIdentifiers = function getIdentifiers(identifiers) {\n if (!identifiers) {\n return [];\n }\n var identifierList = !Array.isArray(identifiers) ? [identifiers] : [].concat(identifiers);\n if (identifierList.some(function (identifier) {\n return typeof identifier !== 'string' && typeof identifier !== 'number' && typeof identifier !== 'function';\n })) {\n return [];\n }\n return identifierList;\n};\n\nvar getOrders = function getOrders(orders) {\n if (!orders) {\n return [];\n }\n var orderList = !Array.isArray(orders) ? [orders] : [].concat(orders);\n if (orderList.some(function (order) {\n return order !== 'asc' && order !== 'desc' && typeof order !== 'function';\n })) {\n return [];\n }\n return orderList;\n};\n\n/**\n * Creates an array of elements, natural sorted by specified identifiers and\n * the corresponding sort orders. This method implements a stable sort\n * algorithm, which means the original sort order of equal elements is\n * preserved.\n */\nfunction orderBy(collection, identifiers, orders, locale) {\n if (!collection || !Array.isArray(collection)) {\n return [];\n }\n var validatedIdentifiers = getIdentifiers(identifiers);\n var validatedOrders = getOrders(orders);\n return baseOrderBy(collection, validatedIdentifiers, validatedOrders, locale);\n}\n\nexport { compare, orderBy };\n","const UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase, preserveConsecutiveUppercase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\tlet isLastLastCharPreserved = false;\n\n\tfor (let index = 0; index < string.length; index++) {\n\t\tconst character = string[index];\n\t\tisLastLastCharPreserved = index > 2 ? string[index - 3] === '-' : true;\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, index) + '-' + string.slice(index);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\tindex++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character) && (!isLastLastCharPreserved || preserveConsecutiveUppercase)) {\n\t\t\tstring = string.slice(0, index - 1) + '-' + string.slice(index - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replaceAll(LEADING_CAPITAL, match => toLowerCase(match));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input\n\t\t.replaceAll(NUMBERS_AND_IDENTIFIER, (match, pattern, offset) => ['_', '-'].includes(input.charAt(offset + match.length)) ? match : toUpperCase(match))\n\t\t.replaceAll(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier));\n};\n\nexport default function camelCase(input, options) {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options,\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false\n\t\t? string => string.toLowerCase()\n\t\t: string => string.toLocaleLowerCase(options.locale);\n\n\tconst toUpperCase = options.locale === false\n\t\t? string => string.toUpperCase()\n\t\t: string => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\tif (SEPARATORS.test(input)) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase, options.preserveConsecutiveUppercase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\tinput = options.preserveConsecutiveUppercase ? preserveConsecutiveUppercase(input, toLowerCase) : toLowerCase(input);\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n}\n","import _camelcase from 'camelcase'\n\ntype Options = {\n /**\n * When set it will replace all `.` with `/`.\n */\n isFile?: boolean\n prefix?: string\n suffix?: string\n}\n\nexport function camelCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {\n if (isFile) {\n const splitArray = text.split('.')\n return splitArray.map((item, i) => (i === splitArray.length - 1 ? camelCase(item, { prefix, suffix }) : camelCase(item))).join('/')\n }\n\n return _camelcase(`${prefix} ${text} ${suffix}`, { pascalCase: false, preserveConsecutiveUppercase: true }).replace(/[^a-zA-Z0-9]/g, '')\n}\n\nexport function pascalCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {\n if (isFile) {\n const splitArray = text.split('.')\n return splitArray.map((item, i) => (i === splitArray.length - 1 ? pascalCase(item, { prefix, suffix }) : camelCase(item))).join('/')\n }\n\n return _camelcase(`${prefix} ${text} ${suffix}`, { pascalCase: true, preserveConsecutiveUppercase: true }).replace(/[^a-zA-Z0-9]/g, '')\n}\n","export function combineCodes(codes: string[]): string {\n return codes.join('\\n')\n}\n","export function createJSDocBlockText({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","export function escape(text?: string): string {\n return text ? text.replaceAll('`', '\\\\`') : ''\n}\n\n/**\n * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on\n * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4\n * @link https://github.com/joliss/js-string-escape/blob/master/index.js\n */\n\nexport function jsStringEscape(input: any): string {\n return `${input}`.replace(/[\"'\\\\\\n\\r\\u2028\\u2029]/g, (character) => {\n switch (character) {\n case '\"':\n case \"'\":\n case '\\\\':\n return `\\\\${character}`\n // Four possible LineTerminator characters need to be escaped:\n case '\\n':\n return '\\\\n'\n case '\\r':\n return '\\\\r'\n case '\\u2028':\n return '\\\\u2028'\n case '\\u2029':\n return '\\\\u2029'\n default:\n return ''\n }\n })\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | boolean | undefined): string {\n if (value === undefined || value === null) {\n return '\"\"'\n }\n\n return JSON.stringify(trimQuotes(value.toString()))\n}\n\nexport function stringifyObject(value: object): string {\n const items = Object.entries(value)\n .map(([key, value]) => {\n if (typeof value === 'object') {\n return `${key}: {\n ${stringifyObject(value)}\n }`\n }\n\n return `${key}: ${value}`\n })\n .filter(Boolean)\n\n return items.join(',\\n')\n}\n","import { jsStringEscape } from './escape'\nimport { trimQuotes } from './trim'\n\nfunction stringToRegex(text: string) {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))\n}\n\n/**\n * @experimental\n */\nexport function toRegExp(text: string | RegExp): RegExp {\n if (typeof text === 'string') {\n const source = trimQuotes(text)\n\n return stringToRegex(source)\n }\n\n return stringToRegex(text.toString())\n}\n\nexport function toRegExpString(text: string, func: string | null = 'RegExp'): string {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n if (func === null) {\n return `/${text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined).replaceAll('/', '\\\\/')}/`\n }\n\n const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))}')`\n\n return regexp\n}\n","/**\n * @link https://github.com/jonschlinkert/reserved/blob/master/index.js\n */\nconst reservedWords = [\n 'abstract',\n 'arguments',\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'eval',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'let',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n 'yield',\n\n 'Array',\n 'Date',\n 'eval',\n 'function',\n 'hasOwnProperty',\n 'Infinity',\n 'isFinite',\n 'isNaN',\n 'isPrototypeOf',\n 'length',\n 'Math',\n 'name',\n 'NaN',\n 'Number',\n 'Object',\n 'prototype',\n 'String',\n 'toString',\n 'undefined',\n 'valueOf',\n]\n\nexport function transformReservedWord(word: string): string {\n if ((word && reservedWords.includes(word)) || word?.match(/^\\d/)) {\n return `_${word}`\n }\n\n return word\n}\n\nexport function isValidVarName(name: string) {\n try {\n Function(`var ${name}`)\n } catch (_e) {\n return false\n }\n return true\n}\n","import { orderBy } from 'natural-orderby'\nimport { merge } from 'remeda'\n\nimport { camelCase, pascalCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { stringify, stringifyObject } from './stringify.ts'\nimport { toRegExp, toRegExpString } from './toRegExp.ts'\nimport { isValidVarName, transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimQuotes } from './trim.ts'\n\nexport { camelCase, pascalCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { stringify, stringifyObject } from './stringify.ts'\nexport { toRegExp, toRegExpString } from './toRegExp.ts'\nexport { transformReservedWord, isValidVarName } from './transformReservedWord.ts'\nexport { trim, trimQuotes } from './trim.ts'\nexport { merge } from 'remeda'\nexport { orderBy } from 'natural-orderby'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n isValidVarName,\n nameSorter,\n searchAndReplace,\n stringify,\n stringifyObject,\n toRegExp,\n toRegExpString,\n trim,\n trimQuotes,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\n camelCase,\n pascalCase,\n} as const\n"]}
@@ -1,9 +1,9 @@
1
1
  import { orderBy, camelCase, isValidVarName } from './chunk-GBYHPDPK.js';
2
- import { trimExtName, write, read, getRelativePath } from './chunk-CMKZBNCX.js';
3
- import path, { join, extname, relative } from 'path';
2
+ import { trimExtName, write, getRelativePath } from './chunk-YRPOID7E.js';
3
+ import path, { relative, join, extname } from 'path';
4
4
  import hash from 'object-hash';
5
- import PQueue from 'p-queue';
6
5
  import { isDeepEqual, uniqueBy } from 'remeda';
6
+ import pLimit from 'p-limit';
7
7
 
8
8
  // src/utils/FunctionParams.ts
9
9
  var FunctionParams = class _FunctionParams {
@@ -447,10 +447,9 @@ var BarrelManager = class {
447
447
  this.#options = options;
448
448
  return this;
449
449
  }
450
- getFiles({ files: generatedFiles, root, meta }) {
450
+ getFiles({ files: generatedFiles, root }) {
451
451
  const { logger } = this.#options;
452
452
  const cachedFiles = /* @__PURE__ */ new Map();
453
- logger?.emit("debug", { date: /* @__PURE__ */ new Date(), logs: [`Start barrel generation for pluginKey ${meta?.pluginKey?.join(".")} and root '${root}'`] });
454
453
  TreeNode.build(generatedFiles, root)?.forEach((treeNode) => {
455
454
  if (!treeNode || !treeNode.children || !treeNode.parent?.data.path) {
456
455
  return void 0;
@@ -512,18 +511,6 @@ File: ${JSON.stringify(item.data.file, void 0, 2)}`
512
511
  });
513
512
  });
514
513
  });
515
- logger?.emit("debug", {
516
- date: /* @__PURE__ */ new Date(),
517
- logs: [
518
- `Generating barrelFile '${getRelativePath(root, barrelFile.path)}' for '${getRelativePath(root, treeNode.data?.path)}' with ${barrelFile.sources.length} indexable exports: '${barrelFile.sources?.map((source) => source.name).join(", ")}'`
519
- ]
520
- });
521
- logger?.emit("debug", {
522
- date: /* @__PURE__ */ new Date(),
523
- logs: [
524
- `Generated barrelFile '${getRelativePath(root, barrelFile.path)}' for '${getRelativePath(root, treeNode.data?.path)}' with exports: '${cachedFiles.get(barrelFile.path)?.sources?.map((source) => source.name).join(", ")}'`
525
- ]
526
- });
527
514
  if (previousBarrelFile) {
528
515
  previousBarrelFile.sources.push(...barrelFile.sources);
529
516
  previousBarrelFile.exports?.push(...barrelFile.exports || []);
@@ -535,80 +522,107 @@ File: ${JSON.stringify(item.data.file, void 0, 2)}`
535
522
  }
536
523
  };
537
524
 
538
- // src/FileManager.ts
539
- var FileManager = class {
540
- #filesByPath = /* @__PURE__ */ new Map();
541
- constructor() {
542
- return this;
525
+ // src/utils/Cache.ts
526
+ var Cache = class {
527
+ #buffer = /* @__PURE__ */ new Map();
528
+ async get(key) {
529
+ return this.#buffer.get(key) ?? null;
543
530
  }
544
- get files() {
545
- return [...this.#filesByPath.values()];
531
+ async set(key, value) {
532
+ this.#buffer.set(key, value);
546
533
  }
547
- get orderedFiles() {
548
- return orderBy(
549
- [...this.#filesByPath.values()],
550
- [
551
- (v) => v?.meta && "pluginKey" in v.meta && !v.meta.pluginKey,
552
- (v) => v.path.length,
553
- (v) => trimExtName(v.path).endsWith("index"),
554
- (v) => trimExtName(v.baseName),
555
- (v) => v.path.split(".").pop()
556
- ]
557
- );
534
+ async delete(key) {
535
+ this.#buffer.delete(key);
558
536
  }
559
- get groupedFiles() {
560
- return buildDirectoryTree([...this.#filesByPath.values()]);
537
+ async clear() {
538
+ this.#buffer.clear();
561
539
  }
562
- get treeNode() {
563
- return TreeNode.build([...this.#filesByPath.values()]);
540
+ async keys() {
541
+ return [...this.#buffer.keys()];
542
+ }
543
+ async values() {
544
+ return [...this.#buffer.values()];
545
+ }
546
+ async flush() {
547
+ }
548
+ };
549
+
550
+ // src/FileManager.ts
551
+ var FileManager = class {
552
+ #cache = new Cache();
553
+ #limit = pLimit(100);
554
+ constructor() {
555
+ return this;
564
556
  }
565
557
  async add(...files) {
566
- const promises = files.map((file) => {
567
- if (file.override) {
568
- return this.#add(file);
558
+ const resolvedFiles = [];
559
+ const mergedFiles = /* @__PURE__ */ new Map();
560
+ files.forEach((file) => {
561
+ const existing = mergedFiles.get(file.path);
562
+ if (existing) {
563
+ mergedFiles.set(file.path, mergeFile(existing, file));
564
+ } else {
565
+ mergedFiles.set(file.path, file);
569
566
  }
570
- return this.#addOrAppend(file);
571
567
  });
572
- const resolvedFiles = await Promise.all(promises);
568
+ for (const file of mergedFiles.values()) {
569
+ const existing = await this.#cache.get(file.path);
570
+ const merged = existing ? mergeFile(existing, file) : file;
571
+ const resolvedFile = createFile(merged);
572
+ await this.#cache.set(resolvedFile.path, resolvedFile);
573
+ await this.#cache.flush();
574
+ resolvedFiles.push(resolvedFile);
575
+ }
573
576
  if (files.length > 1) {
574
577
  return resolvedFiles;
575
578
  }
576
579
  return resolvedFiles[0];
577
580
  }
578
- async #add(file) {
579
- const resolvedFile = createFile(file);
580
- this.#filesByPath.set(resolvedFile.path, resolvedFile);
581
- return resolvedFile;
581
+ async getByPath(path2) {
582
+ return this.#cache.get(path2);
582
583
  }
583
- clear() {
584
- this.#filesByPath.clear();
585
- }
586
- async #addOrAppend(file) {
587
- const previousFile = this.#filesByPath.get(file.path);
588
- if (previousFile) {
589
- this.#filesByPath.delete(previousFile.path);
590
- return this.#add(mergeFile(previousFile, file));
591
- }
592
- return this.#add(file);
584
+ async deleteByPath(path2) {
585
+ await this.#cache.delete(path2);
593
586
  }
594
- getCacheById(id) {
595
- return [...this.#filesByPath.values()].find((file) => file.id === id);
587
+ async clear() {
588
+ await this.#cache.clear();
596
589
  }
597
- getByPath(path2) {
598
- return this.#filesByPath.get(path2);
590
+ async getFiles() {
591
+ const cachedKeys = await this.#cache.keys();
592
+ const keys = orderBy(cachedKeys, [(v) => v.length, (v) => trimExtName(v).endsWith("index")]);
593
+ const filesTasks = keys.map(
594
+ (key) => this.#limit(async () => {
595
+ const file = await this.#cache.get(key);
596
+ return file;
597
+ })
598
+ );
599
+ const files = await Promise.all(filesTasks);
600
+ return files.filter(Boolean);
599
601
  }
600
- deleteByPath(path2) {
601
- const cacheItem = this.getByPath(path2);
602
- if (!cacheItem) {
603
- return;
604
- }
605
- this.#filesByPath.delete(path2);
602
+ async processFiles({ dryRun, root, extension, logger }) {
603
+ const files = await this.getFiles();
604
+ logger?.emit("progress_start", { id: "files", size: files.length, message: "Writing files ..." });
605
+ const promises = files.map((file) => {
606
+ return this.#limit(async () => {
607
+ const message = file ? `Writing ${relative(root, file.path)}` : "";
608
+ const extname2 = extension?.[file.extname] || void 0;
609
+ if (!dryRun) {
610
+ const source = await getSource(file, { logger, extname: extname2 });
611
+ await write(file.path, source, { sanity: false });
612
+ }
613
+ logger?.emit("progressed", { id: "files", message });
614
+ });
615
+ });
616
+ await Promise.all(promises);
617
+ logger?.emit("progress_stop", { id: "files" });
618
+ return files;
606
619
  }
607
- async getBarrelFiles({ type, files, meta = {}, root, output, logger }) {
620
+ async getBarrelFiles({ type, meta = {}, root, output, logger }) {
608
621
  if (!type || type === "propagate") {
609
622
  return [];
610
623
  }
611
624
  const barrelManager = new BarrelManager({ logger });
625
+ const files = await this.getFiles();
612
626
  const pathToBuildFrom = join(root, output.path);
613
627
  if (trimExtName(pathToBuildFrom).endsWith("index")) {
614
628
  logger?.emit("warning", "Output has the same fileName as the barrelFiles, please disable barrel generation");
@@ -635,12 +649,6 @@ var FileManager = class {
635
649
  };
636
650
  });
637
651
  }
638
- async write(...params) {
639
- return write(...params);
640
- }
641
- async read(...params) {
642
- return read(...params);
643
- }
644
652
  // statics
645
653
  static getMode(path2) {
646
654
  if (!path2) {
@@ -722,7 +730,7 @@ function combineImports(imports, exports, source) {
722
730
  return true;
723
731
  }
724
732
  const checker = (name2) => {
725
- return name2 && !!source.includes(name2);
733
+ return name2 && source.includes(name2);
726
734
  };
727
735
  return checker(importName) || exports.some(({ name: name2 }) => Array.isArray(name2) ? name2.some(checker) : checker(name2));
728
736
  };
@@ -762,35 +770,6 @@ function combineImports(imports, exports, source) {
762
770
  []
763
771
  );
764
772
  }
765
- var queue = new PQueue({ concurrency: 100 });
766
- async function processFiles({ dryRun, root, extension, logger, files }) {
767
- const orderedFiles = orderBy(files, [
768
- (v) => v?.meta && "pluginKey" in v.meta && !v.meta.pluginKey,
769
- (v) => v.path.length,
770
- (v) => trimExtName(v.path).endsWith("index")
771
- ]);
772
- logger?.emit("debug", {
773
- date: /* @__PURE__ */ new Date(),
774
- logs: [JSON.stringify({ files: orderedFiles }, null, 2)],
775
- fileName: "kubb-files.log"
776
- });
777
- if (!dryRun) {
778
- const size = orderedFiles.length;
779
- logger?.emit("progress_start", { id: "files", size, message: "Writing files ..." });
780
- const promises = orderedFiles.map(async (file) => {
781
- await queue.add(async () => {
782
- const message = file ? `Writing ${relative(root, file.path)}` : "";
783
- const extname2 = extension?.[file.extname] || void 0;
784
- const source = await getSource(file, { logger, extname: extname2 });
785
- await write(file.path, source, { sanity: false });
786
- logger?.emit("progressed", { id: "files", message });
787
- });
788
- });
789
- await Promise.all(promises);
790
- logger?.emit("progress_stop", { id: "files" });
791
- }
792
- return files;
793
- }
794
773
 
795
774
  // src/utils/parser.ts
796
775
  function getDefaultBanner({ title, description, version, config }) {
@@ -835,17 +814,17 @@ function createFile(file) {
835
814
  throw new Error(`No extname found for ${file.baseName}`);
836
815
  }
837
816
  const source = file.sources.map((item) => item.value).join("\n\n");
838
- const exports = file.exports ? combineExports(file.exports) : [];
839
- const imports = file.imports && source ? combineImports(file.imports, exports, source) : [];
840
- const sources = file.sources ? combineSources(file.sources) : [];
817
+ const exports = file.exports?.length ? combineExports(file.exports) : [];
818
+ const imports = file.imports?.length && source ? combineImports(file.imports, exports, source) : [];
819
+ const sources = file.sources?.length ? combineSources(file.sources) : [];
841
820
  return {
842
821
  ...file,
843
822
  id: hash({ path: file.path }),
844
823
  name: trimExtName2(file.baseName),
845
824
  extname: extname2,
846
- imports: imports.map((item) => createFileImport(item)),
847
- exports: exports.map((item) => createFileExport(item)),
848
- sources: sources.map((item) => createFileSource(item)),
825
+ imports: imports.map(createFileImport),
826
+ exports: exports.map(createFileExport),
827
+ sources: sources.map(createFileSource),
849
828
  meta: file.meta || {}
850
829
  };
851
830
  }
@@ -934,6 +913,6 @@ function trimExtName2(text) {
934
913
  return text.replace(`.${extname2}`, "");
935
914
  }
936
915
 
937
- export { FileManager, FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getDefaultBanner, getFileParser, getSource, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, processFiles, renderTemplate, setUniqueName, timeout };
938
- //# sourceMappingURL=chunk-XTSQKCYI.js.map
939
- //# sourceMappingURL=chunk-XTSQKCYI.js.map
916
+ export { Cache, FileManager, FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getDefaultBanner, getFileParser, getSource, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
917
+ //# sourceMappingURL=chunk-CAZ37TGB.js.map
918
+ //# sourceMappingURL=chunk-CAZ37TGB.js.map