modestbench 0.8.0 → 0.9.1

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 (171) hide show
  1. package/CHANGELOG.md +22 -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/baseline.cjs +8 -8
  8. package/dist/cli/commands/baseline.cjs.map +1 -1
  9. package/dist/cli/commands/baseline.js +8 -8
  10. package/dist/cli/commands/baseline.js.map +1 -1
  11. package/dist/cli/commands/init.cjs +2 -2
  12. package/dist/cli/commands/init.cjs.map +1 -1
  13. package/dist/cli/commands/init.js +2 -2
  14. package/dist/cli/commands/init.js.map +1 -1
  15. package/dist/cli/commands/run.cjs +12 -8
  16. package/dist/cli/commands/run.cjs.map +1 -1
  17. package/dist/cli/commands/run.d.cts +1 -13
  18. package/dist/cli/commands/run.d.cts.map +1 -1
  19. package/dist/cli/commands/run.d.ts +1 -13
  20. package/dist/cli/commands/run.d.ts.map +1 -1
  21. package/dist/cli/commands/run.js +11 -7
  22. package/dist/cli/commands/run.js.map +1 -1
  23. package/dist/cli/commands/test.cjs +1 -1
  24. package/dist/cli/commands/test.cjs.map +1 -1
  25. package/dist/cli/commands/test.js +1 -1
  26. package/dist/cli/commands/test.js.map +1 -1
  27. package/dist/cli/index.cjs +655 -870
  28. package/dist/cli/index.cjs.map +1 -1
  29. package/dist/cli/index.d.cts +27 -17
  30. package/dist/cli/index.d.cts.map +1 -1
  31. package/dist/cli/index.d.ts +27 -17
  32. package/dist/cli/index.d.ts.map +1 -1
  33. package/dist/cli/index.js +657 -869
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/{core → config}/benchmark-schema.cjs +1 -1
  36. package/dist/config/benchmark-schema.cjs.map +1 -0
  37. package/dist/config/benchmark-schema.d.cts +913 -0
  38. package/dist/config/benchmark-schema.d.cts.map +1 -0
  39. package/dist/config/benchmark-schema.d.ts +913 -0
  40. package/dist/config/benchmark-schema.d.ts.map +1 -0
  41. package/dist/{core → config}/benchmark-schema.js +1 -1
  42. package/dist/config/benchmark-schema.js.map +1 -0
  43. package/dist/config/budget-schema.cjs +1 -1
  44. package/dist/config/budget-schema.cjs.map +1 -1
  45. package/dist/config/budget-schema.js +1 -1
  46. package/dist/config/budget-schema.js.map +1 -1
  47. package/dist/config/schema.cjs +188 -105
  48. package/dist/config/schema.cjs.map +1 -1
  49. package/dist/config/schema.d.cts +208 -80
  50. package/dist/config/schema.d.cts.map +1 -1
  51. package/dist/config/schema.d.ts +208 -80
  52. package/dist/config/schema.d.ts.map +1 -1
  53. package/dist/config/schema.js +187 -104
  54. package/dist/config/schema.js.map +1 -1
  55. package/dist/core/engine.cjs +50 -45
  56. package/dist/core/engine.cjs.map +1 -1
  57. package/dist/core/engine.d.cts.map +1 -1
  58. package/dist/core/engine.d.ts.map +1 -1
  59. package/dist/core/engine.js +50 -45
  60. package/dist/core/engine.js.map +1 -1
  61. package/dist/core/engines/accurate-engine.cjs +1 -1
  62. package/dist/core/engines/accurate-engine.cjs.map +1 -1
  63. package/dist/core/engines/accurate-engine.d.cts.map +1 -1
  64. package/dist/core/engines/accurate-engine.d.ts.map +1 -1
  65. package/dist/core/engines/accurate-engine.js +1 -1
  66. package/dist/core/engines/accurate-engine.js.map +1 -1
  67. package/dist/core/output-path-resolver.cjs +15 -1
  68. package/dist/core/output-path-resolver.cjs.map +1 -1
  69. package/dist/core/output-path-resolver.d.cts +8 -0
  70. package/dist/core/output-path-resolver.d.cts.map +1 -1
  71. package/dist/core/output-path-resolver.d.ts +8 -0
  72. package/dist/core/output-path-resolver.d.ts.map +1 -1
  73. package/dist/core/output-path-resolver.js +13 -0
  74. package/dist/core/output-path-resolver.js.map +1 -1
  75. package/dist/formatters/history/compare.cjs +6 -6
  76. package/dist/formatters/history/compare.cjs.map +1 -1
  77. package/dist/formatters/history/compare.js +6 -6
  78. package/dist/formatters/history/compare.js.map +1 -1
  79. package/dist/formatters/history/show.cjs +2 -2
  80. package/dist/formatters/history/show.cjs.map +1 -1
  81. package/dist/formatters/history/show.js +2 -2
  82. package/dist/formatters/history/show.js.map +1 -1
  83. package/dist/formatters/history/trends.cjs +1 -1
  84. package/dist/formatters/history/trends.cjs.map +1 -1
  85. package/dist/formatters/history/trends.js +1 -1
  86. package/dist/formatters/history/trends.js.map +1 -1
  87. package/dist/reporters/human.cjs +3 -3
  88. package/dist/reporters/human.cjs.map +1 -1
  89. package/dist/reporters/human.d.cts.map +1 -1
  90. package/dist/reporters/human.d.ts.map +1 -1
  91. package/dist/reporters/human.js +3 -3
  92. package/dist/reporters/human.js.map +1 -1
  93. package/dist/reporters/json.cjs +1 -1
  94. package/dist/reporters/json.cjs.map +1 -1
  95. package/dist/reporters/json.js +1 -1
  96. package/dist/reporters/json.js.map +1 -1
  97. package/dist/reporters/nyan.cjs +1 -1
  98. package/dist/reporters/nyan.cjs.map +1 -1
  99. package/dist/reporters/nyan.js +1 -1
  100. package/dist/reporters/nyan.js.map +1 -1
  101. package/dist/schema/modestbench-config.schema.json +94 -87
  102. package/dist/services/budget-evaluator.cjs +10 -8
  103. package/dist/services/budget-evaluator.cjs.map +1 -1
  104. package/dist/services/budget-evaluator.d.cts +2 -2
  105. package/dist/services/budget-evaluator.d.cts.map +1 -1
  106. package/dist/services/budget-evaluator.d.ts +2 -2
  107. package/dist/services/budget-evaluator.d.ts.map +1 -1
  108. package/dist/services/budget-evaluator.js +10 -8
  109. package/dist/services/budget-evaluator.js.map +1 -1
  110. package/dist/services/budget-resolver.cjs +214 -0
  111. package/dist/services/budget-resolver.cjs.map +1 -0
  112. package/dist/services/budget-resolver.d.cts +98 -0
  113. package/dist/services/budget-resolver.d.cts.map +1 -0
  114. package/dist/services/budget-resolver.d.ts +98 -0
  115. package/dist/services/budget-resolver.d.ts.map +1 -0
  116. package/dist/services/budget-resolver.js +203 -0
  117. package/dist/services/budget-resolver.js.map +1 -0
  118. package/dist/services/config-manager.cjs +2 -2
  119. package/dist/services/config-manager.cjs.map +1 -1
  120. package/dist/services/config-manager.js +2 -2
  121. package/dist/services/config-manager.js.map +1 -1
  122. package/dist/services/file-loader.cjs +1 -1
  123. package/dist/services/file-loader.cjs.map +1 -1
  124. package/dist/services/file-loader.js +1 -1
  125. package/dist/services/file-loader.js.map +1 -1
  126. package/dist/services/reporter-registry.cjs +8 -8
  127. package/dist/services/reporter-registry.cjs.map +1 -1
  128. package/dist/services/reporter-registry.js +8 -8
  129. package/dist/services/reporter-registry.js.map +1 -1
  130. package/dist/types/budgets.d.cts +31 -0
  131. package/dist/types/budgets.d.cts.map +1 -1
  132. package/dist/types/budgets.d.ts +31 -0
  133. package/dist/types/budgets.d.ts.map +1 -1
  134. package/dist/types/core.cjs.map +1 -1
  135. package/dist/types/core.d.cts +28 -75
  136. package/dist/types/core.d.cts.map +1 -1
  137. package/dist/types/core.d.ts +28 -75
  138. package/dist/types/core.d.ts.map +1 -1
  139. package/dist/types/core.js.map +1 -1
  140. package/package.json +24 -15
  141. package/src/adapters/types.ts +1 -1
  142. package/src/cli/commands/baseline.ts +8 -8
  143. package/src/cli/commands/init.ts +2 -2
  144. package/src/cli/commands/run.ts +18 -6
  145. package/src/cli/commands/test.ts +1 -1
  146. package/src/cli/index.ts +806 -942
  147. package/src/{core → config}/benchmark-schema.ts +1 -1
  148. package/src/config/budget-schema.ts +1 -1
  149. package/src/config/schema.ts +379 -302
  150. package/src/core/engine.ts +74 -69
  151. package/src/core/engines/accurate-engine.ts +1 -1
  152. package/src/core/output-path-resolver.ts +14 -0
  153. package/src/formatters/history/compare.ts +6 -6
  154. package/src/formatters/history/show.ts +2 -2
  155. package/src/formatters/history/trends.ts +1 -1
  156. package/src/reporters/human.ts +5 -3
  157. package/src/reporters/json.ts +1 -1
  158. package/src/reporters/nyan.ts +1 -1
  159. package/src/services/budget-evaluator.ts +15 -11
  160. package/src/services/budget-resolver.ts +254 -0
  161. package/src/services/config-manager.ts +2 -2
  162. package/src/services/file-loader.ts +1 -1
  163. package/src/services/reporter-registry.ts +8 -8
  164. package/src/types/budgets.ts +38 -0
  165. package/src/types/core.ts +64 -99
  166. package/dist/core/benchmark-schema.cjs.map +0 -1
  167. package/dist/core/benchmark-schema.d.cts +0 -139
  168. package/dist/core/benchmark-schema.d.cts.map +0 -1
  169. package/dist/core/benchmark-schema.d.ts +0 -139
  170. package/dist/core/benchmark-schema.d.ts.map +0 -1
  171. package/dist/core/benchmark-schema.js.map +0 -1
@@ -62,6 +62,25 @@ export interface Budget {
62
62
  /** Relative thresholds */
63
63
  readonly relative?: RelativeBudget;
64
64
  }
65
+ /**
66
+ * A budget pattern with glob support for files and simple wildcards for
67
+ * suite/task
68
+ *
69
+ * File patterns use minimatch glob syntax (e.g., `**\/*.bench.js`). Suite/task
70
+ * patterns use simple `*` wildcard (matches any value).
71
+ */
72
+ export interface BudgetPattern {
73
+ /** The budget to apply when this pattern matches */
74
+ readonly budget: Budget;
75
+ /** Glob pattern for file matching (minimatch syntax) */
76
+ readonly filePattern: string;
77
+ /** Computed specificity score (higher = more specific) */
78
+ readonly specificity: number;
79
+ /** Suite name or `*` for wildcard */
80
+ readonly suitePattern: string;
81
+ /** Task name or `*` for wildcard */
82
+ readonly taskPattern: string;
83
+ }
65
84
  /**
66
85
  * Budget evaluation result for a single task
67
86
  */
@@ -124,6 +143,18 @@ export interface RelativeBudget {
124
143
  /** Maximum performance regression as decimal (0.10 = 10%) */
125
144
  readonly maxRegression?: number;
126
145
  }
146
+ /**
147
+ * Resolved budgets structure with exact matches and patterns separated
148
+ *
149
+ * During evaluation, exact matches are checked first, then patterns are matched
150
+ * in order of specificity (highest first).
151
+ */
152
+ export interface ResolvedBudgets {
153
+ /** Exact TaskId matches (no wildcards or globs) */
154
+ readonly exact: Record<string, Budget>;
155
+ /** Patterns with wildcards/globs, sorted by specificity descending */
156
+ readonly patterns: readonly BudgetPattern[];
157
+ }
127
158
  /**
128
159
  * Branded type for benchmark run identifiers
129
160
  *
@@ -1 +1 @@
1
- {"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../src/types/budgets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../src/types/budgets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":";;;AAqDA;;;;;;;;;;GAUG;AAEH,wCAAwC;AACxC,2DAAoE;AAA3D,6GAAA,WAAW,OAAA;AAAE,8GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":";;;AAqHA;;;;;;;;;;GAUG;AAEH,wCAAwC;AACxC,2DAAoE;AAA3D,6GAAA,WAAW,OAAA;AAAE,8GAAA,YAAY,OAAA"}
@@ -1,6 +1,6 @@
1
- import type { AbsoluteBudget, BaselineReference, BaselineStorage, BaselineSummaryData, Budget, BudgetResult, BudgetSummary, BudgetViolation, RelativeBudget, RunId, TaskId } from "./budgets.cjs";
2
- export type { AbsoluteBudget, BaselineReference, BaselineStorage, BaselineSummaryData, Budget, BudgetResult, BudgetSummary, BudgetViolation, RelativeBudget, RunId, TaskId, };
3
- export type { BenchmarkDefinition, BenchmarkDefinitionInput, BenchmarkSuite, BenchmarkSuiteInput, BenchmarkTask, BenchmarkTaskInput, } from "../core/benchmark-schema.cjs";
1
+ import type { z } from 'zod';
2
+ import type { jsonReporterConfigSchema, ModestBenchConfig, ModestBenchConfigInput, reporterConfigSchema } from "../config/schema.cjs";
3
+ import type { AbsoluteBudget, BaselineReference, BaselineStorage, BaselineSummaryData, Budget, BudgetPattern, BudgetResult, BudgetSummary, BudgetViolation, RelativeBudget, ResolvedBudgets, RunId, TaskId } from "./budgets.cjs";
4
4
  /**
5
5
  * Benchmark file structure after parsing
6
6
  */
@@ -14,18 +14,6 @@ export interface BenchmarkFile {
14
14
  /** File metadata */
15
15
  readonly metadata: FileMetadata;
16
16
  }
17
- /**
18
- * ModestBench Core Types
19
- *
20
- * Defines the fundamental data structures used throughout the ModestBench
21
- * system. These types represent benchmark results, metadata, configuration, and
22
- * system state.
23
- *
24
- * Note: BenchmarkDefinition, BenchmarkSuite, and BenchmarkTask types are
25
- * derived from Zod schemas and re-exported from benchmark-schema.ts for type
26
- * safety and consistency.
27
- */
28
- export { createRunId, createTaskId } from "../utils/identifiers.cjs";
29
17
  /**
30
18
  * Represents a complete benchmark run across multiple files
31
19
  */
@@ -57,6 +45,9 @@ export interface BenchmarkRun {
57
45
  /** Run-level tags */
58
46
  readonly tags?: string[];
59
47
  }
48
+ export type { AbsoluteBudget, BaselineReference, BaselineStorage, BaselineSummaryData, Budget, BudgetPattern, BudgetResult, BudgetSummary, BudgetViolation, RelativeBudget, ResolvedBudgets, RunId, TaskId, };
49
+ export type { ModestBenchConfig, ModestBenchConfigInput };
50
+ export type { BenchmarkDefinition, BenchmarkDefinitionInput, BenchmarkSuite, BenchmarkSuiteInput, BenchmarkTask, BenchmarkTaskInput, } from "../config/benchmark-schema.cjs";
60
51
  /**
61
52
  * CI/CD environment information
62
53
  */
@@ -74,6 +65,18 @@ export interface CiInfo {
74
65
  /** Pull request number */
75
66
  readonly pullRequest?: string;
76
67
  }
68
+ /**
69
+ * ModestBench Core Types
70
+ *
71
+ * Defines the fundamental data structures used throughout the ModestBench
72
+ * system. These types represent benchmark results, metadata, configuration, and
73
+ * system state.
74
+ *
75
+ * Note: BenchmarkDefinition, BenchmarkSuite, and BenchmarkTask types are
76
+ * derived from Zod schemas and re-exported from benchmark-schema.ts for type
77
+ * safety and consistency.
78
+ */
79
+ export { createRunId, createTaskId } from "../utils/identifiers.cjs";
77
80
  /**
78
81
  * CPU information
79
82
  */
@@ -217,6 +220,10 @@ export interface GitInfo {
217
220
  /** Commit timestamp */
218
221
  readonly timestamp: Date;
219
222
  }
223
+ /**
224
+ * Configuration options for the JSON reporter
225
+ */
226
+ export type JsonReporterConfig = z.infer<typeof jsonReporterConfigSchema>;
220
227
  /**
221
228
  * Memory information
222
229
  */
@@ -229,68 +236,12 @@ export interface MemoryInfo {
229
236
  readonly used: number;
230
237
  }
231
238
  /**
232
- * Benchmark configuration
233
- *
234
- * The JSON Schema for this configuration is available at
235
- * `dist/schema/modestbench-config.schema.json` after building the project.
236
- *
237
- * Config files can optionally include a `$schema` property pointing to the
238
- * schema file for IDE autocomplete and validation support.
239
+ * Reporter-specific configuration
239
240
  *
240
- * @example
241
- *
242
- * ```json
243
- * {
244
- * "$schema": "./node_modules/modestbench/dist/schema/modestbench-config.schema.json",
245
- * "iterations": 1000,
246
- * "reporters": ["human", "json"],
247
- * "time": 5000
248
- * }
249
- * ```
241
+ * Provides typed configuration for known reporters. Unknown reporter configs
242
+ * are allowed via index signature.
250
243
  */
251
- export interface ModestBenchConfig {
252
- readonly $schema?: string | undefined;
253
- /** Whether to stop on first failure */
254
- readonly bail: boolean;
255
- /** Name of baseline to use for relative budget comparisons */
256
- readonly baseline?: string | undefined;
257
- /** How to handle budget violations: 'fail', 'warn', or 'report' */
258
- readonly budgetMode?: 'fail' | 'report' | 'warn' | undefined;
259
- /** Performance budgets mapped by task identifier */
260
- readonly budgets?: Record<string, unknown> | undefined;
261
- /** Patterns to exclude from discovery */
262
- readonly exclude: string[];
263
- /** Tags to exclude from execution */
264
- readonly excludeTags: string[];
265
- /** Default number of iterations per task */
266
- readonly iterations: number;
267
- /** How to limit benchmark execution: 'time', 'iterations', 'any', or 'all' */
268
- readonly limitBy: 'all' | 'any' | 'iterations' | 'time';
269
- /** Custom metadata to attach to runs */
270
- readonly metadata: Record<string, unknown>;
271
- /** Output directory for reports (undefined means stdout for data reporters) */
272
- readonly outputDir?: string;
273
- /** Pattern(s) for discovering benchmark files */
274
- readonly pattern: string | string[];
275
- /** Whether to run in quiet mode */
276
- readonly quiet: boolean;
277
- /** Configuration for specific reporters */
278
- readonly reporterConfig: Record<string, unknown>;
279
- /** Reporters to use for output */
280
- readonly reporters: string[];
281
- /** Tags to include (if empty, include all) */
282
- readonly tags: string[];
283
- /** Threshold configuration for performance assertions */
284
- readonly thresholds: ThresholdConfig;
285
- /** Maximum time to spend on each task in milliseconds */
286
- readonly time: number;
287
- /** Timeout for individual tasks in milliseconds */
288
- readonly timeout: number;
289
- /** Whether to run in verbose mode */
290
- readonly verbose: boolean;
291
- /** Number of warmup iterations before measurement */
292
- readonly warmup: number;
293
- }
244
+ export type ReporterConfig = z.infer<typeof reporterConfigSchema>;
294
245
  /**
295
246
  * Summary statistics for a benchmark run
296
247
  */
@@ -376,6 +327,8 @@ export interface TaskResult {
376
327
  }
377
328
  /**
378
329
  * Threshold configuration for performance assertions
330
+ *
331
+ * TODO: Derive from thresholdConfigSchema via z.infer (see #15)
379
332
  */
380
333
  export interface ThresholdConfig {
381
334
  /** Maximum allowed margin of error percentage */
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { AbsoluteBudget, BaselineReference, BaselineStorage, BaselineSummaryData, Budget, BudgetResult, BudgetSummary, BudgetViolation, RelativeBudget, RunId, TaskId } from "./budgets.js";
2
- export type { AbsoluteBudget, BaselineReference, BaselineStorage, BaselineSummaryData, Budget, BudgetResult, BudgetSummary, BudgetViolation, RelativeBudget, RunId, TaskId, };
3
- export type { BenchmarkDefinition, BenchmarkDefinitionInput, BenchmarkSuite, BenchmarkSuiteInput, BenchmarkTask, BenchmarkTaskInput, } from "../core/benchmark-schema.js";
1
+ import type { z } from 'zod';
2
+ import type { jsonReporterConfigSchema, ModestBenchConfig, ModestBenchConfigInput, reporterConfigSchema } from "../config/schema.js";
3
+ import type { AbsoluteBudget, BaselineReference, BaselineStorage, BaselineSummaryData, Budget, BudgetPattern, BudgetResult, BudgetSummary, BudgetViolation, RelativeBudget, ResolvedBudgets, RunId, TaskId } from "./budgets.js";
4
4
  /**
5
5
  * Benchmark file structure after parsing
6
6
  */
@@ -14,18 +14,6 @@ export interface BenchmarkFile {
14
14
  /** File metadata */
15
15
  readonly metadata: FileMetadata;
16
16
  }
17
- /**
18
- * ModestBench Core Types
19
- *
20
- * Defines the fundamental data structures used throughout the ModestBench
21
- * system. These types represent benchmark results, metadata, configuration, and
22
- * system state.
23
- *
24
- * Note: BenchmarkDefinition, BenchmarkSuite, and BenchmarkTask types are
25
- * derived from Zod schemas and re-exported from benchmark-schema.ts for type
26
- * safety and consistency.
27
- */
28
- export { createRunId, createTaskId } from "../utils/identifiers.js";
29
17
  /**
30
18
  * Represents a complete benchmark run across multiple files
31
19
  */
@@ -57,6 +45,9 @@ export interface BenchmarkRun {
57
45
  /** Run-level tags */
58
46
  readonly tags?: string[];
59
47
  }
48
+ export type { AbsoluteBudget, BaselineReference, BaselineStorage, BaselineSummaryData, Budget, BudgetPattern, BudgetResult, BudgetSummary, BudgetViolation, RelativeBudget, ResolvedBudgets, RunId, TaskId, };
49
+ export type { ModestBenchConfig, ModestBenchConfigInput };
50
+ export type { BenchmarkDefinition, BenchmarkDefinitionInput, BenchmarkSuite, BenchmarkSuiteInput, BenchmarkTask, BenchmarkTaskInput, } from "../config/benchmark-schema.js";
60
51
  /**
61
52
  * CI/CD environment information
62
53
  */
@@ -74,6 +65,18 @@ export interface CiInfo {
74
65
  /** Pull request number */
75
66
  readonly pullRequest?: string;
76
67
  }
68
+ /**
69
+ * ModestBench Core Types
70
+ *
71
+ * Defines the fundamental data structures used throughout the ModestBench
72
+ * system. These types represent benchmark results, metadata, configuration, and
73
+ * system state.
74
+ *
75
+ * Note: BenchmarkDefinition, BenchmarkSuite, and BenchmarkTask types are
76
+ * derived from Zod schemas and re-exported from benchmark-schema.ts for type
77
+ * safety and consistency.
78
+ */
79
+ export { createRunId, createTaskId } from "../utils/identifiers.js";
77
80
  /**
78
81
  * CPU information
79
82
  */
@@ -217,6 +220,10 @@ export interface GitInfo {
217
220
  /** Commit timestamp */
218
221
  readonly timestamp: Date;
219
222
  }
223
+ /**
224
+ * Configuration options for the JSON reporter
225
+ */
226
+ export type JsonReporterConfig = z.infer<typeof jsonReporterConfigSchema>;
220
227
  /**
221
228
  * Memory information
222
229
  */
@@ -229,68 +236,12 @@ export interface MemoryInfo {
229
236
  readonly used: number;
230
237
  }
231
238
  /**
232
- * Benchmark configuration
233
- *
234
- * The JSON Schema for this configuration is available at
235
- * `dist/schema/modestbench-config.schema.json` after building the project.
236
- *
237
- * Config files can optionally include a `$schema` property pointing to the
238
- * schema file for IDE autocomplete and validation support.
239
+ * Reporter-specific configuration
239
240
  *
240
- * @example
241
- *
242
- * ```json
243
- * {
244
- * "$schema": "./node_modules/modestbench/dist/schema/modestbench-config.schema.json",
245
- * "iterations": 1000,
246
- * "reporters": ["human", "json"],
247
- * "time": 5000
248
- * }
249
- * ```
241
+ * Provides typed configuration for known reporters. Unknown reporter configs
242
+ * are allowed via index signature.
250
243
  */
251
- export interface ModestBenchConfig {
252
- readonly $schema?: string | undefined;
253
- /** Whether to stop on first failure */
254
- readonly bail: boolean;
255
- /** Name of baseline to use for relative budget comparisons */
256
- readonly baseline?: string | undefined;
257
- /** How to handle budget violations: 'fail', 'warn', or 'report' */
258
- readonly budgetMode?: 'fail' | 'report' | 'warn' | undefined;
259
- /** Performance budgets mapped by task identifier */
260
- readonly budgets?: Record<string, unknown> | undefined;
261
- /** Patterns to exclude from discovery */
262
- readonly exclude: string[];
263
- /** Tags to exclude from execution */
264
- readonly excludeTags: string[];
265
- /** Default number of iterations per task */
266
- readonly iterations: number;
267
- /** How to limit benchmark execution: 'time', 'iterations', 'any', or 'all' */
268
- readonly limitBy: 'all' | 'any' | 'iterations' | 'time';
269
- /** Custom metadata to attach to runs */
270
- readonly metadata: Record<string, unknown>;
271
- /** Output directory for reports (undefined means stdout for data reporters) */
272
- readonly outputDir?: string;
273
- /** Pattern(s) for discovering benchmark files */
274
- readonly pattern: string | string[];
275
- /** Whether to run in quiet mode */
276
- readonly quiet: boolean;
277
- /** Configuration for specific reporters */
278
- readonly reporterConfig: Record<string, unknown>;
279
- /** Reporters to use for output */
280
- readonly reporters: string[];
281
- /** Tags to include (if empty, include all) */
282
- readonly tags: string[];
283
- /** Threshold configuration for performance assertions */
284
- readonly thresholds: ThresholdConfig;
285
- /** Maximum time to spend on each task in milliseconds */
286
- readonly time: number;
287
- /** Timeout for individual tasks in milliseconds */
288
- readonly timeout: number;
289
- /** Whether to run in verbose mode */
290
- readonly verbose: boolean;
291
- /** Number of warmup iterations before measurement */
292
- readonly warmup: number;
293
- }
244
+ export type ReporterConfig = z.infer<typeof reporterConfigSchema>;
294
245
  /**
295
246
  * Summary statistics for a benchmark run
296
247
  */
@@ -376,6 +327,8 @@ export interface TaskResult {
376
327
  }
377
328
  /**
378
329
  * Threshold configuration for performance assertions
330
+ *
331
+ * TODO: Derive from thresholdConfigSchema via z.infer (see #15)
379
332
  */
380
333
  export interface ThresholdConfig {
381
334
  /** Maximum allowed margin of error percentage */
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAqDA;;;;;;;;;;GAUG;AAEH,wCAAwC;AACxC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gCAAgC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAqHA;;;;;;;;;;GAUG;AAEH,wCAAwC;AACxC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gCAAgC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "modestbench",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "type": "module",
5
5
  "description": "A full-ass benchmarking framework for Node.js",
6
6
  "repository": {
@@ -93,14 +93,12 @@
93
93
  "build:schema": "tsx scripts/generate-schema.ts",
94
94
  "clean": "rm -rf dist",
95
95
  "commitlint": "commitlint",
96
- "dev": "zshy --watch",
97
96
  "docs:build": "run-s build:schema docs:copy astro:build",
98
97
  "docs:copy": "tsx scripts/copy-docs.ts",
99
98
  "docs:dev": "run-s docs:copy astro:dev",
100
99
  "docs:preview": "astro preview --config astro.config.js",
101
100
  "fix": "run-s -sl fix:*",
102
101
  "fix:eslint": "eslint --fix .",
103
- "fix:pkg": "npm pkg fix",
104
102
  "fix:prettier": "prettier --write . && markdownlint-cli2 --fix \"**/*.md\"",
105
103
  "lint": "run-p -sl --aggregate-output lint:*",
106
104
  "lint-staged": "lint-staged",
@@ -123,53 +121,53 @@
123
121
  "test:watch": "npm run test:base -- --watch"
124
122
  },
125
123
  "dependencies": {
124
+ "@boneskull/bargs": "3.6.2",
126
125
  "cosmiconfig": "9.0.0",
127
126
  "cosmiconfig-typescript-loader": "6.2.0",
128
127
  "glob": "13.0.0",
129
128
  "minimatch": "10.1.1",
130
129
  "tinybench": "6.0.0",
131
- "yargs": "18.0.0",
132
- "zod": "4.1.13"
130
+ "zod": "4.2.1"
133
131
  },
134
132
  "devDependencies": {
135
133
  "@astrojs/mdx": "4.3.13",
136
134
  "@astrojs/starlight": "0.37.1",
137
135
  "@commitlint/cli": "20.2.0",
138
136
  "@commitlint/config-conventional": "20.2.0",
139
- "@eslint/js": "9.39.1",
137
+ "@eslint/js": "9.39.2",
140
138
  "@jest/globals": "30.2.0",
141
139
  "@pasqal-io/starlight-client-mermaid": "0.1.0",
142
140
  "@stylistic/eslint-plugin": "5.6.1",
143
141
  "@types/mocha": "10.0.10",
144
- "@types/node": "24.10.3",
142
+ "@types/node": "24.10.4",
145
143
  "@types/wallabyjs": "0.0.15",
146
- "@types/yargs": "17.0.35",
147
- "asciinema-player": "3.13.2",
148
- "astro": "5.16.5",
144
+ "asciinema-player": "3.13.5",
145
+ "astro": "5.16.6",
149
146
  "astro-broken-link-checker": "file:./vendor/astro-broken-link-checker",
150
147
  "ava": "6.4.1",
151
148
  "bupkis": "0.14.0",
152
149
  "cspell": "9.4.0",
153
- "eslint": "9.39.1",
150
+ "eslint": "9.39.2",
154
151
  "eslint-plugin-jsonc": "2.21.0",
155
- "eslint-plugin-perfectionist": "4.15.1",
152
+ "eslint-plugin-perfectionist": "5.2.0",
156
153
  "globals": "16.5.0",
157
154
  "husky": "9.1.7",
158
155
  "jest": "30.2.0",
159
- "knip": "5.73.4",
156
+ "knip": "5.78.0",
160
157
  "lint-staged": "16.2.7",
161
158
  "markdownlint-cli2": "0.20.0",
162
159
  "markdownlint-cli2-formatter-pretty": "0.0.9",
163
160
  "mocha": "11.7.5",
164
161
  "npm-run-all2": "8.0.4",
165
162
  "prettier": "3.7.4",
163
+ "prettier-plugin-astro": "0.14.1",
166
164
  "prettier-plugin-jsdoc": "1.8.0",
167
165
  "prettier-plugin-pkg": "0.21.2",
168
166
  "prettier-plugin-sort-json": "4.1.1",
169
167
  "tsd": "0.33.0",
170
168
  "tsx": "4.21.0",
171
169
  "typescript": "5.9.3",
172
- "typescript-eslint": "8.49.0",
170
+ "typescript-eslint": "8.50.1",
173
171
  "zshy": "0.6.0"
174
172
  },
175
173
  "publishConfig": {
@@ -181,7 +179,6 @@
181
179
  "@types/wallabyjs",
182
180
  "@types/mocha",
183
181
  "markdownlint-cli2-formatter-pretty",
184
- "asciinema-player",
185
182
  "@astrojs/mdx",
186
183
  "astro-broken-link-checker",
187
184
  "jest",
@@ -215,6 +212,9 @@
215
212
  }
216
213
  },
217
214
  "lint-staged": {
215
+ "*.{astro,css}": [
216
+ "prettier --write"
217
+ ],
218
218
  "*.{ts,cts,js,cjs,yml,json5}": [
219
219
  "eslint --fix",
220
220
  "prettier --write",
@@ -238,7 +238,16 @@
238
238
  "prettier": {
239
239
  "jsdocCommentLineStrategy": "keep",
240
240
  "jsdocPreferCodeFences": true,
241
+ "overrides": [
242
+ {
243
+ "files": "*.astro",
244
+ "options": {
245
+ "parser": "astro"
246
+ }
247
+ }
248
+ ],
241
249
  "plugins": [
250
+ "prettier-plugin-astro",
242
251
  "prettier-plugin-jsdoc",
243
252
  "prettier-plugin-pkg",
244
253
  "prettier-plugin-sort-json"
@@ -8,7 +8,7 @@
8
8
  import type {
9
9
  BenchmarkDefinition,
10
10
  BenchmarkSuite,
11
- } from '../core/benchmark-schema.js';
11
+ } from '../config/benchmark-schema.js';
12
12
 
13
13
  /**
14
14
  * A captured test suite (describe block) from a test framework
@@ -69,13 +69,13 @@ const formatDuration = (nanoseconds: number): string => {
69
69
  if (nanoseconds < 1000) {
70
70
  return `${nanoseconds.toFixed(2)}ns`;
71
71
  }
72
- if (nanoseconds < 1000000) {
72
+ if (nanoseconds < 1_000_000) {
73
73
  return `${(nanoseconds / 1000).toFixed(2)}μs`;
74
74
  }
75
- if (nanoseconds < 1000000000) {
76
- return `${(nanoseconds / 1000000).toFixed(2)}ms`;
75
+ if (nanoseconds < 1_000_000_000) {
76
+ return `${(nanoseconds / 1_000_000).toFixed(2)}ms`;
77
77
  }
78
- return `${(nanoseconds / 1000000000).toFixed(2)}s`;
78
+ return `${(nanoseconds / 1_000_000_000).toFixed(2)}s`;
79
79
  };
80
80
 
81
81
  /**
@@ -85,13 +85,13 @@ const formatOpsPerSec = (ops: number): string => {
85
85
  if (ops < 1000) {
86
86
  return `${ops.toFixed(2)} ops/sec`;
87
87
  }
88
- if (ops < 1000000) {
88
+ if (ops < 1_000_000) {
89
89
  return `${(ops / 1000).toFixed(2)}K ops/sec`;
90
90
  }
91
- if (ops < 1000000000) {
92
- return `${(ops / 1000000).toFixed(2)}M ops/sec`;
91
+ if (ops < 1_000_000_000) {
92
+ return `${(ops / 1_000_000).toFixed(2)}M ops/sec`;
93
93
  }
94
- return `${(ops / 1000000000).toFixed(2)}B ops/sec`;
94
+ return `${(ops / 1_000_000_000).toFixed(2)}B ops/sec`;
95
95
  };
96
96
 
97
97
  /**
@@ -51,7 +51,7 @@ const PROJECT_TEMPLATES = {
51
51
  outputDir: DEFAULT_OUTPUT_DIR,
52
52
  pattern: `${DEFAULT_BENCHMARK_DIR}/**/*.bench.{js,ts}`,
53
53
  reporters: ['human', 'json'],
54
- time: 10000,
54
+ time: 10_000,
55
55
  warmup: 50,
56
56
  },
57
57
  description: 'Feature-rich setup with multiple reporters and configuration',
@@ -77,7 +77,7 @@ const PROJECT_TEMPLATES = {
77
77
  outputDir: DEFAULT_OUTPUT_DIR,
78
78
  pattern: `${DEFAULT_BENCHMARK_DIR}/**/*.bench.{js,ts}`,
79
79
  reporters: ['human', 'json'],
80
- time: 15000,
80
+ time: 15_000,
81
81
  warmup: 100,
82
82
  },
83
83
  description: 'Optimized for library performance testing',