@kubb/cli 3.0.0-alpha.9 → 3.0.0-beta.10
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/README.md +14 -5
- package/dist/{chunk-CZ3C3WQD.js → chunk-LA3QWVJI.js} +63 -99
- package/dist/chunk-LA3QWVJI.js.map +1 -0
- package/dist/{chunk-LK3JKOEH.cjs → chunk-LV33XAJU.cjs} +593 -701
- package/dist/chunk-LV33XAJU.cjs.map +1 -0
- package/dist/{generate-IFZ2Y6PO.js → generate-E3BIV7UD.js} +38 -53
- package/dist/generate-E3BIV7UD.js.map +1 -0
- package/dist/generate-HD6YYTQO.cjs +244 -0
- package/dist/generate-HD6YYTQO.cjs.map +1 -0
- package/dist/index.cjs +26 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -6
- package/dist/index.d.ts +3 -6
- package/dist/index.js +11 -18
- package/dist/index.js.map +1 -1
- package/package.json +15 -19
- package/src/commands/generate.ts +23 -17
- package/src/generate.ts +43 -45
- package/src/index.ts +1 -1
- package/src/utils/Writables.ts +2 -2
- package/src/utils/executeHooks.ts +5 -5
- package/src/utils/getCosmiConfig.ts +4 -15
- package/src/utils/getSummary.ts +4 -6
- package/src/utils/watcher.ts +4 -6
- package/bin/bkubb.cjs +0 -6
- package/dist/chunk-CZ3C3WQD.js.map +0 -1
- package/dist/chunk-LK3JKOEH.cjs.map +0 -1
- package/dist/generate-CMBXNVHT.cjs +0 -228
- package/dist/generate-CMBXNVHT.cjs.map +0 -1
- package/dist/generate-IFZ2Y6PO.js.map +0 -1
- package/src/utils/writeLog.ts +0 -28
package/dist/index.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { defineCommand, runCommand, runMain } from "citty";
|
|
7
|
-
import getLatestVersion from "latest-version";
|
|
8
|
-
import { lt } from "semver";
|
|
9
|
-
import consola from "consola";
|
|
1
|
+
export { generate } from './chunk-LA3QWVJI.js';
|
|
2
|
+
import { defineCommand, runCommand, runMain } from 'citty';
|
|
3
|
+
import getLatestVersion from 'latest-version';
|
|
4
|
+
import { lt } from 'semver';
|
|
5
|
+
import consola from 'consola';
|
|
10
6
|
|
|
11
7
|
// package.json
|
|
12
|
-
var version = "3.0.0-
|
|
13
|
-
|
|
14
|
-
// src/index.ts
|
|
8
|
+
var version = "3.0.0-beta.10";
|
|
15
9
|
var name = "kubb";
|
|
16
10
|
var main = defineCommand({
|
|
17
11
|
meta: {
|
|
@@ -37,20 +31,19 @@ Run \`npm install -g @kubb/cli\` to update`,
|
|
|
37
31
|
} catch (_e) {
|
|
38
32
|
}
|
|
39
33
|
if (rawArgs[0] !== "generate") {
|
|
40
|
-
const generateCommand = await import(
|
|
34
|
+
const generateCommand = await import('./generate-E3BIV7UD.js').then((r) => r.default);
|
|
41
35
|
await runCommand(generateCommand, { rawArgs });
|
|
42
36
|
process.exit(0);
|
|
43
37
|
}
|
|
44
38
|
},
|
|
45
39
|
subCommands: {
|
|
46
|
-
generate: () => import(
|
|
40
|
+
generate: () => import('./generate-E3BIV7UD.js').then((r) => r.default)
|
|
47
41
|
}
|
|
48
42
|
});
|
|
49
43
|
async function run(_argv) {
|
|
50
44
|
await runMain(main);
|
|
51
45
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
};
|
|
46
|
+
|
|
47
|
+
export { run };
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
56
49
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";;;;;;;AAEE,IAAW,OAAA,GAAA,eAAA;ACKb,IAAM,IAAO,GAAA,MAAA;AAEb,IAAM,OAAO,aAAc,CAAA;AAAA,EACzB,IAAM,EAAA;AAAA,IACJ,IAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAa,EAAA;AAAA,GACf;AAAA,EACA,MAAM,KAAA,CAAM,EAAE,OAAA,EAAW,EAAA;AACvB,IAAI,IAAA;AACF,MAAM,MAAA,aAAA,GAAgB,MAAM,gBAAA,CAAiB,WAAW,CAAA;AAExD,MAAI,IAAA,EAAA,CAAG,OAAS,EAAA,aAAa,CAAG,EAAA;AAC9B,QAAA,OAAA,CAAQ,GAAI,CAAA;AAAA,UACV,KAAO,EAAA,8BAAA;AAAA,UACP,OAAS,EAAA,CAAA,GAAA,EAAM,OAAO,CAAA,aAAA,EAAW,aAAa,CAAA;AAAA,0CAAA,CAAA;AAAA,UAE9C,KAAO,EAAA;AAAA,YACL,OAAS,EAAA,CAAA;AAAA,YACT,WAAa,EAAA,QAAA;AAAA,YACb,WAAa,EAAA;AAAA;AACf,SACD,CAAA;AAAA;AACH,aACO,EAAI,EAAA;AAAA;AAEb,IAAI,IAAA,OAAA,CAAQ,CAAC,CAAA,KAAM,UAAY,EAAA;AAE7B,MAAM,MAAA,eAAA,GAAkB,MAAM,OAAO,wBAAwB,EAAE,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,CAAA;AAEpF,MAAA,MAAM,UAAW,CAAA,eAAA,EAAiB,EAAE,OAAA,EAAS,CAAA;AAE7C,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA;AAChB,GACF;AAAA,EACA,WAAa,EAAA;AAAA,IACX,QAAA,EAAU,MAAM,OAAO,wBAAwB,EAAE,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO;AAAA;AAE1E,CAAC,CAAA;AAED,eAAsB,IAAI,KAAiC,EAAA;AACzD,EAAA,MAAM,QAAQ,IAAI,CAAA;AACpB","file":"index.js","sourcesContent":["{\n \"name\": \"@kubb/cli\",\n \"version\": \"3.0.0-beta.10\",\n \"description\": \"Generator cli\",\n \"keywords\": [\n \"typescript\",\n \"plugins\",\n \"kubb\",\n \"codegen\",\n \"cli\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/kubb-labs/kubb.git\",\n \"directory\": \"packages/cli\"\n },\n \"license\": \"MIT\",\n \"author\": \"Stijn Van Hulle <stijn@stijnvanhulle.be\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"exports\": {\n \".\": {\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\",\n \"default\": \"./dist/index.cjs\"\n }\n },\n \"main\": \"dist/index.cjs\",\n \"module\": \"dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"bin\": {\n \"kubb\": \"bin/kubb.cjs\"\n },\n \"files\": [\n \"src\",\n \"dist\",\n \"bin\",\n \"!/**/**.test.**\",\n \"!/**/__tests__/**\"\n ],\n \"scripts\": {\n \"build\": \"tsup\",\n \"clean\": \"npx rimraf ./dist\",\n \"lint\": \"bun biome lint .\",\n \"lint:fix\": \"bun biome lint --apply-unsafe .\",\n \"release\": \"pnpm publish --no-git-check\",\n \"release:canary\": \"bash ../../.github/canary.sh && node ../../scripts/build.js canary && pnpm publish --no-git-check\",\n \"start\": \"tsup --watch\",\n \"test\": \"vitest --passWithNoTests\",\n \"typecheck\": \"tsc -p ./tsconfig.json --noEmit --emitDeclarationOnly false\"\n },\n \"dependencies\": {\n \"@kubb/core\": \"workspace:*\",\n \"chokidar\": \"^4.0.1\",\n \"citty\": \"^0.1.6\",\n \"cli-progress\": \"^3.12.0\",\n \"consola\": \"^3.2.3\",\n \"cosmiconfig\": \"^9.0.0\",\n \"execa\": \"^9.5.1\",\n \"jiti\": \"^2.3.3\",\n \"latest-version\": \"^9.0.0\",\n \"p-queue\": \"^8.0.1\",\n \"semver\": \"^7.6.3\",\n \"string-argv\": \"^0.3.2\",\n \"tinyrainbow\": \"^1.2.0\"\n },\n \"devDependencies\": {\n \"@kubb/config-ts\": \"workspace:*\",\n \"@kubb/config-tsup\": \"workspace:*\",\n \"@kubb/plugin-oas\": \"workspace:*\",\n \"@types/cli-progress\": \"^3.11.6\",\n \"@types/node\": \"^20.17.3\",\n \"@types/semver\": \"^7.5.8\",\n \"source-map-support\": \"^0.5.21\",\n \"tsup\": \"^8.3.5\",\n \"typescript\": \"^5.6.3\"\n },\n \"engines\": {\n \"node\": \">=20\"\n },\n \"preferGlobal\": true,\n \"publishConfig\": {\n \"access\": \"public\",\n \"registry\": \"https://registry.npmjs.org/\"\n }\n}\n","import { defineCommand, runCommand, runMain } from 'citty'\nimport getLatestVersion from 'latest-version'\nimport { lt } from 'semver'\n\nimport { version } from '../package.json'\nimport consola from 'consola'\n\nconst name = 'kubb'\n\nconst main = defineCommand({\n meta: {\n name,\n version,\n description: 'Kubb generation',\n },\n async setup({ rawArgs }) {\n try {\n const latestVersion = await getLatestVersion('@kubb/cli')\n\n if (lt(version, latestVersion)) {\n consola.box({\n title: 'Update available for `Kubb` ',\n message: `\\`v${version}\\` → \\`v${latestVersion}\\`\nRun \\`npm install -g @kubb/cli\\` to update`,\n style: {\n padding: 2,\n borderColor: 'yellow',\n borderStyle: 'rounded',\n },\n })\n }\n } catch (_e) {}\n\n if (rawArgs[0] !== 'generate') {\n // generate is not being used\n const generateCommand = await import('./commands/generate.ts').then((r) => r.default)\n\n await runCommand(generateCommand, { rawArgs })\n\n process.exit(0)\n }\n },\n subCommands: {\n generate: () => import('./commands/generate.ts').then((r) => r.default),\n },\n})\n\nexport async function run(_argv?: string[]): Promise<void> {\n await runMain(main)\n}\n\nexport { generate } from './generate.ts'\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/cli",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-beta.10",
|
|
4
4
|
"description": "Generator cli",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -18,9 +18,6 @@
|
|
|
18
18
|
"author": "Stijn Van Hulle <stijn@stijnvanhulle.be",
|
|
19
19
|
"sideEffects": false,
|
|
20
20
|
"type": "module",
|
|
21
|
-
"main": "dist/index.cjs",
|
|
22
|
-
"module": "dist/index.js",
|
|
23
|
-
"types": "./dist/index.d.ts",
|
|
24
21
|
"exports": {
|
|
25
22
|
".": {
|
|
26
23
|
"import": "./dist/index.js",
|
|
@@ -28,9 +25,11 @@
|
|
|
28
25
|
"default": "./dist/index.cjs"
|
|
29
26
|
}
|
|
30
27
|
},
|
|
28
|
+
"main": "dist/index.cjs",
|
|
29
|
+
"module": "dist/index.js",
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
31
|
"bin": {
|
|
32
|
-
"kubb": "bin/kubb.cjs"
|
|
33
|
-
"bkubb": "bin/bkubb.cjs"
|
|
32
|
+
"kubb": "bin/kubb.cjs"
|
|
34
33
|
},
|
|
35
34
|
"files": [
|
|
36
35
|
"src",
|
|
@@ -40,33 +39,30 @@
|
|
|
40
39
|
"!/**/__tests__/**"
|
|
41
40
|
],
|
|
42
41
|
"dependencies": {
|
|
43
|
-
"
|
|
44
|
-
"chokidar": "^3.6.0",
|
|
42
|
+
"chokidar": "^4.0.1",
|
|
45
43
|
"citty": "^0.1.6",
|
|
46
44
|
"cli-progress": "^3.12.0",
|
|
47
45
|
"consola": "^3.2.3",
|
|
48
46
|
"cosmiconfig": "^9.0.0",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"js-runtime": "^0.0.8",
|
|
47
|
+
"execa": "^9.5.1",
|
|
48
|
+
"jiti": "^2.3.3",
|
|
52
49
|
"latest-version": "^9.0.0",
|
|
53
50
|
"p-queue": "^8.0.1",
|
|
54
51
|
"semver": "^7.6.3",
|
|
55
52
|
"string-argv": "^0.3.2",
|
|
56
53
|
"tinyrainbow": "^1.2.0",
|
|
57
|
-
"@kubb/core": "3.0.0-
|
|
58
|
-
"@kubb/fs": "3.0.0-alpha.9"
|
|
54
|
+
"@kubb/core": "3.0.0-beta.10"
|
|
59
55
|
},
|
|
60
56
|
"devDependencies": {
|
|
61
57
|
"@types/cli-progress": "^3.11.6",
|
|
62
|
-
"@types/node": "^20.
|
|
58
|
+
"@types/node": "^20.17.3",
|
|
63
59
|
"@types/semver": "^7.5.8",
|
|
64
60
|
"source-map-support": "^0.5.21",
|
|
65
|
-
"tsup": "^8.
|
|
66
|
-
"typescript": "^5.
|
|
67
|
-
"@kubb/config-ts": "3.0.0-
|
|
68
|
-
"@kubb/config-tsup": "3.0.0-
|
|
69
|
-
"@kubb/plugin-oas": "3.0.0-
|
|
61
|
+
"tsup": "^8.3.5",
|
|
62
|
+
"typescript": "^5.6.3",
|
|
63
|
+
"@kubb/config-ts": "3.0.0-beta.10",
|
|
64
|
+
"@kubb/config-tsup": "3.0.0-beta.10",
|
|
65
|
+
"@kubb/plugin-oas": "3.0.0-beta.10"
|
|
70
66
|
},
|
|
71
67
|
"engines": {
|
|
72
68
|
"node": ">=20"
|
package/src/commands/generate.ts
CHANGED
|
@@ -7,10 +7,15 @@ import { getConfig } from '../utils/getConfig.ts'
|
|
|
7
7
|
import { getCosmiConfig } from '../utils/getCosmiConfig.ts'
|
|
8
8
|
import { startWatcher } from '../utils/watcher.ts'
|
|
9
9
|
|
|
10
|
+
import path from 'node:path'
|
|
11
|
+
import * as process from 'node:process'
|
|
10
12
|
import { PromiseManager, isInputPath } from '@kubb/core'
|
|
13
|
+
import { LogMapper, createLogger } from '@kubb/core/logger'
|
|
11
14
|
import { generate } from '../generate.ts'
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
|
|
16
|
+
declare global {
|
|
17
|
+
var isDevtoolsEnabled: any
|
|
18
|
+
}
|
|
14
19
|
|
|
15
20
|
const args = {
|
|
16
21
|
config: {
|
|
@@ -31,12 +36,6 @@ const args = {
|
|
|
31
36
|
alias: 'w',
|
|
32
37
|
default: false,
|
|
33
38
|
},
|
|
34
|
-
bun: {
|
|
35
|
-
type: 'boolean',
|
|
36
|
-
description: 'Run Kubb with Bun',
|
|
37
|
-
alias: 'b',
|
|
38
|
-
default: false,
|
|
39
|
-
},
|
|
40
39
|
debug: {
|
|
41
40
|
type: 'boolean',
|
|
42
41
|
description: 'Override logLevel to debug',
|
|
@@ -59,7 +58,8 @@ const command = defineCommand({
|
|
|
59
58
|
description: "[input] Generate files based on a 'kubb.config.ts' file",
|
|
60
59
|
},
|
|
61
60
|
args,
|
|
62
|
-
async run(
|
|
61
|
+
async run(commandContext) {
|
|
62
|
+
const { args } = commandContext
|
|
63
63
|
const input = args._[0]
|
|
64
64
|
|
|
65
65
|
if (args.help) {
|
|
@@ -71,13 +71,6 @@ const command = defineCommand({
|
|
|
71
71
|
args.logLevel = 'debug'
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
if (args.bun) {
|
|
75
|
-
const command = process.argv.splice(2).filter((item) => item !== '--bun')
|
|
76
|
-
|
|
77
|
-
await execa('bkubb', command, { stdout: process.stdout, stderr: process.stderr })
|
|
78
|
-
return
|
|
79
|
-
}
|
|
80
|
-
|
|
81
74
|
const logLevel = LogMapper[args.logLevel as keyof typeof LogMapper] || 3
|
|
82
75
|
const logger = createLogger({
|
|
83
76
|
logLevel,
|
|
@@ -97,7 +90,7 @@ const command = defineCommand({
|
|
|
97
90
|
|
|
98
91
|
if (isInputPath(config)) {
|
|
99
92
|
return startWatcher([input || config.input.path], async (paths) => {
|
|
100
|
-
await generate({ config, args })
|
|
93
|
+
await generate({ config, args, input })
|
|
101
94
|
logger.emit('start', c.yellow(c.bold(`Watching for changes in ${paths.join(' and ')}`)))
|
|
102
95
|
})
|
|
103
96
|
}
|
|
@@ -111,6 +104,19 @@ const command = defineCommand({
|
|
|
111
104
|
}
|
|
112
105
|
|
|
113
106
|
await generate({ input, config, args })
|
|
107
|
+
|
|
108
|
+
if (globalThis.isDevtoolsEnabled) {
|
|
109
|
+
const restart = await logger.consola?.prompt('Restart(could be used to validate the profiler)?', {
|
|
110
|
+
type: 'confirm',
|
|
111
|
+
initial: false,
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
if (restart) {
|
|
115
|
+
await command.run?.(commandContext)
|
|
116
|
+
} else {
|
|
117
|
+
process.exit(1)
|
|
118
|
+
}
|
|
119
|
+
}
|
|
114
120
|
},
|
|
115
121
|
})
|
|
116
122
|
|
package/src/generate.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { LogMapper
|
|
1
|
+
import { LogMapper } from '@kubb/core/logger'
|
|
2
2
|
|
|
3
3
|
import c from 'tinyrainbow'
|
|
4
4
|
|
|
5
5
|
import { type Config, safeBuild } from '@kubb/core'
|
|
6
|
-
import type { Args } from './commands/generate.ts'
|
|
7
6
|
import { executeHooks } from './utils/executeHooks.ts'
|
|
8
7
|
import { getErrorCauses } from './utils/getErrorCauses.ts'
|
|
9
8
|
import { getSummary } from './utils/getSummary.ts'
|
|
10
|
-
import { writeLog } from './utils/writeLog.ts'
|
|
11
9
|
|
|
10
|
+
import { createLogger } from '@kubb/core/logger'
|
|
12
11
|
import { Presets, SingleBar } from 'cli-progress'
|
|
12
|
+
import type { Args } from './commands/generate.ts'
|
|
13
13
|
|
|
14
14
|
type GenerateProps = {
|
|
15
15
|
input?: string
|
|
@@ -23,56 +23,44 @@ export async function generate({ input, config, args }: GenerateProps): Promise<
|
|
|
23
23
|
logLevel,
|
|
24
24
|
name: config.name,
|
|
25
25
|
})
|
|
26
|
+
const { root = process.cwd(), ...userConfig } = config
|
|
27
|
+
const inputPath = input ?? ('path' in userConfig.input ? userConfig.input.path : undefined)
|
|
26
28
|
|
|
27
|
-
|
|
29
|
+
if (logger.logLevel !== LogMapper.debug) {
|
|
30
|
+
const progressCache = new Map<string, SingleBar>()
|
|
28
31
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
format:'{percentage}% {bar} {value}/{total} {id} | ETA: {eta_formatted} | {data}',
|
|
36
|
-
barsize: 20,
|
|
37
|
-
clearOnComplete: true,
|
|
38
|
-
emptyOnZero: true,
|
|
39
|
-
}: {
|
|
40
|
-
format: '{percentage}% {bar} {value}/{total} {id}',
|
|
32
|
+
logger.on('progress_start', ({ id, size, message = '' }) => {
|
|
33
|
+
logger.consola?.pauseLogs()
|
|
34
|
+
const payload = { id, message }
|
|
35
|
+
const progressBar = new SingleBar(
|
|
36
|
+
{
|
|
37
|
+
format: '{percentage}% {bar} {value}/{total} | {message}',
|
|
41
38
|
barsize: 30,
|
|
42
39
|
clearOnComplete: true,
|
|
43
40
|
emptyOnZero: true,
|
|
44
41
|
},
|
|
45
42
|
Presets.shades_grey,
|
|
46
43
|
)
|
|
47
|
-
progressBars[id].start(size, 1, { id, data: ' ' })
|
|
48
|
-
}
|
|
49
|
-
})
|
|
50
|
-
|
|
51
|
-
logger.on('progress_stop', ({ id }) => {
|
|
52
|
-
const progressBar = progressBars[id]
|
|
53
|
-
progressBar?.stop()
|
|
54
|
-
logger.consola?.resumeLogs()
|
|
55
|
-
})
|
|
56
44
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
45
|
+
if (!progressCache.has(id)) {
|
|
46
|
+
progressCache.set(id, progressBar)
|
|
47
|
+
progressBar.start(size, 1, payload)
|
|
48
|
+
}
|
|
49
|
+
})
|
|
60
50
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
})
|
|
51
|
+
logger.on('progress_stop', ({ id }) => {
|
|
52
|
+
progressCache.get(id)?.stop()
|
|
53
|
+
logger.consola?.resumeLogs()
|
|
54
|
+
})
|
|
67
55
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
})
|
|
56
|
+
logger.on('progressed', ({ id, message = '' }) => {
|
|
57
|
+
const payload = { id, message }
|
|
71
58
|
|
|
72
|
-
|
|
73
|
-
|
|
59
|
+
progressCache.get(id)?.increment(1, payload)
|
|
60
|
+
})
|
|
61
|
+
}
|
|
74
62
|
|
|
75
|
-
logger.emit('start', `Building ${logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)
|
|
63
|
+
logger.emit('start', `Building ${logger.logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)
|
|
76
64
|
|
|
77
65
|
const definedConfig: Config = {
|
|
78
66
|
root,
|
|
@@ -85,7 +73,10 @@ export async function generate({ input, config, args }: GenerateProps): Promise<
|
|
|
85
73
|
: userConfig.input,
|
|
86
74
|
output: {
|
|
87
75
|
write: true,
|
|
88
|
-
|
|
76
|
+
barrelType: 'named',
|
|
77
|
+
extension: {
|
|
78
|
+
'.ts': '.ts',
|
|
79
|
+
},
|
|
89
80
|
...userConfig.output,
|
|
90
81
|
},
|
|
91
82
|
}
|
|
@@ -95,18 +86,25 @@ export async function generate({ input, config, args }: GenerateProps): Promise<
|
|
|
95
86
|
logger,
|
|
96
87
|
})
|
|
97
88
|
|
|
89
|
+
if (logger.logLevel === LogMapper.debug) {
|
|
90
|
+
logger.consola?.start('Writing logs')
|
|
91
|
+
|
|
92
|
+
const logFiles = await logger.writeLogs()
|
|
93
|
+
|
|
94
|
+
logger.consola?.success(`Written logs: \n${logFiles.join('\n')}`)
|
|
95
|
+
}
|
|
96
|
+
|
|
98
97
|
const summary = getSummary({
|
|
99
98
|
filesCreated: files.length,
|
|
100
99
|
pluginManager,
|
|
101
100
|
config: definedConfig,
|
|
102
101
|
status: error ? 'failed' : 'success',
|
|
103
102
|
hrStart,
|
|
104
|
-
logger,
|
|
105
103
|
})
|
|
106
104
|
|
|
107
105
|
if (error && logger.consola) {
|
|
108
106
|
logger.consola?.resumeLogs()
|
|
109
|
-
logger.consola.error(`Build failed ${logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)
|
|
107
|
+
logger.consola.error(`Build failed ${logger.logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)
|
|
110
108
|
|
|
111
109
|
logger.consola.box({
|
|
112
110
|
title: `${config.name || ''}`,
|
|
@@ -119,7 +117,7 @@ export async function generate({ input, config, args }: GenerateProps): Promise<
|
|
|
119
117
|
})
|
|
120
118
|
|
|
121
119
|
const errors = getErrorCauses([error])
|
|
122
|
-
if (logger.consola && errors.length && logLevel === LogMapper.debug) {
|
|
120
|
+
if (logger.consola && errors.length && logger.logLevel === LogMapper.debug) {
|
|
123
121
|
errors.forEach((err) => {
|
|
124
122
|
logger.consola?.error(err)
|
|
125
123
|
})
|
|
@@ -134,7 +132,7 @@ export async function generate({ input, config, args }: GenerateProps): Promise<
|
|
|
134
132
|
await executeHooks({ hooks: config.hooks, logger })
|
|
135
133
|
}
|
|
136
134
|
|
|
137
|
-
logger.consola?.log(`⚡Build completed ${logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)
|
|
135
|
+
logger.consola?.log(`⚡Build completed ${logger.logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)
|
|
138
136
|
|
|
139
137
|
logger.consola?.box({
|
|
140
138
|
title: `${config.name || ''}`,
|
package/src/index.ts
CHANGED
|
@@ -2,8 +2,8 @@ import { defineCommand, runCommand, runMain } from 'citty'
|
|
|
2
2
|
import getLatestVersion from 'latest-version'
|
|
3
3
|
import { lt } from 'semver'
|
|
4
4
|
|
|
5
|
-
import consola from 'consola'
|
|
6
5
|
import { version } from '../package.json'
|
|
6
|
+
import consola from 'consola'
|
|
7
7
|
|
|
8
8
|
const name = 'kubb'
|
|
9
9
|
|
package/src/utils/Writables.ts
CHANGED
|
@@ -7,9 +7,9 @@ import type { WritableOptions } from 'node:stream'
|
|
|
7
7
|
import type { ConsolaInstance } from 'consola'
|
|
8
8
|
|
|
9
9
|
export class ConsolaWritable extends Writable {
|
|
10
|
-
consola: ConsolaInstance
|
|
10
|
+
consola: ConsolaInstance | undefined
|
|
11
11
|
command: string
|
|
12
|
-
constructor(consola: ConsolaInstance, command: string, opts?: WritableOptions) {
|
|
12
|
+
constructor(consola: ConsolaInstance | undefined, command: string, opts?: WritableOptions) {
|
|
13
13
|
super(opts)
|
|
14
14
|
|
|
15
15
|
this.command = command
|
|
@@ -27,19 +27,19 @@ export async function executeHooks({ hooks, logger }: ExecutingHooksProps): Prom
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
await queue.add(async () => {
|
|
30
|
-
logger
|
|
30
|
+
logger?.emit('start', `Executing hook ${logger.logLevel !== LogMapper.silent ? c.dim(command) : ''}`)
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
await execa(cmd, _args, {
|
|
33
33
|
detached: true,
|
|
34
|
-
stdout: logger
|
|
34
|
+
stdout: logger?.logLevel === LogMapper.silent ? undefined : ['pipe', consolaWritable],
|
|
35
35
|
stripFinalNewline: true,
|
|
36
36
|
})
|
|
37
37
|
|
|
38
|
-
logger
|
|
38
|
+
logger?.emit('success', `Executed hook ${logger.logLevel !== LogMapper.silent ? c.dim(command) : ''}`)
|
|
39
39
|
})
|
|
40
40
|
})
|
|
41
41
|
|
|
42
42
|
await Promise.all(promises)
|
|
43
43
|
|
|
44
|
-
logger
|
|
44
|
+
logger?.emit('success', 'Executed hooks')
|
|
45
45
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { bundleRequire } from 'bundle-require'
|
|
2
1
|
import { cosmiconfig } from 'cosmiconfig'
|
|
2
|
+
import { createJiti } from 'jiti'
|
|
3
3
|
|
|
4
4
|
import type { UserConfig, defineConfig } from '@kubb/core'
|
|
5
5
|
|
|
@@ -10,22 +10,11 @@ export type CosmiconfigResult = {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
const tsLoader = async (configFile: string) => {
|
|
13
|
-
const
|
|
14
|
-
filepath: configFile,
|
|
15
|
-
preserveTemporaryFile: false,
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
return mod.default
|
|
19
|
-
}
|
|
13
|
+
const jiti = createJiti(import.meta.url, { jsx: true })
|
|
20
14
|
|
|
21
|
-
const
|
|
22
|
-
const { mod } = await bundleRequire({
|
|
23
|
-
filepath: configFile,
|
|
24
|
-
preserveTemporaryFile: false,
|
|
25
|
-
format: 'cjs',
|
|
26
|
-
})
|
|
15
|
+
const mod: any = await jiti.import(configFile)
|
|
27
16
|
|
|
28
|
-
return mod
|
|
17
|
+
return mod?.default ?? mod
|
|
29
18
|
}
|
|
30
19
|
|
|
31
20
|
export async function getCosmiConfig(moduleName: string, config?: string): Promise<CosmiconfigResult> {
|
package/src/utils/getSummary.ts
CHANGED
|
@@ -6,8 +6,7 @@ import c from 'tinyrainbow'
|
|
|
6
6
|
|
|
7
7
|
import { parseHrtimeToSeconds } from './parseHrtimeToSeconds.ts'
|
|
8
8
|
|
|
9
|
-
import type { Config,
|
|
10
|
-
import type { Logger } from '@kubb/core/logger'
|
|
9
|
+
import type { Config, PluginManager } from '@kubb/core'
|
|
11
10
|
|
|
12
11
|
type SummaryProps = {
|
|
13
12
|
pluginManager: PluginManager
|
|
@@ -15,11 +14,10 @@ type SummaryProps = {
|
|
|
15
14
|
hrStart: [number, number]
|
|
16
15
|
filesCreated: number
|
|
17
16
|
config: Config
|
|
18
|
-
logger: Logger
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
export function getSummary({ pluginManager, filesCreated, status, hrStart, config }: SummaryProps): string[] {
|
|
22
|
-
const logs
|
|
20
|
+
const logs = new Set<string>()
|
|
23
21
|
const elapsedSeconds = parseHrtimeToSeconds(process.hrtime(hrStart))
|
|
24
22
|
|
|
25
23
|
const buildStartPlugins = pluginManager.executed
|
|
@@ -42,7 +40,7 @@ export function getSummary({ pluginManager, filesCreated, status, hrStart, confi
|
|
|
42
40
|
output: path.isAbsolute(config.root) ? path.resolve(config.root, config.output.path) : config.root,
|
|
43
41
|
} as const
|
|
44
42
|
|
|
45
|
-
logs.
|
|
43
|
+
logs.add(
|
|
46
44
|
[
|
|
47
45
|
[`${c.bold('Plugins:')} ${meta.plugins}`, true],
|
|
48
46
|
[`${c.dim('Failed:')} ${meta.pluginsFailed || 'none'}`, !!meta.pluginsFailed],
|
|
@@ -59,5 +57,5 @@ export function getSummary({ pluginManager, filesCreated, status, hrStart, confi
|
|
|
59
57
|
.join('\n'),
|
|
60
58
|
)
|
|
61
59
|
|
|
62
|
-
return logs
|
|
60
|
+
return [...logs]
|
|
63
61
|
}
|
package/src/utils/watcher.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import c from 'tinyrainbow'
|
|
2
1
|
import { createLogger } from '@kubb/core/logger'
|
|
2
|
+
import c from 'tinyrainbow'
|
|
3
3
|
|
|
4
4
|
export async function startWatcher(path: string[], cb: (path: string[]) => Promise<void>): Promise<void> {
|
|
5
5
|
const { watch } = await import('chokidar')
|
|
6
|
-
|
|
7
|
-
const ignored = ['**/{.git,node_modules}/**']
|
|
8
6
|
const logger = createLogger()
|
|
9
7
|
|
|
8
|
+
const ignored = '**/{.git,node_modules}/**'
|
|
9
|
+
|
|
10
10
|
const watcher = watch(path, {
|
|
11
11
|
ignorePermissionErrors: true,
|
|
12
12
|
ignored,
|
|
13
13
|
})
|
|
14
14
|
watcher.on('all', (type, file) => {
|
|
15
|
-
logger
|
|
15
|
+
logger?.emit('info', c.yellow(c.bold(`Change detected: ${type} ${file}`)))
|
|
16
16
|
|
|
17
17
|
try {
|
|
18
18
|
cb(path)
|
|
@@ -20,6 +20,4 @@ export async function startWatcher(path: string[], cb: (path: string[]) => Promi
|
|
|
20
20
|
logger?.emit('warning', c.red('Watcher failed'))
|
|
21
21
|
}
|
|
22
22
|
})
|
|
23
|
-
|
|
24
|
-
return
|
|
25
23
|
}
|
package/bin/bkubb.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generate.ts","../src/utils/executeHooks.ts","../src/utils/Writables.ts","../src/utils/getErrorCauses.ts","../src/utils/getSummary.ts","../src/utils/parseHrtimeToSeconds.ts","../src/utils/writeLog.ts"],"sourcesContent":["import { LogMapper, createLogger } from '@kubb/core/logger'\n\nimport c from 'tinyrainbow'\n\nimport { type Config, safeBuild } from '@kubb/core'\nimport type { Args } from './commands/generate.ts'\nimport { executeHooks } from './utils/executeHooks.ts'\nimport { getErrorCauses } from './utils/getErrorCauses.ts'\nimport { getSummary } from './utils/getSummary.ts'\nimport { writeLog } from './utils/writeLog.ts'\n\nimport { Presets, SingleBar } from 'cli-progress'\n\ntype GenerateProps = {\n input?: string\n config: Config\n args: Args\n}\n\nexport async function generate({ input, config, args }: GenerateProps): Promise<void> {\n const logLevel = LogMapper[args.logLevel as keyof typeof LogMapper] || 3\n const logger = createLogger({\n logLevel,\n name: config.name,\n })\n\n const progressBars: Record<string, SingleBar> = {}\n\n logger.on('progress_start', ({ id, size }) => {\n logger.consola?.pauseLogs()\n \n if (!progressBars[id]) {\n progressBars[id] = new SingleBar(\n logLevel === LogMapper.info? {\n format:'{percentage}% {bar} {value}/{total} {id} | ETA: {eta_formatted} | {data}',\n barsize: 20,\n clearOnComplete: true,\n emptyOnZero: true,\n }: {\n format: '{percentage}% {bar} {value}/{total} {id}',\n barsize: 30,\n clearOnComplete: true,\n emptyOnZero: true,\n },\n Presets.shades_grey,\n )\n progressBars[id].start(size, 1, { id, data: ' ' })\n }\n })\n\n logger.on('progress_stop', ({ id }) => {\n const progressBar = progressBars[id]\n progressBar?.stop()\n logger.consola?.resumeLogs()\n })\n\n logger.on('progress', ({ id, count, data = '' }) => {\n const progressBar = progressBars[id]\n const payload = { id, data }\n\n if (count) {\n progressBar?.update(count, payload)\n } else {\n progressBar?.increment(1, payload)\n }\n })\n\n logger.on('debug', async ({ logs, override, fileName }) => {\n await writeLog({ data: logs.join('\\n'), fileName, override })\n })\n\n const { root = process.cwd(), ...userConfig } = config\n const inputPath = input ?? ('path' in userConfig.input ? userConfig.input.path : undefined)\n\n logger.emit('start', `Building ${logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)\n\n const definedConfig: Config = {\n root,\n ...userConfig,\n input: inputPath\n ? {\n ...userConfig.input,\n path: inputPath,\n }\n : userConfig.input,\n output: {\n write: true,\n exportType: 'barrelNamed',\n ...userConfig.output,\n },\n }\n const hrStart = process.hrtime()\n const { pluginManager, files, error } = await safeBuild({\n config: definedConfig,\n logger,\n })\n\n const summary = getSummary({\n filesCreated: files.length,\n pluginManager,\n config: definedConfig,\n status: error ? 'failed' : 'success',\n hrStart,\n logger,\n })\n\n if (error && logger.consola) {\n logger.consola?.resumeLogs()\n logger.consola.error(`Build failed ${logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)\n\n logger.consola.box({\n title: `${config.name || ''}`,\n message: summary.join(''),\n style: {\n padding: 2,\n borderColor: 'red',\n borderStyle: 'rounded',\n },\n })\n\n const errors = getErrorCauses([error])\n if (logger.consola && errors.length && logLevel === LogMapper.debug) {\n errors.forEach((err) => {\n logger.consola?.error(err)\n })\n }\n\n logger.consola?.error(error)\n\n process.exit(0)\n }\n\n if (config.hooks) {\n await executeHooks({ hooks: config.hooks, logger })\n }\n\n logger.consola?.log(`⚡Build completed ${logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)\n\n logger.consola?.box({\n title: `${config.name || ''}`,\n message: summary.join(''),\n style: {\n padding: 2,\n borderColor: 'green',\n borderStyle: 'rounded',\n },\n })\n}\n","import type { Logger } from '@kubb/core/logger'\nimport { execa } from 'execa'\nimport { parseArgsStringToArgv } from 'string-argv'\nimport c from 'tinyrainbow'\n\nimport { ConsolaWritable } from './Writables.ts'\n\nimport type { Config } from '@kubb/core'\nimport { LogMapper } from '@kubb/core/logger'\nimport PQueue from 'p-queue'\n\ntype ExecutingHooksProps = {\n hooks: NonNullable<Config['hooks']>\n logger: Logger\n}\n\nexport async function executeHooks({ hooks, logger }: ExecutingHooksProps): Promise<void> {\n const commands = Array.isArray(hooks.done) ? hooks.done : [hooks.done].filter(Boolean)\n const queue = new PQueue({ concurrency: 1 })\n\n const promises = commands.map(async (command) => {\n const consolaWritable = new ConsolaWritable(logger.consola!, command)\n const [cmd, ..._args] = [...parseArgsStringToArgv(command)]\n\n if (!cmd) {\n return null\n }\n\n await queue.add(async () => {\n logger.emit('start', `Executing hook ${logger.logLevel !== LogMapper.silent ? c.dim(command) : ''}`)\n\n const subProcess = await execa(cmd, _args, {\n detached: true,\n stdout: logger.logLevel === LogMapper.silent ? undefined : ['pipe', consolaWritable],\n stripFinalNewline: true,\n })\n\n logger.emit('success', `Executed hook ${logger.logLevel !== LogMapper.silent ? c.dim(command) : ''}`)\n })\n })\n\n await Promise.all(promises)\n\n logger.emit('success', 'Executed hooks')\n}\n","import { Writable } from 'node:stream'\n\nimport c from 'tinyrainbow'\n\nimport * as process from 'node:process'\nimport type { WritableOptions } from 'node:stream'\nimport type { ConsolaInstance } from 'consola'\n\nexport class ConsolaWritable extends Writable {\n consola: ConsolaInstance\n command: string\n constructor(consola: ConsolaInstance, command: string, opts?: WritableOptions) {\n super(opts)\n\n this.command = command\n this.consola = consola\n }\n _write(chunk: any, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void {\n process.stdout.write(`${c.dim(chunk?.toString())}`)\n\n callback()\n }\n}\n","export function getErrorCauses(errors: Error[]): Error[] {\n return errors\n .reduce((prev, error) => {\n const causedError = error?.cause as Error\n if (causedError) {\n prev = [...prev, ...getErrorCauses([causedError])]\n return prev\n }\n prev = [...prev, error]\n\n return prev\n }, [] as Error[])\n .filter(Boolean)\n}\n","import path from 'node:path'\n\nimport { randomCliColour } from '@kubb/core/logger'\n\nimport c from 'tinyrainbow'\n\nimport { parseHrtimeToSeconds } from './parseHrtimeToSeconds.ts'\n\nimport type { Config, FileMetaBase, PluginManager } from '@kubb/core'\nimport type { Logger } from '@kubb/core/logger'\n\ntype SummaryProps = {\n pluginManager: PluginManager\n status: 'success' | 'failed'\n hrStart: [number, number]\n filesCreated: number\n config: Config\n logger: Logger\n}\n\nexport function getSummary({ pluginManager, filesCreated, status, hrStart, config }: SummaryProps): string[] {\n const logs: string[] = []\n const elapsedSeconds = parseHrtimeToSeconds(process.hrtime(hrStart))\n\n const buildStartPlugins = pluginManager.executed\n .filter((item) => item.hookName === 'buildStart' && item.plugin.name !== 'core')\n .map((item) => item.plugin.name)\n\n const buildEndPlugins = pluginManager.executed.filter((item) => item.hookName === 'buildEnd' && item.plugin.name !== 'core').map((item) => item.plugin.name)\n\n const failedPlugins = config.plugins?.filter((plugin) => !buildEndPlugins.includes(plugin.name))?.map((plugin) => plugin.name)\n const pluginsCount = config.plugins?.length || 0\n\n const meta = {\n plugins:\n status === 'success'\n ? `${c.green(`${buildStartPlugins.length} successful`)}, ${pluginsCount} total`\n : `${c.red(`${failedPlugins?.length ?? 1} failed`)}, ${pluginsCount} total`,\n pluginsFailed: status === 'failed' ? failedPlugins?.map((name) => randomCliColour(name))?.join(', ') : undefined,\n filesCreated: filesCreated,\n time: `${c.yellow(`${elapsedSeconds}s`)}`,\n output: path.isAbsolute(config.root) ? path.resolve(config.root, config.output.path) : config.root,\n } as const\n\n logs.push(\n [\n [`${c.bold('Plugins:')} ${meta.plugins}`, true],\n [`${c.dim('Failed:')} ${meta.pluginsFailed || 'none'}`, !!meta.pluginsFailed],\n [`${c.bold('Generated:')} ${meta.filesCreated} files in ${meta.time}`, true],\n [`${c.bold('Output:')} ${meta.output}`, true],\n ]\n .map((item) => {\n if (item.at(1)) {\n return item.at(0)\n }\n return undefined\n })\n .filter(Boolean)\n .join('\\n'),\n )\n\n return logs\n}\n","export function parseHrtimeToSeconds(hrtime: [number, number]): string {\n const seconds = (hrtime[0] + hrtime[1] / 1e9).toFixed(3)\n return seconds\n}\n","import { resolve } from 'node:path'\nimport { read, write } from '@kubb/fs'\n\ntype Props = {\n data: string\n fileName?: string\n override?: boolean\n}\n\nexport async function writeLog({ data, override, fileName = 'kubb.log' }: Props): Promise<string | undefined> {\n if (data.trim() === '') {\n return undefined\n }\n const path = resolve(process.cwd(), fileName)\n let previousLogs = ''\n\n try {\n previousLogs = await read(resolve(path))\n } catch (_err) {\n /* empty */\n }\n\n if (override) {\n return write(path, data.trim(), { sanity: false })\n }\n\n return write(path, [previousLogs, data.trim()].filter(Boolean).join('\\n'), { sanity: false })\n}\n"],"mappings":";AAAA,SAAS,aAAAA,YAAW,oBAAoB;AAExC,OAAOC,QAAO;AAEd,SAAsB,iBAAiB;;;ACHvC,SAAS,aAAa;AACtB,SAAS,6BAA6B;AACtC,OAAOC,QAAO;;;ACHd,SAAS,gBAAgB;AAEzB,OAAO,OAAO;AAEd,YAAYC,cAAa;AAIlB,IAAM,kBAAN,cAA8B,SAAS;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,YAAY,SAA0B,SAAiB,MAAwB;AAC7E,UAAM,IAAI;AAEV,SAAK,UAAU;AACf,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,OAAO,OAAY,WAA2B,UAAgD;AAC5F,IAAQ,gBAAO,MAAM,GAAG,EAAE,IAAI,OAAO,SAAS,CAAC,CAAC,EAAE;AAElD,aAAS;AAAA,EACX;AACF;;;ADdA,SAAS,iBAAiB;AAC1B,OAAO,YAAY;AAOnB,eAAsB,aAAa,EAAE,OAAO,OAAO,GAAuC;AACxF,QAAM,WAAW,MAAM,QAAQ,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,MAAM,IAAI,EAAE,OAAO,OAAO;AACrF,QAAM,QAAQ,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;AAE3C,QAAM,WAAW,SAAS,IAAI,OAAO,YAAY;AAC/C,UAAM,kBAAkB,IAAI,gBAAgB,OAAO,SAAU,OAAO;AACpE,UAAM,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,GAAG,sBAAsB,OAAO,CAAC;AAE1D,QAAI,CAAC,KAAK;AACR,aAAO;AAAA,IACT;AAEA,UAAM,MAAM,IAAI,YAAY;AAC1B,aAAO,KAAK,SAAS,kBAAkB,OAAO,aAAa,UAAU,SAASC,GAAE,IAAI,OAAO,IAAI,EAAE,EAAE;AAEnG,YAAM,aAAa,MAAM,MAAM,KAAK,OAAO;AAAA,QACzC,UAAU;AAAA,QACV,QAAQ,OAAO,aAAa,UAAU,SAAS,SAAY,CAAC,QAAQ,eAAe;AAAA,QACnF,mBAAmB;AAAA,MACrB,CAAC;AAED,aAAO,KAAK,WAAW,iBAAiB,OAAO,aAAa,UAAU,SAASA,GAAE,IAAI,OAAO,IAAI,EAAE,EAAE;AAAA,IACtG,CAAC;AAAA,EACH,CAAC;AAED,QAAM,QAAQ,IAAI,QAAQ;AAE1B,SAAO,KAAK,WAAW,gBAAgB;AACzC;;;AE5CO,SAAS,eAAe,QAA0B;AACvD,SAAO,OACJ,OAAO,CAAC,MAAM,UAAU;AACvB,UAAM,cAAc,OAAO;AAC3B,QAAI,aAAa;AACf,aAAO,CAAC,GAAG,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AACjD,aAAO;AAAA,IACT;AACA,WAAO,CAAC,GAAG,MAAM,KAAK;AAEtB,WAAO;AAAA,EACT,GAAG,CAAC,CAAY,EACf,OAAO,OAAO;AACnB;;;ACbA,OAAO,UAAU;AAEjB,SAAS,uBAAuB;AAEhC,OAAOC,QAAO;;;ACJP,SAAS,qBAAqB,QAAkC;AACrE,QAAM,WAAW,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;AACvD,SAAO;AACT;;;ADiBO,SAAS,WAAW,EAAE,eAAe,cAAc,QAAQ,SAAS,OAAO,GAA2B;AAC3G,QAAM,OAAiB,CAAC;AACxB,QAAM,iBAAiB,qBAAqB,QAAQ,OAAO,OAAO,CAAC;AAEnE,QAAM,oBAAoB,cAAc,SACrC,OAAO,CAAC,SAAS,KAAK,aAAa,gBAAgB,KAAK,OAAO,SAAS,MAAM,EAC9E,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI;AAEjC,QAAM,kBAAkB,cAAc,SAAS,OAAO,CAAC,SAAS,KAAK,aAAa,cAAc,KAAK,OAAO,SAAS,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI;AAE3J,QAAM,gBAAgB,OAAO,SAAS,OAAO,CAAC,WAAW,CAAC,gBAAgB,SAAS,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,OAAO,IAAI;AAC7H,QAAM,eAAe,OAAO,SAAS,UAAU;AAE/C,QAAM,OAAO;AAAA,IACX,SACE,WAAW,YACP,GAAGC,GAAE,MAAM,GAAG,kBAAkB,MAAM,aAAa,CAAC,KAAK,YAAY,WACrE,GAAGA,GAAE,IAAI,GAAG,eAAe,UAAU,CAAC,SAAS,CAAC,KAAK,YAAY;AAAA,IACvE,eAAe,WAAW,WAAW,eAAe,IAAI,CAAC,SAAS,gBAAgB,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI;AAAA,IACvG;AAAA,IACA,MAAM,GAAGA,GAAE,OAAO,GAAG,cAAc,GAAG,CAAC;AAAA,IACvC,QAAQ,KAAK,WAAW,OAAO,IAAI,IAAI,KAAK,QAAQ,OAAO,MAAM,OAAO,OAAO,IAAI,IAAI,OAAO;AAAA,EAChG;AAEA,OAAK;AAAA,IACH;AAAA,MACE,CAAC,GAAGA,GAAE,KAAK,UAAU,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI;AAAA,MACrD,CAAC,GAAGA,GAAE,IAAI,SAAS,CAAC,aAAa,KAAK,iBAAiB,MAAM,IAAI,CAAC,CAAC,KAAK,aAAa;AAAA,MACrF,CAAC,GAAGA,GAAE,KAAK,YAAY,CAAC,SAAS,KAAK,YAAY,aAAa,KAAK,IAAI,IAAI,IAAI;AAAA,MAChF,CAAC,GAAGA,GAAE,KAAK,SAAS,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI;AAAA,IACtD,EACG,IAAI,CAAC,SAAS;AACb,UAAI,KAAK,GAAG,CAAC,GAAG;AACd,eAAO,KAAK,GAAG,CAAC;AAAA,MAClB;AACA,aAAO;AAAA,IACT,CAAC,EACA,OAAO,OAAO,EACd,KAAK,IAAI;AAAA,EACd;AAEA,SAAO;AACT;;;AE9DA,SAAS,eAAe;AACxB,SAAS,MAAM,aAAa;AAQ5B,eAAsB,SAAS,EAAE,MAAM,UAAU,WAAW,WAAW,GAAuC;AAC5G,MAAI,KAAK,KAAK,MAAM,IAAI;AACtB,WAAO;AAAA,EACT;AACA,QAAMC,QAAO,QAAQ,QAAQ,IAAI,GAAG,QAAQ;AAC5C,MAAI,eAAe;AAEnB,MAAI;AACF,mBAAe,MAAM,KAAK,QAAQA,KAAI,CAAC;AAAA,EACzC,SAAS,MAAM;AAAA,EAEf;AAEA,MAAI,UAAU;AACZ,WAAO,MAAMA,OAAM,KAAK,KAAK,GAAG,EAAE,QAAQ,MAAM,CAAC;AAAA,EACnD;AAEA,SAAO,MAAMA,OAAM,CAAC,cAAc,KAAK,KAAK,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,GAAG,EAAE,QAAQ,MAAM,CAAC;AAC9F;;;ANhBA,SAAS,SAAS,iBAAiB;AAQnC,eAAsB,SAAS,EAAE,OAAO,QAAQ,KAAK,GAAiC;AACpF,QAAM,WAAWC,WAAU,KAAK,QAAkC,KAAK;AACvE,QAAM,SAAS,aAAa;AAAA,IAC1B;AAAA,IACA,MAAM,OAAO;AAAA,EACf,CAAC;AAED,QAAM,eAA0C,CAAC;AAEjD,SAAO,GAAG,kBAAkB,CAAC,EAAE,IAAI,KAAK,MAAM;AAC5C,WAAO,SAAS,UAAU;AAE1B,QAAI,CAAC,aAAa,EAAE,GAAG;AACrB,mBAAa,EAAE,IAAI,IAAI;AAAA,QACrB,aAAaA,WAAU,OAAM;AAAA,UAC3B,QAAO;AAAA,UACP,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,aAAa;AAAA,QACf,IAAG;AAAA,UACD,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,aAAa;AAAA,QACf;AAAA,QACA,QAAQ;AAAA,MACV;AACA,mBAAa,EAAE,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,MAAM,IAAI,CAAC;AAAA,IACnD;AAAA,EACF,CAAC;AAED,SAAO,GAAG,iBAAiB,CAAC,EAAE,GAAG,MAAM;AACrC,UAAM,cAAc,aAAa,EAAE;AACnC,iBAAa,KAAK;AAClB,WAAO,SAAS,WAAW;AAAA,EAC7B,CAAC;AAED,SAAO,GAAG,YAAY,CAAC,EAAE,IAAI,OAAO,OAAO,GAAG,MAAM;AAClD,UAAM,cAAc,aAAa,EAAE;AACnC,UAAM,UAAU,EAAE,IAAI,KAAK;AAE3B,QAAI,OAAO;AACT,mBAAa,OAAO,OAAO,OAAO;AAAA,IACpC,OAAO;AACL,mBAAa,UAAU,GAAG,OAAO;AAAA,IACnC;AAAA,EACF,CAAC;AAED,SAAO,GAAG,SAAS,OAAO,EAAE,MAAM,UAAU,SAAS,MAAM;AACzD,UAAM,SAAS,EAAE,MAAM,KAAK,KAAK,IAAI,GAAG,UAAU,SAAS,CAAC;AAAA,EAC9D,CAAC;AAED,QAAM,EAAE,OAAO,QAAQ,IAAI,GAAG,GAAG,WAAW,IAAI;AAChD,QAAM,YAAY,UAAU,UAAU,WAAW,QAAQ,WAAW,MAAM,OAAO;AAEjF,SAAO,KAAK,SAAS,YAAY,aAAaA,WAAU,SAASC,GAAE,IAAI,SAAS,IAAI,EAAE,EAAE;AAExF,QAAM,gBAAwB;AAAA,IAC5B;AAAA,IACA,GAAG;AAAA,IACH,OAAO,YACH;AAAA,MACE,GAAG,WAAW;AAAA,MACd,MAAM;AAAA,IACR,IACA,WAAW;AAAA,IACf,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,GAAG,WAAW;AAAA,IAChB;AAAA,EACF;AACA,QAAM,UAAU,QAAQ,OAAO;AAC/B,QAAM,EAAE,eAAe,OAAO,MAAM,IAAI,MAAM,UAAU;AAAA,IACtD,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAED,QAAM,UAAU,WAAW;AAAA,IACzB,cAAc,MAAM;AAAA,IACpB;AAAA,IACA,QAAQ;AAAA,IACR,QAAQ,QAAQ,WAAW;AAAA,IAC3B;AAAA,IACA;AAAA,EACF,CAAC;AAED,MAAI,SAAS,OAAO,SAAS;AAC3B,WAAO,SAAS,WAAW;AAC3B,WAAO,QAAQ,MAAM,gBAAgB,aAAaD,WAAU,SAASC,GAAE,IAAI,SAAS,IAAI,EAAE,EAAE;AAE5F,WAAO,QAAQ,IAAI;AAAA,MACjB,OAAO,GAAG,OAAO,QAAQ,EAAE;AAAA,MAC3B,SAAS,QAAQ,KAAK,EAAE;AAAA,MACxB,OAAO;AAAA,QACL,SAAS;AAAA,QACT,aAAa;AAAA,QACb,aAAa;AAAA,MACf;AAAA,IACF,CAAC;AAED,UAAM,SAAS,eAAe,CAAC,KAAK,CAAC;AACrC,QAAI,OAAO,WAAW,OAAO,UAAU,aAAaD,WAAU,OAAO;AACnE,aAAO,QAAQ,CAAC,QAAQ;AACtB,eAAO,SAAS,MAAM,GAAG;AAAA,MAC3B,CAAC;AAAA,IACH;AAEA,WAAO,SAAS,MAAM,KAAK;AAE3B,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,OAAO,OAAO;AAChB,UAAM,aAAa,EAAE,OAAO,OAAO,OAAO,OAAO,CAAC;AAAA,EACpD;AAEA,SAAO,SAAS,IAAI,yBAAoB,aAAaA,WAAU,SAASC,GAAE,IAAI,SAAS,IAAI,EAAE,EAAE;AAE/F,SAAO,SAAS,IAAI;AAAA,IAClB,OAAO,GAAG,OAAO,QAAQ,EAAE;AAAA,IAC3B,SAAS,QAAQ,KAAK,EAAE;AAAA,IACxB,OAAO;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,IACf;AAAA,EACF,CAAC;AACH;","names":["LogMapper","c","c","process","c","c","c","path","LogMapper","c"]}
|