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
|
@@ -18,22 +18,10 @@ class BaseReporter {
|
|
|
18
18
|
this.name = name;
|
|
19
19
|
this.options = options;
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Get reporter name
|
|
23
|
-
*/
|
|
24
|
-
getName() {
|
|
25
|
-
return this.name;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Get reporter options
|
|
29
|
-
*/
|
|
30
|
-
getOptions() {
|
|
31
|
-
return { ...this.options };
|
|
32
|
-
}
|
|
33
21
|
/**
|
|
34
22
|
* Utility method to format duration in human-readable format
|
|
35
23
|
*/
|
|
36
|
-
formatDuration(nanoseconds) {
|
|
24
|
+
static formatDuration(nanoseconds) {
|
|
37
25
|
if (nanoseconds < 1000) {
|
|
38
26
|
return `${nanoseconds.toFixed(2)}ns`;
|
|
39
27
|
}
|
|
@@ -50,7 +38,7 @@ class BaseReporter {
|
|
|
50
38
|
/**
|
|
51
39
|
* Utility method to format operations per second
|
|
52
40
|
*/
|
|
53
|
-
formatOpsPerSecond(opsPerSecond) {
|
|
41
|
+
static formatOpsPerSecond(opsPerSecond) {
|
|
54
42
|
if (opsPerSecond < 1000) {
|
|
55
43
|
return `${opsPerSecond.toFixed(2)} ops/sec`;
|
|
56
44
|
}
|
|
@@ -67,20 +55,20 @@ class BaseReporter {
|
|
|
67
55
|
/**
|
|
68
56
|
* Utility method to format percentage
|
|
69
57
|
*/
|
|
70
|
-
formatPercentage(value) {
|
|
58
|
+
static formatPercentage(value) {
|
|
71
59
|
return `${value.toFixed(2)}%`;
|
|
72
60
|
}
|
|
73
61
|
/**
|
|
74
|
-
*
|
|
62
|
+
* Get reporter name
|
|
75
63
|
*/
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
64
|
+
getName() {
|
|
65
|
+
return this.name;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get reporter options
|
|
69
|
+
*/
|
|
70
|
+
getOptions() {
|
|
71
|
+
return { ...this.options };
|
|
84
72
|
}
|
|
85
73
|
}
|
|
86
74
|
exports.BaseReporter = BaseReporter;
|
|
@@ -95,12 +83,16 @@ class CompositeReporter extends BaseReporter {
|
|
|
95
83
|
}
|
|
96
84
|
/**
|
|
97
85
|
* Add a reporter to the composite
|
|
86
|
+
*
|
|
87
|
+
* Intended for programmatic usage.
|
|
98
88
|
*/
|
|
99
89
|
addReporter(reporter) {
|
|
100
90
|
this.reporters.push(reporter);
|
|
101
91
|
}
|
|
102
92
|
/**
|
|
103
93
|
* Get all reporters in the composite
|
|
94
|
+
*
|
|
95
|
+
* Intended for programmatic usage.
|
|
104
96
|
*/
|
|
105
97
|
getReporters() {
|
|
106
98
|
return [...this.reporters];
|
|
@@ -137,6 +129,8 @@ class CompositeReporter extends BaseReporter {
|
|
|
137
129
|
}
|
|
138
130
|
/**
|
|
139
131
|
* Remove a reporter from the composite
|
|
132
|
+
*
|
|
133
|
+
* Intended for programmatic usage.
|
|
140
134
|
*/
|
|
141
135
|
removeReporter(reporter) {
|
|
142
136
|
const index = this.reporters.indexOf(reporter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter-registry.js","sourceRoot":"","sources":["../../src/services/reporter-registry.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAYH,kDAG4B;AAE5B;;GAEG;AACH,MAAsB,YAAY;IACb,IAAI,CAAS;IAEb,OAAO,CAA0B;IAEpD,YAAY,IAAY,EAAE,UAAmC,EAAE;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;
|
|
1
|
+
{"version":3,"file":"reporter-registry.js","sourceRoot":"","sources":["../../src/services/reporter-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,18 @@ export declare abstract class BaseReporter implements Reporter {
|
|
|
12
12
|
protected readonly name: string;
|
|
13
13
|
protected readonly options: Record<string, unknown>;
|
|
14
14
|
constructor(name: string, options?: Record<string, unknown>);
|
|
15
|
+
/**
|
|
16
|
+
* Utility method to format duration in human-readable format
|
|
17
|
+
*/
|
|
18
|
+
protected static formatDuration(this: void, nanoseconds: number): string;
|
|
19
|
+
/**
|
|
20
|
+
* Utility method to format operations per second
|
|
21
|
+
*/
|
|
22
|
+
protected static formatOpsPerSecond(this: void, opsPerSecond: number): string;
|
|
23
|
+
/**
|
|
24
|
+
* Utility method to format percentage
|
|
25
|
+
*/
|
|
26
|
+
protected static formatPercentage(this: void, value: number): string;
|
|
15
27
|
/**
|
|
16
28
|
* Get reporter name
|
|
17
29
|
*/
|
|
@@ -28,54 +40,14 @@ export declare abstract class BaseReporter implements Reporter {
|
|
|
28
40
|
* Called when an error occurs
|
|
29
41
|
*/
|
|
30
42
|
abstract onError(error: Error): Promise<void> | void;
|
|
31
|
-
/**
|
|
32
|
-
* Called when a file completes
|
|
33
|
-
*/
|
|
34
|
-
abstract onFileEnd(result: FileResult): Promise<void> | void;
|
|
35
|
-
/**
|
|
36
|
-
* Called when a file starts execution
|
|
37
|
-
*/
|
|
38
|
-
abstract onFileStart(file: string): Promise<void> | void;
|
|
39
|
-
/**
|
|
40
|
-
* Called for progress updates
|
|
41
|
-
*/
|
|
42
|
-
abstract onProgress(state: ProgressState): Promise<void> | void;
|
|
43
43
|
/**
|
|
44
44
|
* Called when benchmark run starts
|
|
45
45
|
*/
|
|
46
46
|
abstract onStart(run: BenchmarkRun): Promise<void> | void;
|
|
47
|
-
/**
|
|
48
|
-
* Called when a suite completes
|
|
49
|
-
*/
|
|
50
|
-
abstract onSuiteEnd(result: SuiteResult): Promise<void> | void;
|
|
51
|
-
/**
|
|
52
|
-
* Called when a suite starts execution
|
|
53
|
-
*/
|
|
54
|
-
abstract onSuiteStart(suite: string): Promise<void> | void;
|
|
55
47
|
/**
|
|
56
48
|
* Called when a task completes
|
|
57
49
|
*/
|
|
58
50
|
abstract onTaskResult(result: TaskResult): Promise<void> | void;
|
|
59
|
-
/**
|
|
60
|
-
* Called when a task starts execution
|
|
61
|
-
*/
|
|
62
|
-
abstract onTaskStart(task: string): Promise<void> | void;
|
|
63
|
-
/**
|
|
64
|
-
* Utility method to format duration in human-readable format
|
|
65
|
-
*/
|
|
66
|
-
protected formatDuration(nanoseconds: number): string;
|
|
67
|
-
/**
|
|
68
|
-
* Utility method to format operations per second
|
|
69
|
-
*/
|
|
70
|
-
protected formatOpsPerSecond(opsPerSecond: number): string;
|
|
71
|
-
/**
|
|
72
|
-
* Utility method to format percentage
|
|
73
|
-
*/
|
|
74
|
-
protected formatPercentage(value: number): string;
|
|
75
|
-
/**
|
|
76
|
-
* Utility method to safely handle async operations
|
|
77
|
-
*/
|
|
78
|
-
protected safeAsync<T>(operation: () => Promise<T>): Promise<null | T>;
|
|
79
51
|
}
|
|
80
52
|
/**
|
|
81
53
|
* Composite reporter that broadcasts events to multiple reporters
|
|
@@ -85,10 +57,14 @@ export declare class CompositeReporter extends BaseReporter {
|
|
|
85
57
|
constructor(reporters: Reporter[]);
|
|
86
58
|
/**
|
|
87
59
|
* Add a reporter to the composite
|
|
60
|
+
*
|
|
61
|
+
* Intended for programmatic usage.
|
|
88
62
|
*/
|
|
89
63
|
addReporter(reporter: Reporter): void;
|
|
90
64
|
/**
|
|
91
65
|
* Get all reporters in the composite
|
|
66
|
+
*
|
|
67
|
+
* Intended for programmatic usage.
|
|
92
68
|
*/
|
|
93
69
|
getReporters(): Reporter[];
|
|
94
70
|
onEnd(run: BenchmarkRun): Promise<void>;
|
|
@@ -103,6 +79,8 @@ export declare class CompositeReporter extends BaseReporter {
|
|
|
103
79
|
onTaskStart(task: string): Promise<void>;
|
|
104
80
|
/**
|
|
105
81
|
* Remove a reporter from the composite
|
|
82
|
+
*
|
|
83
|
+
* Intended for programmatic usage.
|
|
106
84
|
*/
|
|
107
85
|
removeReporter(reporter: Reporter): boolean;
|
|
108
86
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter-registry.d.ts","sourceRoot":"","sources":["../../src/services/reporter-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,UAAU,EACX,2BAA0B;AAO3B;;GAEG;AACH,8BAAsB,YAAa,YAAW,QAAQ;IACpD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAExC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAK/D;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"reporter-registry.d.ts","sourceRoot":"","sources":["../../src/services/reporter-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,18 @@ export declare abstract class BaseReporter implements Reporter {
|
|
|
12
12
|
protected readonly name: string;
|
|
13
13
|
protected readonly options: Record<string, unknown>;
|
|
14
14
|
constructor(name: string, options?: Record<string, unknown>);
|
|
15
|
+
/**
|
|
16
|
+
* Utility method to format duration in human-readable format
|
|
17
|
+
*/
|
|
18
|
+
protected static formatDuration(this: void, nanoseconds: number): string;
|
|
19
|
+
/**
|
|
20
|
+
* Utility method to format operations per second
|
|
21
|
+
*/
|
|
22
|
+
protected static formatOpsPerSecond(this: void, opsPerSecond: number): string;
|
|
23
|
+
/**
|
|
24
|
+
* Utility method to format percentage
|
|
25
|
+
*/
|
|
26
|
+
protected static formatPercentage(this: void, value: number): string;
|
|
15
27
|
/**
|
|
16
28
|
* Get reporter name
|
|
17
29
|
*/
|
|
@@ -28,54 +40,14 @@ export declare abstract class BaseReporter implements Reporter {
|
|
|
28
40
|
* Called when an error occurs
|
|
29
41
|
*/
|
|
30
42
|
abstract onError(error: Error): Promise<void> | void;
|
|
31
|
-
/**
|
|
32
|
-
* Called when a file completes
|
|
33
|
-
*/
|
|
34
|
-
abstract onFileEnd(result: FileResult): Promise<void> | void;
|
|
35
|
-
/**
|
|
36
|
-
* Called when a file starts execution
|
|
37
|
-
*/
|
|
38
|
-
abstract onFileStart(file: string): Promise<void> | void;
|
|
39
|
-
/**
|
|
40
|
-
* Called for progress updates
|
|
41
|
-
*/
|
|
42
|
-
abstract onProgress(state: ProgressState): Promise<void> | void;
|
|
43
43
|
/**
|
|
44
44
|
* Called when benchmark run starts
|
|
45
45
|
*/
|
|
46
46
|
abstract onStart(run: BenchmarkRun): Promise<void> | void;
|
|
47
|
-
/**
|
|
48
|
-
* Called when a suite completes
|
|
49
|
-
*/
|
|
50
|
-
abstract onSuiteEnd(result: SuiteResult): Promise<void> | void;
|
|
51
|
-
/**
|
|
52
|
-
* Called when a suite starts execution
|
|
53
|
-
*/
|
|
54
|
-
abstract onSuiteStart(suite: string): Promise<void> | void;
|
|
55
47
|
/**
|
|
56
48
|
* Called when a task completes
|
|
57
49
|
*/
|
|
58
50
|
abstract onTaskResult(result: TaskResult): Promise<void> | void;
|
|
59
|
-
/**
|
|
60
|
-
* Called when a task starts execution
|
|
61
|
-
*/
|
|
62
|
-
abstract onTaskStart(task: string): Promise<void> | void;
|
|
63
|
-
/**
|
|
64
|
-
* Utility method to format duration in human-readable format
|
|
65
|
-
*/
|
|
66
|
-
protected formatDuration(nanoseconds: number): string;
|
|
67
|
-
/**
|
|
68
|
-
* Utility method to format operations per second
|
|
69
|
-
*/
|
|
70
|
-
protected formatOpsPerSecond(opsPerSecond: number): string;
|
|
71
|
-
/**
|
|
72
|
-
* Utility method to format percentage
|
|
73
|
-
*/
|
|
74
|
-
protected formatPercentage(value: number): string;
|
|
75
|
-
/**
|
|
76
|
-
* Utility method to safely handle async operations
|
|
77
|
-
*/
|
|
78
|
-
protected safeAsync<T>(operation: () => Promise<T>): Promise<null | T>;
|
|
79
51
|
}
|
|
80
52
|
/**
|
|
81
53
|
* Composite reporter that broadcasts events to multiple reporters
|
|
@@ -85,10 +57,14 @@ export declare class CompositeReporter extends BaseReporter {
|
|
|
85
57
|
constructor(reporters: Reporter[]);
|
|
86
58
|
/**
|
|
87
59
|
* Add a reporter to the composite
|
|
60
|
+
*
|
|
61
|
+
* Intended for programmatic usage.
|
|
88
62
|
*/
|
|
89
63
|
addReporter(reporter: Reporter): void;
|
|
90
64
|
/**
|
|
91
65
|
* Get all reporters in the composite
|
|
66
|
+
*
|
|
67
|
+
* Intended for programmatic usage.
|
|
92
68
|
*/
|
|
93
69
|
getReporters(): Reporter[];
|
|
94
70
|
onEnd(run: BenchmarkRun): Promise<void>;
|
|
@@ -103,6 +79,8 @@ export declare class CompositeReporter extends BaseReporter {
|
|
|
103
79
|
onTaskStart(task: string): Promise<void>;
|
|
104
80
|
/**
|
|
105
81
|
* Remove a reporter from the composite
|
|
82
|
+
*
|
|
83
|
+
* Intended for programmatic usage.
|
|
106
84
|
*/
|
|
107
85
|
removeReporter(reporter: Reporter): boolean;
|
|
108
86
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter-registry.d.ts","sourceRoot":"","sources":["../../src/services/reporter-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,UAAU,EACX,0BAA0B;AAO3B;;GAEG;AACH,8BAAsB,YAAa,YAAW,QAAQ;IACpD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAExC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAK/D;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"reporter-registry.d.ts","sourceRoot":"","sources":["../../src/services/reporter-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,22 +15,10 @@ export class BaseReporter {
|
|
|
15
15
|
this.name = name;
|
|
16
16
|
this.options = options;
|
|
17
17
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Get reporter name
|
|
20
|
-
*/
|
|
21
|
-
getName() {
|
|
22
|
-
return this.name;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Get reporter options
|
|
26
|
-
*/
|
|
27
|
-
getOptions() {
|
|
28
|
-
return { ...this.options };
|
|
29
|
-
}
|
|
30
18
|
/**
|
|
31
19
|
* Utility method to format duration in human-readable format
|
|
32
20
|
*/
|
|
33
|
-
formatDuration(nanoseconds) {
|
|
21
|
+
static formatDuration(nanoseconds) {
|
|
34
22
|
if (nanoseconds < 1000) {
|
|
35
23
|
return `${nanoseconds.toFixed(2)}ns`;
|
|
36
24
|
}
|
|
@@ -47,7 +35,7 @@ export class BaseReporter {
|
|
|
47
35
|
/**
|
|
48
36
|
* Utility method to format operations per second
|
|
49
37
|
*/
|
|
50
|
-
formatOpsPerSecond(opsPerSecond) {
|
|
38
|
+
static formatOpsPerSecond(opsPerSecond) {
|
|
51
39
|
if (opsPerSecond < 1000) {
|
|
52
40
|
return `${opsPerSecond.toFixed(2)} ops/sec`;
|
|
53
41
|
}
|
|
@@ -64,20 +52,20 @@ export class BaseReporter {
|
|
|
64
52
|
/**
|
|
65
53
|
* Utility method to format percentage
|
|
66
54
|
*/
|
|
67
|
-
formatPercentage(value) {
|
|
55
|
+
static formatPercentage(value) {
|
|
68
56
|
return `${value.toFixed(2)}%`;
|
|
69
57
|
}
|
|
70
58
|
/**
|
|
71
|
-
*
|
|
59
|
+
* Get reporter name
|
|
72
60
|
*/
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
61
|
+
getName() {
|
|
62
|
+
return this.name;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get reporter options
|
|
66
|
+
*/
|
|
67
|
+
getOptions() {
|
|
68
|
+
return { ...this.options };
|
|
81
69
|
}
|
|
82
70
|
}
|
|
83
71
|
/**
|
|
@@ -91,12 +79,16 @@ export class CompositeReporter extends BaseReporter {
|
|
|
91
79
|
}
|
|
92
80
|
/**
|
|
93
81
|
* Add a reporter to the composite
|
|
82
|
+
*
|
|
83
|
+
* Intended for programmatic usage.
|
|
94
84
|
*/
|
|
95
85
|
addReporter(reporter) {
|
|
96
86
|
this.reporters.push(reporter);
|
|
97
87
|
}
|
|
98
88
|
/**
|
|
99
89
|
* Get all reporters in the composite
|
|
90
|
+
*
|
|
91
|
+
* Intended for programmatic usage.
|
|
100
92
|
*/
|
|
101
93
|
getReporters() {
|
|
102
94
|
return [...this.reporters];
|
|
@@ -133,6 +125,8 @@ export class CompositeReporter extends BaseReporter {
|
|
|
133
125
|
}
|
|
134
126
|
/**
|
|
135
127
|
* Remove a reporter from the composite
|
|
128
|
+
*
|
|
129
|
+
* Intended for programmatic usage.
|
|
136
130
|
*/
|
|
137
131
|
removeReporter(reporter) {
|
|
138
132
|
const index = this.reporters.indexOf(reporter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter-registry.js","sourceRoot":"","sources":["../../src/services/reporter-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,GACrB,2BAA2B;AAE5B;;GAEG;AACH,MAAM,OAAgB,YAAY;IACb,IAAI,CAAS;IAEb,OAAO,CAA0B;IAEpD,YAAY,IAAY,EAAE,UAAmC,EAAE;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;
|
|
1
|
+
{"version":3,"file":"reporter-registry.js","sourceRoot":"","sources":["../../src/services/reporter-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budgets.js","sourceRoot":"","sources":["../../src/types/budgets.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance budget types for benchmark thresholds
|
|
3
|
+
*
|
|
4
|
+
* @module types/budgets
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Absolute performance budgets (time-based)
|
|
8
|
+
*/
|
|
9
|
+
export interface AbsoluteBudget {
|
|
10
|
+
/** Maximum 99th percentile in nanoseconds */
|
|
11
|
+
readonly maxP99?: number;
|
|
12
|
+
/** Maximum mean execution time in nanoseconds */
|
|
13
|
+
readonly maxTime?: number;
|
|
14
|
+
/** Minimum operations per second */
|
|
15
|
+
readonly minOpsPerSec?: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Named baseline reference
|
|
19
|
+
*/
|
|
20
|
+
export interface BaselineReference {
|
|
21
|
+
/** Git branch (if available) */
|
|
22
|
+
readonly branch?: string;
|
|
23
|
+
/** Git commit (if available) */
|
|
24
|
+
readonly commit?: string;
|
|
25
|
+
/** Date baseline was created */
|
|
26
|
+
readonly date: Date;
|
|
27
|
+
/** Baseline name */
|
|
28
|
+
readonly name: string;
|
|
29
|
+
/** Run ID this baseline points to */
|
|
30
|
+
readonly runId: RunId;
|
|
31
|
+
/** Summary of benchmark results for quick comparison */
|
|
32
|
+
readonly summary: Record<TaskId, BaselineSummaryData>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Baseline storage file format
|
|
36
|
+
*/
|
|
37
|
+
export interface BaselineStorage {
|
|
38
|
+
/** Named baselines */
|
|
39
|
+
readonly baselines: Record<string, BaselineReference>;
|
|
40
|
+
/** Default baseline name (optional) */
|
|
41
|
+
readonly default?: string;
|
|
42
|
+
/** Schema version */
|
|
43
|
+
readonly version: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Baseline summary data for a single task
|
|
47
|
+
*/
|
|
48
|
+
export interface BaselineSummaryData {
|
|
49
|
+
/** Mean execution time in nanoseconds */
|
|
50
|
+
readonly mean: number;
|
|
51
|
+
/** Operations per second */
|
|
52
|
+
readonly opsPerSecond: number;
|
|
53
|
+
/** 99th percentile (if available) */
|
|
54
|
+
readonly p99?: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Complete budget definition
|
|
58
|
+
*/
|
|
59
|
+
export interface Budget {
|
|
60
|
+
/** Absolute thresholds */
|
|
61
|
+
readonly absolute?: AbsoluteBudget;
|
|
62
|
+
/** Relative thresholds */
|
|
63
|
+
readonly relative?: RelativeBudget;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Budget evaluation result for a single task
|
|
67
|
+
*/
|
|
68
|
+
export interface BudgetResult {
|
|
69
|
+
/** Actual measured values */
|
|
70
|
+
readonly actual: {
|
|
71
|
+
readonly mean: number;
|
|
72
|
+
readonly opsPerSecond: number;
|
|
73
|
+
readonly p99?: number;
|
|
74
|
+
};
|
|
75
|
+
/** Baseline values (if relative budget) */
|
|
76
|
+
readonly baseline?: {
|
|
77
|
+
readonly mean: number;
|
|
78
|
+
readonly opsPerSecond: number;
|
|
79
|
+
readonly p99?: number;
|
|
80
|
+
};
|
|
81
|
+
/** Budget that was checked */
|
|
82
|
+
readonly budget: Budget;
|
|
83
|
+
/** Whether budget passed */
|
|
84
|
+
readonly passed: boolean;
|
|
85
|
+
/** Task identifier (file/suite/task) */
|
|
86
|
+
readonly taskId: TaskId;
|
|
87
|
+
/** Violations (what thresholds were exceeded) */
|
|
88
|
+
readonly violations: BudgetViolation[];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Budget evaluation summary for entire run
|
|
92
|
+
*/
|
|
93
|
+
export interface BudgetSummary {
|
|
94
|
+
/** Number failed */
|
|
95
|
+
readonly failed: number;
|
|
96
|
+
/** Number passed */
|
|
97
|
+
readonly passed: number;
|
|
98
|
+
/** Individual results */
|
|
99
|
+
readonly results: BudgetResult[];
|
|
100
|
+
/** Total budgets checked */
|
|
101
|
+
readonly total: number;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Specific budget violation
|
|
105
|
+
*/
|
|
106
|
+
export interface BudgetViolation {
|
|
107
|
+
/** Actual measured value */
|
|
108
|
+
readonly actual: number;
|
|
109
|
+
/** How much over/under threshold (as decimal, e.g., 0.15 = 15% over) */
|
|
110
|
+
readonly delta: number;
|
|
111
|
+
/** Human-readable message */
|
|
112
|
+
readonly message: string;
|
|
113
|
+
/** Expected threshold */
|
|
114
|
+
readonly threshold: number;
|
|
115
|
+
/** Type of budget that was violated */
|
|
116
|
+
readonly type: 'maxP99' | 'maxRegression' | 'maxTime' | 'minOpsPerSec';
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Relative performance budgets (comparison-based)
|
|
120
|
+
*/
|
|
121
|
+
export interface RelativeBudget {
|
|
122
|
+
/** Name of baseline to compare against */
|
|
123
|
+
readonly baseline?: string;
|
|
124
|
+
/** Maximum performance regression as decimal (0.10 = 10%) */
|
|
125
|
+
readonly maxRegression?: number;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Branded type for benchmark run identifiers
|
|
129
|
+
*
|
|
130
|
+
* RunId is a 7-character alphanumeric string that uniquely identifies a
|
|
131
|
+
* benchmark run. Using a branded type prevents accidental mixing with regular
|
|
132
|
+
* strings or TaskIds.
|
|
133
|
+
*/
|
|
134
|
+
export type RunId = string & {
|
|
135
|
+
readonly __brand: 'RunId';
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Branded type for task identifiers
|
|
139
|
+
*
|
|
140
|
+
* TaskId follows the format: `{filePath}/{suiteName}/{taskName}` Example:
|
|
141
|
+
* `benchmarks/array.bench.js/Array Operations/Array.push()`
|
|
142
|
+
*
|
|
143
|
+
* Using a branded type prevents accidental mixing with regular strings or
|
|
144
|
+
* RunIds.
|
|
145
|
+
*/
|
|
146
|
+
export type TaskId = string & {
|
|
147
|
+
readonly __brand: 'TaskId';
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=budgets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../src/types/budgets.ts"],"names":[],"mappings":"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"}
|