@kubb/core 3.2.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-2PVOSONX.cjs → chunk-332TL45M.cjs} +10 -10
- package/dist/{chunk-2PVOSONX.cjs.map → chunk-332TL45M.cjs.map} +1 -1
- package/dist/{chunk-VIC3WIWV.js → chunk-44OM74QT.js} +4 -4
- package/dist/chunk-44OM74QT.js.map +1 -0
- package/dist/{chunk-QIFPRGH2.cjs → chunk-J3TPOTFY.cjs} +35 -32
- package/dist/chunk-J3TPOTFY.cjs.map +1 -0
- package/dist/{chunk-5MBX6RKL.cjs → chunk-JPDOTVWM.cjs} +4 -4
- package/dist/{chunk-5MBX6RKL.cjs.map → chunk-JPDOTVWM.cjs.map} +1 -1
- package/dist/{chunk-T2FGDLUG.js → chunk-MDXPT7LL.js} +20 -17
- package/dist/chunk-MDXPT7LL.js.map +1 -0
- package/dist/{chunk-BDMDALIW.cjs → chunk-YAD5ZLE7.cjs} +8 -8
- package/dist/{chunk-BDMDALIW.cjs.map → chunk-YAD5ZLE7.cjs.map} +1 -1
- package/dist/{chunk-4C4XO7FN.cjs → chunk-YHVALC4L.cjs} +36 -36
- package/dist/chunk-YHVALC4L.cjs.map +1 -0
- package/dist/index.cjs +35 -35
- package/dist/index.js +3 -3
- package/dist/logger.cjs +7 -7
- package/dist/mocks.cjs +9 -9
- package/dist/mocks.js +2 -2
- package/dist/{prompt-N5L57K2F.cjs → prompt-ANPBQKUT.cjs} +62 -62
- package/dist/{prompt-N5L57K2F.cjs.map → prompt-ANPBQKUT.cjs.map} +1 -1
- package/dist/transformers.cjs +23 -23
- package/dist/transformers.d.cts +1 -1
- package/dist/transformers.d.ts +1 -1
- package/dist/transformers.js +1 -1
- package/dist/utils.cjs +17 -17
- package/dist/utils.js +2 -2
- package/package.json +7 -7
- package/src/transformers/toRegExp.ts +5 -1
- package/src/utils/parser.ts +1 -1
- package/dist/chunk-4C4XO7FN.cjs.map +0 -1
- package/dist/chunk-QIFPRGH2.cjs.map +0 -1
- package/dist/chunk-T2FGDLUG.js.map +0 -1
- package/dist/chunk-VIC3WIWV.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkYAD5ZLE7_cjs = require('./chunk-YAD5ZLE7.cjs');
|
|
4
|
+
var chunkJPDOTVWM_cjs = require('./chunk-JPDOTVWM.cjs');
|
|
5
5
|
var seedrandom = require('seedrandom');
|
|
6
6
|
var tty = require('tty');
|
|
7
7
|
var events = require('events');
|
|
@@ -15,13 +15,13 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
15
15
|
var seedrandom__default = /*#__PURE__*/_interopDefault(seedrandom);
|
|
16
16
|
|
|
17
17
|
// src/logger.ts
|
|
18
|
-
|
|
18
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
19
19
|
|
|
20
20
|
// ../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/node.js
|
|
21
|
-
|
|
21
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
22
22
|
|
|
23
23
|
// ../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js
|
|
24
|
-
|
|
24
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
25
25
|
var f = {
|
|
26
26
|
reset: [0, 0],
|
|
27
27
|
bold: [1, 22, "\x1B[22m\x1B[1m"],
|
|
@@ -102,7 +102,7 @@ function p(n = false) {
|
|
|
102
102
|
var p2 = p(tty.isatty(1));
|
|
103
103
|
|
|
104
104
|
// src/utils/EventEmitter.ts
|
|
105
|
-
|
|
105
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
106
106
|
var EventEmitter = class {
|
|
107
107
|
constructor() {
|
|
108
108
|
this.#emitter.setMaxListeners(100);
|
|
@@ -123,7 +123,7 @@ var EventEmitter = class {
|
|
|
123
123
|
};
|
|
124
124
|
|
|
125
125
|
// ../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/index.mjs
|
|
126
|
-
|
|
126
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
127
127
|
|
|
128
128
|
// src/logger.ts
|
|
129
129
|
var LogMapper = {
|
|
@@ -135,7 +135,7 @@ function createLogger({ logLevel = 3, name, consola: _consola } = {}) {
|
|
|
135
135
|
const events = new EventEmitter();
|
|
136
136
|
const startDate = Date.now();
|
|
137
137
|
const cachedLogs = /* @__PURE__ */ new Set();
|
|
138
|
-
const consola2 = _consola ||
|
|
138
|
+
const consola2 = _consola || chunkYAD5ZLE7_cjs.createConsola({
|
|
139
139
|
level: logLevel,
|
|
140
140
|
formatOptions: {
|
|
141
141
|
colors: true,
|
|
@@ -232,5 +232,5 @@ exports.LogMapper = LogMapper;
|
|
|
232
232
|
exports.createLogger = createLogger;
|
|
233
233
|
exports.randomCliColour = randomCliColour;
|
|
234
234
|
exports.randomColour = randomColour;
|
|
235
|
-
//# sourceMappingURL=chunk-
|
|
236
|
-
//# sourceMappingURL=chunk-
|
|
235
|
+
//# sourceMappingURL=chunk-332TL45M.cjs.map
|
|
236
|
+
//# sourceMappingURL=chunk-332TL45M.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/logger.ts","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/node.js","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js","../src/utils/EventEmitter.ts","../../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/index.mjs"],"names":["init_cjs_shims","r","p","NodeEventEmitter","consola","createConsola","resolve","write","seedrandom"],"mappings":"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","file":"chunk-2PVOSONX.cjs","sourcesContent":["import seedrandom from 'seedrandom'\nimport c, { createColors } from 'tinyrainbow'\n\nimport { EventEmitter } from './utils/EventEmitter.ts'\n\nimport { resolve } from 'node:path'\nimport { write } from '@kubb/fs'\nimport { type ConsolaInstance, type LogLevel, createConsola } from 'consola'\nimport type { Formatter } from 'tinyrainbow'\n\ntype DebugEvent = { date: Date; logs: string[]; fileName?: string }\n\ntype Events = {\n start: [message: string]\n success: [message: string]\n error: [message: string, cause: Error]\n warning: [message: string]\n debug: [DebugEvent]\n info: [message: string]\n progress_start: [{ id: string; size: number; message?: string }]\n progressed: [{ id: string; message?: string }]\n progress_stop: [{ id: string }]\n}\n\nexport const LogMapper = {\n silent: Number.NEGATIVE_INFINITY,\n info: 3,\n debug: 4,\n} as const\n\nexport type Logger = {\n /**\n * Optional config name to show in CLI output\n */\n name?: string\n logLevel: LogLevel\n consola?: ConsolaInstance\n on: EventEmitter<Events>['on']\n emit: EventEmitter<Events>['emit']\n writeLogs: () => Promise<string[]>\n}\n\ntype Props = {\n name?: string\n logLevel?: LogLevel\n consola?: ConsolaInstance\n}\n\nexport function createLogger({ logLevel = 3, name, consola: _consola }: Props = {}): Logger {\n const events = new EventEmitter<Events>()\n const startDate = Date.now()\n const cachedLogs = new Set<DebugEvent>()\n\n const consola =\n _consola ||\n createConsola({\n level: logLevel,\n formatOptions: {\n colors: true,\n date: true,\n columns: 80,\n compact: logLevel !== LogMapper.debug,\n },\n }).withTag(name ? randomCliColour(name) : '')\n\n consola?.wrapConsole()\n\n events.on('start', (message) => {\n consola.start(message)\n })\n\n events.on('success', (message) => {\n consola.success(message)\n })\n\n events.on('warning', (message) => {\n consola.warn(c.yellow(message))\n })\n\n events.on('info', (message) => {\n consola.info(c.yellow(message))\n })\n\n events.on('debug', (message) => {\n if (message.logs.join('\\n\\n').length <= 100 && logLevel === LogMapper.debug) {\n console.log(message.logs.join('\\n\\n'))\n }\n\n cachedLogs.add(message)\n })\n\n events.on('error', (message, cause) => {\n const error = new Error(message || 'Something went wrong')\n error.cause = cause\n\n throw error\n })\n\n if (consola) {\n consola.level = logLevel\n }\n\n const logger: Logger = {\n name,\n logLevel,\n consola,\n on(...args) {\n return events.on(...args)\n },\n emit(...args) {\n return events.emit(...args)\n },\n async writeLogs() {\n const files: Record<string, string[]> = {}\n\n cachedLogs.forEach((log) => {\n const fileName = resolve(process.cwd(), '.kubb', log.fileName || `kubb-${startDate}.log`)\n\n if (!files[fileName]) {\n files[fileName] = []\n }\n\n files[fileName] = [...files[fileName], `[${log.date.toLocaleString()}]: ${log.logs.join('\\n\\n')}`]\n })\n await Promise.all(\n Object.entries(files).map(async ([fileName, logs]) => {\n return write(fileName, logs.join('\\n'))\n }),\n )\n\n return Object.keys(files)\n },\n }\n\n return logger\n}\n\nconst defaultColours = ['black', 'blue', 'darkBlue', 'cyan', 'gray', 'green', 'darkGreen', 'magenta', 'red', 'darkRed', 'yellow', 'darkYellow'] as const\n\nexport function randomColour(text?: string, colours = defaultColours): string {\n if (!text) {\n return 'white'\n }\n\n const random = seedrandom(text)\n const colour = colours.at(Math.floor(random() * colours.length)) || 'white'\n\n return colour\n}\n\nexport function randomCliColour(text?: string, colors = defaultColours): string {\n const colours = createColors(true)\n\n if (!text) {\n return colours.white(text)\n }\n\n const colour = randomColour(text, colors)\n const isDark = colour.includes('dark')\n const key = colour.replace('dark', '').toLowerCase() as keyof typeof colours\n const formatter: Formatter = colours[key] as Formatter\n\n if (isDark) {\n return c.bold(formatter(text))\n }\n\n if (typeof formatter !== 'function') {\n throw new Error('Formatter for picoColor is not of type function/Formatter')\n }\n return formatter(text)\n}\n","import {\n a as t,\n b as e,\n c as o\n} from \"./chunk-BVHSVHOK.js\";\n\n// src/node.ts\nimport { isatty as r } from \"tty\";\nvar p = o(r(1));\nexport {\n o as createColors,\n p as default,\n t as getDefaultColors,\n e as isSupported\n};\n","// src/index.ts\nvar f = {\n reset: [0, 0],\n bold: [1, 22, \"\\x1B[22m\\x1B[1m\"],\n dim: [2, 22, \"\\x1B[22m\\x1B[2m\"],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n blackBright: [90, 39],\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39],\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n}, h = Object.entries(f);\nfunction a(n) {\n return String(n);\n}\na.open = \"\";\na.close = \"\";\nvar B = /* @__PURE__ */ h.reduce(\n (n, [e]) => (n[e] = a, n),\n { isColorSupported: !1 }\n);\nfunction m() {\n return { ...B };\n}\nfunction C(n = !1) {\n let e = typeof process != \"undefined\" ? process : void 0, i = (e == null ? void 0 : e.env) || {}, g = (e == null ? void 0 : e.argv) || [];\n return !(\"NO_COLOR\" in i || g.includes(\"--no-color\")) && (\"FORCE_COLOR\" in i || g.includes(\"--color\") || (e == null ? void 0 : e.platform) === \"win32\" || n && i.TERM !== \"dumb\" || \"CI\" in i) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction p(n = !1) {\n let e = C(n), i = (r, t, c, o) => {\n let l = \"\", s = 0;\n do\n l += r.substring(s, o) + c, s = o + t.length, o = r.indexOf(t, s);\n while (~o);\n return l + r.substring(s);\n }, g = (r, t, c = r) => {\n let o = (l) => {\n let s = String(l), b = s.indexOf(t, r.length);\n return ~b ? r + i(s, t, c, b) + t : r + s + t;\n };\n return o.open = r, o.close = t, o;\n }, u = {\n isColorSupported: e\n }, d = (r) => `\\x1B[${r}m`;\n for (let [r, t] of h)\n u[r] = e ? g(\n d(t[0]),\n d(t[1]),\n t[2]\n ) : a;\n return u;\n}\n\nexport {\n m as a,\n C as b,\n p as c\n};\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as any))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n","export { a as consola, c as createConsola, a as default } from './shared/consola.36c0034f.mjs';\nexport { Consola, LogLevels, LogTypes } from './core.mjs';\nimport './shared/consola.06ad8a64.mjs';\nimport 'node:process';\nimport './utils.mjs';\nimport 'node:tty';\nimport 'node:util';\nimport 'node:path';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/logger.ts","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/node.js","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js","../src/utils/EventEmitter.ts","../../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/index.mjs"],"names":["init_cjs_shims","r","p","NodeEventEmitter","consola","createConsola","resolve","write","seedrandom"],"mappings":"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","file":"chunk-332TL45M.cjs","sourcesContent":["import seedrandom from 'seedrandom'\nimport c, { createColors } from 'tinyrainbow'\n\nimport { EventEmitter } from './utils/EventEmitter.ts'\n\nimport { resolve } from 'node:path'\nimport { write } from '@kubb/fs'\nimport { type ConsolaInstance, type LogLevel, createConsola } from 'consola'\nimport type { Formatter } from 'tinyrainbow'\n\ntype DebugEvent = { date: Date; logs: string[]; fileName?: string }\n\ntype Events = {\n start: [message: string]\n success: [message: string]\n error: [message: string, cause: Error]\n warning: [message: string]\n debug: [DebugEvent]\n info: [message: string]\n progress_start: [{ id: string; size: number; message?: string }]\n progressed: [{ id: string; message?: string }]\n progress_stop: [{ id: string }]\n}\n\nexport const LogMapper = {\n silent: Number.NEGATIVE_INFINITY,\n info: 3,\n debug: 4,\n} as const\n\nexport type Logger = {\n /**\n * Optional config name to show in CLI output\n */\n name?: string\n logLevel: LogLevel\n consola?: ConsolaInstance\n on: EventEmitter<Events>['on']\n emit: EventEmitter<Events>['emit']\n writeLogs: () => Promise<string[]>\n}\n\ntype Props = {\n name?: string\n logLevel?: LogLevel\n consola?: ConsolaInstance\n}\n\nexport function createLogger({ logLevel = 3, name, consola: _consola }: Props = {}): Logger {\n const events = new EventEmitter<Events>()\n const startDate = Date.now()\n const cachedLogs = new Set<DebugEvent>()\n\n const consola =\n _consola ||\n createConsola({\n level: logLevel,\n formatOptions: {\n colors: true,\n date: true,\n columns: 80,\n compact: logLevel !== LogMapper.debug,\n },\n }).withTag(name ? randomCliColour(name) : '')\n\n consola?.wrapConsole()\n\n events.on('start', (message) => {\n consola.start(message)\n })\n\n events.on('success', (message) => {\n consola.success(message)\n })\n\n events.on('warning', (message) => {\n consola.warn(c.yellow(message))\n })\n\n events.on('info', (message) => {\n consola.info(c.yellow(message))\n })\n\n events.on('debug', (message) => {\n if (message.logs.join('\\n\\n').length <= 100 && logLevel === LogMapper.debug) {\n console.log(message.logs.join('\\n\\n'))\n }\n\n cachedLogs.add(message)\n })\n\n events.on('error', (message, cause) => {\n const error = new Error(message || 'Something went wrong')\n error.cause = cause\n\n throw error\n })\n\n if (consola) {\n consola.level = logLevel\n }\n\n const logger: Logger = {\n name,\n logLevel,\n consola,\n on(...args) {\n return events.on(...args)\n },\n emit(...args) {\n return events.emit(...args)\n },\n async writeLogs() {\n const files: Record<string, string[]> = {}\n\n cachedLogs.forEach((log) => {\n const fileName = resolve(process.cwd(), '.kubb', log.fileName || `kubb-${startDate}.log`)\n\n if (!files[fileName]) {\n files[fileName] = []\n }\n\n files[fileName] = [...files[fileName], `[${log.date.toLocaleString()}]: ${log.logs.join('\\n\\n')}`]\n })\n await Promise.all(\n Object.entries(files).map(async ([fileName, logs]) => {\n return write(fileName, logs.join('\\n'))\n }),\n )\n\n return Object.keys(files)\n },\n }\n\n return logger\n}\n\nconst defaultColours = ['black', 'blue', 'darkBlue', 'cyan', 'gray', 'green', 'darkGreen', 'magenta', 'red', 'darkRed', 'yellow', 'darkYellow'] as const\n\nexport function randomColour(text?: string, colours = defaultColours): string {\n if (!text) {\n return 'white'\n }\n\n const random = seedrandom(text)\n const colour = colours.at(Math.floor(random() * colours.length)) || 'white'\n\n return colour\n}\n\nexport function randomCliColour(text?: string, colors = defaultColours): string {\n const colours = createColors(true)\n\n if (!text) {\n return colours.white(text)\n }\n\n const colour = randomColour(text, colors)\n const isDark = colour.includes('dark')\n const key = colour.replace('dark', '').toLowerCase() as keyof typeof colours\n const formatter: Formatter = colours[key] as Formatter\n\n if (isDark) {\n return c.bold(formatter(text))\n }\n\n if (typeof formatter !== 'function') {\n throw new Error('Formatter for picoColor is not of type function/Formatter')\n }\n return formatter(text)\n}\n","import {\n a as t,\n b as e,\n c as o\n} from \"./chunk-BVHSVHOK.js\";\n\n// src/node.ts\nimport { isatty as r } from \"tty\";\nvar p = o(r(1));\nexport {\n o as createColors,\n p as default,\n t as getDefaultColors,\n e as isSupported\n};\n","// src/index.ts\nvar f = {\n reset: [0, 0],\n bold: [1, 22, \"\\x1B[22m\\x1B[1m\"],\n dim: [2, 22, \"\\x1B[22m\\x1B[2m\"],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n blackBright: [90, 39],\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39],\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n}, h = Object.entries(f);\nfunction a(n) {\n return String(n);\n}\na.open = \"\";\na.close = \"\";\nvar B = /* @__PURE__ */ h.reduce(\n (n, [e]) => (n[e] = a, n),\n { isColorSupported: !1 }\n);\nfunction m() {\n return { ...B };\n}\nfunction C(n = !1) {\n let e = typeof process != \"undefined\" ? process : void 0, i = (e == null ? void 0 : e.env) || {}, g = (e == null ? void 0 : e.argv) || [];\n return !(\"NO_COLOR\" in i || g.includes(\"--no-color\")) && (\"FORCE_COLOR\" in i || g.includes(\"--color\") || (e == null ? void 0 : e.platform) === \"win32\" || n && i.TERM !== \"dumb\" || \"CI\" in i) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction p(n = !1) {\n let e = C(n), i = (r, t, c, o) => {\n let l = \"\", s = 0;\n do\n l += r.substring(s, o) + c, s = o + t.length, o = r.indexOf(t, s);\n while (~o);\n return l + r.substring(s);\n }, g = (r, t, c = r) => {\n let o = (l) => {\n let s = String(l), b = s.indexOf(t, r.length);\n return ~b ? r + i(s, t, c, b) + t : r + s + t;\n };\n return o.open = r, o.close = t, o;\n }, u = {\n isColorSupported: e\n }, d = (r) => `\\x1B[${r}m`;\n for (let [r, t] of h)\n u[r] = e ? g(\n d(t[0]),\n d(t[1]),\n t[2]\n ) : a;\n return u;\n}\n\nexport {\n m as a,\n C as b,\n p as c\n};\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as any))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n","export { a as consola, c as createConsola, a as default } from './shared/consola.36c0034f.mjs';\nexport { Consola, LogLevels, LogTypes } from './core.mjs';\nimport './shared/consola.06ad8a64.mjs';\nimport 'node:process';\nimport './utils.mjs';\nimport 'node:tty';\nimport 'node:util';\nimport 'node:path';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { orderBy, camelCase, isValidVarName } from './chunk-
|
|
1
|
+
import { orderBy, camelCase, isValidVarName } from './chunk-MDXPT7LL.js';
|
|
2
2
|
import path, { join, extname, relative } from 'node:path';
|
|
3
3
|
import { trimExtName, write, read, getRelativePath } from '@kubb/fs';
|
|
4
4
|
import hash from 'object-hash';
|
|
@@ -865,7 +865,7 @@ var typeScriptParser = createFileParser({
|
|
|
865
865
|
var tsxParser = createFileParser({
|
|
866
866
|
async format(source) {
|
|
867
867
|
const module = await import('@kubb/parser-ts');
|
|
868
|
-
return module.format(source
|
|
868
|
+
return module.format(source);
|
|
869
869
|
},
|
|
870
870
|
async print(file, options = { extname: ".tsx" }) {
|
|
871
871
|
return typeScriptParser.print(file, options);
|
|
@@ -902,5 +902,5 @@ function trimExtName2(text) {
|
|
|
902
902
|
}
|
|
903
903
|
|
|
904
904
|
export { FileManager, FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getSource, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, processFiles, renderTemplate, setUniqueName, timeout };
|
|
905
|
-
//# sourceMappingURL=chunk-
|
|
906
|
-
//# sourceMappingURL=chunk-
|
|
905
|
+
//# sourceMappingURL=chunk-44OM74QT.js.map
|
|
906
|
+
//# sourceMappingURL=chunk-44OM74QT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts","../src/utils/uniqueName.ts","../src/utils/URLPath.ts","../src/utils/TreeNode.ts","../src/BarrelManager.ts","../src/FileManager.ts","../src/utils/parser.ts"],"names":["item","path","join","extname","name","trimExtName","getRelativePath"],"mappings":"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","file":"chunk-44OM74QT.js","sourcesContent":["import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.#items.push(it))\n return this\n }\n this.#items.push(item)\n\n return this\n }\n static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\n }\n}\n","import type { PossiblePromise } from '@kubb/types'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n","export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n","import { camelCase, isValidVarName } from '../transformers'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\ntype Options = {\n casing?: 'camelcase'\n}\n\nexport class URLPath {\n path: string\n #options: Options\n\n constructor(path: string, options: Options = {}) {\n this.path = path\n this.#options = options\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString(replacer),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString(replacer?: (pathParam: string) => string): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, path) => {\n const pathWithoutBrackets = path.replaceAll('{', '').replaceAll('}', '')\n\n let param = isValidVarName(pathWithoutBrackets) ? pathWithoutBrackets : camelCase(pathWithoutBrackets)\n\n if (this.#options.casing === 'camelcase') {\n param = camelCase(param)\n }\n\n return prev.replace(path, `\\${${replacer ? replacer(param) : param}}`)\n }, this.path)\n }\n\n return `\\`${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n let param = isValidVarName(item) ? item : camelCase(item)\n\n if (this.#options.casing === 'camelcase') {\n param = camelCase(param)\n }\n\n const key = replacer ? replacer(param) : param\n\n params[key] = key\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n","import type * as KubbFile from '@kubb/fs/types'\nimport { FileManager } from '../FileManager.ts'\n\ntype BarrelData = {\n file?: KubbFile.File\n /**\n * @deprecated use file instead\n */\n type: KubbFile.Mode\n path: string\n name: string\n}\n\nexport class TreeNode {\n data: BarrelData\n parent?: TreeNode\n children: Array<TreeNode> = []\n #cachedLeaves?: Array<TreeNode> = undefined\n\n constructor(data: BarrelData, parent?: TreeNode) {\n this.data = data\n this.parent = parent\n return this\n }\n\n addChild(data: BarrelData): TreeNode {\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 get root(): TreeNode {\n if (!this.parent) {\n return this\n }\n return this.parent.root\n }\n\n get leaves(): Array<TreeNode> {\n if (!this.children || this.children.length === 0) {\n // this is a leaf\n return [this]\n }\n\n if (this.#cachedLeaves) {\n return this.#cachedLeaves\n }\n\n // if not a leaf, return all children's leaves recursively\n const leaves: TreeNode[] = []\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\n this.#cachedLeaves = leaves\n\n return leaves\n }\n\n forEach(callback: (treeNode: TreeNode) => 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 findDeep(predicate?: (value: TreeNode, index: number, obj: TreeNode[]) => boolean): TreeNode | undefined {\n if (typeof predicate !== 'function') {\n throw new TypeError('find() predicate must be a function')\n }\n\n return this.leaves.find(predicate)\n }\n\n forEachDeep(callback: (treeNode: TreeNode) => void): void {\n if (typeof callback !== 'function') {\n throw new TypeError('forEach() callback must be a function')\n }\n\n this.leaves.forEach(callback)\n }\n\n filterDeep(callback: (treeNode: TreeNode) => boolean): Array<TreeNode> {\n if (typeof callback !== 'function') {\n throw new TypeError('filter() callback must be a function')\n }\n\n return this.leaves.filter(callback)\n }\n\n mapDeep<T>(callback: (treeNode: TreeNode) => T): Array<T> {\n if (typeof callback !== 'function') {\n throw new TypeError('map() callback must be a function')\n }\n\n return this.leaves.map(callback)\n }\n\n public static build(files: KubbFile.File[], root?: string): TreeNode | null {\n try {\n const filteredTree = buildDirectoryTree(files, root)\n\n if (!filteredTree) {\n return null\n }\n\n const treeNode = new TreeNode({\n name: filteredTree.name,\n path: filteredTree.path,\n file: filteredTree.file,\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 file: item.file,\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 barrel files with the TreeNode class', { cause: e })\n }\n }\n}\n\nexport type DirectoryTree = {\n name: string\n path: string\n file?: KubbFile.File\n children: Array<DirectoryTree>\n}\n\nexport function buildDirectoryTree(files: Array<KubbFile.File>, rootFolder = ''): DirectoryTree | null {\n const rootPrefix = rootFolder.endsWith('/') ? rootFolder : `${rootFolder}/`\n const filteredFiles = files.filter((file) => (rootFolder ? file.path.startsWith(rootPrefix) && !file.path.endsWith('.json') : !file.path.endsWith('.json')))\n\n if (filteredFiles.length === 0) {\n return null // No files match the root folder\n }\n\n const root: DirectoryTree = {\n name: rootFolder || '',\n path: rootFolder || '',\n children: [],\n }\n\n filteredFiles.forEach((file) => {\n const path = file.path.slice(rootFolder.length)\n const parts = path.split('/')\n let currentLevel: DirectoryTree[] = root.children\n let currentPath = rootFolder\n\n parts.forEach((part, index) => {\n if (index !== 0) {\n currentPath += `/${part}`\n } else {\n currentPath += `${part}`\n }\n\n let existingNode = currentLevel.find((node) => node.name === part)\n\n if (!existingNode) {\n if (index === parts.length - 1) {\n // If it's the last part, it's a file\n existingNode = {\n name: part,\n file,\n path: currentPath,\n } as DirectoryTree\n } else {\n // Otherwise, it's a folder\n existingNode = {\n name: part,\n path: currentPath,\n children: [],\n } as DirectoryTree\n }\n currentLevel.push(existingNode)\n }\n\n // Move to the next level if it's a folder\n if (!existingNode.file) {\n currentLevel = existingNode.children\n }\n })\n })\n\n return root\n}\n","import { join } from 'node:path'\n\nimport { TreeNode } from './utils/TreeNode.ts'\n\nimport { getRelativePath } from '@kubb/fs'\nimport type * as KubbFile from '@kubb/fs/types'\nimport type { FileMetaBase } from './FileManager.ts'\nimport type { Logger } from './logger.ts'\n\ntype BarrelManagerOptions = {\n logger?: Logger\n}\n\nexport class BarrelManager {\n #options: BarrelManagerOptions\n\n constructor(options: BarrelManagerOptions = {}) {\n this.#options = options\n\n return this\n }\n\n getFiles({ files: generatedFiles, root, meta }: { files: KubbFile.File[]; root?: string; meta?: FileMetaBase | undefined }): Array<KubbFile.File> {\n const { logger } = this.#options\n\n const cachedFiles = new Map<KubbFile.Path, KubbFile.File>()\n\n logger?.emit('debug', { date: new Date(), logs: [`Start barrel generation for pluginKey ${meta?.pluginKey?.join('.')} and root '${root}'`] })\n\n TreeNode.build(generatedFiles, root)?.forEach((treeNode) => {\n if (!treeNode || !treeNode.children || !treeNode.parent?.data.path) {\n return undefined\n }\n\n const barrelFile: KubbFile.File = {\n path: join(treeNode.parent?.data.path, 'index.ts') as KubbFile.Path,\n baseName: 'index.ts',\n exports: [],\n sources: [],\n }\n const previousBarrelFile = cachedFiles.get(barrelFile.path)\n const leaves = treeNode.leaves\n\n leaves.forEach((item) => {\n if (!item.data.name) {\n return undefined\n }\n\n const sources = item.data.file?.sources || []\n\n if (!sources.some((source) => source.isIndexable)) {\n logger?.emit(\n 'warning',\n `No isIndexable source found(source should have a name and isIndexable):\\nFile: ${JSON.stringify(item.data.file, undefined, 2)}`,\n )\n }\n\n sources.forEach((source) => {\n if (!item.data.file?.path || !source.isIndexable || !source.name) {\n return undefined\n }\n const alreadyContainInPreviousBarrelFile = previousBarrelFile?.sources.some((item) => item.name === source.name)\n\n if (alreadyContainInPreviousBarrelFile) {\n return undefined\n }\n\n if (!barrelFile.exports) {\n barrelFile.exports = []\n }\n\n // true when we have a subdirectory that also contains barrel files\n const isSubExport = !!treeNode.parent?.data.path?.split?.('/')?.length\n\n if (isSubExport) {\n barrelFile.exports.push({\n name: [source.name],\n path: getRelativePath(treeNode.parent?.data.path, item.data.path),\n isTypeOnly: source.isTypeOnly,\n })\n } else {\n barrelFile.exports.push({\n name: [source.name],\n path: `./${item.data.file.baseName}`,\n isTypeOnly: source.isTypeOnly,\n })\n }\n\n barrelFile.sources.push({\n name: source.name,\n isTypeOnly: source.isTypeOnly,\n //TODO use parser to generate import\n value: '',\n isExportable: false,\n isIndexable: false,\n })\n })\n })\n\n logger?.emit('debug', {\n date: new Date(),\n logs: [\n `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(', ')}'`,\n ],\n })\n\n logger?.emit('debug', {\n date: new Date(),\n logs: [\n `Generated barrelFile '${getRelativePath(root, barrelFile.path)}' for '${getRelativePath(root, treeNode.data?.path)}' with exports: '${cachedFiles\n .get(barrelFile.path)\n ?.sources?.map((source) => source.name)\n .join(', ')}'`,\n ],\n })\n\n if (previousBarrelFile) {\n previousBarrelFile.sources.push(...barrelFile.sources)\n previousBarrelFile.exports?.push(...(barrelFile.exports || []))\n } else {\n cachedFiles.set(barrelFile.path, barrelFile)\n }\n })\n\n return [...cachedFiles.values()]\n }\n}\n","import { extname, join, relative } from 'node:path'\n\nimport { orderBy } from 'natural-orderby'\nimport { isDeepEqual } from 'remeda'\n\nimport { read, write } from '@kubb/fs'\nimport { BarrelManager } from './BarrelManager.ts'\n\nimport type * as KubbFile from '@kubb/fs/types'\n\nimport { trimExtName } from '@kubb/fs'\nimport type { ResolvedFile } from '@kubb/fs/types'\nimport type { GreaterThan } from '@kubb/types'\nimport PQueue from 'p-queue'\nimport type { Logger } from './logger.ts'\nimport type { BarrelType, Config, Plugin } from './types.ts'\nimport { createFile, getFileParser } from './utils'\nimport { type DirectoryTree, TreeNode, buildDirectoryTree } from './utils/TreeNode.ts'\n\nexport type FileMetaBase = {\n pluginKey?: Plugin['key']\n}\n\ntype AddResult<T extends Array<KubbFile.File>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>\n\ntype AddIndexesProps = {\n type: BarrelType | false | undefined\n /**\n * Root based on root and output.path specified in the config\n */\n root: string\n files: KubbFile.File[]\n /**\n * Output for plugin\n */\n output: {\n path: string\n }\n group?: {\n output: string\n exportAs: string\n }\n logger?: Logger\n\n meta?: FileMetaBase\n}\n\nexport class FileManager {\n #filesByPath: Map<KubbFile.Path, KubbFile.ResolvedFile> = new Map()\n constructor() {\n return this\n }\n\n get files(): Array<KubbFile.ResolvedFile> {\n return [...this.#filesByPath.values()]\n }\n\n get orderedFiles(): Array<KubbFile.ResolvedFile> {\n return orderBy(\n [...this.#filesByPath.values()],\n [\n (v) => v?.meta && 'pluginKey' in v.meta && !v.meta.pluginKey,\n (v) => v.path.length,\n (v) => trimExtName(v.path).endsWith('index'),\n (v) => trimExtName(v.baseName),\n (v) => v.path.split('.').pop(),\n ],\n )\n }\n\n get groupedFiles(): DirectoryTree | null {\n return buildDirectoryTree([...this.#filesByPath.values()])\n }\n\n get treeNode(): TreeNode | null {\n return TreeNode.build([...this.#filesByPath.values()])\n }\n\n async add<T extends Array<KubbFile.File> = Array<KubbFile.File>>(...files: T): AddResult<T> {\n const promises = 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: KubbFile.File): Promise<ResolvedFile> {\n const resolvedFile = createFile(file)\n\n this.#filesByPath.set(resolvedFile.path, resolvedFile)\n\n return resolvedFile\n }\n\n clear() {\n this.#filesByPath.clear()\n }\n\n async #addOrAppend(file: KubbFile.File): Promise<ResolvedFile> {\n const previousFile = this.#filesByPath.get(file.path)\n\n if (previousFile) {\n this.#filesByPath.delete(previousFile.path)\n\n return this.#add(mergeFile(previousFile, file))\n }\n return this.#add(file)\n }\n\n getCacheById(id: string): KubbFile.File | undefined {\n return [...this.#filesByPath.values()].find((file) => file.id === id)\n }\n\n getByPath(path: KubbFile.Path): KubbFile.ResolvedFile | undefined {\n return this.#filesByPath.get(path)\n }\n\n deleteByPath(path: KubbFile.Path): void {\n const cacheItem = this.getByPath(path)\n if (!cacheItem) {\n return\n }\n\n this.#filesByPath.delete(path)\n }\n\n async getBarrelFiles({ type, files, meta = {}, root, output, logger }: AddIndexesProps): Promise<KubbFile.File[]> {\n if (!type || type === 'propagate') {\n return []\n }\n\n const barrelManager = new BarrelManager({ logger })\n\n const pathToBuildFrom = join(root, output.path)\n\n if (trimExtName(pathToBuildFrom).endsWith('index')) {\n logger?.emit('warning', 'Output has the same fileName as the barrelFiles, please disable barrel generation')\n\n return []\n }\n\n const barrelFiles = barrelManager.getFiles({ files, root: pathToBuildFrom, meta })\n\n if (type === 'all') {\n return barrelFiles.map((file) => {\n return {\n ...file,\n exports: file.exports?.map((exportItem) => {\n return {\n ...exportItem,\n name: undefined,\n }\n }),\n }\n })\n }\n\n return barrelFiles.map((indexFile) => {\n return {\n ...indexFile,\n meta,\n }\n })\n }\n\n async write(...params: Parameters<typeof write>): ReturnType<typeof write> {\n return write(...params)\n }\n\n async read(...params: Parameters<typeof read>): ReturnType<typeof read> {\n return read(...params)\n }\n\n // statics\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\ntype GetSourceOptions = {\n extname?: KubbFile.Extname\n logger?: Logger\n}\n\nexport async function getSource<TMeta extends FileMetaBase = FileMetaBase>(\n file: ResolvedFile<TMeta>,\n { logger, extname }: GetSourceOptions = {},\n): Promise<string> {\n const parser = await getFileParser(file.extname)\n const source = await parser.print(file, { logger, extname })\n\n return parser.format(source)\n}\n\nfunction mergeFile<TMeta extends FileMetaBase = FileMetaBase>(a: KubbFile.File<TMeta>, b: KubbFile.File<TMeta>): KubbFile.File<TMeta> {\n return {\n ...a,\n sources: [...(a.sources || []), ...(b.sources || [])],\n imports: [...(a.imports || []), ...(b.imports || [])],\n exports: [...(a.exports || []), ...(b.exports || [])],\n }\n}\n\nexport function combineSources(sources: Array<KubbFile.Source>): Array<KubbFile.Source> {\n return sources.reduce(\n (prev, curr) => {\n const prevByName = prev.findLast((imp) => imp.name && imp.name === curr.name)\n const prevByPathAndIsExportable = prev.findLast((imp) => imp.name === curr.name && imp.isExportable)\n\n if (prevByPathAndIsExportable) {\n // we already have an export that has the same name but uses `isExportable` (export type ...)\n return [...prev, curr]\n }\n\n if (prevByName) {\n prevByName.value = curr.value\n prevByName.isExportable = curr.isExportable\n prevByName.isTypeOnly = curr.isTypeOnly\n prevByName.isIndexable = curr.isIndexable\n\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Source>,\n )\n}\n\nexport function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {\n return orderBy(exports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ]).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 // we already have an item that was unique enough or name field is empty or prev asAlias is set but current has no changes\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 // merge all names when prev and current both have the same isTypeOnly set\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\nexport function combineImports(imports: Array<KubbFile.Import>, exports: Array<KubbFile.Export>, source?: string): Array<KubbFile.Import> {\n return orderBy(imports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ]).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) => {\n return name && !!source.includes(name)\n }\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 // merge all names and check if the importName is being used in the generated source and if not filter those imports out\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 // already unique enough or name is empty\n if (uniquePrev || (Array.isArray(name) && !name.length)) {\n return prev\n }\n\n // new item, append name\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name,\n },\n ]\n }\n\n // merge all names when prev and current both have the same isTypeOnly set\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 // no import was found in the source, ignore import\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\ntype WriteFilesProps = {\n root: Config['root']\n files: Array<KubbFile.ResolvedFile>\n extension?: Record<KubbFile.Extname, KubbFile.Extname | ''>\n logger?: Logger\n dryRun?: boolean\n}\n/**\n * Global queue\n */\nconst queue = new PQueue({ concurrency: 100 })\n\nexport async function processFiles({ dryRun, root, extension, logger, files }: WriteFilesProps) {\n const orderedFiles = orderBy(files, [\n (v) => v?.meta && 'pluginKey' in v.meta && !v.meta.pluginKey,\n (v) => v.path.length,\n (v) => trimExtName(v.path).endsWith('index'),\n ])\n\n logger?.emit('debug', {\n date: new Date(),\n logs: [JSON.stringify({ files: orderedFiles }, null, 2)],\n fileName: 'kubb-files.log',\n })\n\n if (!dryRun) {\n const size = orderedFiles.length\n\n logger?.emit('progress_start', { id: 'files', size, message: 'Writing files ...' })\n const promises = orderedFiles.map(async (file) => {\n await queue.add(async () => {\n const message = file ? `Writing ${relative(root, file.path)}` : ''\n const extname = extension?.[file.extname] || undefined\n\n const source = await getSource(file, { logger, extname })\n\n await write(file.path, source, { sanity: false })\n\n logger?.emit('progressed', { id: 'files', message })\n })\n })\n\n await Promise.all(promises)\n\n logger?.emit('progress_stop', { id: 'files' })\n }\n\n return files\n}\n","import path from 'node:path'\nimport type * as KubbFile from '@kubb/fs/types'\n\nimport { getRelativePath } from '@kubb/fs'\nimport hash from 'object-hash'\nimport { combineExports, combineImports, combineSources } from '../FileManager.ts'\nimport type { Logger } from '../logger.ts'\n\n/**\n * Helper to create a file with name and id set\n */\nexport function createFile<TMeta extends object = object>(file: KubbFile.File<TMeta>): KubbFile.ResolvedFile<TMeta> {\n const extname = path.extname(file.baseName) as KubbFile.Extname\n\n if (!extname) {\n throw new Error(`No extname found for ${file.baseName}`)\n }\n\n const source = file.sources.map((item) => item.value).join('\\n\\n')\n const exports = file.exports ? combineExports(file.exports) : []\n const imports = file.imports && source ? combineImports(file.imports, exports, source) : []\n const sources = file.sources ? combineSources(file.sources) : []\n\n return {\n ...file,\n id: hash({ path: file.path }),\n name: trimExtName(file.baseName),\n extname,\n imports: imports.map((item) => createFileImport(item)),\n exports: exports.map((item) => createFileExport(item)),\n sources: sources.map((item) => createFileSource(item)),\n meta: file.meta || ({} as TMeta),\n }\n}\n\n/**\n * Helper to create a fileImport with extname set\n */\nfunction createFileSource(source: KubbFile.Source): KubbFile.Source {\n return source\n}\n\n/**\n * Helper to create a fileImport with extname set\n */\nexport function createFileImport(imp: KubbFile.Import): KubbFile.ResolvedImport {\n return {\n ...imp,\n }\n}\n\n/**\n * Helper to create a fileExport with extname set\n */\nexport function createFileExport(exp: KubbFile.Export): KubbFile.ResolvedExport {\n return {\n ...exp,\n }\n}\n\nexport type ParserModule<TMeta extends object = object> = {\n format: (source: string) => Promise<string>\n /**\n * Convert a file to string\n */\n print: (file: KubbFile.ResolvedFile<TMeta>, options: PrintOptions) => Promise<string>\n}\n\nexport function createFileParser<TMeta extends object = object>(parser: ParserModule<TMeta>): ParserModule<TMeta> {\n return parser\n}\n\ntype PrintOptions = {\n extname?: KubbFile.Extname\n logger?: Logger\n}\n\nconst typeScriptParser = createFileParser({\n async format(source) {\n const module = await import('@kubb/parser-ts')\n\n return module.format(source)\n },\n async print(file, options = { extname: '.ts' }) {\n const module = await import('@kubb/parser-ts')\n\n const source = file.sources.map((item) => item.value).join('\\n\\n')\n\n const importNodes = file.imports\n .map((item) => {\n const importPath = item.root ? getRelativePath(item.root, item.path) : item.path\n const hasExtname = !!path.extname(importPath)\n\n return module.factory.createImportDeclaration({\n name: item.name,\n path: options.extname && hasExtname ? `${trimExtName(importPath)}${options.extname}` : trimExtName(importPath),\n isTypeOnly: item.isTypeOnly,\n })\n })\n .filter(Boolean)\n\n const exportNodes = file.exports\n .map((item) => {\n const exportPath = item.path\n\n const hasExtname = !!path.extname(exportPath)\n\n return module.factory.createExportDeclaration({\n name: item.name,\n path: options.extname && hasExtname ? `${trimExtName(item.path)}${options.extname}` : trimExtName(item.path),\n isTypeOnly: item.isTypeOnly,\n asAlias: item.asAlias,\n })\n })\n .filter(Boolean)\n\n return [file.banner, module.print([...importNodes, ...exportNodes]), source, file.footer].join('\\n')\n },\n})\n\nconst tsxParser = createFileParser({\n async format(source) {\n const module = await import('@kubb/parser-ts')\n //4 = tsx\n return module.format(source)\n },\n async print(file, options = { extname: '.tsx' }) {\n return typeScriptParser.print(file, options)\n },\n})\n\nconst defaultParser = createFileParser({\n async format(source) {\n return source\n },\n async print(file) {\n return file.sources.map((item) => item.value).join('\\n\\n')\n },\n})\n\nconst parsers: Record<KubbFile.Extname, ParserModule<any>> = {\n '.ts': typeScriptParser,\n '.js': typeScriptParser,\n '.jsx': tsxParser,\n '.tsx': tsxParser,\n '.json': defaultParser,\n}\n\nexport async function getFileParser<TMeta extends object = object>(extname: KubbFile.Extname | undefined): Promise<ParserModule<TMeta>> {\n if (!extname) {\n return defaultParser\n }\n\n const parser = parsers[extname]\n\n if (!parser) {\n console.warn(`[parser] No parser found for ${extname}, default parser will be used`)\n }\n\n return parser || defaultParser\n}\n\nfunction trimExtName(text: string): string {\n const extname = text.split('.').pop()\n\n return text.replace(`.${extname}`, '')\n}\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkJPDOTVWM_cjs = require('./chunk-JPDOTVWM.cjs');
|
|
4
4
|
var remeda = require('remeda');
|
|
5
5
|
|
|
6
6
|
// src/transformers/index.ts
|
|
7
|
-
|
|
7
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
8
8
|
|
|
9
|
-
// ../../node_modules/.pnpm/natural-orderby@
|
|
10
|
-
|
|
9
|
+
// ../../node_modules/.pnpm/natural-orderby@5.0.0/node_modules/natural-orderby/dist/index.js
|
|
10
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
11
11
|
var compareNumbers = function compareNumbers2(numberA, numberB) {
|
|
12
12
|
if (numberA < numberB) {
|
|
13
13
|
return -1;
|
|
@@ -17,8 +17,8 @@ var compareNumbers = function compareNumbers2(numberA, numberB) {
|
|
|
17
17
|
}
|
|
18
18
|
return 0;
|
|
19
19
|
};
|
|
20
|
-
var compareUnicode = function compareUnicode2(stringA, stringB) {
|
|
21
|
-
var result = stringA.localeCompare(stringB);
|
|
20
|
+
var compareUnicode = function compareUnicode2(stringA, stringB, locale) {
|
|
21
|
+
var result = stringA.localeCompare(stringB, locale);
|
|
22
22
|
return result ? result / Math.abs(result) : 0;
|
|
23
23
|
};
|
|
24
24
|
var RE_NUMBERS = /(^0x[\da-fA-F]+$|^([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?!\.\d+)(?=\D|\s|$))|\d+)/g;
|
|
@@ -37,7 +37,7 @@ var stringCompare = function stringCompare2(stringA, stringB) {
|
|
|
37
37
|
}
|
|
38
38
|
return 0;
|
|
39
39
|
};
|
|
40
|
-
var compareChunks = function compareChunks2(chunksA, chunksB) {
|
|
40
|
+
var compareChunks = function compareChunks2(chunksA, chunksB, locale) {
|
|
41
41
|
var lengthA = chunksA.length;
|
|
42
42
|
var lengthB = chunksB.length;
|
|
43
43
|
var size = Math.min(lengthA, lengthB);
|
|
@@ -57,7 +57,7 @@ var compareChunks = function compareChunks2(chunksA, chunksB) {
|
|
|
57
57
|
} else if (chunkA.parsedNumber !== void 0 || chunkB.parsedNumber !== void 0) {
|
|
58
58
|
return chunkA.parsedNumber !== void 0 ? -1 : 1;
|
|
59
59
|
} else if (RE_UNICODE_CHARACTERS.test(chunkA.normalizedString + chunkB.normalizedString)) {
|
|
60
|
-
return compareUnicode(chunkA.normalizedString, chunkB.normalizedString);
|
|
60
|
+
return compareUnicode(chunkA.normalizedString, chunkB.normalizedString, locale);
|
|
61
61
|
} else {
|
|
62
62
|
return stringCompare(chunkA.normalizedString, chunkB.normalizedString);
|
|
63
63
|
}
|
|
@@ -92,7 +92,7 @@ var compareOtherTypes = function compareOtherTypes2(valueA, valueB) {
|
|
|
92
92
|
}
|
|
93
93
|
return 0;
|
|
94
94
|
};
|
|
95
|
-
var compareValues = function compareValues2(valueA, valueB) {
|
|
95
|
+
var compareValues = function compareValues2(valueA, valueB, locale) {
|
|
96
96
|
if (valueA.value === valueB.value) {
|
|
97
97
|
return 0;
|
|
98
98
|
}
|
|
@@ -100,7 +100,7 @@ var compareValues = function compareValues2(valueA, valueB) {
|
|
|
100
100
|
return compareNumbers(valueA.parsedNumber, valueB.parsedNumber);
|
|
101
101
|
}
|
|
102
102
|
if (valueA.chunks && valueB.chunks) {
|
|
103
|
-
return compareChunks(valueA.chunks, valueB.chunks);
|
|
103
|
+
return compareChunks(valueA.chunks, valueB.chunks, locale);
|
|
104
104
|
}
|
|
105
105
|
return compareOtherTypes(valueA, valueB);
|
|
106
106
|
};
|
|
@@ -109,7 +109,7 @@ var normalizeAlphaChunk = function normalizeAlphaChunk2(chunk) {
|
|
|
109
109
|
};
|
|
110
110
|
var parseNumber = function parseNumber2(value) {
|
|
111
111
|
if (value.length !== 0) {
|
|
112
|
-
var parsedNumber = Number(value);
|
|
112
|
+
var parsedNumber = Number(value.replace(/_/g, ""));
|
|
113
113
|
if (!Number.isNaN(parsedNumber)) {
|
|
114
114
|
return parsedNumber;
|
|
115
115
|
}
|
|
@@ -212,7 +212,7 @@ var getMappedValueRecord = function getMappedValueRecord2(value) {
|
|
|
212
212
|
value
|
|
213
213
|
};
|
|
214
214
|
};
|
|
215
|
-
var compareMultiple = function compareMultiple2(recordA, recordB, orders) {
|
|
215
|
+
var compareMultiple = function compareMultiple2(recordA, recordB, orders, locale) {
|
|
216
216
|
var indexA = recordA.index, valuesA = recordA.values;
|
|
217
217
|
var indexB = recordB.index, valuesB = recordB.values;
|
|
218
218
|
var length = valuesA.length;
|
|
@@ -225,7 +225,7 @@ var compareMultiple = function compareMultiple2(recordA, recordB, orders) {
|
|
|
225
225
|
return result;
|
|
226
226
|
}
|
|
227
227
|
} else {
|
|
228
|
-
var _result = compareValues(valuesA[i], valuesB[i]);
|
|
228
|
+
var _result = compareValues(valuesA[i], valuesB[i], locale);
|
|
229
229
|
if (_result) {
|
|
230
230
|
return _result * (order === "desc" ? -1 : 1);
|
|
231
231
|
}
|
|
@@ -256,7 +256,7 @@ var getElementByIndex = function getElementByIndex2(collection, index) {
|
|
|
256
256
|
var getValueByIdentifier = function getValueByIdentifier2(value, getValue) {
|
|
257
257
|
return getValue(value);
|
|
258
258
|
};
|
|
259
|
-
var baseOrderBy = function baseOrderBy2(collection, identifiers, orders) {
|
|
259
|
+
var baseOrderBy = function baseOrderBy2(collection, identifiers, orders, locale) {
|
|
260
260
|
var identifierFns = identifiers.length ? identifiers.map(createIdentifierFn) : [function(value) {
|
|
261
261
|
return value;
|
|
262
262
|
}];
|
|
@@ -270,7 +270,7 @@ var baseOrderBy = function baseOrderBy2(collection, identifiers, orders) {
|
|
|
270
270
|
};
|
|
271
271
|
});
|
|
272
272
|
mappedCollection.sort(function(recordA, recordB) {
|
|
273
|
-
return compareMultiple(recordA, recordB, orders);
|
|
273
|
+
return compareMultiple(recordA, recordB, orders, locale);
|
|
274
274
|
});
|
|
275
275
|
return mappedCollection.map(function(element) {
|
|
276
276
|
return getElementByIndex(collection, element.index);
|
|
@@ -300,20 +300,20 @@ var getOrders = function getOrders2(orders) {
|
|
|
300
300
|
}
|
|
301
301
|
return orderList;
|
|
302
302
|
};
|
|
303
|
-
function orderBy(collection, identifiers, orders) {
|
|
303
|
+
function orderBy(collection, identifiers, orders, locale) {
|
|
304
304
|
if (!collection || !Array.isArray(collection)) {
|
|
305
305
|
return [];
|
|
306
306
|
}
|
|
307
307
|
var validatedIdentifiers = getIdentifiers(identifiers);
|
|
308
308
|
var validatedOrders = getOrders(orders);
|
|
309
|
-
return baseOrderBy(collection, validatedIdentifiers, validatedOrders);
|
|
309
|
+
return baseOrderBy(collection, validatedIdentifiers, validatedOrders, locale);
|
|
310
310
|
}
|
|
311
311
|
|
|
312
312
|
// src/transformers/casing.ts
|
|
313
|
-
|
|
313
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
314
314
|
|
|
315
315
|
// ../../node_modules/.pnpm/change-case@5.4.4/node_modules/change-case/dist/index.js
|
|
316
|
-
|
|
316
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
317
317
|
var SPLIT_LOWER_UPPER_RE = new RegExp("([\\p{Ll}\\d])(\\p{Lu})", "gu");
|
|
318
318
|
var SPLIT_UPPER_UPPER_RE = new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])", "gu");
|
|
319
319
|
var SPLIT_SEPARATE_NUMBER_RE = new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d", "u");
|
|
@@ -443,13 +443,13 @@ function pathCase2(text, { isFile, prefix = "", suffix = "" } = {}) {
|
|
|
443
443
|
}
|
|
444
444
|
|
|
445
445
|
// src/transformers/combineCodes.ts
|
|
446
|
-
|
|
446
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
447
447
|
function combineCodes(codes) {
|
|
448
448
|
return codes.join("\n");
|
|
449
449
|
}
|
|
450
450
|
|
|
451
451
|
// src/transformers/createJSDocBlockText.ts
|
|
452
|
-
|
|
452
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
453
453
|
function createJSDocBlockText({ comments }) {
|
|
454
454
|
const filteredComments = comments.filter(Boolean);
|
|
455
455
|
if (!filteredComments.length) {
|
|
@@ -461,7 +461,7 @@ function createJSDocBlockText({ comments }) {
|
|
|
461
461
|
}
|
|
462
462
|
|
|
463
463
|
// src/transformers/escape.ts
|
|
464
|
-
|
|
464
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
465
465
|
function escape(text) {
|
|
466
466
|
return text ? text.replaceAll("`", "\\`") : "";
|
|
467
467
|
}
|
|
@@ -488,13 +488,13 @@ function jsStringEscape(input) {
|
|
|
488
488
|
}
|
|
489
489
|
|
|
490
490
|
// src/transformers/indent.ts
|
|
491
|
-
|
|
491
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
492
492
|
function createIndent(size) {
|
|
493
493
|
return Array.from({ length: size + 1 }).join(" ");
|
|
494
494
|
}
|
|
495
495
|
|
|
496
496
|
// src/transformers/nameSorter.ts
|
|
497
|
-
|
|
497
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
498
498
|
function nameSorter(a, b) {
|
|
499
499
|
if (a.name < b.name) {
|
|
500
500
|
return -1;
|
|
@@ -506,7 +506,7 @@ function nameSorter(a, b) {
|
|
|
506
506
|
}
|
|
507
507
|
|
|
508
508
|
// src/transformers/searchAndReplace.ts
|
|
509
|
-
|
|
509
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
510
510
|
function searchAndReplace(options) {
|
|
511
511
|
const { text, replaceBy, prefix = "", key } = options;
|
|
512
512
|
const searchValues = options.searchValues?.(prefix, key) || [
|
|
@@ -524,10 +524,10 @@ function searchAndReplace(options) {
|
|
|
524
524
|
}
|
|
525
525
|
|
|
526
526
|
// src/transformers/stringify.ts
|
|
527
|
-
|
|
527
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
528
528
|
|
|
529
529
|
// src/transformers/trim.ts
|
|
530
|
-
|
|
530
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
531
531
|
function trim(text) {
|
|
532
532
|
return text.replaceAll(/\n/g, "").trim();
|
|
533
533
|
}
|
|
@@ -564,7 +564,7 @@ function stringifyObject(value) {
|
|
|
564
564
|
}
|
|
565
565
|
|
|
566
566
|
// src/transformers/toRegExp.ts
|
|
567
|
-
|
|
567
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
568
568
|
function stringToRegex(text) {
|
|
569
569
|
const isStartWithSlash = text.startsWith("/");
|
|
570
570
|
const isEndWithSlash = text.endsWith("/");
|
|
@@ -580,12 +580,15 @@ function toRegExp(text) {
|
|
|
580
580
|
function toRegExpString(text, func = "RegExp") {
|
|
581
581
|
const isStartWithSlash = text.startsWith("/");
|
|
582
582
|
const isEndWithSlash = text.endsWith("/");
|
|
583
|
+
if (func === null) {
|
|
584
|
+
return `/${text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0).replaceAll("/", "\\/")}/`;
|
|
585
|
+
}
|
|
583
586
|
const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0))}')`;
|
|
584
587
|
return regexp;
|
|
585
588
|
}
|
|
586
589
|
|
|
587
590
|
// src/transformers/transformReservedWord.ts
|
|
588
|
-
|
|
591
|
+
chunkJPDOTVWM_cjs.init_cjs_shims();
|
|
589
592
|
var reservedWords = [
|
|
590
593
|
"abstract",
|
|
591
594
|
"arguments",
|
|
@@ -713,7 +716,7 @@ var transformers_default = {
|
|
|
713
716
|
|
|
714
717
|
natural-orderby/dist/index.js:
|
|
715
718
|
(**
|
|
716
|
-
* natural-orderby
|
|
719
|
+
* natural-orderby v5.0.0
|
|
717
720
|
*
|
|
718
721
|
* Copyright (c) Olaf Ennen
|
|
719
722
|
*
|
|
@@ -748,5 +751,5 @@ exports.transformReservedWord = transformReservedWord;
|
|
|
748
751
|
exports.transformers_default = transformers_default;
|
|
749
752
|
exports.trim = trim;
|
|
750
753
|
exports.trimQuotes = trimQuotes;
|
|
751
|
-
//# sourceMappingURL=chunk-
|
|
752
|
-
//# sourceMappingURL=chunk-
|
|
754
|
+
//# sourceMappingURL=chunk-J3TPOTFY.cjs.map
|
|
755
|
+
//# sourceMappingURL=chunk-J3TPOTFY.cjs.map
|