@kubb/cli 5.0.0-beta.14 → 5.0.0-beta.16
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/{agent-Dn1Kfd_R.cjs → agent-CfD2m2CX.cjs} +2 -2
- package/dist/{agent-Dn1Kfd_R.cjs.map → agent-CfD2m2CX.cjs.map} +1 -1
- package/dist/{agent-SCGeyEIE.js → agent-DMIwFeFd.js} +2 -2
- package/dist/{agent-SCGeyEIE.js.map → agent-DMIwFeFd.js.map} +1 -1
- package/dist/{generate-CLYE3RWE.js → generate-BdgANOyV.js} +2 -2
- package/dist/{generate-CLYE3RWE.js.map → generate-BdgANOyV.js.map} +1 -1
- package/dist/{generate-z_83cgcO.cjs → generate-Dp1zXEr-.cjs} +2 -2
- package/dist/{generate-z_83cgcO.cjs.map → generate-Dp1zXEr-.cjs.map} +1 -1
- package/dist/index.cjs +6 -6
- package/dist/index.js +6 -6
- package/dist/{init-BvHHgquV.js → init-HVMnBjNh.js} +2 -2
- package/dist/{init-BvHHgquV.js.map → init-HVMnBjNh.js.map} +1 -1
- package/dist/{init-S-eLRaep.cjs → init-QPhvEnU-.cjs} +2 -2
- package/dist/{init-S-eLRaep.cjs.map → init-QPhvEnU-.cjs.map} +1 -1
- package/dist/{mcp-BkBwpF6r.cjs → mcp-CkEa2Yk_.cjs} +2 -2
- package/dist/{mcp-BkBwpF6r.cjs.map → mcp-CkEa2Yk_.cjs.map} +1 -1
- package/dist/{mcp-DEjoAmP2.js → mcp-Qye0tubs.js} +2 -2
- package/dist/{mcp-DEjoAmP2.js.map → mcp-Qye0tubs.js.map} +1 -1
- package/dist/{package-C7ZmbQd7.cjs → package-CGujHNGG.cjs} +2 -2
- package/dist/package-CGujHNGG.cjs.map +1 -0
- package/dist/package-QTB7rEyx.js +6 -0
- package/dist/package-QTB7rEyx.js.map +1 -0
- package/dist/{run-BNvaRFvz.js → run-Bn9nxITO.js} +127 -72
- package/dist/run-Bn9nxITO.js.map +1 -0
- package/dist/{run-DK-3QOOS.cjs → run-DJBakoaj.cjs} +127 -72
- package/dist/run-DJBakoaj.cjs.map +1 -0
- package/dist/{validate-C3hmnp-x.cjs → validate-BZTT-w80.cjs} +2 -2
- package/dist/{validate-C3hmnp-x.cjs.map → validate-BZTT-w80.cjs.map} +1 -1
- package/dist/{validate-qvniflGp.js → validate-_Ky0BFhR.js} +2 -2
- package/dist/{validate-qvniflGp.js.map → validate-_Ky0BFhR.js.map} +1 -1
- package/package.json +6 -6
- package/src/loggers/clackLogger.ts +47 -55
- package/src/loggers/githubActionsLogger.ts +64 -6
- package/src/loggers/plainLogger.ts +47 -11
- package/src/loggers/utils.ts +4 -1
- package/src/runners/generate/run.ts +20 -8
- package/src/runners/generate/utils.ts +2 -2
- package/dist/package-C7ZmbQd7.cjs.map +0 -1
- package/dist/package-D5eM8mZw.js +0 -6
- package/dist/package-D5eM8mZw.js.map +0 -1
- package/dist/run-BNvaRFvz.js.map +0 -1
- package/dist/run-DK-3QOOS.cjs.map +0 -1
|
@@ -2,7 +2,7 @@ const require_chunk = require("./chunk-ByKO4r7w.cjs");
|
|
|
2
2
|
const require_errors = require("./errors-CLCjoSg0.cjs");
|
|
3
3
|
const require_telemetry = require("./telemetry-B2iWkY5e.cjs");
|
|
4
4
|
const require_shell = require("./shell-475fQKaX.cjs");
|
|
5
|
-
const require_package = require("./package-
|
|
5
|
+
const require_package = require("./package-CGujHNGG.cjs");
|
|
6
6
|
const require_constants = require("./constants-BINTA5VZ.cjs");
|
|
7
7
|
let node_util = require("node:util");
|
|
8
8
|
let node_events = require("node:events");
|
|
@@ -17,7 +17,6 @@ node_process = require_chunk.__toESM(node_process, 1);
|
|
|
17
17
|
let _clack_prompts = require("@clack/prompts");
|
|
18
18
|
_clack_prompts = require_chunk.__toESM(_clack_prompts, 1);
|
|
19
19
|
let _kubb_core = require("@kubb/core");
|
|
20
|
-
let node_stream = require("node:stream");
|
|
21
20
|
let cosmiconfig = require("cosmiconfig");
|
|
22
21
|
let jiti = require("jiti");
|
|
23
22
|
let tinyexec = require("tinyexec");
|
|
@@ -491,21 +490,6 @@ async function detectLinter() {
|
|
|
491
490
|
//#endregion
|
|
492
491
|
//#region src/loggers/clackLogger.ts
|
|
493
492
|
/**
|
|
494
|
-
* Node.js `Writable` stream that forwards each chunk to a clack `taskLog` message.
|
|
495
|
-
* Used to pipe hook subprocess output into the clack task log UI.
|
|
496
|
-
*/
|
|
497
|
-
var ClackWritable = class extends node_stream.Writable {
|
|
498
|
-
taskLog;
|
|
499
|
-
constructor(taskLog, opts) {
|
|
500
|
-
super(opts);
|
|
501
|
-
this.taskLog = taskLog;
|
|
502
|
-
}
|
|
503
|
-
_write(chunk, _encoding, callback) {
|
|
504
|
-
this.taskLog.message(`${(0, node_util.styleText)("dim", chunk.toString())}`);
|
|
505
|
-
callback();
|
|
506
|
-
}
|
|
507
|
-
};
|
|
508
|
-
/**
|
|
509
493
|
* TTY logger with beautiful UI and progress indicators for local development.
|
|
510
494
|
*/
|
|
511
495
|
const clackLogger = (0, _kubb_core.defineLogger)({
|
|
@@ -521,7 +505,8 @@ const clackLogger = (0, _kubb_core.defineLogger)({
|
|
|
521
505
|
hrStart: node_process.default.hrtime(),
|
|
522
506
|
spinner: _clack_prompts.spinner(),
|
|
523
507
|
isSpinning: false,
|
|
524
|
-
activeProgress: /* @__PURE__ */ new Map()
|
|
508
|
+
activeProgress: /* @__PURE__ */ new Map(),
|
|
509
|
+
activeHookLogs: /* @__PURE__ */ new Map()
|
|
525
510
|
};
|
|
526
511
|
function reset() {
|
|
527
512
|
for (const [_key, active] of state.activeProgress) {
|
|
@@ -537,6 +522,7 @@ const clackLogger = (0, _kubb_core.defineLogger)({
|
|
|
537
522
|
state.spinner = _clack_prompts.spinner();
|
|
538
523
|
state.isSpinning = false;
|
|
539
524
|
state.activeProgress.clear();
|
|
525
|
+
state.activeHookLogs.clear();
|
|
540
526
|
}
|
|
541
527
|
function showProgressStep() {
|
|
542
528
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
@@ -551,6 +537,7 @@ const clackLogger = (0, _kubb_core.defineLogger)({
|
|
|
551
537
|
state.isSpinning = true;
|
|
552
538
|
}
|
|
553
539
|
function stopSpinner(text) {
|
|
540
|
+
if (!state.isSpinning) return;
|
|
554
541
|
state.spinner.stop(text);
|
|
555
542
|
state.isSpinning = false;
|
|
556
543
|
}
|
|
@@ -638,6 +625,7 @@ Run \`npm install -g @kubb/cli\` to update`, "Update available for `Kubb`", {
|
|
|
638
625
|
context.on("kubb:generation:start", ({ config }) => {
|
|
639
626
|
reset();
|
|
640
627
|
state.totalPlugins = config.plugins?.length ?? 0;
|
|
628
|
+
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
641
629
|
const text = getMessage(["Generation started", config.name ? `for ${(0, node_util.styleText)("dim", config.name)}` : void 0].filter(Boolean).join(" "));
|
|
642
630
|
_clack_prompts.intro(text);
|
|
643
631
|
});
|
|
@@ -707,38 +695,44 @@ Run \`npm install -g @kubb/cli\` to update`, "Update available for `Kubb`", {
|
|
|
707
695
|
showProgressStep();
|
|
708
696
|
});
|
|
709
697
|
context.on("kubb:generation:end", ({ config }) => {
|
|
698
|
+
stopSpinner();
|
|
710
699
|
const text = getMessage(config.name ? `Generation completed for ${(0, node_util.styleText)("dim", config.name)}` : "Generation completed");
|
|
711
700
|
_clack_prompts.outro(text);
|
|
712
701
|
});
|
|
713
702
|
context.on("kubb:format:start", () => {
|
|
714
703
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
715
|
-
|
|
716
|
-
_clack_prompts.intro(text);
|
|
717
|
-
});
|
|
718
|
-
context.on("kubb:format:end", () => {
|
|
719
|
-
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
720
|
-
const text = getMessage("Format completed");
|
|
721
|
-
_clack_prompts.outro(text);
|
|
704
|
+
_clack_prompts.log.step(getMessage("Formatting"));
|
|
722
705
|
});
|
|
723
706
|
context.on("kubb:lint:start", () => {
|
|
724
707
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
725
|
-
|
|
726
|
-
_clack_prompts.intro(text);
|
|
708
|
+
_clack_prompts.log.step(getMessage("Linting"));
|
|
727
709
|
});
|
|
728
|
-
context.on("kubb:
|
|
710
|
+
context.on("kubb:hooks:start", () => {
|
|
729
711
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
730
|
-
|
|
731
|
-
_clack_prompts.outro(text);
|
|
712
|
+
_clack_prompts.log.step(getMessage("Running hooks"));
|
|
732
713
|
});
|
|
733
|
-
context.on("kubb:hook:start", ({ command, args }) => {
|
|
734
|
-
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
735
|
-
|
|
736
|
-
|
|
714
|
+
context.on("kubb:hook:start", ({ id, command, args }) => {
|
|
715
|
+
if (logLevel <= _kubb_core.logLevel.silent || !id) return;
|
|
716
|
+
stopSpinner();
|
|
717
|
+
const title = getMessage(`Running ${(0, node_util.styleText)("dim", formatCommandWithArgs(command, args))}`);
|
|
718
|
+
const taskLog = _clack_prompts.taskLog({ title });
|
|
719
|
+
state.activeHookLogs.set(id, {
|
|
720
|
+
taskLog,
|
|
721
|
+
hrStart: node_process.default.hrtime()
|
|
722
|
+
});
|
|
737
723
|
});
|
|
738
|
-
context.on("kubb:hook:end", ({ command, args }) => {
|
|
739
|
-
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
740
|
-
const
|
|
741
|
-
|
|
724
|
+
context.on("kubb:hook:end", ({ id, command, args, success, error }) => {
|
|
725
|
+
if (logLevel <= _kubb_core.logLevel.silent || !id) return;
|
|
726
|
+
const active = state.activeHookLogs.get(id);
|
|
727
|
+
if (!active) return;
|
|
728
|
+
state.activeHookLogs.delete(id);
|
|
729
|
+
const commandWithArgs = formatCommandWithArgs(command, args);
|
|
730
|
+
const duration = formatMsWithColor(getElapsedMs(active.hrStart));
|
|
731
|
+
if (success) active.taskLog.success(getMessage(`${(0, node_util.styleText)("dim", commandWithArgs)} completed in ${duration}`));
|
|
732
|
+
else {
|
|
733
|
+
const reason = error?.message ? ` (${error.message})` : "";
|
|
734
|
+
active.taskLog.error(getMessage(`${(0, node_util.styleText)("dim", commandWithArgs)} failed${reason}`), { showLog: true });
|
|
735
|
+
}
|
|
742
736
|
});
|
|
743
737
|
context.on("kubb:generation:summary", ({ config, pluginTimings, failedPlugins, filesCreated, status, hrStart }) => {
|
|
744
738
|
const summary = getSummary({
|
|
@@ -769,18 +763,19 @@ Run \`npm install -g @kubb/cli\` to update`, "Update available for `Kubb`", {
|
|
|
769
763
|
context.on("kubb:lifecycle:end", () => {
|
|
770
764
|
reset();
|
|
771
765
|
});
|
|
772
|
-
return (
|
|
766
|
+
return (_commandWithArgs, hookId) => {
|
|
773
767
|
if (logLevel <= _kubb_core.logLevel.silent) return {
|
|
774
768
|
onStdout: (s) => console.log(s),
|
|
775
769
|
onStderr: (s) => console.error(s)
|
|
776
770
|
};
|
|
777
|
-
const
|
|
778
|
-
|
|
771
|
+
const active = state.activeHookLogs.get(hookId);
|
|
772
|
+
if (!active) return;
|
|
773
|
+
const { taskLog } = active;
|
|
779
774
|
return {
|
|
780
775
|
stream: true,
|
|
781
|
-
onLine: (line) =>
|
|
782
|
-
onStdout: (s) =>
|
|
783
|
-
onStderr: (s) =>
|
|
776
|
+
onLine: (line) => taskLog.message((0, node_util.styleText)("dim", line)),
|
|
777
|
+
onStdout: (s) => taskLog.message(s),
|
|
778
|
+
onStderr: (s) => taskLog.message((0, node_util.styleText)("red", s))
|
|
784
779
|
};
|
|
785
780
|
};
|
|
786
781
|
}
|
|
@@ -908,17 +903,21 @@ const githubActionsLogger = (0, _kubb_core.defineLogger)({
|
|
|
908
903
|
failedPlugins: 0,
|
|
909
904
|
totalFiles: 0,
|
|
910
905
|
processedFiles: 0,
|
|
911
|
-
hrStart:
|
|
912
|
-
currentConfigs: []
|
|
906
|
+
hrStart: node_process.default.hrtime(),
|
|
907
|
+
currentConfigs: [],
|
|
908
|
+
hookStarts: /* @__PURE__ */ new Map(),
|
|
909
|
+
openGroupDepth: 0
|
|
913
910
|
};
|
|
914
911
|
function reset() {
|
|
912
|
+
closeAllGroups();
|
|
915
913
|
state.totalPlugins = 0;
|
|
916
914
|
state.completedPlugins = 0;
|
|
917
915
|
state.failedPlugins = 0;
|
|
918
916
|
state.totalFiles = 0;
|
|
919
917
|
state.processedFiles = 0;
|
|
920
|
-
state.hrStart =
|
|
918
|
+
state.hrStart = node_process.default.hrtime();
|
|
921
919
|
state.currentConfigs = [];
|
|
920
|
+
state.hookStarts.clear();
|
|
922
921
|
}
|
|
923
922
|
function showProgressStep() {
|
|
924
923
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
@@ -930,9 +929,17 @@ const githubActionsLogger = (0, _kubb_core.defineLogger)({
|
|
|
930
929
|
}
|
|
931
930
|
function openGroup(name) {
|
|
932
931
|
console.log(`::group::${name}`);
|
|
932
|
+
state.openGroupDepth++;
|
|
933
933
|
}
|
|
934
934
|
function closeGroup(_name) {
|
|
935
935
|
console.log("::endgroup::");
|
|
936
|
+
if (state.openGroupDepth > 0) state.openGroupDepth--;
|
|
937
|
+
}
|
|
938
|
+
function closeAllGroups() {
|
|
939
|
+
while (state.openGroupDepth > 0) {
|
|
940
|
+
console.log("::endgroup::");
|
|
941
|
+
state.openGroupDepth--;
|
|
942
|
+
}
|
|
936
943
|
}
|
|
937
944
|
context.on("kubb:info", ({ message, info = "" }) => {
|
|
938
945
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
@@ -963,6 +970,7 @@ const githubActionsLogger = (0, _kubb_core.defineLogger)({
|
|
|
963
970
|
});
|
|
964
971
|
context.on("kubb:error", ({ error }) => {
|
|
965
972
|
const caused = require_errors.toCause(error);
|
|
973
|
+
closeAllGroups();
|
|
966
974
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
967
975
|
const message = error.message || String(error);
|
|
968
976
|
console.error(`::error::${message}`);
|
|
@@ -980,6 +988,9 @@ const githubActionsLogger = (0, _kubb_core.defineLogger)({
|
|
|
980
988
|
console.log((0, node_util.styleText)("yellow", `Kubb ${version} 🧩`));
|
|
981
989
|
reset();
|
|
982
990
|
});
|
|
991
|
+
context.on("kubb:version:new", ({ currentVersion, latestVersion }) => {
|
|
992
|
+
console.log(`::notice::Update available for Kubb: v${currentVersion} → v${latestVersion}. Run \`npm install -g @kubb/cli\` to update.`);
|
|
993
|
+
});
|
|
983
994
|
context.on("kubb:config:start", () => {
|
|
984
995
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
985
996
|
const text = getMessage("Configuration started");
|
|
@@ -1064,18 +1075,35 @@ const githubActionsLogger = (0, _kubb_core.defineLogger)({
|
|
|
1064
1075
|
console.log(text);
|
|
1065
1076
|
if (state.currentConfigs.length === 1) closeGroup("Linting");
|
|
1066
1077
|
});
|
|
1067
|
-
context.on("kubb:
|
|
1078
|
+
context.on("kubb:hooks:start", () => {
|
|
1079
|
+
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
1080
|
+
if (state.currentConfigs.length === 1) openGroup("Hooks");
|
|
1081
|
+
console.log(getMessage("Hooks started"));
|
|
1082
|
+
});
|
|
1083
|
+
context.on("kubb:hooks:end", () => {
|
|
1068
1084
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
1085
|
+
console.log(getMessage("Hooks completed"));
|
|
1086
|
+
if (state.currentConfigs.length === 1) closeGroup("Hooks");
|
|
1087
|
+
});
|
|
1088
|
+
context.on("kubb:hook:start", ({ id, command, args }) => {
|
|
1089
|
+
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
1090
|
+
if (id) state.hookStarts.set(id, node_process.default.hrtime());
|
|
1069
1091
|
const commandWithArgs = formatCommandWithArgs(command, args);
|
|
1070
1092
|
const text = getMessage(`Hook ${(0, node_util.styleText)("dim", commandWithArgs)} started`);
|
|
1071
1093
|
if (state.currentConfigs.length === 1) openGroup(`Hook ${commandWithArgs}`);
|
|
1072
1094
|
console.log(text);
|
|
1073
1095
|
});
|
|
1074
|
-
context.on("kubb:hook:end", ({ command, args }) => {
|
|
1096
|
+
context.on("kubb:hook:end", ({ id, command, args, success, error }) => {
|
|
1075
1097
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
1098
|
+
const hrStart = id ? state.hookStarts.get(id) : void 0;
|
|
1099
|
+
if (id) state.hookStarts.delete(id);
|
|
1100
|
+
const durationStr = hrStart ? ` in ${formatMsWithColor(getElapsedMs(hrStart))}` : "";
|
|
1076
1101
|
const commandWithArgs = formatCommandWithArgs(command, args);
|
|
1077
|
-
|
|
1078
|
-
|
|
1102
|
+
if (success) console.log(getMessage(`${(0, node_util.styleText)("green", "✓")} Hook ${(0, node_util.styleText)("dim", commandWithArgs)} completed${durationStr}`));
|
|
1103
|
+
else {
|
|
1104
|
+
const reason = error?.message ? ` (${error.message})` : "";
|
|
1105
|
+
console.log(`::error::Hook ${commandWithArgs} failed${durationStr}${reason}`);
|
|
1106
|
+
}
|
|
1079
1107
|
if (state.currentConfigs.length === 1) closeGroup(`Hook ${commandWithArgs}`);
|
|
1080
1108
|
});
|
|
1081
1109
|
context.on("kubb:generation:summary", ({ config, status, hrStart, failedPlugins }) => {
|
|
@@ -1089,7 +1117,7 @@ const githubActionsLogger = (0, _kubb_core.defineLogger)({
|
|
|
1089
1117
|
context.on("kubb:lifecycle:end", () => {
|
|
1090
1118
|
reset();
|
|
1091
1119
|
});
|
|
1092
|
-
return (_commandWithArgs) => ({
|
|
1120
|
+
return (_commandWithArgs, _hookId) => ({
|
|
1093
1121
|
onStdout: logLevel > _kubb_core.logLevel.silent ? (s) => console.log(s) : void 0,
|
|
1094
1122
|
onStderr: logLevel > _kubb_core.logLevel.silent ? (s) => console.error(`::error::${s}`) : void 0
|
|
1095
1123
|
});
|
|
@@ -1104,6 +1132,7 @@ const plainLogger = (0, _kubb_core.defineLogger)({
|
|
|
1104
1132
|
name: "plain",
|
|
1105
1133
|
install(context, options) {
|
|
1106
1134
|
const logLevel = options?.logLevel ?? _kubb_core.logLevel.info;
|
|
1135
|
+
const hookStarts = /* @__PURE__ */ new Map();
|
|
1107
1136
|
function getMessage(message) {
|
|
1108
1137
|
return formatMessage(message, logLevel);
|
|
1109
1138
|
}
|
|
@@ -1148,8 +1177,12 @@ const plainLogger = (0, _kubb_core.defineLogger)({
|
|
|
1148
1177
|
}
|
|
1149
1178
|
}
|
|
1150
1179
|
});
|
|
1151
|
-
context.on("kubb:lifecycle:start", () => {
|
|
1152
|
-
console.log(
|
|
1180
|
+
context.on("kubb:lifecycle:start", ({ version }) => {
|
|
1181
|
+
console.log(`Kubb CLI v${version}`);
|
|
1182
|
+
});
|
|
1183
|
+
context.on("kubb:version:new", ({ currentVersion, latestVersion }) => {
|
|
1184
|
+
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
1185
|
+
console.log(getMessage(`Update available: v${currentVersion} → v${latestVersion}. Run \`npm install -g @kubb/cli\` to update.`));
|
|
1153
1186
|
});
|
|
1154
1187
|
context.on("kubb:config:start", () => {
|
|
1155
1188
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
@@ -1215,15 +1248,31 @@ const plainLogger = (0, _kubb_core.defineLogger)({
|
|
|
1215
1248
|
const text = getMessage("Lint completed");
|
|
1216
1249
|
console.log(text);
|
|
1217
1250
|
});
|
|
1218
|
-
context.on("kubb:
|
|
1251
|
+
context.on("kubb:hooks:start", () => {
|
|
1219
1252
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
1220
|
-
|
|
1221
|
-
console.log(text);
|
|
1253
|
+
console.log(getMessage("Hooks started"));
|
|
1222
1254
|
});
|
|
1223
|
-
context.on("kubb:
|
|
1255
|
+
context.on("kubb:hooks:end", () => {
|
|
1224
1256
|
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
1225
|
-
|
|
1226
|
-
|
|
1257
|
+
console.log(getMessage("Hooks completed"));
|
|
1258
|
+
});
|
|
1259
|
+
context.on("kubb:hook:start", ({ id, command, args }) => {
|
|
1260
|
+
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
1261
|
+
if (id) hookStarts.set(id, node_process.default.hrtime());
|
|
1262
|
+
const commandWithArgs = formatCommandWithArgs(command, args);
|
|
1263
|
+
console.log(getMessage(`Hook ${commandWithArgs} started`));
|
|
1264
|
+
});
|
|
1265
|
+
context.on("kubb:hook:end", ({ id, command, args, success, error }) => {
|
|
1266
|
+
if (logLevel <= _kubb_core.logLevel.silent) return;
|
|
1267
|
+
const hrStart = id ? hookStarts.get(id) : void 0;
|
|
1268
|
+
if (id) hookStarts.delete(id);
|
|
1269
|
+
const durationStr = hrStart ? ` in ${formatMs(getElapsedMs(hrStart))}` : "";
|
|
1270
|
+
const commandWithArgs = formatCommandWithArgs(command, args);
|
|
1271
|
+
if (success) console.log(getMessage(`✓ Hook ${commandWithArgs} completed${durationStr}`));
|
|
1272
|
+
else {
|
|
1273
|
+
const reason = error?.message ? ` (${error.message})` : "";
|
|
1274
|
+
console.log(getMessage(`✗ Hook ${commandWithArgs} failed${durationStr}${reason}`));
|
|
1275
|
+
}
|
|
1227
1276
|
});
|
|
1228
1277
|
context.on("kubb:generation:summary", ({ config, pluginTimings, status, hrStart, failedPlugins, filesCreated }) => {
|
|
1229
1278
|
const summary = getSummary({
|
|
@@ -1238,7 +1287,7 @@ const plainLogger = (0, _kubb_core.defineLogger)({
|
|
|
1238
1287
|
console.log(summary.join("\n"));
|
|
1239
1288
|
console.log(require_constants.SUMMARY_SEPARATOR);
|
|
1240
1289
|
});
|
|
1241
|
-
return (_commandWithArgs) => ({
|
|
1290
|
+
return (_commandWithArgs, _hookId) => ({
|
|
1242
1291
|
onStdout: logLevel > _kubb_core.logLevel.silent ? (s) => console.log(s) : void 0,
|
|
1243
1292
|
onStderr: logLevel > _kubb_core.logLevel.silent ? (s) => console.error(s) : void 0
|
|
1244
1293
|
});
|
|
@@ -1425,7 +1474,7 @@ async function executeHooks({ configHooks, hooks, makeSink }) {
|
|
|
1425
1474
|
command: cmd,
|
|
1426
1475
|
args
|
|
1427
1476
|
});
|
|
1428
|
-
const { stream = false, onLine, onStdout, onStderr } = makeSink?.(commandWithArgs) ?? {};
|
|
1477
|
+
const { stream = false, onLine, onStdout, onStderr } = makeSink?.(commandWithArgs, hookId) ?? {};
|
|
1429
1478
|
await runHook({
|
|
1430
1479
|
id: hookId,
|
|
1431
1480
|
command: cmd,
|
|
@@ -1523,7 +1572,7 @@ function waitForHookEnd(hooks, hookId, onSuccess, fallbackErrorMessage) {
|
|
|
1523
1572
|
hooks.on("kubb:hook:end", handler);
|
|
1524
1573
|
});
|
|
1525
1574
|
}
|
|
1526
|
-
async function runToolPass({ toolValue, detect, toolMap, toolLabel, successPrefix, noToolMessage, configName, outputPath, logLevel, hooks, onStart, onEnd }) {
|
|
1575
|
+
async function runToolPass({ toolValue, detect, toolMap, toolLabel, successPrefix, noToolMessage, configName, outputPath, logLevel, hooks, makeSink, onStart, onEnd }) {
|
|
1527
1576
|
await onStart();
|
|
1528
1577
|
let resolvedTool = toolValue;
|
|
1529
1578
|
if (resolvedTool === "auto") {
|
|
@@ -1545,20 +1594,26 @@ async function runToolPass({ toolValue, detect, toolMap, toolLabel, successPrefi
|
|
|
1545
1594
|
].filter(Boolean).join(" ");
|
|
1546
1595
|
try {
|
|
1547
1596
|
const hookArgs = toolConfig.args(outputPath);
|
|
1597
|
+
const commandWithArgs = [toolConfig.command, ...hookArgs].join(" ");
|
|
1548
1598
|
const hookEndPromise = waitForHookEnd(hooks, hookId, () => hooks.emit("kubb:success", { message: successMessage }), toolConfig.errorMessage);
|
|
1549
1599
|
await hooks.emit("kubb:hook:start", {
|
|
1550
1600
|
id: hookId,
|
|
1551
1601
|
command: toolConfig.command,
|
|
1552
1602
|
args: hookArgs
|
|
1553
1603
|
});
|
|
1604
|
+
const { stream = false, onLine, onStdout, onStderr } = makeSink?.(commandWithArgs, hookId) ?? {};
|
|
1554
1605
|
runHook({
|
|
1555
1606
|
id: hookId,
|
|
1556
1607
|
command: toolConfig.command,
|
|
1557
1608
|
args: hookArgs,
|
|
1558
|
-
commandWithArgs
|
|
1609
|
+
commandWithArgs,
|
|
1559
1610
|
context: hooks,
|
|
1560
|
-
stream
|
|
1561
|
-
sink: {
|
|
1611
|
+
stream,
|
|
1612
|
+
sink: {
|
|
1613
|
+
onLine,
|
|
1614
|
+
onStdout,
|
|
1615
|
+
onStderr
|
|
1616
|
+
}
|
|
1562
1617
|
}).catch(() => {});
|
|
1563
1618
|
await hookEndPromise;
|
|
1564
1619
|
} catch (caughtError) {
|
|
@@ -1583,12 +1638,12 @@ async function generate(options) {
|
|
|
1583
1638
|
...options.config.output
|
|
1584
1639
|
};
|
|
1585
1640
|
const kubb = (0, _kubb_core.createKubb)(config, { hooks });
|
|
1586
|
-
await kubb.setup();
|
|
1587
1641
|
await hooks.emit("kubb:generation:start", { config });
|
|
1588
1642
|
await hooks.emit("kubb:info", {
|
|
1589
1643
|
message: config.name ? `Setup generation ${(0, node_util.styleText)("bold", config.name)}` : "Setup generation",
|
|
1590
1644
|
info: inputPath
|
|
1591
1645
|
});
|
|
1646
|
+
await kubb.setup();
|
|
1592
1647
|
await hooks.emit("kubb:info", {
|
|
1593
1648
|
message: config.name ? `Build generation ${(0, node_util.styleText)("bold", config.name)}` : "Build generation",
|
|
1594
1649
|
info: inputPath
|
|
@@ -1658,7 +1713,8 @@ async function generate(options) {
|
|
|
1658
1713
|
configName: config.name,
|
|
1659
1714
|
outputPath,
|
|
1660
1715
|
logLevel,
|
|
1661
|
-
hooks
|
|
1716
|
+
hooks,
|
|
1717
|
+
makeSink
|
|
1662
1718
|
});
|
|
1663
1719
|
if (config.hooks) {
|
|
1664
1720
|
await hooks.emit("kubb:hooks:start");
|
|
@@ -1699,14 +1755,15 @@ async function run({ input, configPath, logLevel: logLevelKey, watch }) {
|
|
|
1699
1755
|
const logLevel = _kubb_core.logLevel[logLevelKey] ?? _kubb_core.logLevel.info;
|
|
1700
1756
|
const hooks = new AsyncEventEmitter();
|
|
1701
1757
|
const makeSink = await setupLogger(hooks, { logLevel });
|
|
1758
|
+
await hooks.emit("kubb:lifecycle:start", { version: require_package.version });
|
|
1702
1759
|
await checkForUpdate(hooks);
|
|
1703
1760
|
try {
|
|
1761
|
+
await hooks.emit("kubb:config:start");
|
|
1704
1762
|
const { configs, configPath: resolvedConfigPath } = await getConfigs({
|
|
1705
1763
|
configPath,
|
|
1706
1764
|
input
|
|
1707
1765
|
});
|
|
1708
1766
|
const relativeConfigPath = node_path.default.relative(node_process.default.cwd(), resolvedConfigPath);
|
|
1709
|
-
await hooks.emit("kubb:config:start");
|
|
1710
1767
|
await hooks.emit("kubb:info", {
|
|
1711
1768
|
message: "Config loaded",
|
|
1712
1769
|
info: relativeConfigPath
|
|
@@ -1716,10 +1773,8 @@ async function run({ input, configPath, logLevel: logLevelKey, watch }) {
|
|
|
1716
1773
|
info: relativeConfigPath
|
|
1717
1774
|
});
|
|
1718
1775
|
await hooks.emit("kubb:config:end", { configs });
|
|
1719
|
-
await hooks.emit("kubb:lifecycle:start", { version: require_package.version });
|
|
1720
1776
|
let anyFailed = false;
|
|
1721
1777
|
for (const config of configs) if ((0, _kubb_core.isInputPath)(config) && watch) await startWatcher([input || config.input.path], async (paths) => {
|
|
1722
|
-
hooks.removeAll();
|
|
1723
1778
|
await generate({
|
|
1724
1779
|
input,
|
|
1725
1780
|
config,
|
|
@@ -1754,4 +1809,4 @@ async function run({ input, configPath, logLevel: logLevelKey, watch }) {
|
|
|
1754
1809
|
//#endregion
|
|
1755
1810
|
exports.run = run;
|
|
1756
1811
|
|
|
1757
|
-
//# sourceMappingURL=run-
|
|
1812
|
+
//# sourceMappingURL=run-DJBakoaj.cjs.map
|