modestbench 0.7.0 → 0.9.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.
Files changed (184) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +37 -4
  3. package/dist/adapters/types.d.cts +1 -1
  4. package/dist/adapters/types.d.cts.map +1 -1
  5. package/dist/adapters/types.d.ts +1 -1
  6. package/dist/adapters/types.d.ts.map +1 -1
  7. package/dist/cli/commands/run.cjs +93 -49
  8. package/dist/cli/commands/run.cjs.map +1 -1
  9. package/dist/cli/commands/run.d.cts +1 -0
  10. package/dist/cli/commands/run.d.cts.map +1 -1
  11. package/dist/cli/commands/run.d.ts +1 -0
  12. package/dist/cli/commands/run.d.ts.map +1 -1
  13. package/dist/cli/commands/run.js +95 -51
  14. package/dist/cli/commands/run.js.map +1 -1
  15. package/dist/cli/index.cjs +7 -1
  16. package/dist/cli/index.cjs.map +1 -1
  17. package/dist/cli/index.d.cts.map +1 -1
  18. package/dist/cli/index.d.ts.map +1 -1
  19. package/dist/cli/index.js +7 -1
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/{core → config}/benchmark-schema.cjs +1 -1
  22. package/dist/config/benchmark-schema.cjs.map +1 -0
  23. package/dist/config/benchmark-schema.d.cts +913 -0
  24. package/dist/config/benchmark-schema.d.cts.map +1 -0
  25. package/dist/config/benchmark-schema.d.ts +913 -0
  26. package/dist/config/benchmark-schema.d.ts.map +1 -0
  27. package/dist/{core → config}/benchmark-schema.js +1 -1
  28. package/dist/config/benchmark-schema.js.map +1 -0
  29. package/dist/config/schema.cjs +188 -105
  30. package/dist/config/schema.cjs.map +1 -1
  31. package/dist/config/schema.d.cts +208 -80
  32. package/dist/config/schema.d.cts.map +1 -1
  33. package/dist/config/schema.d.ts +208 -80
  34. package/dist/config/schema.d.ts.map +1 -1
  35. package/dist/config/schema.js +187 -104
  36. package/dist/config/schema.js.map +1 -1
  37. package/dist/constants.cjs +2 -0
  38. package/dist/constants.cjs.map +1 -1
  39. package/dist/constants.d.cts +2 -0
  40. package/dist/constants.d.cts.map +1 -1
  41. package/dist/constants.d.ts +2 -0
  42. package/dist/constants.d.ts.map +1 -1
  43. package/dist/constants.js +2 -0
  44. package/dist/constants.js.map +1 -1
  45. package/dist/core/engine.cjs +50 -45
  46. package/dist/core/engine.cjs.map +1 -1
  47. package/dist/core/engine.d.cts.map +1 -1
  48. package/dist/core/engine.d.ts.map +1 -1
  49. package/dist/core/engine.js +50 -45
  50. package/dist/core/engine.js.map +1 -1
  51. package/dist/core/output-path-resolver.cjs +15 -1
  52. package/dist/core/output-path-resolver.cjs.map +1 -1
  53. package/dist/core/output-path-resolver.d.cts +8 -0
  54. package/dist/core/output-path-resolver.d.cts.map +1 -1
  55. package/dist/core/output-path-resolver.d.ts +8 -0
  56. package/dist/core/output-path-resolver.d.ts.map +1 -1
  57. package/dist/core/output-path-resolver.js +13 -0
  58. package/dist/core/output-path-resolver.js.map +1 -1
  59. package/dist/errors/index.cjs +3 -1
  60. package/dist/errors/index.cjs.map +1 -1
  61. package/dist/errors/index.d.cts +1 -1
  62. package/dist/errors/index.d.cts.map +1 -1
  63. package/dist/errors/index.d.ts +1 -1
  64. package/dist/errors/index.d.ts.map +1 -1
  65. package/dist/errors/index.js +1 -1
  66. package/dist/errors/index.js.map +1 -1
  67. package/dist/errors/reporter.cjs +45 -1
  68. package/dist/errors/reporter.cjs.map +1 -1
  69. package/dist/errors/reporter.d.cts +32 -0
  70. package/dist/errors/reporter.d.cts.map +1 -1
  71. package/dist/errors/reporter.d.ts +32 -0
  72. package/dist/errors/reporter.d.ts.map +1 -1
  73. package/dist/errors/reporter.js +42 -0
  74. package/dist/errors/reporter.js.map +1 -1
  75. package/dist/index.cjs +16 -1
  76. package/dist/index.cjs.map +1 -1
  77. package/dist/index.d.cts +3 -1
  78. package/dist/index.d.cts.map +1 -1
  79. package/dist/index.d.ts +3 -1
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +5 -1
  82. package/dist/index.js.map +1 -1
  83. package/dist/reporters/json.cjs +1 -1
  84. package/dist/reporters/json.cjs.map +1 -1
  85. package/dist/reporters/json.js +1 -1
  86. package/dist/reporters/json.js.map +1 -1
  87. package/dist/schema/modestbench-config.schema.json +94 -87
  88. package/dist/services/budget-evaluator.cjs +8 -6
  89. package/dist/services/budget-evaluator.cjs.map +1 -1
  90. package/dist/services/budget-evaluator.d.cts +2 -2
  91. package/dist/services/budget-evaluator.d.cts.map +1 -1
  92. package/dist/services/budget-evaluator.d.ts +2 -2
  93. package/dist/services/budget-evaluator.d.ts.map +1 -1
  94. package/dist/services/budget-evaluator.js +8 -6
  95. package/dist/services/budget-evaluator.js.map +1 -1
  96. package/dist/services/budget-resolver.cjs +214 -0
  97. package/dist/services/budget-resolver.cjs.map +1 -0
  98. package/dist/services/budget-resolver.d.cts +98 -0
  99. package/dist/services/budget-resolver.d.cts.map +1 -0
  100. package/dist/services/budget-resolver.d.ts +98 -0
  101. package/dist/services/budget-resolver.d.ts.map +1 -0
  102. package/dist/services/budget-resolver.js +203 -0
  103. package/dist/services/budget-resolver.js.map +1 -0
  104. package/dist/services/file-loader.cjs +1 -1
  105. package/dist/services/file-loader.cjs.map +1 -1
  106. package/dist/services/file-loader.js +1 -1
  107. package/dist/services/file-loader.js.map +1 -1
  108. package/dist/services/reporter-loader.cjs +281 -0
  109. package/dist/services/reporter-loader.cjs.map +1 -0
  110. package/dist/services/reporter-loader.d.cts +67 -0
  111. package/dist/services/reporter-loader.d.cts.map +1 -0
  112. package/dist/services/reporter-loader.d.ts +67 -0
  113. package/dist/services/reporter-loader.d.ts.map +1 -0
  114. package/dist/services/reporter-loader.js +241 -0
  115. package/dist/services/reporter-loader.js.map +1 -0
  116. package/dist/types/budgets.d.cts +31 -0
  117. package/dist/types/budgets.d.cts.map +1 -1
  118. package/dist/types/budgets.d.ts +31 -0
  119. package/dist/types/budgets.d.ts.map +1 -1
  120. package/dist/types/core.cjs.map +1 -1
  121. package/dist/types/core.d.cts +28 -75
  122. package/dist/types/core.d.cts.map +1 -1
  123. package/dist/types/core.d.ts +28 -75
  124. package/dist/types/core.d.ts.map +1 -1
  125. package/dist/types/core.js.map +1 -1
  126. package/dist/types/index.cjs.map +1 -1
  127. package/dist/types/index.d.cts +1 -0
  128. package/dist/types/index.d.cts.map +1 -1
  129. package/dist/types/index.d.ts +1 -0
  130. package/dist/types/index.d.ts.map +1 -1
  131. package/dist/types/index.js.map +1 -1
  132. package/dist/types/plugin.cjs +9 -0
  133. package/dist/types/plugin.cjs.map +1 -0
  134. package/dist/types/plugin.d.cts +179 -0
  135. package/dist/types/plugin.d.cts.map +1 -0
  136. package/dist/types/plugin.d.ts +179 -0
  137. package/dist/types/plugin.d.ts.map +1 -0
  138. package/dist/types/plugin.js +8 -0
  139. package/dist/types/plugin.js.map +1 -0
  140. package/dist/utils/package.cjs +66 -5
  141. package/dist/utils/package.cjs.map +1 -1
  142. package/dist/utils/package.d.cts +6 -0
  143. package/dist/utils/package.d.cts.map +1 -1
  144. package/dist/utils/package.d.ts +6 -0
  145. package/dist/utils/package.d.ts.map +1 -1
  146. package/dist/utils/package.js +31 -1
  147. package/dist/utils/package.js.map +1 -1
  148. package/dist/utils/reporter-utils.cjs +90 -0
  149. package/dist/utils/reporter-utils.cjs.map +1 -0
  150. package/dist/utils/reporter-utils.d.cts +42 -0
  151. package/dist/utils/reporter-utils.d.cts.map +1 -0
  152. package/dist/utils/reporter-utils.d.ts +42 -0
  153. package/dist/utils/reporter-utils.d.ts.map +1 -0
  154. package/dist/utils/reporter-utils.js +83 -0
  155. package/dist/utils/reporter-utils.js.map +1 -0
  156. package/package.json +20 -9
  157. package/src/adapters/types.ts +1 -1
  158. package/src/cli/commands/run.ts +140 -69
  159. package/src/cli/index.ts +8 -1
  160. package/src/{core → config}/benchmark-schema.ts +1 -1
  161. package/src/config/schema.ts +379 -302
  162. package/src/constants.ts +2 -0
  163. package/src/core/engine.ts +74 -69
  164. package/src/core/output-path-resolver.ts +14 -0
  165. package/src/errors/index.ts +2 -0
  166. package/src/errors/reporter.ts +55 -0
  167. package/src/index.ts +19 -1
  168. package/src/reporters/json.ts +1 -1
  169. package/src/services/budget-evaluator.ts +13 -9
  170. package/src/services/budget-resolver.ts +254 -0
  171. package/src/services/file-loader.ts +1 -1
  172. package/src/services/reporter-loader.ts +323 -0
  173. package/src/types/budgets.ts +38 -0
  174. package/src/types/core.ts +64 -99
  175. package/src/types/index.ts +3 -0
  176. package/src/types/plugin.ts +197 -0
  177. package/src/utils/package.ts +32 -1
  178. package/src/utils/reporter-utils.ts +85 -0
  179. package/dist/core/benchmark-schema.cjs.map +0 -1
  180. package/dist/core/benchmark-schema.d.cts +0 -139
  181. package/dist/core/benchmark-schema.d.cts.map +0 -1
  182. package/dist/core/benchmark-schema.d.ts +0 -139
  183. package/dist/core/benchmark-schema.d.ts.map +0 -1
  184. package/dist/core/benchmark-schema.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,wCAA6C;AAE7C;;;;;GAKG;AACH,MAAa,8BAA+B,SAAQ,0BAAgB;IACzD,IAAI,GAAG,oCAAoC,CAAC;CACtD;AAFD,wEAEC;AAED;;;;GAIG;AACH,MAAa,mBAAoB,SAAQ,0BAAgB;IAC9C,IAAI,GAAG,+BAA+B,CAAC;CACjD;AAFD,kDAEC;AAED;;;;GAIG;AACH,MAAa,oBAAqB,SAAQ,0BAAgB;IAC/C,IAAI,GAAG,yBAAyB,CAAC;CAC3C;AAFD,oDAEC"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,wCAA6C;AAE7C;;;;;GAKG;AACH,MAAa,8BAA+B,SAAQ,0BAAgB;IACzD,IAAI,GAAG,oCAAoC,CAAC;CACtD;AAFD,wEAEC;AAED;;;;;GAKG;AACH,MAAa,iBAAkB,SAAQ,0BAAgB;IAC5C,IAAI,GAAG,6BAA6B,CAAC;IAE9C;;OAEG;IACM,SAAS,CAAS;IAE3B,YAAY,OAAe,EAAE,SAAiB,EAAE,OAAsB;QACpE,KAAK,CAAC,4BAA4B,SAAS,MAAM,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAZD,8CAYC;AAED;;;;GAIG;AACH,MAAa,mBAAoB,SAAQ,0BAAgB;IAC9C,IAAI,GAAG,+BAA+B,CAAC;CACjD;AAFD,kDAEC;AAED;;;;;GAKG;AACH,MAAa,uBAAwB,SAAQ,0BAAgB;IAClD,IAAI,GAAG,yBAAyB,CAAC;IAE1C;;OAEG;IACM,cAAc,CAAW;IAElC;;OAEG;IACM,SAAS,CAAS;IAE3B,YACE,OAAe,EACf,SAAiB,EACjB,iBAA2B,EAAE,EAC7B,OAAsB;QAEtB,MAAM,WAAW,GACf,cAAc,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,8BAA8B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC5D,CAAC,CAAC,EAAE,CAAC;QACT,KAAK,CAAC,qBAAqB,SAAS,MAAM,OAAO,GAAG,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF;AA3BD,0DA2BC;AAED;;;;GAIG;AACH,MAAa,oBAAqB,SAAQ,0BAAgB;IAC/C,IAAI,GAAG,yBAAyB,CAAC;CAC3C;AAFD,oDAEC"}
@@ -13,6 +13,20 @@ import { ModestBenchError } from "./base.cjs";
13
13
  export declare class ReporterAlreadyRegisteredError extends ModestBenchError {
14
14
  readonly code = "ERR_MB_REPORTER_ALREADY_REGISTERED";
15
15
  }
16
+ /**
17
+ * Reporter load failed
18
+ *
19
+ * Thrown when a reporter module cannot be loaded (file not found, syntax error,
20
+ * invalid module format, etc.).
21
+ */
22
+ export declare class ReporterLoadError extends ModestBenchError {
23
+ readonly code = "ERR_MB_REPORTER_LOAD_FAILED";
24
+ /**
25
+ * The specifier (file path or package name) that failed to load
26
+ */
27
+ readonly specifier: string;
28
+ constructor(message: string, specifier: string, options?: ErrorOptions);
29
+ }
16
30
  /**
17
31
  * Reporter output failed
18
32
  *
@@ -21,6 +35,24 @@ export declare class ReporterAlreadyRegisteredError extends ModestBenchError {
21
35
  export declare class ReporterOutputError extends ModestBenchError {
22
36
  readonly code = "ERR_MB_REPORTER_OUTPUT_FAILED";
23
37
  }
38
+ /**
39
+ * Reporter validation failed
40
+ *
41
+ * Thrown when a loaded module does not implement the required Reporter
42
+ * interface methods.
43
+ */
44
+ export declare class ReporterValidationError extends ModestBenchError {
45
+ readonly code = "ERR_MB_REPORTER_INVALID";
46
+ /**
47
+ * The methods that are missing from the reporter
48
+ */
49
+ readonly missingMethods: string[];
50
+ /**
51
+ * The specifier (file path or package name) of the invalid reporter
52
+ */
53
+ readonly specifier: string;
54
+ constructor(message: string, specifier: string, missingMethods?: string[], options?: ErrorOptions);
55
+ }
24
56
  /**
25
57
  * Unknown reporter
26
58
  *
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,mBAAkB;AAE7C;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,gBAAgB;IAClE,QAAQ,CAAC,IAAI,wCAAwC;CACtD;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,IAAI,mCAAmC;CACjD;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,IAAI,6BAA6B;CAC3C"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,mBAAkB;AAE7C;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,gBAAgB;IAClE,QAAQ,CAAC,IAAI,wCAAwC;CACtD;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,QAAQ,CAAC,IAAI,iCAAiC;IAE9C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIvE;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,IAAI,mCAAmC;CACjD;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,QAAQ,CAAC,IAAI,6BAA6B;IAE1C;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,MAAM,EAAO,EAC7B,OAAO,CAAC,EAAE,YAAY;CAUzB;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,IAAI,6BAA6B;CAC3C"}
@@ -13,6 +13,20 @@ import { ModestBenchError } from "./base.js";
13
13
  export declare class ReporterAlreadyRegisteredError extends ModestBenchError {
14
14
  readonly code = "ERR_MB_REPORTER_ALREADY_REGISTERED";
15
15
  }
16
+ /**
17
+ * Reporter load failed
18
+ *
19
+ * Thrown when a reporter module cannot be loaded (file not found, syntax error,
20
+ * invalid module format, etc.).
21
+ */
22
+ export declare class ReporterLoadError extends ModestBenchError {
23
+ readonly code = "ERR_MB_REPORTER_LOAD_FAILED";
24
+ /**
25
+ * The specifier (file path or package name) that failed to load
26
+ */
27
+ readonly specifier: string;
28
+ constructor(message: string, specifier: string, options?: ErrorOptions);
29
+ }
16
30
  /**
17
31
  * Reporter output failed
18
32
  *
@@ -21,6 +35,24 @@ export declare class ReporterAlreadyRegisteredError extends ModestBenchError {
21
35
  export declare class ReporterOutputError extends ModestBenchError {
22
36
  readonly code = "ERR_MB_REPORTER_OUTPUT_FAILED";
23
37
  }
38
+ /**
39
+ * Reporter validation failed
40
+ *
41
+ * Thrown when a loaded module does not implement the required Reporter
42
+ * interface methods.
43
+ */
44
+ export declare class ReporterValidationError extends ModestBenchError {
45
+ readonly code = "ERR_MB_REPORTER_INVALID";
46
+ /**
47
+ * The methods that are missing from the reporter
48
+ */
49
+ readonly missingMethods: string[];
50
+ /**
51
+ * The specifier (file path or package name) of the invalid reporter
52
+ */
53
+ readonly specifier: string;
54
+ constructor(message: string, specifier: string, missingMethods?: string[], options?: ErrorOptions);
55
+ }
24
56
  /**
25
57
  * Unknown reporter
26
58
  *
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB;AAE7C;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,gBAAgB;IAClE,QAAQ,CAAC,IAAI,wCAAwC;CACtD;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,IAAI,mCAAmC;CACjD;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,IAAI,6BAA6B;CAC3C"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB;AAE7C;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,gBAAgB;IAClE,QAAQ,CAAC,IAAI,wCAAwC;CACtD;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,QAAQ,CAAC,IAAI,iCAAiC;IAE9C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIvE;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,IAAI,mCAAmC;CACjD;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,QAAQ,CAAC,IAAI,6BAA6B;IAE1C;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,MAAM,EAAO,EAC7B,OAAO,CAAC,EAAE,YAAY;CAUzB;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,IAAI,6BAA6B;CAC3C"}
@@ -13,6 +13,23 @@ import { ModestBenchError } from "./base.js";
13
13
  export class ReporterAlreadyRegisteredError extends ModestBenchError {
14
14
  code = 'ERR_MB_REPORTER_ALREADY_REGISTERED';
15
15
  }
16
+ /**
17
+ * Reporter load failed
18
+ *
19
+ * Thrown when a reporter module cannot be loaded (file not found, syntax error,
20
+ * invalid module format, etc.).
21
+ */
22
+ export class ReporterLoadError extends ModestBenchError {
23
+ code = 'ERR_MB_REPORTER_LOAD_FAILED';
24
+ /**
25
+ * The specifier (file path or package name) that failed to load
26
+ */
27
+ specifier;
28
+ constructor(message, specifier, options) {
29
+ super(`Failed to load reporter "${specifier}": ${message}`, options);
30
+ this.specifier = specifier;
31
+ }
32
+ }
16
33
  /**
17
34
  * Reporter output failed
18
35
  *
@@ -21,6 +38,31 @@ export class ReporterAlreadyRegisteredError extends ModestBenchError {
21
38
  export class ReporterOutputError extends ModestBenchError {
22
39
  code = 'ERR_MB_REPORTER_OUTPUT_FAILED';
23
40
  }
41
+ /**
42
+ * Reporter validation failed
43
+ *
44
+ * Thrown when a loaded module does not implement the required Reporter
45
+ * interface methods.
46
+ */
47
+ export class ReporterValidationError extends ModestBenchError {
48
+ code = 'ERR_MB_REPORTER_INVALID';
49
+ /**
50
+ * The methods that are missing from the reporter
51
+ */
52
+ missingMethods;
53
+ /**
54
+ * The specifier (file path or package name) of the invalid reporter
55
+ */
56
+ specifier;
57
+ constructor(message, specifier, missingMethods = [], options) {
58
+ const methodsInfo = missingMethods.length > 0
59
+ ? ` Missing required methods: ${missingMethods.join(', ')}.`
60
+ : '';
61
+ super(`Invalid reporter "${specifier}": ${message}${methodsInfo}`, options);
62
+ this.specifier = specifier;
63
+ this.missingMethods = missingMethods;
64
+ }
65
+ }
24
66
  /**
25
67
  * Unknown reporter
26
68
  *
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB;AAE7C;;;;;GAKG;AACH,MAAM,OAAO,8BAA+B,SAAQ,gBAAgB;IACzD,IAAI,GAAG,oCAAoC,CAAC;CACtD;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IAC9C,IAAI,GAAG,+BAA+B,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAC/C,IAAI,GAAG,yBAAyB,CAAC;CAC3C"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB;AAE7C;;;;;GAKG;AACH,MAAM,OAAO,8BAA+B,SAAQ,gBAAgB;IACzD,IAAI,GAAG,oCAAoC,CAAC;CACtD;AAED;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IAC5C,IAAI,GAAG,6BAA6B,CAAC;IAE9C;;OAEG;IACM,SAAS,CAAS;IAE3B,YAAY,OAAe,EAAE,SAAiB,EAAE,OAAsB;QACpE,KAAK,CAAC,4BAA4B,SAAS,MAAM,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IAC9C,IAAI,GAAG,+BAA+B,CAAC;CACjD;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,gBAAgB;IAClD,IAAI,GAAG,yBAAyB,CAAC;IAE1C;;OAEG;IACM,cAAc,CAAW;IAElC;;OAEG;IACM,SAAS,CAAS;IAE3B,YACE,OAAe,EACf,SAAiB,EACjB,iBAA2B,EAAE,EAC7B,OAAsB;QAEtB,MAAM,WAAW,GACf,cAAc,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,8BAA8B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC5D,CAAC,CAAC,EAAE,CAAC;QACT,KAAK,CAAC,qBAAqB,SAAS,MAAM,OAAO,GAAG,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAC/C,IAAI,GAAG,yBAAyB,CAAC;CAC3C"}
package/dist/index.cjs CHANGED
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.findPackageRoot = exports.ModestBenchReporterRegistry = exports.CompositeReporter = exports.BaseReporter = exports.ModestBenchProgressManager = exports.runWithProfiling = exports.parseProfile = exports.filterProfile = exports.FileHistoryStorage = exports.BenchmarkFileLoader = exports.ModestBenchConfigurationManager = exports.ProfileHumanReporter = exports.JsonReporter = exports.HumanReporter = exports.CsvReporter = exports.removeOutliersIQR = exports.calculateStatistics = exports.TinybenchEngine = exports.AccurateEngine = exports.ModestBenchEngine = exports.ExitCodes = exports.modestbench = void 0;
24
+ exports.reporterUtils = exports.formatPercentage = exports.formatOpsPerSecond = exports.formatDuration = exports.formatBytes = exports.getPackageVersion = exports.findPackageRoot = exports.ModestBenchReporterRegistry = exports.CompositeReporter = exports.BaseReporter = exports.PLUGIN_API_VERSION = exports.loadReporter = exports.isFilePath = exports.isBuiltInReporter = exports.createReporterContext = exports.ModestBenchProgressManager = exports.runWithProfiling = exports.parseProfile = exports.filterProfile = exports.FileHistoryStorage = exports.BenchmarkFileLoader = exports.ModestBenchConfigurationManager = exports.ProfileHumanReporter = exports.JsonReporter = exports.HumanReporter = exports.CsvReporter = exports.removeOutliersIQR = exports.calculateStatistics = exports.TinybenchEngine = exports.AccurateEngine = exports.ModestBenchEngine = exports.ExitCodes = exports.modestbench = void 0;
25
25
  var bootstrap_js_1 = require("./bootstrap.cjs");
26
26
  Object.defineProperty(exports, "modestbench", { enumerable: true, get: function () { return bootstrap_js_1.bootstrap; } });
27
27
  // Constants
@@ -64,6 +64,13 @@ var profile_runner_js_1 = require("./services/profiler/profile-runner.cjs");
64
64
  Object.defineProperty(exports, "runWithProfiling", { enumerable: true, get: function () { return profile_runner_js_1.runWithProfiling; } });
65
65
  var progress_manager_js_1 = require("./services/progress-manager.cjs");
66
66
  Object.defineProperty(exports, "ModestBenchProgressManager", { enumerable: true, get: function () { return progress_manager_js_1.ModestBenchProgressManager; } });
67
+ // Reporter plugin loader
68
+ var reporter_loader_js_1 = require("./services/reporter-loader.cjs");
69
+ Object.defineProperty(exports, "createReporterContext", { enumerable: true, get: function () { return reporter_loader_js_1.createReporterContext; } });
70
+ Object.defineProperty(exports, "isBuiltInReporter", { enumerable: true, get: function () { return reporter_loader_js_1.isBuiltInReporter; } });
71
+ Object.defineProperty(exports, "isFilePath", { enumerable: true, get: function () { return reporter_loader_js_1.isFilePath; } });
72
+ Object.defineProperty(exports, "loadReporter", { enumerable: true, get: function () { return reporter_loader_js_1.loadReporter; } });
73
+ Object.defineProperty(exports, "PLUGIN_API_VERSION", { enumerable: true, get: function () { return reporter_loader_js_1.PLUGIN_API_VERSION; } });
67
74
  var reporter_registry_js_1 = require("./services/reporter-registry.cjs");
68
75
  Object.defineProperty(exports, "BaseReporter", { enumerable: true, get: function () { return reporter_registry_js_1.BaseReporter; } });
69
76
  Object.defineProperty(exports, "CompositeReporter", { enumerable: true, get: function () { return reporter_registry_js_1.CompositeReporter; } });
@@ -73,4 +80,12 @@ __exportStar(require("./types/index.cjs"), exports);
73
80
  // Utilities
74
81
  var package_js_1 = require("./utils/package.cjs");
75
82
  Object.defineProperty(exports, "findPackageRoot", { enumerable: true, get: function () { return package_js_1.findPackageRoot; } });
83
+ Object.defineProperty(exports, "getPackageVersion", { enumerable: true, get: function () { return package_js_1.getPackageVersion; } });
84
+ // Reporter utilities (for plugin authors)
85
+ var reporter_utils_js_1 = require("./utils/reporter-utils.cjs");
86
+ Object.defineProperty(exports, "formatBytes", { enumerable: true, get: function () { return reporter_utils_js_1.formatBytes; } });
87
+ Object.defineProperty(exports, "formatDuration", { enumerable: true, get: function () { return reporter_utils_js_1.formatDuration; } });
88
+ Object.defineProperty(exports, "formatOpsPerSecond", { enumerable: true, get: function () { return reporter_utils_js_1.formatOpsPerSecond; } });
89
+ Object.defineProperty(exports, "formatPercentage", { enumerable: true, get: function () { return reporter_utils_js_1.formatPercentage; } });
90
+ Object.defineProperty(exports, "reporterUtils", { enumerable: true, get: function () { return reporter_utils_js_1.reporterUtils; } });
76
91
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,gDAA0D;AAAjD,2GAAA,SAAS,OAAe;AAEjC,YAAY;AACZ,gDAA2C;AAAlC,yGAAA,SAAS,OAAA;AAElB,cAAc;AACd,+CAAqD;AAA5C,8GAAA,iBAAiB,OAAA;AAC1B,qDAA0E;AAAjE,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AAExC,wBAAwB;AACxB,yDAI+B;AAH7B,qHAAA,mBAAmB,OAAA;AACnB,mHAAA,iBAAiB,OAAA;AAInB,gBAAgB;AAChB,qDAAkC;AAElC,YAAY;AACZ,8CAAiD;AAAxC,qGAAA,WAAW,OAAA;AACpB,kDAAqD;AAA5C,yGAAA,aAAa,OAAA;AACtB,gDAAmD;AAA1C,uGAAA,YAAY,OAAA;AACrB,kEAAoE;AAA3D,wHAAA,oBAAoB,OAAA;AAE7B,WAAW;AACX,mEAA+E;AAAtE,oIAAA,+BAA+B,OAAA;AACxC,6DAAgE;AAAvD,qHAAA,mBAAmB,OAAA;AAC5B,qEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAC3B,oBAAoB;AACpB,4EAAsE;AAA7D,kHAAA,aAAa,OAAA;AACtB,4EAAqE;AAA5D,iHAAA,YAAY,OAAA;AAErB,4EAAyE;AAAhE,qHAAA,gBAAgB,OAAA;AACzB,uEAA4E;AAAnE,iIAAA,0BAA0B,OAAA;AACnC,yEAIyC;AAHvC,oHAAA,YAAY,OAAA;AACZ,yHAAA,iBAAiB,OAAA;AACjB,mIAAA,2BAA2B,OAAA;AAG7B,mBAAmB;AACnB,oDAAiC;AAEjC,YAAY;AACZ,kDAAqD;AAA5C,6GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,gDAA0D;AAAjD,2GAAA,SAAS,OAAe;AAEjC,YAAY;AACZ,gDAA2C;AAAlC,yGAAA,SAAS,OAAA;AAElB,cAAc;AACd,+CAAqD;AAA5C,8GAAA,iBAAiB,OAAA;AAC1B,qDAA0E;AAAjE,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AAExC,wBAAwB;AACxB,yDAI+B;AAH7B,qHAAA,mBAAmB,OAAA;AACnB,mHAAA,iBAAiB,OAAA;AAInB,gBAAgB;AAChB,qDAAkC;AAElC,YAAY;AACZ,8CAAiD;AAAxC,qGAAA,WAAW,OAAA;AACpB,kDAAqD;AAA5C,yGAAA,aAAa,OAAA;AACtB,gDAAmD;AAA1C,uGAAA,YAAY,OAAA;AACrB,kEAAoE;AAA3D,wHAAA,oBAAoB,OAAA;AAE7B,WAAW;AACX,mEAA+E;AAAtE,oIAAA,+BAA+B,OAAA;AACxC,6DAAgE;AAAvD,qHAAA,mBAAmB,OAAA;AAC5B,qEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAC3B,oBAAoB;AACpB,4EAAsE;AAA7D,kHAAA,aAAa,OAAA;AACtB,4EAAqE;AAA5D,iHAAA,YAAY,OAAA;AAErB,4EAAyE;AAAhE,qHAAA,gBAAgB,OAAA;AACzB,uEAA4E;AAAnE,iIAAA,0BAA0B,OAAA;AACnC,yBAAyB;AACzB,qEAMuC;AALrC,2HAAA,qBAAqB,OAAA;AACrB,uHAAA,iBAAiB,OAAA;AACjB,gHAAA,UAAU,OAAA;AACV,kHAAA,YAAY,OAAA;AACZ,wHAAA,kBAAkB,OAAA;AAGpB,yEAIyC;AAHvC,oHAAA,YAAY,OAAA;AACZ,yHAAA,iBAAiB,OAAA;AACjB,mIAAA,2BAA2B,OAAA;AAG7B,mBAAmB;AACnB,oDAAiC;AAEjC,YAAY;AACZ,kDAAwE;AAA/D,6GAAA,eAAe,OAAA;AAAE,+GAAA,iBAAiB,OAAA;AAE3C,0CAA0C;AAC1C,gEAMmC;AALjC,gHAAA,WAAW,OAAA;AACX,mHAAA,cAAc,OAAA;AACd,uHAAA,kBAAkB,OAAA;AAClB,qHAAA,gBAAgB,OAAA;AAChB,kHAAA,aAAa,OAAA"}
package/dist/index.d.cts CHANGED
@@ -22,7 +22,9 @@ export { filterProfile } from "./services/profiler/profile-filter.cjs";
22
22
  export { parseProfile } from "./services/profiler/profile-parser.cjs";
23
23
  export { runWithProfiling } from "./services/profiler/profile-runner.cjs";
24
24
  export { ModestBenchProgressManager } from "./services/progress-manager.cjs";
25
+ export { createReporterContext, isBuiltInReporter, isFilePath, loadReporter, PLUGIN_API_VERSION, } from "./services/reporter-loader.cjs";
25
26
  export { BaseReporter, CompositeReporter, ModestBenchReporterRegistry, } from "./services/reporter-registry.cjs";
26
27
  export * from "./types/index.cjs";
27
- export { findPackageRoot } from "./utils/package.cjs";
28
+ export { findPackageRoot, getPackageVersion } from "./utils/package.cjs";
29
+ export { formatBytes, formatDuration, formatOpsPerSecond, formatPercentage, reporterUtils, } from "./utils/reporter-utils.cjs";
28
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,wBAAuB;AAG1D,OAAO,EAAE,SAAS,EAAE,wBAAuB;AAG3C,OAAO,EAAE,iBAAiB,EAAE,0BAAyB;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iCAAgC;AAG1E,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,+BAA8B;AAG/B,mCAAkC;AAGlC,OAAO,EAAE,WAAW,EAAE,4BAA2B;AACjD,OAAO,EAAE,aAAa,EAAE,8BAA6B;AACrD,OAAO,EAAE,YAAY,EAAE,6BAA4B;AACnD,OAAO,EAAE,oBAAoB,EAAE,sCAAqC;AAGpE,OAAO,EAAE,+BAA+B,EAAE,sCAAqC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,mCAAkC;AAChE,OAAO,EAAE,kBAAkB,EAAE,uCAAsC;AAEnE,OAAO,EAAE,aAAa,EAAE,+CAA8C;AACtE,OAAO,EAAE,YAAY,EAAE,+CAA8C;AAErE,OAAO,EAAE,gBAAgB,EAAE,+CAA8C;AACzE,OAAO,EAAE,0BAA0B,EAAE,wCAAuC;AAC5E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,GAC5B,yCAAwC;AAGzC,kCAAiC;AAGjC,OAAO,EAAE,eAAe,EAAE,4BAA2B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,wBAAuB;AAG1D,OAAO,EAAE,SAAS,EAAE,wBAAuB;AAG3C,OAAO,EAAE,iBAAiB,EAAE,0BAAyB;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iCAAgC;AAG1E,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,+BAA8B;AAG/B,mCAAkC;AAGlC,OAAO,EAAE,WAAW,EAAE,4BAA2B;AACjD,OAAO,EAAE,aAAa,EAAE,8BAA6B;AACrD,OAAO,EAAE,YAAY,EAAE,6BAA4B;AACnD,OAAO,EAAE,oBAAoB,EAAE,sCAAqC;AAGpE,OAAO,EAAE,+BAA+B,EAAE,sCAAqC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,mCAAkC;AAChE,OAAO,EAAE,kBAAkB,EAAE,uCAAsC;AAEnE,OAAO,EAAE,aAAa,EAAE,+CAA8C;AACtE,OAAO,EAAE,YAAY,EAAE,+CAA8C;AAErE,OAAO,EAAE,gBAAgB,EAAE,+CAA8C;AACzE,OAAO,EAAE,0BAA0B,EAAE,wCAAuC;AAE5E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,kBAAkB,GACnB,uCAAsC;AAEvC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,GAC5B,yCAAwC;AAGzC,kCAAiC;AAGjC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,4BAA2B;AAGxE,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,mCAAkC"}
package/dist/index.d.ts CHANGED
@@ -22,7 +22,9 @@ export { filterProfile } from "./services/profiler/profile-filter.js";
22
22
  export { parseProfile } from "./services/profiler/profile-parser.js";
23
23
  export { runWithProfiling } from "./services/profiler/profile-runner.js";
24
24
  export { ModestBenchProgressManager } from "./services/progress-manager.js";
25
+ export { createReporterContext, isBuiltInReporter, isFilePath, loadReporter, PLUGIN_API_VERSION, } from "./services/reporter-loader.js";
25
26
  export { BaseReporter, CompositeReporter, ModestBenchReporterRegistry, } from "./services/reporter-registry.js";
26
27
  export * from "./types/index.js";
27
- export { findPackageRoot } from "./utils/package.js";
28
+ export { findPackageRoot, getPackageVersion } from "./utils/package.js";
29
+ export { formatBytes, formatDuration, formatOpsPerSecond, formatPercentage, reporterUtils, } from "./utils/reporter-utils.js";
28
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,uBAAuB;AAG1D,OAAO,EAAE,SAAS,EAAE,uBAAuB;AAG3C,OAAO,EAAE,iBAAiB,EAAE,yBAAyB;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gCAAgC;AAG1E,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,8BAA8B;AAG/B,kCAAkC;AAGlC,OAAO,EAAE,WAAW,EAAE,2BAA2B;AACjD,OAAO,EAAE,aAAa,EAAE,6BAA6B;AACrD,OAAO,EAAE,YAAY,EAAE,4BAA4B;AACnD,OAAO,EAAE,oBAAoB,EAAE,qCAAqC;AAGpE,OAAO,EAAE,+BAA+B,EAAE,qCAAqC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,kCAAkC;AAChE,OAAO,EAAE,kBAAkB,EAAE,sCAAsC;AAEnE,OAAO,EAAE,aAAa,EAAE,8CAA8C;AACtE,OAAO,EAAE,YAAY,EAAE,8CAA8C;AAErE,OAAO,EAAE,gBAAgB,EAAE,8CAA8C;AACzE,OAAO,EAAE,0BAA0B,EAAE,uCAAuC;AAC5E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,GAC5B,wCAAwC;AAGzC,iCAAiC;AAGjC,OAAO,EAAE,eAAe,EAAE,2BAA2B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,uBAAuB;AAG1D,OAAO,EAAE,SAAS,EAAE,uBAAuB;AAG3C,OAAO,EAAE,iBAAiB,EAAE,yBAAyB;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gCAAgC;AAG1E,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,8BAA8B;AAG/B,kCAAkC;AAGlC,OAAO,EAAE,WAAW,EAAE,2BAA2B;AACjD,OAAO,EAAE,aAAa,EAAE,6BAA6B;AACrD,OAAO,EAAE,YAAY,EAAE,4BAA4B;AACnD,OAAO,EAAE,oBAAoB,EAAE,qCAAqC;AAGpE,OAAO,EAAE,+BAA+B,EAAE,qCAAqC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,kCAAkC;AAChE,OAAO,EAAE,kBAAkB,EAAE,sCAAsC;AAEnE,OAAO,EAAE,aAAa,EAAE,8CAA8C;AACtE,OAAO,EAAE,YAAY,EAAE,8CAA8C;AAErE,OAAO,EAAE,gBAAgB,EAAE,8CAA8C;AACzE,OAAO,EAAE,0BAA0B,EAAE,uCAAuC;AAE5E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,kBAAkB,GACnB,sCAAsC;AAEvC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,GAC5B,wCAAwC;AAGzC,iCAAiC;AAGjC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,2BAA2B;AAGxE,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,kCAAkC"}
package/dist/index.js CHANGED
@@ -29,9 +29,13 @@ export { filterProfile } from "./services/profiler/profile-filter.js";
29
29
  export { parseProfile } from "./services/profiler/profile-parser.js";
30
30
  export { runWithProfiling } from "./services/profiler/profile-runner.js";
31
31
  export { ModestBenchProgressManager } from "./services/progress-manager.js";
32
+ // Reporter plugin loader
33
+ export { createReporterContext, isBuiltInReporter, isFilePath, loadReporter, PLUGIN_API_VERSION, } from "./services/reporter-loader.js";
32
34
  export { BaseReporter, CompositeReporter, ModestBenchReporterRegistry, } from "./services/reporter-registry.js";
33
35
  // Export all types
34
36
  export * from "./types/index.js";
35
37
  // Utilities
36
- export { findPackageRoot } from "./utils/package.js";
38
+ export { findPackageRoot, getPackageVersion } from "./utils/package.js";
39
+ // Reporter utilities (for plugin authors)
40
+ export { formatBytes, formatDuration, formatOpsPerSecond, formatPercentage, reporterUtils, } from "./utils/reporter-utils.js";
37
41
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,uBAAuB;AAE1D,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,uBAAuB;AAE3C,cAAc;AACd,OAAO,EAAE,iBAAiB,EAAE,yBAAyB;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gCAAgC;AAE1E,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAElB,8BAA8B;AAE/B,gBAAgB;AAChB,kCAAkC;AAElC,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,2BAA2B;AACjD,OAAO,EAAE,aAAa,EAAE,6BAA6B;AACrD,OAAO,EAAE,YAAY,EAAE,4BAA4B;AACnD,OAAO,EAAE,oBAAoB,EAAE,qCAAqC;AAEpE,WAAW;AACX,OAAO,EAAE,+BAA+B,EAAE,qCAAqC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,kCAAkC;AAChE,OAAO,EAAE,kBAAkB,EAAE,sCAAsC;AACnE,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,8CAA8C;AACtE,OAAO,EAAE,YAAY,EAAE,8CAA8C;AAErE,OAAO,EAAE,gBAAgB,EAAE,8CAA8C;AACzE,OAAO,EAAE,0BAA0B,EAAE,uCAAuC;AAC5E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,GAC5B,wCAAwC;AAEzC,mBAAmB;AACnB,iCAAiC;AAEjC,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,2BAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,uBAAuB;AAE1D,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,uBAAuB;AAE3C,cAAc;AACd,OAAO,EAAE,iBAAiB,EAAE,yBAAyB;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gCAAgC;AAE1E,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAElB,8BAA8B;AAE/B,gBAAgB;AAChB,kCAAkC;AAElC,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,2BAA2B;AACjD,OAAO,EAAE,aAAa,EAAE,6BAA6B;AACrD,OAAO,EAAE,YAAY,EAAE,4BAA4B;AACnD,OAAO,EAAE,oBAAoB,EAAE,qCAAqC;AAEpE,WAAW;AACX,OAAO,EAAE,+BAA+B,EAAE,qCAAqC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,kCAAkC;AAChE,OAAO,EAAE,kBAAkB,EAAE,sCAAsC;AACnE,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,8CAA8C;AACtE,OAAO,EAAE,YAAY,EAAE,8CAA8C;AAErE,OAAO,EAAE,gBAAgB,EAAE,8CAA8C;AACzE,OAAO,EAAE,0BAA0B,EAAE,uCAAuC;AAC5E,yBAAyB;AACzB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,kBAAkB,GACnB,sCAAsC;AAEvC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,GAC5B,wCAAwC;AAEzC,mBAAmB;AACnB,iCAAiC;AAEjC,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,2BAA2B;AAExE,0CAA0C;AAC1C,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,kCAAkC"}
@@ -48,7 +48,7 @@ class JsonReporter extends reporter_registry_js_1.BaseReporter {
48
48
  constructor(options = {}) {
49
49
  super('json', options);
50
50
  this.outputPath = options.outputPath;
51
- this.prettyPrint = options.prettyPrint ?? true;
51
+ this.prettyPrint = options.prettyPrint ?? false;
52
52
  this.includeStatistics = options.includeStatistics ?? true;
53
53
  this.includeMetadata = options.includeMetadata ?? true;
54
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export class JsonReporter extends BaseReporter {
45
45
  constructor(options = {}) {
46
46
  super('json', options);
47
47
  this.outputPath = options.outputPath;
48
- this.prettyPrint = options.prettyPrint ?? true;
48
+ this.prettyPrint = options.prettyPrint ?? false;
49
49
  this.includeStatistics = options.includeStatistics ?? true;
50
50
  this.includeMetadata = options.includeMetadata ?? true;
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"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"}
@@ -24,91 +24,6 @@
24
24
  "report"
25
25
  ]
26
26
  },
27
- "budgets": {
28
- "description": "Performance budgets organized by file → suite → task. Budgets define acceptable performance thresholds.",
29
- "type": "object",
30
- "propertyNames": {
31
- "type": "string"
32
- },
33
- "additionalProperties": {
34
- "type": "object",
35
- "propertyNames": {
36
- "type": "string"
37
- },
38
- "additionalProperties": {
39
- "type": "object",
40
- "propertyNames": {
41
- "type": "string"
42
- },
43
- "additionalProperties": {
44
- "description": "Performance budget with absolute and/or relative thresholds",
45
- "type": "object",
46
- "properties": {
47
- "absolute": {
48
- "description": "Absolute performance thresholds",
49
- "type": "object",
50
- "properties": {
51
- "maxP99": {
52
- "description": "Maximum 99th percentile in nanoseconds or time string",
53
- "anyOf": [
54
- {
55
- "type": "number",
56
- "exclusiveMinimum": 0
57
- },
58
- {
59
- "type": "string"
60
- }
61
- ]
62
- },
63
- "maxTime": {
64
- "description": "Maximum mean time in nanoseconds or time string (e.g., \"10ms\")",
65
- "anyOf": [
66
- {
67
- "type": "number",
68
- "exclusiveMinimum": 0
69
- },
70
- {
71
- "type": "string"
72
- }
73
- ]
74
- },
75
- "minOpsPerSec": {
76
- "description": "Minimum operations per second",
77
- "type": "number",
78
- "exclusiveMinimum": 0
79
- }
80
- },
81
- "required": [
82
- "maxTime"
83
- ],
84
- "additionalProperties": false
85
- },
86
- "relative": {
87
- "description": "Relative performance thresholds vs baseline",
88
- "type": "object",
89
- "properties": {
90
- "maxRegression": {
91
- "description": "Maximum regression as decimal (0.1) or percentage string (\"10%\")",
92
- "anyOf": [
93
- {
94
- "type": "number",
95
- "minimum": 0,
96
- "maximum": 1
97
- },
98
- {
99
- "type": "string"
100
- }
101
- ]
102
- }
103
- },
104
- "additionalProperties": false
105
- }
106
- },
107
- "additionalProperties": false
108
- }
109
- }
110
- }
111
- },
112
27
  "exclude": {
113
28
  "description": "Glob patterns to exclude from benchmark file discovery (e.g., \"node_modules/**\", \".git/**\")",
114
29
  "type": "array",
@@ -230,8 +145,18 @@
230
145
  "reporterConfig": {
231
146
  "description": "Configuration options specific to individual reporters, keyed by reporter name",
232
147
  "type": "object",
233
- "propertyNames": {
234
- "type": "string"
148
+ "properties": {
149
+ "json": {
150
+ "description": "Configuration options for the JSON reporter",
151
+ "type": "object",
152
+ "properties": {
153
+ "prettyPrint": {
154
+ "description": "Whether to pretty-print JSON output (default: false)",
155
+ "type": "boolean"
156
+ }
157
+ },
158
+ "additionalProperties": false
159
+ }
235
160
  },
236
161
  "additionalProperties": {}
237
162
  },
@@ -309,6 +234,88 @@
309
234
  "type": "integer",
310
235
  "minimum": 0,
311
236
  "maximum": 9007199254740991
237
+ },
238
+ "budgets": {
239
+ "description": "Performance budgets organized by file → suite → task. Budgets define acceptable performance thresholds. Supports wildcards (* for suite/task, glob patterns for files).",
240
+ "type": "object",
241
+ "propertyNames": {
242
+ "type": "string"
243
+ },
244
+ "additionalProperties": {
245
+ "type": "object",
246
+ "propertyNames": {
247
+ "type": "string"
248
+ },
249
+ "additionalProperties": {
250
+ "type": "object",
251
+ "propertyNames": {
252
+ "type": "string"
253
+ },
254
+ "additionalProperties": {
255
+ "description": "Performance budget with absolute and/or relative thresholds",
256
+ "type": "object",
257
+ "properties": {
258
+ "absolute": {
259
+ "description": "Absolute performance thresholds",
260
+ "type": "object",
261
+ "properties": {
262
+ "maxP99": {
263
+ "description": "Maximum 99th percentile in nanoseconds or time string",
264
+ "anyOf": [
265
+ {
266
+ "type": "number",
267
+ "exclusiveMinimum": 0
268
+ },
269
+ {
270
+ "type": "string"
271
+ }
272
+ ]
273
+ },
274
+ "maxTime": {
275
+ "description": "Maximum mean time in nanoseconds or time string (e.g., \"10ms\")",
276
+ "anyOf": [
277
+ {
278
+ "type": "number",
279
+ "exclusiveMinimum": 0
280
+ },
281
+ {
282
+ "type": "string"
283
+ }
284
+ ]
285
+ },
286
+ "minOpsPerSec": {
287
+ "description": "Minimum operations per second",
288
+ "type": "number",
289
+ "exclusiveMinimum": 0
290
+ }
291
+ },
292
+ "additionalProperties": false
293
+ },
294
+ "relative": {
295
+ "description": "Relative performance thresholds vs baseline",
296
+ "type": "object",
297
+ "properties": {
298
+ "maxRegression": {
299
+ "description": "Maximum regression as decimal (0.1) or percentage string (\"10%\")",
300
+ "anyOf": [
301
+ {
302
+ "type": "number",
303
+ "minimum": 0,
304
+ "maximum": 1
305
+ },
306
+ {
307
+ "type": "string"
308
+ }
309
+ ]
310
+ }
311
+ },
312
+ "additionalProperties": false
313
+ }
314
+ },
315
+ "additionalProperties": false
316
+ }
317
+ }
318
+ }
312
319
  }
313
320
  },
314
321
  "additionalProperties": false
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BudgetEvaluator = void 0;
4
+ const budget_resolver_js_1 = require("./budget-resolver.cjs");
4
5
  /**
5
6
  * Service for evaluating performance budgets
6
7
  *
@@ -43,14 +44,15 @@ class BudgetEvaluator {
43
44
  */
44
45
  evaluateRun(budgets, taskResults, baselineData) {
45
46
  const results = [];
46
- for (const [taskId, budget] of Object.entries(budgets)) {
47
- const taskResult = taskResults.get(taskId);
48
- // Skip if no result for this task
49
- if (!taskResult) {
47
+ for (const [taskId, taskResult] of taskResults) {
48
+ const budget = (0, budget_resolver_js_1.resolveBudget)(taskId, budgets);
49
+ // Skip if no budget matches this task
50
+ if (!budget) {
50
51
  continue;
51
52
  }
52
- // Skip relative budgets if no baseline data
53
- if (budget.relative && !baselineData) {
53
+ // Skip if budget has ONLY relative thresholds and no baseline data
54
+ // (absolute budgets can still be evaluated without baseline)
55
+ if (budget.relative && !budget.absolute && !baselineData) {
54
56
  continue;
55
57
  }
56
58
  const budgetResult = this.evaluateTask(taskId, budget, taskResult, baselineData?.get(taskId));
@@ -1 +1 @@
1
- {"version":3,"file":"budget-evaluator.js","sourceRoot":"","sources":["../../src/services/budget-evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budget-evaluator.js","sourceRoot":"","sources":["../../src/services/budget-evaluator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { BaselineSummaryData, Budget, BudgetSummary, TaskId, TaskResult } from "../types/core.cjs";
1
+ import type { BaselineSummaryData, BudgetSummary, ResolvedBudgets, TaskId, TaskResult } from "../types/core.cjs";
2
2
  /**
3
3
  * Service for evaluating performance budgets
4
4
  *
@@ -20,7 +20,7 @@ export declare class BudgetEvaluator {
20
20
  /**
21
21
  * Evaluate budgets for an entire benchmark run
22
22
  */
23
- evaluateRun(budgets: Record<string, Budget>, taskResults: Map<TaskId, TaskResult>, baselineData?: Map<TaskId, BaselineSummaryData>): BudgetSummary;
23
+ evaluateRun(budgets: ResolvedBudgets, taskResults: Map<TaskId, TaskResult>, baselineData?: Map<TaskId, BaselineSummaryData>): BudgetSummary;
24
24
  /**
25
25
  * Evaluate budgets for a single task
26
26
  */