@kubb/core 3.0.0-alpha.3 → 3.0.0-alpha.4

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 (40) hide show
  1. package/dist/{FileManager-Bw-FNS3q.d.cts → FileManager--scIq4y4.d.cts} +26 -18
  2. package/dist/{FileManager-BW--rO8q.d.ts → FileManager-CaejIVBd.d.ts} +26 -18
  3. package/dist/{chunk-3OXCZ5DJ.js → chunk-EFQPHF4E.js} +29 -21
  4. package/dist/chunk-EFQPHF4E.js.map +1 -0
  5. package/dist/{chunk-LM2YQC3T.cjs → chunk-QRIDQ4RG.cjs} +38 -23
  6. package/dist/chunk-QRIDQ4RG.cjs.map +1 -0
  7. package/dist/{chunk-SA2GZKXS.js → chunk-UUBPTMRW.js} +49 -37
  8. package/dist/chunk-UUBPTMRW.js.map +1 -0
  9. package/dist/{chunk-ADC5UNZ5.cjs → chunk-V5THHXXQ.cjs} +259 -250
  10. package/dist/chunk-V5THHXXQ.cjs.map +1 -0
  11. package/dist/index.cjs +45 -127
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.d.cts +4 -15
  14. package/dist/index.d.ts +4 -15
  15. package/dist/index.js +27 -102
  16. package/dist/index.js.map +1 -1
  17. package/dist/{logger-DChjnJMn.d.cts → logger-dzAcLeAA.d.cts} +12 -19
  18. package/dist/{logger-DChjnJMn.d.ts → logger-dzAcLeAA.d.ts} +12 -19
  19. package/dist/logger.cjs +3 -4
  20. package/dist/logger.cjs.map +1 -1
  21. package/dist/logger.d.cts +1 -2
  22. package/dist/logger.d.ts +1 -2
  23. package/dist/logger.js +2 -3
  24. package/dist/mocks.cjs +3 -3
  25. package/dist/mocks.cjs.map +1 -1
  26. package/dist/mocks.d.cts +2 -4
  27. package/dist/mocks.d.ts +2 -4
  28. package/dist/mocks.js +2 -2
  29. package/dist/mocks.js.map +1 -1
  30. package/package.json +7 -8
  31. package/src/FileManager.ts +62 -42
  32. package/src/PluginManager.ts +4 -20
  33. package/src/build.ts +23 -99
  34. package/src/errors.ts +0 -11
  35. package/src/index.ts +0 -1
  36. package/src/logger.ts +42 -33
  37. package/dist/chunk-3OXCZ5DJ.js.map +0 -1
  38. package/dist/chunk-ADC5UNZ5.cjs.map +0 -1
  39. package/dist/chunk-LM2YQC3T.cjs.map +0 -1
  40. package/dist/chunk-SA2GZKXS.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-V5THHXXQ.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-V5THHXXQ.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 { 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 meta?: FileWithMeta['meta']\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({ root, output, meta, logger, options = {} }: AddIndexesProps): Promise<ResolvedFile[]> {\n const { exportType = 'barrel' } = output\n // ^?\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 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\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' && !output.exportAs && rootFile.exports?.[0]) {\n rootFile.exports = barrelManager.getNamedExport(root, rootFile.exports[0])\n }\n\n return [\n ...(await Promise.all(\n files.map((file) => {\n return this.#addOrAppend({\n ...file,\n meta: meta ? meta : file.meta,\n })\n }),\n )),\n await this.#addOrAppend({\n ...rootFile,\n meta: meta ? meta : rootFile.meta,\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 async processFiles(...params: Parameters<typeof processFiles>): ReturnType<typeof processFiles> {\n return processFiles(...params)\n }\n\n // statics\n\n static async getSource<TMeta extends FileMetaBase = FileMetaBase>(file: FileWithMeta<TMeta>): Promise<string> {\n return getSource<TMeta>(file)\n }\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: 1 })\n\nexport async function processFiles({ dryRun, logger, files }: WriteFilesProps) {\n const mergedFiles = await Promise.all(\n files.map(async (file) => ({\n ...file,\n source: await FileManager.getSource(file),\n })),\n )\n\n if (!dryRun) {\n logger.consola?.pauseLogs()\n\n const filePromises = mergedFiles.map(async (file, index) => {\n await queue.add(() => {\n logger.emit('progress', index, mergedFiles.length)\n return write(file.path, file.source, { sanity: false })\n })\n })\n\n await Promise.all(filePromises)\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\nexport class BarrelManager {\n #options: BarrelManagerOptions\n\n constructor(options: BarrelManagerOptions = {}) {\n this.#options = options\n\n return this\n }\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 return 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\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"]}
package/dist/index.cjs CHANGED
@@ -3,12 +3,11 @@
3
3
 
4
4
 
5
5
 
6
+ var _chunkQRIDQ4RGcjs = require('./chunk-QRIDQ4RG.cjs');
6
7
 
7
- var _chunkLM2YQC3Tcjs = require('./chunk-LM2YQC3T.cjs');
8
8
 
9
9
 
10
-
11
- var _chunkADC5UNZ5cjs = require('./chunk-ADC5UNZ5.cjs');
10
+ var _chunkV5THHXXQcjs = require('./chunk-V5THHXXQ.cjs');
12
11
 
13
12
 
14
13
  var _chunkPZT4CTBVcjs = require('./chunk-PZT4CTBV.cjs');
@@ -17,9 +16,7 @@ var _chunkPZT4CTBVcjs = require('./chunk-PZT4CTBV.cjs');
17
16
 
18
17
  var _chunkYTSNYMHWcjs = require('./chunk-YTSNYMHW.cjs');
19
18
  require('./chunk-67C6RBGQ.cjs');
20
-
21
-
22
- var _chunk34BPAXR2cjs = require('./chunk-34BPAXR2.cjs');
19
+ require('./chunk-34BPAXR2.cjs');
23
20
 
24
21
 
25
22
 
@@ -110,12 +107,6 @@ function isPromiseRejectedResult(result) {
110
107
 
111
108
  // src/errors.ts
112
109
  _chunkXCPFG6DOcjs.init_cjs_shims.call(void 0, );
113
- var Warning = class extends Error {
114
- constructor(message, options) {
115
- super(message, { cause: _optionalChain([options, 'optionalAccess', _3 => _3.cause]) });
116
- this.name = "Warning";
117
- }
118
- };
119
110
  var ValidationPluginError = class extends Error {
120
111
  };
121
112
 
@@ -205,7 +196,7 @@ var _core, _usedPluginNames, _promiseManager, _PluginManager_instances, getSorte
205
196
  var PluginManager = class {
206
197
  constructor(config, options) {
207
198
  _chunkXCPFG6DOcjs.__privateAdd.call(void 0, this, _PluginManager_instances);
208
- this.events = new (0, _chunkLM2YQC3Tcjs.EventEmitter)();
199
+ this.events = new (0, _chunkQRIDQ4RGcjs.EventEmitter)();
209
200
  this.executed = [];
210
201
  _chunkXCPFG6DOcjs.__privateAdd.call(void 0, this, _core);
211
202
  _chunkXCPFG6DOcjs.__privateAdd.call(void 0, this, _usedPluginNames, {});
@@ -217,7 +208,7 @@ var PluginManager = class {
217
208
  hookName: "resolvePath",
218
209
  parameters: [params.baseName, params.mode, params.options]
219
210
  });
220
- if (paths && _optionalChain([paths, 'optionalAccess', _4 => _4.length]) > 1) {
211
+ if (paths && _optionalChain([paths, 'optionalAccess', _3 => _3.length]) > 1) {
221
212
  this.logger.emit("debug", [
222
213
  `Cannot return a path where the 'pluginKey' ${params.pluginKey ? JSON.stringify(params.pluginKey) : '"'} is not unique enough
223
214
 
@@ -227,7 +218,7 @@ Falling back on the first item.
227
218
  `
228
219
  ]);
229
220
  }
230
- return _optionalChain([paths, 'optionalAccess', _5 => _5.at, 'call', _6 => _6(0)]);
221
+ return _optionalChain([paths, 'optionalAccess', _4 => _4.at, 'call', _5 => _5(0)]);
231
222
  }
232
223
  return this.hookFirstSync({
233
224
  hookName: "resolvePath",
@@ -241,7 +232,7 @@ Falling back on the first item.
241
232
  hookName: "resolveName",
242
233
  parameters: [params.name, params.type]
243
234
  });
244
- if (names && _optionalChain([names, 'optionalAccess', _7 => _7.length]) > 1) {
235
+ if (names && _optionalChain([names, 'optionalAccess', _6 => _6.length]) > 1) {
245
236
  this.logger.emit("debug", [
246
237
  `Cannot return a name where the 'pluginKey' ${params.pluginKey ? JSON.stringify(params.pluginKey) : '"'} is not unique enough
247
238
 
@@ -251,7 +242,7 @@ Falling back on the first item.
251
242
  `
252
243
  ]);
253
244
  }
254
- return _chunkPZT4CTBVcjs.transformReservedWord.call(void 0, _optionalChain([names, 'optionalAccess', _8 => _8.at, 'call', _9 => _9(0)]) || params.name);
245
+ return _chunkPZT4CTBVcjs.transformReservedWord.call(void 0, _optionalChain([names, 'optionalAccess', _7 => _7.at, 'call', _8 => _8(0)]) || params.name);
255
246
  }
256
247
  const name = this.hookFirstSync({
257
248
  hookName: "resolveName",
@@ -261,13 +252,9 @@ Falling back on the first item.
261
252
  };
262
253
  this.config = config;
263
254
  this.logger = options.logger;
264
- this.queue = new (0, _chunkADC5UNZ5cjs.PQueue)({ concurrency: 1 });
265
- this.fileManager = new (0, _chunkADC5UNZ5cjs.FileManager)({
266
- task: options.task,
267
- queue: this.queue
268
- });
255
+ this.fileManager = new (0, _chunkV5THHXXQcjs.FileManager)();
269
256
  _chunkXCPFG6DOcjs.__privateSet.call(void 0, this, _promiseManager, new PromiseManager({
270
- nullCheck: (state) => !!_optionalChain([state, 'optionalAccess', _10 => _10.result])
257
+ nullCheck: (state) => !!_optionalChain([state, 'optionalAccess', _9 => _9.result])
271
258
  }));
272
259
  const plugins = config.plugins || [];
273
260
  const core = pluginCore({
@@ -384,7 +371,7 @@ Falling back on the first item.
384
371
  }) {
385
372
  let parseResult = null;
386
373
  for (const plugin of _chunkXCPFG6DOcjs.__privateMethod.call(void 0, this, _PluginManager_instances, getSortedPlugins_fn).call(this)) {
387
- if (_optionalChain([skipped, 'optionalAccess', _11 => _11.has, 'call', _12 => _12(plugin)])) {
374
+ if (_optionalChain([skipped, 'optionalAccess', _10 => _10.has, 'call', _11 => _11(plugin)])) {
388
375
  continue;
389
376
  }
390
377
  parseResult = {
@@ -396,7 +383,7 @@ Falling back on the first item.
396
383
  }),
397
384
  plugin
398
385
  };
399
- if (_optionalChain([parseResult, 'optionalAccess', _13 => _13.result]) != null) {
386
+ if (_optionalChain([parseResult, 'optionalAccess', _12 => _12.result]) != null) {
400
387
  break;
401
388
  }
402
389
  }
@@ -468,14 +455,14 @@ Falling back on the first item.
468
455
  const [searchPluginName, searchIdentifier] = pluginKey;
469
456
  const pluginByPluginName = plugins.filter((plugin) => plugin[hookName]).filter((item) => {
470
457
  const [name, identifier] = item.key;
471
- const identifierCheck = _optionalChain([identifier, 'optionalAccess', _14 => _14.toString, 'call', _15 => _15()]) === _optionalChain([searchIdentifier, 'optionalAccess', _16 => _16.toString, 'call', _17 => _17()]);
458
+ const identifierCheck = _optionalChain([identifier, 'optionalAccess', _13 => _13.toString, 'call', _14 => _14()]) === _optionalChain([searchIdentifier, 'optionalAccess', _15 => _15.toString, 'call', _16 => _16()]);
472
459
  const nameCheck = name === searchPluginName;
473
460
  if (searchIdentifier) {
474
461
  return identifierCheck && nameCheck;
475
462
  }
476
463
  return nameCheck;
477
464
  });
478
- if (!_optionalChain([pluginByPluginName, 'optionalAccess', _18 => _18.length])) {
465
+ if (!_optionalChain([pluginByPluginName, 'optionalAccess', _17 => _17.length])) {
479
466
  const corePlugin = plugins.find((plugin) => plugin.name === "core" && plugin[hookName]);
480
467
  if (corePlugin) {
481
468
  this.logger.emit("debug", [`No hook '${hookName}' for pluginKey '${JSON.stringify(pluginKey)}' found, falling back on the '@kubb/core' plugin`]);
@@ -512,11 +499,9 @@ _PluginManager_instances = new WeakSet();
512
499
  getSortedPlugins_fn = function(hookName) {
513
500
  const plugins = [...this.plugins].filter((plugin) => plugin.name !== "core");
514
501
  if (hookName) {
515
- if (this.logger.logLevel === _chunkLM2YQC3Tcjs.LogLevel.info) {
516
- const containsHookName = plugins.some((item) => item[hookName]);
517
- if (!containsHookName) {
518
- this.logger.emit("warning", `No hook ${hookName} found`);
519
- }
502
+ const containsHookName = plugins.some((item) => item[hookName]);
503
+ if (!containsHookName) {
504
+ this.logger.emit("info", `No hook ${hookName} found`);
520
505
  }
521
506
  return plugins.filter((item) => item[hookName]);
522
507
  }
@@ -529,10 +514,10 @@ getSortedPlugins_fn = function(hookName) {
529
514
  }
530
515
  return plugin;
531
516
  }).sort((a, b) => {
532
- if (_optionalChain([b, 'access', _19 => _19.pre, 'optionalAccess', _20 => _20.includes, 'call', _21 => _21(a.name)])) {
517
+ if (_optionalChain([b, 'access', _18 => _18.pre, 'optionalAccess', _19 => _19.includes, 'call', _20 => _20(a.name)])) {
533
518
  return 1;
534
519
  }
535
- if (_optionalChain([b, 'access', _22 => _22.post, 'optionalAccess', _23 => _23.includes, 'call', _24 => _24(a.name)])) {
520
+ if (_optionalChain([b, 'access', _21 => _21.post, 'optionalAccess', _22 => _22.includes, 'call', _23 => _23(a.name)])) {
536
521
  return -1;
537
522
  }
538
523
  return 0;
@@ -628,7 +613,7 @@ executeSync_fn = function({
628
613
  }
629
614
  };
630
615
  catcher_fn = function(cause, plugin, hookName) {
631
- const text = `${cause.message} (plugin: ${_optionalChain([plugin, 'optionalAccess', _25 => _25.name]) || "unknown"}, hook: ${hookName || "unknown"})`;
616
+ const text = `${cause.message} (plugin: ${_optionalChain([plugin, 'optionalAccess', _24 => _24.name]) || "unknown"}, hook: ${hookName || "unknown"})`;
632
617
  this.logger.emit("error", text, cause);
633
618
  this.events.emit("error", cause);
634
619
  };
@@ -658,25 +643,9 @@ function isInputPath(result) {
658
643
  return !!result && "path" in result;
659
644
  }
660
645
 
661
- // ../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/index.mjs
662
- _chunkXCPFG6DOcjs.init_cjs_shims.call(void 0, );
663
- var _process = require('process'); var _process2 = _interopRequireDefault(_process);
664
- require('tty');
665
- require('util');
666
-
667
-
668
646
  // src/build.ts
669
647
  async function setup(options) {
670
- const {
671
- config,
672
- logger = _chunkLM2YQC3Tcjs.createLogger.call(void 0, {
673
- logLevel: _chunkLM2YQC3Tcjs.LogLevel.silent,
674
- consola: _chunk34BPAXR2cjs.createConsola.call(void 0, {
675
- level: 3
676
- })
677
- })
678
- } = options;
679
- let count = 0;
648
+ const { config, logger = _chunkQRIDQ4RGcjs.createLogger.call(void 0, ) } = options;
680
649
  try {
681
650
  if (isInputPath(config) && !new (0, _chunkYTSNYMHWcjs.URLPath)(config.input.path).isURL) {
682
651
  await _fs.read.call(void 0, config.input.path);
@@ -684,7 +653,7 @@ async function setup(options) {
684
653
  } catch (e) {
685
654
  if (isInputPath(config)) {
686
655
  throw new Error(
687
- `Cannot read file/URL defined in \`input.path\` or set with \`kubb generate PATH\` in the CLI of your Kubb config ${_chunkLM2YQC3Tcjs.p.dim(config.input.path)}`,
656
+ `Cannot read file/URL defined in \`input.path\` or set with \`kubb generate PATH\` in the CLI of your Kubb config ${_chunkQRIDQ4RGcjs.p.dim(config.input.path)}`,
688
657
  {
689
658
  cause: e
690
659
  }
@@ -694,54 +663,14 @@ async function setup(options) {
694
663
  if (config.output.clean) {
695
664
  await _fs.clean.call(void 0, config.output.path);
696
665
  }
697
- const task = async (file) => {
698
- const { path: path4 } = file;
699
- const source = await _chunkADC5UNZ5cjs.FileManager.getSource(file);
700
- if (source) {
701
- if (config.output.write || config.output.write === void 0) {
702
- await pluginManager.fileManager.write(path4, source, { sanity: false });
703
- }
704
- }
705
- return {
706
- ...file,
707
- source: source || ""
708
- };
709
- };
710
- const pluginManager = new PluginManager(config, { logger, task });
711
- pluginManager.queue.on("add", () => {
712
- if (logger.logLevel !== _chunkLM2YQC3Tcjs.LogLevel.info) {
713
- return;
714
- }
715
- if (count === 0) {
716
- logger.emit("start", "\u{1F4BE} Writing");
717
- }
718
- });
719
- pluginManager.queue.on("active", () => {
720
- if (logger.logLevel !== _chunkLM2YQC3Tcjs.LogLevel.info) {
721
- return;
722
- }
723
- if (logger.spinner && pluginManager.queue.size > 0) {
724
- const text = `Item: ${count} Size: ${pluginManager.queue.size} Pending: ${pluginManager.queue.pending}`;
725
- logger.spinner.suffixText = _chunkLM2YQC3Tcjs.p.dim(text);
726
- }
727
- ++count;
728
- });
729
- pluginManager.queue.on("completed", () => {
730
- if (logger.logLevel !== _chunkLM2YQC3Tcjs.LogLevel.info) {
731
- return;
732
- }
733
- if (logger.spinner) {
734
- const text = `Item: ${count} Size: ${pluginManager.queue.size} Pending: ${pluginManager.queue.pending}`;
735
- logger.spinner.suffixText = _chunkLM2YQC3Tcjs.p.dim(text);
736
- }
737
- });
666
+ const pluginManager = new PluginManager(config, { logger });
738
667
  pluginManager.on("executed", (executer) => {
739
668
  const { hookName, plugin, output, parameters } = executer;
740
669
  const logs = [
741
- `${_chunkLM2YQC3Tcjs.randomCliColour.call(void 0, plugin.name)} Executing ${hookName}`,
742
- parameters && `${_chunkLM2YQC3Tcjs.p.bgWhite("Parameters")} ${_chunkLM2YQC3Tcjs.randomCliColour.call(void 0, plugin.name)} ${hookName}`,
670
+ `${_chunkQRIDQ4RGcjs.randomCliColour.call(void 0, plugin.name)} Executing ${hookName}`,
671
+ parameters && `${_chunkQRIDQ4RGcjs.p.bgWhite("Parameters")} ${_chunkQRIDQ4RGcjs.randomCliColour.call(void 0, plugin.name)} ${hookName}`,
743
672
  JSON.stringify(parameters, void 0, 2),
744
- output && `${_chunkLM2YQC3Tcjs.p.bgWhite("Output")} ${_chunkLM2YQC3Tcjs.randomCliColour.call(void 0, plugin.name)} ${hookName}`,
673
+ output && `${_chunkQRIDQ4RGcjs.p.bgWhite("Output")} ${_chunkQRIDQ4RGcjs.randomCliColour.call(void 0, plugin.name)} ${hookName}`,
745
674
  output
746
675
  ].filter(Boolean);
747
676
  logger.emit("debug", logs);
@@ -750,21 +679,16 @@ async function setup(options) {
750
679
  }
751
680
  async function build(options) {
752
681
  const pluginManager = await setup(options);
753
- const { fileManager, logger } = pluginManager;
754
682
  await pluginManager.hookParallel({
755
683
  hookName: "buildStart",
756
684
  parameters: [options.config]
757
685
  });
686
+ const files = await _chunkV5THHXXQcjs.processFiles.call(void 0, {
687
+ dryRun: !options.config.output.write,
688
+ files: pluginManager.fileManager.files,
689
+ logger: pluginManager.logger
690
+ });
758
691
  await pluginManager.hookParallel({ hookName: "buildEnd" });
759
- if (logger.logLevel === _chunkLM2YQC3Tcjs.LogLevel.info) {
760
- logger.emit("end", "\u{1F4BE} Writing completed");
761
- }
762
- const files = await Promise.all(
763
- fileManager.files.map(async (file) => ({
764
- ...file,
765
- source: await _chunkADC5UNZ5cjs.FileManager.getSource(file)
766
- }))
767
- );
768
692
  return {
769
693
  files,
770
694
  pluginManager
@@ -772,35 +696,30 @@ async function build(options) {
772
696
  }
773
697
  async function safeBuild(options) {
774
698
  const pluginManager = await setup(options);
775
- const { fileManager, logger } = pluginManager;
699
+ let files = [];
776
700
  try {
777
701
  await pluginManager.hookParallel({
778
702
  hookName: "buildStart",
779
703
  parameters: [options.config]
780
704
  });
705
+ files = await _chunkV5THHXXQcjs.processFiles.call(void 0, {
706
+ dryRun: !options.config.output.write,
707
+ files: pluginManager.fileManager.files,
708
+ logger: pluginManager.logger
709
+ });
781
710
  await pluginManager.hookParallel({ hookName: "buildEnd" });
782
- if (logger.logLevel === _chunkLM2YQC3Tcjs.LogLevel.info) {
783
- logger.emit("end", "\u{1F4BE} Writing completed");
784
- }
785
711
  } catch (e) {
786
- const files2 = await Promise.all(
787
- fileManager.files.map(async (file) => ({
788
- ...file,
789
- source: await _chunkADC5UNZ5cjs.FileManager.getSource(file)
790
- }))
791
- );
712
+ const files2 = await _chunkV5THHXXQcjs.processFiles.call(void 0, {
713
+ dryRun: true,
714
+ files: pluginManager.fileManager.files,
715
+ logger: pluginManager.logger
716
+ });
792
717
  return {
793
718
  files: files2,
794
719
  pluginManager,
795
720
  error: e
796
721
  };
797
722
  }
798
- const files = await Promise.all(
799
- fileManager.files.map(async (file) => ({
800
- ...file,
801
- source: await _chunkADC5UNZ5cjs.FileManager.getSource(file)
802
- }))
803
- );
804
723
  return {
805
724
  files,
806
725
  pluginManager
@@ -847,7 +766,7 @@ _chunkXCPFG6DOcjs.init_cjs_shims.call(void 0, );
847
766
 
848
767
  // ../../node_modules/.pnpm/locate-path@7.2.0/node_modules/locate-path/index.js
849
768
  _chunkXCPFG6DOcjs.init_cjs_shims.call(void 0, );
850
-
769
+ var _process = require('process'); var _process2 = _interopRequireDefault(_process);
851
770
 
852
771
  var _fs3 = require('fs'); var _fs4 = _interopRequireDefault(_fs3);
853
772
 
@@ -1181,7 +1100,7 @@ var _PackageManager = class _PackageManager {
1181
1100
  location = _url.pathToFileURL.call(void 0, location).href;
1182
1101
  }
1183
1102
  const module = await Promise.resolve().then(() => _interopRequireWildcard(require(location)));
1184
- return _nullishCoalesce(_optionalChain([module, 'optionalAccess', _26 => _26.default]), () => ( module));
1103
+ return _nullishCoalesce(_optionalChain([module, 'optionalAccess', _25 => _25.default]), () => ( module));
1185
1104
  } catch (e) {
1186
1105
  console.log(e);
1187
1106
  return void 0;
@@ -1285,6 +1204,5 @@ var PackageManager = _PackageManager;
1285
1204
 
1286
1205
 
1287
1206
 
1288
-
1289
- exports.FileManager = _chunkADC5UNZ5cjs.FileManager; exports.Generator = Generator; exports.PackageManager = PackageManager; exports.PluginManager = PluginManager; exports.PromiseManager = PromiseManager; exports.Warning = Warning; exports.build = build; exports.createPlugin = createPlugin; exports.default = build; exports.defineConfig = defineConfig; exports.isInputPath = isInputPath; exports.safeBuild = safeBuild;
1207
+ exports.FileManager = _chunkV5THHXXQcjs.FileManager; exports.Generator = Generator; exports.PackageManager = PackageManager; exports.PluginManager = PluginManager; exports.PromiseManager = PromiseManager; exports.build = build; exports.createPlugin = createPlugin; exports.default = build; exports.defineConfig = defineConfig; exports.isInputPath = isInputPath; exports.safeBuild = safeBuild;
1290
1208
  //# sourceMappingURL=index.cjs.map