modestbench 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +131 -34
- package/dist/cli/commands/analyze.cjs +60 -0
- package/dist/cli/commands/analyze.cjs.map +1 -0
- package/dist/cli/commands/analyze.d.cts +35 -0
- package/dist/cli/commands/analyze.d.cts.map +1 -0
- package/dist/cli/commands/analyze.d.ts +35 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -0
- package/dist/cli/commands/analyze.js +56 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/baseline.cjs +404 -0
- package/dist/cli/commands/baseline.cjs.map +1 -0
- package/dist/cli/commands/baseline.d.cts +72 -0
- package/dist/cli/commands/baseline.d.cts.map +1 -0
- package/dist/cli/commands/baseline.d.ts +72 -0
- package/dist/cli/commands/baseline.d.ts.map +1 -0
- package/dist/cli/commands/baseline.js +396 -0
- package/dist/cli/commands/baseline.js.map +1 -0
- package/dist/cli/commands/history.d.cts +1 -1
- package/dist/cli/commands/history.d.cts.map +1 -1
- package/dist/cli/commands/history.d.ts +1 -1
- package/dist/cli/commands/history.d.ts.map +1 -1
- package/dist/cli/commands/init.cjs +88 -155
- package/dist/cli/commands/init.cjs.map +1 -1
- package/dist/cli/commands/init.d.cts +4 -4
- package/dist/cli/commands/init.d.cts.map +1 -1
- package/dist/cli/commands/init.d.ts +4 -4
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +88 -155
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/run.cjs +132 -114
- package/dist/cli/commands/run.cjs.map +1 -1
- package/dist/cli/commands/run.d.cts +16 -3
- package/dist/cli/commands/run.d.cts.map +1 -1
- package/dist/cli/commands/run.d.ts +16 -3
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +131 -80
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/index.cjs +583 -394
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +4 -16
- package/dist/cli/index.d.cts.map +1 -1
- package/dist/cli/index.d.ts +4 -16
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +575 -386
- package/dist/cli/index.js.map +1 -1
- package/dist/config/budget-schema.cjs +172 -0
- package/dist/config/budget-schema.cjs.map +1 -0
- package/dist/config/budget-schema.d.cts +59 -0
- package/dist/config/budget-schema.d.cts.map +1 -0
- package/dist/config/budget-schema.d.ts +59 -0
- package/dist/config/budget-schema.d.ts.map +1 -0
- package/dist/config/budget-schema.js +166 -0
- package/dist/config/budget-schema.js.map +1 -0
- package/dist/config/schema.cjs +182 -2
- package/dist/config/schema.cjs.map +1 -1
- package/dist/config/schema.d.cts +122 -3
- package/dist/config/schema.d.cts.map +1 -1
- package/dist/config/schema.d.ts +122 -3
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +180 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/constants.cjs +45 -2
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +41 -0
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.ts +41 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +44 -1
- package/dist/constants.js.map +1 -1
- package/dist/core/engine.cjs +103 -21
- package/dist/core/engine.cjs.map +1 -1
- package/dist/core/engine.d.cts +7 -7
- package/dist/core/engine.d.cts.map +1 -1
- package/dist/core/engine.d.ts +7 -7
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +104 -22
- package/dist/core/engine.js.map +1 -1
- package/dist/core/output-path-resolver.cjs +8 -1
- package/dist/core/output-path-resolver.cjs.map +1 -1
- package/dist/core/output-path-resolver.d.cts.map +1 -1
- package/dist/core/output-path-resolver.d.ts.map +1 -1
- package/dist/core/output-path-resolver.js +9 -2
- package/dist/core/output-path-resolver.js.map +1 -1
- package/dist/errors/base.cjs +12 -3
- package/dist/errors/base.cjs.map +1 -1
- package/dist/errors/base.d.cts +7 -0
- package/dist/errors/base.d.cts.map +1 -1
- package/dist/errors/base.d.ts +7 -0
- package/dist/errors/base.d.ts.map +1 -1
- package/dist/errors/base.js +10 -2
- package/dist/errors/base.js.map +1 -1
- package/dist/errors/budget.cjs +37 -0
- package/dist/errors/budget.cjs.map +1 -0
- package/dist/errors/budget.d.cts +31 -0
- package/dist/errors/budget.d.cts.map +1 -0
- package/dist/errors/budget.d.ts +31 -0
- package/dist/errors/budget.d.ts.map +1 -0
- package/dist/errors/budget.js +33 -0
- package/dist/errors/budget.js.map +1 -0
- package/dist/errors/index.cjs +4 -1
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.cts +1 -0
- package/dist/errors/index.d.cts.map +1 -1
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/index.cjs +13 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/reporters/csv.cjs +37 -17
- package/dist/reporters/csv.cjs.map +1 -1
- package/dist/reporters/csv.d.cts +3 -6
- package/dist/reporters/csv.d.cts.map +1 -1
- package/dist/reporters/csv.d.ts +3 -6
- package/dist/reporters/csv.d.ts.map +1 -1
- package/dist/reporters/csv.js +37 -17
- package/dist/reporters/csv.js.map +1 -1
- package/dist/reporters/human.cjs +66 -40
- package/dist/reporters/human.cjs.map +1 -1
- package/dist/reporters/human.d.cts +14 -13
- package/dist/reporters/human.d.cts.map +1 -1
- package/dist/reporters/human.d.ts +14 -13
- package/dist/reporters/human.d.ts.map +1 -1
- package/dist/reporters/human.js +66 -40
- package/dist/reporters/human.js.map +1 -1
- package/dist/reporters/json.cjs +23 -48
- package/dist/reporters/json.cjs.map +1 -1
- package/dist/reporters/json.d.cts +2 -28
- package/dist/reporters/json.d.cts.map +1 -1
- package/dist/reporters/json.d.ts +2 -28
- package/dist/reporters/json.d.ts.map +1 -1
- package/dist/reporters/json.js +25 -50
- package/dist/reporters/json.js.map +1 -1
- package/dist/reporters/profile-human.cjs +149 -0
- package/dist/reporters/profile-human.cjs.map +1 -0
- package/dist/reporters/profile-human.d.cts +44 -0
- package/dist/reporters/profile-human.d.cts.map +1 -0
- package/dist/reporters/profile-human.d.ts +44 -0
- package/dist/reporters/profile-human.d.ts.map +1 -0
- package/dist/reporters/profile-human.js +142 -0
- package/dist/reporters/profile-human.js.map +1 -0
- package/dist/reporters/simple.cjs +64 -44
- package/dist/reporters/simple.cjs.map +1 -1
- package/dist/reporters/simple.d.cts +14 -14
- package/dist/reporters/simple.d.cts.map +1 -1
- package/dist/reporters/simple.d.ts +14 -14
- package/dist/reporters/simple.d.ts.map +1 -1
- package/dist/reporters/simple.js +64 -44
- package/dist/reporters/simple.js.map +1 -1
- package/dist/schema/modestbench-config.schema.json +153 -0
- package/dist/services/baseline-storage.cjs +151 -0
- package/dist/services/baseline-storage.cjs.map +1 -0
- package/dist/services/baseline-storage.d.cts +55 -0
- package/dist/services/baseline-storage.d.cts.map +1 -0
- package/dist/services/baseline-storage.d.ts +55 -0
- package/dist/services/baseline-storage.d.ts.map +1 -0
- package/dist/services/baseline-storage.js +147 -0
- package/dist/services/baseline-storage.js.map +1 -0
- package/dist/services/budget-evaluator.cjs +146 -0
- package/dist/services/budget-evaluator.cjs.map +1 -0
- package/dist/services/budget-evaluator.d.cts +29 -0
- package/dist/services/budget-evaluator.d.cts.map +1 -0
- package/dist/services/budget-evaluator.d.ts +29 -0
- package/dist/services/budget-evaluator.d.ts.map +1 -0
- package/dist/services/budget-evaluator.js +142 -0
- package/dist/services/budget-evaluator.js.map +1 -0
- package/dist/services/config-manager.cjs +23 -9
- package/dist/services/config-manager.cjs.map +1 -1
- package/dist/services/config-manager.d.cts +6 -1
- package/dist/services/config-manager.d.cts.map +1 -1
- package/dist/services/config-manager.d.ts +6 -1
- package/dist/services/config-manager.d.ts.map +1 -1
- package/dist/services/config-manager.js +23 -9
- package/dist/services/config-manager.js.map +1 -1
- package/dist/services/file-loader.cjs +3 -6
- package/dist/services/file-loader.cjs.map +1 -1
- package/dist/services/file-loader.d.cts.map +1 -1
- package/dist/services/file-loader.d.ts.map +1 -1
- package/dist/services/file-loader.js +3 -6
- package/dist/services/file-loader.js.map +1 -1
- package/dist/services/profiler/profile-filter.cjs +113 -0
- package/dist/services/profiler/profile-filter.cjs.map +1 -0
- package/dist/services/profiler/profile-filter.d.cts +20 -0
- package/dist/services/profiler/profile-filter.d.cts.map +1 -0
- package/dist/services/profiler/profile-filter.d.ts +20 -0
- package/dist/services/profiler/profile-filter.d.ts.map +1 -0
- package/dist/services/profiler/profile-filter.js +109 -0
- package/dist/services/profiler/profile-filter.js.map +1 -0
- package/dist/services/profiler/profile-parser.cjs +139 -0
- package/dist/services/profiler/profile-parser.cjs.map +1 -0
- package/dist/services/profiler/profile-parser.d.cts +18 -0
- package/dist/services/profiler/profile-parser.d.cts.map +1 -0
- package/dist/services/profiler/profile-parser.d.ts +18 -0
- package/dist/services/profiler/profile-parser.d.ts.map +1 -0
- package/dist/services/profiler/profile-parser.js +132 -0
- package/dist/services/profiler/profile-parser.js.map +1 -0
- package/dist/services/profiler/profile-runner.cjs +90 -0
- package/dist/services/profiler/profile-runner.cjs.map +1 -0
- package/dist/services/profiler/profile-runner.d.cts +29 -0
- package/dist/services/profiler/profile-runner.d.cts.map +1 -0
- package/dist/services/profiler/profile-runner.d.ts +29 -0
- package/dist/services/profiler/profile-runner.d.ts.map +1 -0
- package/dist/services/profiler/profile-runner.js +86 -0
- package/dist/services/profiler/profile-runner.js.map +1 -0
- package/dist/services/reporter-registry.cjs +18 -24
- package/dist/services/reporter-registry.cjs.map +1 -1
- package/dist/services/reporter-registry.d.cts +18 -40
- package/dist/services/reporter-registry.d.cts.map +1 -1
- package/dist/services/reporter-registry.d.ts +18 -40
- package/dist/services/reporter-registry.d.ts.map +1 -1
- package/dist/services/reporter-registry.js +18 -24
- package/dist/services/reporter-registry.js.map +1 -1
- package/dist/types/budgets.cjs +8 -0
- package/dist/types/budgets.cjs.map +1 -0
- package/dist/types/budgets.d.cts +149 -0
- package/dist/types/budgets.d.cts.map +1 -0
- package/dist/types/budgets.d.ts +149 -0
- package/dist/types/budgets.d.ts.map +1 -0
- package/dist/types/budgets.js +7 -0
- package/dist/types/budgets.js.map +1 -0
- package/dist/types/cli.cjs +2 -11
- package/dist/types/cli.cjs.map +1 -1
- package/dist/types/cli.d.cts +3 -227
- package/dist/types/cli.d.cts.map +1 -1
- package/dist/types/cli.d.ts +3 -227
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/cli.js +2 -11
- package/dist/types/cli.js.map +1 -1
- package/dist/types/core.cjs +6 -1
- package/dist/types/core.cjs.map +1 -1
- package/dist/types/core.d.cts +13 -2
- package/dist/types/core.d.cts.map +1 -1
- package/dist/types/core.d.ts +13 -2
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +2 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/index.cjs +5 -0
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +2 -0
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/interfaces.d.cts +15 -8
- package/dist/types/interfaces.d.cts.map +1 -1
- package/dist/types/interfaces.d.ts +15 -8
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/profiler.cjs +11 -0
- package/dist/types/profiler.cjs.map +1 -0
- package/dist/types/profiler.d.cts +100 -0
- package/dist/types/profiler.d.cts.map +1 -0
- package/dist/types/profiler.d.ts +100 -0
- package/dist/types/profiler.d.ts.map +1 -0
- package/dist/types/profiler.js +10 -0
- package/dist/types/profiler.js.map +1 -0
- package/dist/types/utility.cjs.map +1 -1
- package/dist/types/utility.d.cts +0 -8
- package/dist/types/utility.d.cts.map +1 -1
- package/dist/types/utility.d.ts +0 -8
- package/dist/types/utility.d.ts.map +1 -1
- package/dist/types/utility.js.map +1 -1
- package/dist/utils/identifiers.cjs +32 -0
- package/dist/utils/identifiers.cjs.map +1 -0
- package/dist/utils/identifiers.d.cts +32 -0
- package/dist/utils/identifiers.d.cts.map +1 -0
- package/dist/utils/identifiers.d.ts +32 -0
- package/dist/utils/identifiers.d.ts.map +1 -0
- package/dist/utils/identifiers.js +27 -0
- package/dist/utils/identifiers.js.map +1 -0
- package/dist/utils/package.cjs +40 -0
- package/dist/utils/package.cjs.map +1 -0
- package/dist/utils/package.d.cts +15 -0
- package/dist/utils/package.d.cts.map +1 -0
- package/dist/utils/package.d.ts +15 -0
- package/dist/utils/package.d.ts.map +1 -0
- package/dist/utils/package.js +33 -0
- package/dist/utils/package.js.map +1 -0
- package/dist/utils/type-guards.cjs +48 -0
- package/dist/utils/type-guards.cjs.map +1 -0
- package/dist/utils/type-guards.d.cts +22 -0
- package/dist/utils/type-guards.d.cts.map +1 -0
- package/dist/utils/type-guards.d.ts +22 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +43 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/package.json +10 -10
- package/src/cli/commands/analyze.ts +101 -0
- package/src/cli/commands/baseline.ts +577 -0
- package/src/cli/commands/history.ts +1 -1
- package/src/cli/commands/init.ts +105 -183
- package/src/cli/commands/run.ts +167 -98
- package/src/cli/index.ts +425 -183
- package/src/config/budget-schema.ts +189 -0
- package/src/config/schema.ts +260 -1
- package/src/constants.ts +53 -1
- package/src/core/engine.ts +151 -20
- package/src/core/output-path-resolver.ts +10 -2
- package/src/errors/base.ts +11 -2
- package/src/errors/budget.ts +38 -0
- package/src/errors/index.ts +3 -0
- package/src/index.ts +9 -0
- package/src/reporters/csv.ts +54 -25
- package/src/reporters/human.ts +88 -47
- package/src/reporters/json.ts +26 -71
- package/src/reporters/profile-human.ts +204 -0
- package/src/reporters/simple.ts +84 -53
- package/src/services/baseline-storage.ts +199 -0
- package/src/services/budget-evaluator.ts +182 -0
- package/src/services/config-manager.ts +23 -8
- package/src/services/file-loader.ts +3 -6
- package/src/services/profiler/profile-filter.ts +143 -0
- package/src/services/profiler/profile-parser.ts +194 -0
- package/src/services/profiler/profile-runner.ts +121 -0
- package/src/services/reporter-registry.ts +46 -81
- package/src/types/budgets.ts +180 -0
- package/src/types/cli.ts +5 -238
- package/src/types/core.ts +50 -10
- package/src/types/index.ts +5 -0
- package/src/types/interfaces.ts +16 -6
- package/src/types/profiler.ts +132 -0
- package/src/types/utility.ts +0 -10
- package/src/utils/identifiers.ts +58 -0
- package/src/utils/package.ts +35 -0
- package/src/utils/type-guards.ts +51 -0
package/dist/reporters/human.cjs
CHANGED
|
@@ -40,6 +40,63 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
40
40
|
this.quiet = options.quiet ?? false;
|
|
41
41
|
this.showProgress = options.progress ?? true;
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Format bytes in human-readable format
|
|
45
|
+
*/
|
|
46
|
+
static formatBytes(bytes) {
|
|
47
|
+
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
48
|
+
let size = bytes;
|
|
49
|
+
let unitIndex = 0;
|
|
50
|
+
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
51
|
+
size /= 1024;
|
|
52
|
+
unitIndex++;
|
|
53
|
+
}
|
|
54
|
+
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Format file path - show relative path if within CWD, otherwise absolute
|
|
58
|
+
*/
|
|
59
|
+
static formatPath(filePath) {
|
|
60
|
+
const cwd = process.cwd();
|
|
61
|
+
const absolutePath = node_path_1.default.resolve(filePath);
|
|
62
|
+
// Check if the file is within the current working directory
|
|
63
|
+
if (absolutePath.startsWith(cwd + node_path_1.default.sep) || absolutePath === cwd) {
|
|
64
|
+
return node_path_1.default.relative(cwd, absolutePath);
|
|
65
|
+
}
|
|
66
|
+
return absolutePath;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Simple pluralization helper
|
|
70
|
+
*/
|
|
71
|
+
static pluralize(str, count) {
|
|
72
|
+
return count === 1 ? str : `${str}s`;
|
|
73
|
+
}
|
|
74
|
+
onBudgetResult(summary) {
|
|
75
|
+
if (summary.total === 0 || this.quiet) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.clearProgress();
|
|
79
|
+
this.printLine();
|
|
80
|
+
const budgetHeader = `${this.colorize('magenta', ansi_js_1.ansiChars.block.full.repeat(2))} ${this.colorize('brightWhite', this.colorize('bold', 'Performance Budgets'))}`;
|
|
81
|
+
this.printLine(budgetHeader);
|
|
82
|
+
this.printLine();
|
|
83
|
+
for (const result of summary.results) {
|
|
84
|
+
const icon = result.passed ? ansi_js_1.ansiChars.checkmark : ansi_js_1.ansiChars.cross;
|
|
85
|
+
const iconColor = result.passed ? 'brightCyan' : 'brightRed';
|
|
86
|
+
this.printLine(` ${this.colorize(iconColor, icon)} ${this.colorize('white', result.taskId)}`);
|
|
87
|
+
if (!result.passed && result.violations.length > 0) {
|
|
88
|
+
for (const violation of result.violations) {
|
|
89
|
+
this.printLine(` ${this.colorize('brightRed', violation.message)}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
this.printLine();
|
|
94
|
+
const statusText = summary.failed === 0
|
|
95
|
+
? `${this.colorize('brightCyan', ansi_js_1.ansiChars.checkmark)} All ${summary.total} budget(s) passed`
|
|
96
|
+
: `${this.colorize('brightRed', ansi_js_1.ansiChars.cross)} ${summary.failed} of ${summary.total} budget(s) failed`;
|
|
97
|
+
this.printLine(` ${statusText}`);
|
|
98
|
+
this.printLine();
|
|
99
|
+
}
|
|
43
100
|
onEnd(run) {
|
|
44
101
|
if (this.quiet) {
|
|
45
102
|
return;
|
|
@@ -72,7 +129,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
72
129
|
else {
|
|
73
130
|
this.printLine(`${this.colorize('brightCyan', ansi_js_1.ansiChars.checkmark + ' All tasks passed:')} ${this.colorize('brightWhite', String(totalPassed))}`);
|
|
74
131
|
}
|
|
75
|
-
this.printLine(`${this.colorize('cyan', ansi_js_1.ansiChars.approx + ' Duration:')} ${this.colorize('brightWhite',
|
|
132
|
+
this.printLine(`${this.colorize('cyan', ansi_js_1.ansiChars.approx + ' Duration:')} ${this.colorize('brightWhite', reporter_registry_js_1.BaseReporter.formatDuration(duration * 1000000))}`);
|
|
76
133
|
this.printLine();
|
|
77
134
|
if (totalFailed > 0) {
|
|
78
135
|
// Display failed tasks with details
|
|
@@ -81,7 +138,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
81
138
|
this.printLine(this.colorize('brightRed', this.colorize('bold', 'Failed Tasks:')));
|
|
82
139
|
this.printLine();
|
|
83
140
|
for (const failure of this.failures) {
|
|
84
|
-
const displayPath =
|
|
141
|
+
const displayPath = HumanReporter.formatPath(failure.file);
|
|
85
142
|
this.printLine(` ${this.colorize('dim', displayPath)} ${this.colorize('dim', '›')} ${this.colorize('white', failure.suite)} ${this.colorize('dim', '›')} ${this.colorize('brightWhite', failure.task)}`);
|
|
86
143
|
this.printLine(` ${this.colorize('brightRed', failure.error)}`);
|
|
87
144
|
this.printLine();
|
|
@@ -114,7 +171,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
114
171
|
this.printLine(this.colorize('red', ` ${ansi_js_1.ansiChars.cross} ${totalFailed} failed, ${totalPassed} passed`));
|
|
115
172
|
}
|
|
116
173
|
else {
|
|
117
|
-
this.printLine(` ${this.colorize('magenta', ansi_js_1.ansiChars.checkmark)} ${totalPassed > 1 ? this.colorize('brightMagenta', 'All ') : ''}${this.colorize('bold', this.colorize('brightMagenta', `${totalPassed}`))} ${this.colorize('brightMagenta', `${
|
|
174
|
+
this.printLine(` ${this.colorize('magenta', ansi_js_1.ansiChars.checkmark)} ${totalPassed > 1 ? this.colorize('brightMagenta', 'All ') : ''}${this.colorize('bold', this.colorize('brightMagenta', `${totalPassed}`))} ${this.colorize('brightMagenta', `${HumanReporter.pluralize('task', totalPassed)} passed`)}`);
|
|
118
175
|
}
|
|
119
176
|
this.printLine();
|
|
120
177
|
}
|
|
@@ -123,7 +180,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
123
180
|
if (this.quiet) {
|
|
124
181
|
return;
|
|
125
182
|
}
|
|
126
|
-
const displayPath =
|
|
183
|
+
const displayPath = HumanReporter.formatPath(file);
|
|
127
184
|
const fileMarker = `${ansi_js_1.colors.magenta}${ansi_js_1.ansiChars.block.dark}${ansi_js_1.ansiChars.block.dark}${ansi_js_1.colors.reset}`;
|
|
128
185
|
this.printLine(`${fileMarker} ${ansi_js_1.colors.underline}${this.colorize('brightMagenta', this.colorize('bold', displayPath))}${ansi_js_1.colors.reset}`);
|
|
129
186
|
}
|
|
@@ -181,7 +238,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
181
238
|
\x1b[48;5;0m \x1b[48;5;14m \x1b[38;5;30;48;5;38m▄\x1b[38;5;14;48;5;14m▄\x1b[48;5;14m \x1b[38;5;45;48;5;14m▄\x1b[38;5;89;48;5;14m▄\x1b[38;5;89;48;5;89m▄\x1b[38;5;14;48;5;31m▄\x1b[48;5;14m \x1b[38;5;37;48;5;89m▄\x1b[48;5;198m \x1b[38;5;198;48;5;198m▄\x1b[38;5;31;48;5;14m▄\x1b[48;5;14m \x1b[48;5;0m \x1b[m \x1b[2mnode.js:\x1b[m \x1b[36m${run.environment.nodeVersion} \x1b[m
|
|
182
239
|
\x1b[48;5;0m \x1b[48;5;14m \x1b[38;5;44;48;5;31m▄\x1b[48;5;14m \x1b[38;5;126;48;5;38m▄\x1b[38;5;198;48;5;237m▄\x1b[38;5;237;48;5;37m▄\x1b[48;5;14m \x1b[38;5;14;48;5;14m▄\x1b[38;5;162;48;5;198m▄▄\x1b[38;5;53;48;5;240m▄\x1b[48;5;14m \x1b[48;5;0m \x1b[m \x1b[2mplatform:\x1b[m \x1b[36m${run.environment.platform} ${run.environment.arch} \x1b[m
|
|
183
240
|
\x1b[48;5;0m \x1b[38;5;45;48;5;14m▄\x1b[48;5;14m \x1b[38;5;14;48;5;37m▄\x1b[38;5;14;48;5;5m▄\x1b[38;5;14;48;5;44m▄\x1b[48;5;14m \x1b[38;5;45;48;5;14m▄\x1b[48;5;0m \x1b[m \x1b[2mcpu:\x1b[m \x1b[36m${run.environment.cpu.model} \x1b[2m(\x1b[m\x1b[36m${run.environment.cpu.cores} cores\x1b[2m) \x1b[m
|
|
184
|
-
\x1b[49;38;5;0m▀▀\x1b[38;5;0;48;5;6m▄\x1b[38;5;232;48;5;14m▄\x1b[38;5;38;48;5;14m▄\x1b[48;5;14m \x1b[38;5;30;48;5;14m▄\x1b[38;5;0;48;5;14m▄\x1b[38;5;0;48;5;23m▄\x1b[49;38;5;0m▀▀\x1b[m \x1b[2mmem:\x1b[m \x1b[36m${
|
|
241
|
+
\x1b[49;38;5;0m▀▀\x1b[38;5;0;48;5;6m▄\x1b[38;5;232;48;5;14m▄\x1b[38;5;38;48;5;14m▄\x1b[48;5;14m \x1b[38;5;30;48;5;14m▄\x1b[38;5;0;48;5;14m▄\x1b[38;5;0;48;5;23m▄\x1b[49;38;5;0m▀▀\x1b[m \x1b[2mmem:\x1b[m \x1b[36m${HumanReporter.formatBytes(run.environment.memory.total)} \x1b[m
|
|
185
242
|
\x1b[49m \x1b[49;38;5;0m▀\x1b[38;5;0;48;5;236m▄\x1b[38;5;0;48;5;45m▄\x1b[38;5;23;48;5;14m▄\x1b[48;5;14m \x1b[38;5;236;48;5;14m▄\x1b[38;5;0;48;5;44m▄\x1b[38;5;0;48;5;232m▄\x1b[49;38;5;0m▀\x1b[49m \x1b[m
|
|
186
243
|
\x1b[49m \x1b[49;38;5;0m▀▀\x1b[38;5;0;48;5;37m▄\x1b[38;5;0;48;5;14m▄\x1b[38;5;0;48;5;30m▄\x1b[49;38;5;0m▀▀\x1b[49m \x1b[m
|
|
187
244
|
`;
|
|
@@ -228,7 +285,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
228
285
|
this.printLine(` ${this.colorize('red', `${ansi_js_1.ansiChars.cross} ${failed} failed`)}, ${this.colorize('green', `${passed} passed`)}`);
|
|
229
286
|
}
|
|
230
287
|
else {
|
|
231
|
-
this.printLine(` ${this.colorize('magenta', ansi_js_1.ansiChars.checkmark)} ${this.colorize('bold', this.colorize('brightWhite', `${passed}`))} ${this.colorize('brightWhite', `${
|
|
288
|
+
this.printLine(` ${this.colorize('magenta', ansi_js_1.ansiChars.checkmark)} ${this.colorize('bold', this.colorize('brightWhite', `${passed}`))} ${this.colorize('brightWhite', `${HumanReporter.pluralize('task', passed)} passed`)}`);
|
|
232
289
|
}
|
|
233
290
|
this.printLine();
|
|
234
291
|
}
|
|
@@ -291,31 +348,6 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
291
348
|
}
|
|
292
349
|
return `${ansi_js_1.colors[color]}${text}${ansi_js_1.colors.reset}`;
|
|
293
350
|
}
|
|
294
|
-
/**
|
|
295
|
-
* Format bytes in human-readable format
|
|
296
|
-
*/
|
|
297
|
-
formatBytes(bytes) {
|
|
298
|
-
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
299
|
-
let size = bytes;
|
|
300
|
-
let unitIndex = 0;
|
|
301
|
-
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
302
|
-
size /= 1024;
|
|
303
|
-
unitIndex++;
|
|
304
|
-
}
|
|
305
|
-
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
306
|
-
}
|
|
307
|
-
/**
|
|
308
|
-
* Format file path - show relative path if within CWD, otherwise absolute
|
|
309
|
-
*/
|
|
310
|
-
formatPath(filePath) {
|
|
311
|
-
const cwd = process.cwd();
|
|
312
|
-
const absolutePath = node_path_1.default.resolve(filePath);
|
|
313
|
-
// Check if the file is within the current working directory
|
|
314
|
-
if (absolutePath.startsWith(cwd + node_path_1.default.sep) || absolutePath === cwd) {
|
|
315
|
-
return node_path_1.default.relative(cwd, absolutePath);
|
|
316
|
-
}
|
|
317
|
-
return absolutePath;
|
|
318
|
-
}
|
|
319
351
|
/**
|
|
320
352
|
* Format duration in human-readable format for progress display
|
|
321
353
|
*/
|
|
@@ -342,12 +374,6 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
342
374
|
// eslint-disable-next-line no-control-regex
|
|
343
375
|
return str.replace(/\x1b\[[0-9;]*m/g, '').length;
|
|
344
376
|
}
|
|
345
|
-
/**
|
|
346
|
-
* Simple pluralization helper
|
|
347
|
-
*/
|
|
348
|
-
pluralize(str, count) {
|
|
349
|
-
return count === 1 ? str : `${str}s`;
|
|
350
|
-
}
|
|
351
377
|
/**
|
|
352
378
|
* Print all task results in a suite with aligned columns
|
|
353
379
|
*/
|
|
@@ -380,9 +406,9 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
|
|
|
380
406
|
status,
|
|
381
407
|
};
|
|
382
408
|
}
|
|
383
|
-
const duration =
|
|
384
|
-
const opsPerSec =
|
|
385
|
-
const rme =
|
|
409
|
+
const duration = reporter_registry_js_1.BaseReporter.formatDuration(result.mean); // already in nanoseconds
|
|
410
|
+
const opsPerSec = reporter_registry_js_1.BaseReporter.formatOpsPerSecond(result.opsPerSecond);
|
|
411
|
+
const rme = reporter_registry_js_1.BaseReporter.formatPercentage(result.marginOfError * 100);
|
|
386
412
|
return {
|
|
387
413
|
durationLen: this.getVisibleLength(duration),
|
|
388
414
|
durationStr: duration,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human.js","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"human.js","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides colorized, progressive output for terminal environments. Displays
|
|
5
5
|
* real-time progress, results, and formatted statistics.
|
|
6
6
|
*/
|
|
7
|
-
import type { BenchmarkRun, FileResult, ProgressState, SuiteResult, TaskResult } from "../types/index.cjs";
|
|
7
|
+
import type { BenchmarkRun, BudgetSummary, FileResult, ProgressState, SuiteResult, TaskResult } from "../types/index.cjs";
|
|
8
8
|
import { BaseReporter } from "../services/reporter-registry.cjs";
|
|
9
9
|
/**
|
|
10
10
|
* Human-readable console reporter with colorized output
|
|
@@ -27,6 +27,19 @@ export declare class HumanReporter extends BaseReporter {
|
|
|
27
27
|
quiet?: boolean;
|
|
28
28
|
verbose?: boolean;
|
|
29
29
|
});
|
|
30
|
+
/**
|
|
31
|
+
* Format bytes in human-readable format
|
|
32
|
+
*/
|
|
33
|
+
private static formatBytes;
|
|
34
|
+
/**
|
|
35
|
+
* Format file path - show relative path if within CWD, otherwise absolute
|
|
36
|
+
*/
|
|
37
|
+
private static formatPath;
|
|
38
|
+
/**
|
|
39
|
+
* Simple pluralization helper
|
|
40
|
+
*/
|
|
41
|
+
private static pluralize;
|
|
42
|
+
onBudgetResult(summary: BudgetSummary): void;
|
|
30
43
|
onEnd(run: BenchmarkRun): void;
|
|
31
44
|
onError(error: Error): void;
|
|
32
45
|
onFileEnd(result: FileResult): void;
|
|
@@ -49,14 +62,6 @@ export declare class HumanReporter extends BaseReporter {
|
|
|
49
62
|
* Apply color to text if colors are enabled
|
|
50
63
|
*/
|
|
51
64
|
private colorize;
|
|
52
|
-
/**
|
|
53
|
-
* Format bytes in human-readable format
|
|
54
|
-
*/
|
|
55
|
-
private formatBytes;
|
|
56
|
-
/**
|
|
57
|
-
* Format file path - show relative path if within CWD, otherwise absolute
|
|
58
|
-
*/
|
|
59
|
-
private formatPath;
|
|
60
65
|
/**
|
|
61
66
|
* Format duration in human-readable format for progress display
|
|
62
67
|
*/
|
|
@@ -65,10 +70,6 @@ export declare class HumanReporter extends BaseReporter {
|
|
|
65
70
|
* Get visible length of string (excluding ANSI escape codes)
|
|
66
71
|
*/
|
|
67
72
|
private getVisibleLength;
|
|
68
|
-
/**
|
|
69
|
-
* Simple pluralization helper
|
|
70
|
-
*/
|
|
71
|
-
private pluralize;
|
|
72
73
|
/**
|
|
73
74
|
* Print all task results in a suite with aligned columns
|
|
74
75
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,2BAA0B;AAE3B,OAAO,EAAE,YAAY,EAAE,0CAAyC;AAGhE;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,WAAW,CAAM;IAEzB,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAKR;IAER,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGhC,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IAgBR,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IA8E9B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAgB3B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA+BnC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc/B,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA+CtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAsDhC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA4BrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAStC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,2BAA0B;AAE3B,OAAO,EAAE,YAAY,EAAE,0CAAyC;AAGhE;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,WAAW,CAAM;IAEzB,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAKR;IAER,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGhC,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IAgBR;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAwC5C,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IA8E9B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAgB3B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA+BnC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc/B,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA+CtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAsDhC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA4BrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAStC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0JhC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAe7B"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides colorized, progressive output for terminal environments. Displays
|
|
5
5
|
* real-time progress, results, and formatted statistics.
|
|
6
6
|
*/
|
|
7
|
-
import type { BenchmarkRun, FileResult, ProgressState, SuiteResult, TaskResult } from "../types/index.js";
|
|
7
|
+
import type { BenchmarkRun, BudgetSummary, FileResult, ProgressState, SuiteResult, TaskResult } from "../types/index.js";
|
|
8
8
|
import { BaseReporter } from "../services/reporter-registry.js";
|
|
9
9
|
/**
|
|
10
10
|
* Human-readable console reporter with colorized output
|
|
@@ -27,6 +27,19 @@ export declare class HumanReporter extends BaseReporter {
|
|
|
27
27
|
quiet?: boolean;
|
|
28
28
|
verbose?: boolean;
|
|
29
29
|
});
|
|
30
|
+
/**
|
|
31
|
+
* Format bytes in human-readable format
|
|
32
|
+
*/
|
|
33
|
+
private static formatBytes;
|
|
34
|
+
/**
|
|
35
|
+
* Format file path - show relative path if within CWD, otherwise absolute
|
|
36
|
+
*/
|
|
37
|
+
private static formatPath;
|
|
38
|
+
/**
|
|
39
|
+
* Simple pluralization helper
|
|
40
|
+
*/
|
|
41
|
+
private static pluralize;
|
|
42
|
+
onBudgetResult(summary: BudgetSummary): void;
|
|
30
43
|
onEnd(run: BenchmarkRun): void;
|
|
31
44
|
onError(error: Error): void;
|
|
32
45
|
onFileEnd(result: FileResult): void;
|
|
@@ -49,14 +62,6 @@ export declare class HumanReporter extends BaseReporter {
|
|
|
49
62
|
* Apply color to text if colors are enabled
|
|
50
63
|
*/
|
|
51
64
|
private colorize;
|
|
52
|
-
/**
|
|
53
|
-
* Format bytes in human-readable format
|
|
54
|
-
*/
|
|
55
|
-
private formatBytes;
|
|
56
|
-
/**
|
|
57
|
-
* Format file path - show relative path if within CWD, otherwise absolute
|
|
58
|
-
*/
|
|
59
|
-
private formatPath;
|
|
60
65
|
/**
|
|
61
66
|
* Format duration in human-readable format for progress display
|
|
62
67
|
*/
|
|
@@ -65,10 +70,6 @@ export declare class HumanReporter extends BaseReporter {
|
|
|
65
70
|
* Get visible length of string (excluding ANSI escape codes)
|
|
66
71
|
*/
|
|
67
72
|
private getVisibleLength;
|
|
68
|
-
/**
|
|
69
|
-
* Simple pluralization helper
|
|
70
|
-
*/
|
|
71
|
-
private pluralize;
|
|
72
73
|
/**
|
|
73
74
|
* Print all task results in a suite with aligned columns
|
|
74
75
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,0BAA0B;AAE3B,OAAO,EAAE,YAAY,EAAE,yCAAyC;AAGhE;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,WAAW,CAAM;IAEzB,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAKR;IAER,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGhC,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IAgBR,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IA8E9B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAgB3B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA+BnC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc/B,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA+CtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAsDhC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA4BrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAStC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,0BAA0B;AAE3B,OAAO,EAAE,YAAY,EAAE,yCAAyC;AAGhE;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,WAAW,CAAM;IAEzB,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAKR;IAER,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGhC,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IAgBR;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAwC5C,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IA8E9B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAgB3B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA+BnC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc/B,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA+CtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAsDhC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA4BrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAStC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0JhC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAe7B"}
|
package/dist/reporters/human.js
CHANGED
|
@@ -34,6 +34,63 @@ export class HumanReporter extends BaseReporter {
|
|
|
34
34
|
this.quiet = options.quiet ?? false;
|
|
35
35
|
this.showProgress = options.progress ?? true;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Format bytes in human-readable format
|
|
39
|
+
*/
|
|
40
|
+
static formatBytes(bytes) {
|
|
41
|
+
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
42
|
+
let size = bytes;
|
|
43
|
+
let unitIndex = 0;
|
|
44
|
+
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
45
|
+
size /= 1024;
|
|
46
|
+
unitIndex++;
|
|
47
|
+
}
|
|
48
|
+
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Format file path - show relative path if within CWD, otherwise absolute
|
|
52
|
+
*/
|
|
53
|
+
static formatPath(filePath) {
|
|
54
|
+
const cwd = process.cwd();
|
|
55
|
+
const absolutePath = path.resolve(filePath);
|
|
56
|
+
// Check if the file is within the current working directory
|
|
57
|
+
if (absolutePath.startsWith(cwd + path.sep) || absolutePath === cwd) {
|
|
58
|
+
return path.relative(cwd, absolutePath);
|
|
59
|
+
}
|
|
60
|
+
return absolutePath;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Simple pluralization helper
|
|
64
|
+
*/
|
|
65
|
+
static pluralize(str, count) {
|
|
66
|
+
return count === 1 ? str : `${str}s`;
|
|
67
|
+
}
|
|
68
|
+
onBudgetResult(summary) {
|
|
69
|
+
if (summary.total === 0 || this.quiet) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
this.clearProgress();
|
|
73
|
+
this.printLine();
|
|
74
|
+
const budgetHeader = `${this.colorize('magenta', ansiChars.block.full.repeat(2))} ${this.colorize('brightWhite', this.colorize('bold', 'Performance Budgets'))}`;
|
|
75
|
+
this.printLine(budgetHeader);
|
|
76
|
+
this.printLine();
|
|
77
|
+
for (const result of summary.results) {
|
|
78
|
+
const icon = result.passed ? ansiChars.checkmark : ansiChars.cross;
|
|
79
|
+
const iconColor = result.passed ? 'brightCyan' : 'brightRed';
|
|
80
|
+
this.printLine(` ${this.colorize(iconColor, icon)} ${this.colorize('white', result.taskId)}`);
|
|
81
|
+
if (!result.passed && result.violations.length > 0) {
|
|
82
|
+
for (const violation of result.violations) {
|
|
83
|
+
this.printLine(` ${this.colorize('brightRed', violation.message)}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
this.printLine();
|
|
88
|
+
const statusText = summary.failed === 0
|
|
89
|
+
? `${this.colorize('brightCyan', ansiChars.checkmark)} All ${summary.total} budget(s) passed`
|
|
90
|
+
: `${this.colorize('brightRed', ansiChars.cross)} ${summary.failed} of ${summary.total} budget(s) failed`;
|
|
91
|
+
this.printLine(` ${statusText}`);
|
|
92
|
+
this.printLine();
|
|
93
|
+
}
|
|
37
94
|
onEnd(run) {
|
|
38
95
|
if (this.quiet) {
|
|
39
96
|
return;
|
|
@@ -66,7 +123,7 @@ export class HumanReporter extends BaseReporter {
|
|
|
66
123
|
else {
|
|
67
124
|
this.printLine(`${this.colorize('brightCyan', ansiChars.checkmark + ' All tasks passed:')} ${this.colorize('brightWhite', String(totalPassed))}`);
|
|
68
125
|
}
|
|
69
|
-
this.printLine(`${this.colorize('cyan', ansiChars.approx + ' Duration:')} ${this.colorize('brightWhite',
|
|
126
|
+
this.printLine(`${this.colorize('cyan', ansiChars.approx + ' Duration:')} ${this.colorize('brightWhite', BaseReporter.formatDuration(duration * 1000000))}`);
|
|
70
127
|
this.printLine();
|
|
71
128
|
if (totalFailed > 0) {
|
|
72
129
|
// Display failed tasks with details
|
|
@@ -75,7 +132,7 @@ export class HumanReporter extends BaseReporter {
|
|
|
75
132
|
this.printLine(this.colorize('brightRed', this.colorize('bold', 'Failed Tasks:')));
|
|
76
133
|
this.printLine();
|
|
77
134
|
for (const failure of this.failures) {
|
|
78
|
-
const displayPath =
|
|
135
|
+
const displayPath = HumanReporter.formatPath(failure.file);
|
|
79
136
|
this.printLine(` ${this.colorize('dim', displayPath)} ${this.colorize('dim', '›')} ${this.colorize('white', failure.suite)} ${this.colorize('dim', '›')} ${this.colorize('brightWhite', failure.task)}`);
|
|
80
137
|
this.printLine(` ${this.colorize('brightRed', failure.error)}`);
|
|
81
138
|
this.printLine();
|
|
@@ -108,7 +165,7 @@ export class HumanReporter extends BaseReporter {
|
|
|
108
165
|
this.printLine(this.colorize('red', ` ${ansiChars.cross} ${totalFailed} failed, ${totalPassed} passed`));
|
|
109
166
|
}
|
|
110
167
|
else {
|
|
111
|
-
this.printLine(` ${this.colorize('magenta', ansiChars.checkmark)} ${totalPassed > 1 ? this.colorize('brightMagenta', 'All ') : ''}${this.colorize('bold', this.colorize('brightMagenta', `${totalPassed}`))} ${this.colorize('brightMagenta', `${
|
|
168
|
+
this.printLine(` ${this.colorize('magenta', ansiChars.checkmark)} ${totalPassed > 1 ? this.colorize('brightMagenta', 'All ') : ''}${this.colorize('bold', this.colorize('brightMagenta', `${totalPassed}`))} ${this.colorize('brightMagenta', `${HumanReporter.pluralize('task', totalPassed)} passed`)}`);
|
|
112
169
|
}
|
|
113
170
|
this.printLine();
|
|
114
171
|
}
|
|
@@ -117,7 +174,7 @@ export class HumanReporter extends BaseReporter {
|
|
|
117
174
|
if (this.quiet) {
|
|
118
175
|
return;
|
|
119
176
|
}
|
|
120
|
-
const displayPath =
|
|
177
|
+
const displayPath = HumanReporter.formatPath(file);
|
|
121
178
|
const fileMarker = `${colors.magenta}${ansiChars.block.dark}${ansiChars.block.dark}${colors.reset}`;
|
|
122
179
|
this.printLine(`${fileMarker} ${colors.underline}${this.colorize('brightMagenta', this.colorize('bold', displayPath))}${colors.reset}`);
|
|
123
180
|
}
|
|
@@ -175,7 +232,7 @@ export class HumanReporter extends BaseReporter {
|
|
|
175
232
|
\x1b[48;5;0m \x1b[48;5;14m \x1b[38;5;30;48;5;38m▄\x1b[38;5;14;48;5;14m▄\x1b[48;5;14m \x1b[38;5;45;48;5;14m▄\x1b[38;5;89;48;5;14m▄\x1b[38;5;89;48;5;89m▄\x1b[38;5;14;48;5;31m▄\x1b[48;5;14m \x1b[38;5;37;48;5;89m▄\x1b[48;5;198m \x1b[38;5;198;48;5;198m▄\x1b[38;5;31;48;5;14m▄\x1b[48;5;14m \x1b[48;5;0m \x1b[m \x1b[2mnode.js:\x1b[m \x1b[36m${run.environment.nodeVersion} \x1b[m
|
|
176
233
|
\x1b[48;5;0m \x1b[48;5;14m \x1b[38;5;44;48;5;31m▄\x1b[48;5;14m \x1b[38;5;126;48;5;38m▄\x1b[38;5;198;48;5;237m▄\x1b[38;5;237;48;5;37m▄\x1b[48;5;14m \x1b[38;5;14;48;5;14m▄\x1b[38;5;162;48;5;198m▄▄\x1b[38;5;53;48;5;240m▄\x1b[48;5;14m \x1b[48;5;0m \x1b[m \x1b[2mplatform:\x1b[m \x1b[36m${run.environment.platform} ${run.environment.arch} \x1b[m
|
|
177
234
|
\x1b[48;5;0m \x1b[38;5;45;48;5;14m▄\x1b[48;5;14m \x1b[38;5;14;48;5;37m▄\x1b[38;5;14;48;5;5m▄\x1b[38;5;14;48;5;44m▄\x1b[48;5;14m \x1b[38;5;45;48;5;14m▄\x1b[48;5;0m \x1b[m \x1b[2mcpu:\x1b[m \x1b[36m${run.environment.cpu.model} \x1b[2m(\x1b[m\x1b[36m${run.environment.cpu.cores} cores\x1b[2m) \x1b[m
|
|
178
|
-
\x1b[49;38;5;0m▀▀\x1b[38;5;0;48;5;6m▄\x1b[38;5;232;48;5;14m▄\x1b[38;5;38;48;5;14m▄\x1b[48;5;14m \x1b[38;5;30;48;5;14m▄\x1b[38;5;0;48;5;14m▄\x1b[38;5;0;48;5;23m▄\x1b[49;38;5;0m▀▀\x1b[m \x1b[2mmem:\x1b[m \x1b[36m${
|
|
235
|
+
\x1b[49;38;5;0m▀▀\x1b[38;5;0;48;5;6m▄\x1b[38;5;232;48;5;14m▄\x1b[38;5;38;48;5;14m▄\x1b[48;5;14m \x1b[38;5;30;48;5;14m▄\x1b[38;5;0;48;5;14m▄\x1b[38;5;0;48;5;23m▄\x1b[49;38;5;0m▀▀\x1b[m \x1b[2mmem:\x1b[m \x1b[36m${HumanReporter.formatBytes(run.environment.memory.total)} \x1b[m
|
|
179
236
|
\x1b[49m \x1b[49;38;5;0m▀\x1b[38;5;0;48;5;236m▄\x1b[38;5;0;48;5;45m▄\x1b[38;5;23;48;5;14m▄\x1b[48;5;14m \x1b[38;5;236;48;5;14m▄\x1b[38;5;0;48;5;44m▄\x1b[38;5;0;48;5;232m▄\x1b[49;38;5;0m▀\x1b[49m \x1b[m
|
|
180
237
|
\x1b[49m \x1b[49;38;5;0m▀▀\x1b[38;5;0;48;5;37m▄\x1b[38;5;0;48;5;14m▄\x1b[38;5;0;48;5;30m▄\x1b[49;38;5;0m▀▀\x1b[49m \x1b[m
|
|
181
238
|
`;
|
|
@@ -222,7 +279,7 @@ export class HumanReporter extends BaseReporter {
|
|
|
222
279
|
this.printLine(` ${this.colorize('red', `${ansiChars.cross} ${failed} failed`)}, ${this.colorize('green', `${passed} passed`)}`);
|
|
223
280
|
}
|
|
224
281
|
else {
|
|
225
|
-
this.printLine(` ${this.colorize('magenta', ansiChars.checkmark)} ${this.colorize('bold', this.colorize('brightWhite', `${passed}`))} ${this.colorize('brightWhite', `${
|
|
282
|
+
this.printLine(` ${this.colorize('magenta', ansiChars.checkmark)} ${this.colorize('bold', this.colorize('brightWhite', `${passed}`))} ${this.colorize('brightWhite', `${HumanReporter.pluralize('task', passed)} passed`)}`);
|
|
226
283
|
}
|
|
227
284
|
this.printLine();
|
|
228
285
|
}
|
|
@@ -285,31 +342,6 @@ export class HumanReporter extends BaseReporter {
|
|
|
285
342
|
}
|
|
286
343
|
return `${colors[color]}${text}${colors.reset}`;
|
|
287
344
|
}
|
|
288
|
-
/**
|
|
289
|
-
* Format bytes in human-readable format
|
|
290
|
-
*/
|
|
291
|
-
formatBytes(bytes) {
|
|
292
|
-
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
293
|
-
let size = bytes;
|
|
294
|
-
let unitIndex = 0;
|
|
295
|
-
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
296
|
-
size /= 1024;
|
|
297
|
-
unitIndex++;
|
|
298
|
-
}
|
|
299
|
-
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Format file path - show relative path if within CWD, otherwise absolute
|
|
303
|
-
*/
|
|
304
|
-
formatPath(filePath) {
|
|
305
|
-
const cwd = process.cwd();
|
|
306
|
-
const absolutePath = path.resolve(filePath);
|
|
307
|
-
// Check if the file is within the current working directory
|
|
308
|
-
if (absolutePath.startsWith(cwd + path.sep) || absolutePath === cwd) {
|
|
309
|
-
return path.relative(cwd, absolutePath);
|
|
310
|
-
}
|
|
311
|
-
return absolutePath;
|
|
312
|
-
}
|
|
313
345
|
/**
|
|
314
346
|
* Format duration in human-readable format for progress display
|
|
315
347
|
*/
|
|
@@ -336,12 +368,6 @@ export class HumanReporter extends BaseReporter {
|
|
|
336
368
|
// eslint-disable-next-line no-control-regex
|
|
337
369
|
return str.replace(/\x1b\[[0-9;]*m/g, '').length;
|
|
338
370
|
}
|
|
339
|
-
/**
|
|
340
|
-
* Simple pluralization helper
|
|
341
|
-
*/
|
|
342
|
-
pluralize(str, count) {
|
|
343
|
-
return count === 1 ? str : `${str}s`;
|
|
344
|
-
}
|
|
345
371
|
/**
|
|
346
372
|
* Print all task results in a suite with aligned columns
|
|
347
373
|
*/
|
|
@@ -374,9 +400,9 @@ export class HumanReporter extends BaseReporter {
|
|
|
374
400
|
status,
|
|
375
401
|
};
|
|
376
402
|
}
|
|
377
|
-
const duration =
|
|
378
|
-
const opsPerSec =
|
|
379
|
-
const rme =
|
|
403
|
+
const duration = BaseReporter.formatDuration(result.mean); // already in nanoseconds
|
|
404
|
+
const opsPerSec = BaseReporter.formatOpsPerSecond(result.opsPerSecond);
|
|
405
|
+
const rme = BaseReporter.formatPercentage(result.marginOfError * 100);
|
|
380
406
|
return {
|
|
381
407
|
durationLen: this.getVisibleLength(duration),
|
|
382
408
|
durationStr: duration,
|