modestbench 0.0.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.
- package/CHANGELOG.md +45 -0
- package/LICENSE.md +55 -0
- package/README.md +699 -0
- package/dist/bootstrap.cjs +37 -0
- package/dist/bootstrap.cjs.map +1 -0
- package/dist/bootstrap.d.cts +17 -0
- package/dist/bootstrap.d.cts.map +1 -0
- package/dist/bootstrap.d.ts +17 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +33 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/cli/commands/history.cjs +459 -0
- package/dist/cli/commands/history.cjs.map +1 -0
- package/dist/cli/commands/history.d.cts +34 -0
- package/dist/cli/commands/history.d.cts.map +1 -0
- package/dist/cli/commands/history.d.ts +34 -0
- package/dist/cli/commands/history.d.ts.map +1 -0
- package/dist/cli/commands/history.js +422 -0
- package/dist/cli/commands/history.js.map +1 -0
- package/dist/cli/commands/init.cjs +566 -0
- package/dist/cli/commands/init.cjs.map +1 -0
- package/dist/cli/commands/init.d.cts +26 -0
- package/dist/cli/commands/init.d.cts.map +1 -0
- package/dist/cli/commands/init.d.ts +26 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +562 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/run.cjs +285 -0
- package/dist/cli/commands/run.cjs.map +1 -0
- package/dist/cli/commands/run.d.cts +37 -0
- package/dist/cli/commands/run.d.cts.map +1 -0
- package/dist/cli/commands/run.d.ts +37 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +248 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/index.cjs +523 -0
- package/dist/cli/index.cjs.map +1 -0
- package/dist/cli/index.d.cts +58 -0
- package/dist/cli/index.d.cts.map +1 -0
- package/dist/cli/index.d.ts +58 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +515 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/manager.cjs +370 -0
- package/dist/config/manager.cjs.map +1 -0
- package/dist/config/manager.d.cts +46 -0
- package/dist/config/manager.d.cts.map +1 -0
- package/dist/config/manager.d.ts +46 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +333 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/schema.cjs +182 -0
- package/dist/config/schema.cjs.map +1 -0
- package/dist/config/schema.d.cts +51 -0
- package/dist/config/schema.d.cts.map +1 -0
- package/dist/config/schema.d.ts +51 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +145 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/constants.cjs +22 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.cts +10 -0
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.ts +10 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +19 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/benchmark-schema.cjs +135 -0
- package/dist/core/benchmark-schema.cjs.map +1 -0
- package/dist/core/benchmark-schema.d.cts +139 -0
- package/dist/core/benchmark-schema.d.cts.map +1 -0
- package/dist/core/benchmark-schema.d.ts +139 -0
- package/dist/core/benchmark-schema.d.ts.map +1 -0
- package/dist/core/benchmark-schema.js +132 -0
- package/dist/core/benchmark-schema.js.map +1 -0
- package/dist/core/engine.cjs +669 -0
- package/dist/core/engine.cjs.map +1 -0
- package/dist/core/engine.d.cts +128 -0
- package/dist/core/engine.d.cts.map +1 -0
- package/dist/core/engine.d.ts +128 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +632 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/engines/accurate-engine.cjs +292 -0
- package/dist/core/engines/accurate-engine.cjs.map +1 -0
- package/dist/core/engines/accurate-engine.d.cts +63 -0
- package/dist/core/engines/accurate-engine.d.cts.map +1 -0
- package/dist/core/engines/accurate-engine.d.ts +63 -0
- package/dist/core/engines/accurate-engine.d.ts.map +1 -0
- package/dist/core/engines/accurate-engine.js +288 -0
- package/dist/core/engines/accurate-engine.js.map +1 -0
- package/dist/core/engines/index.cjs +21 -0
- package/dist/core/engines/index.cjs.map +1 -0
- package/dist/core/engines/index.d.cts +16 -0
- package/dist/core/engines/index.d.cts.map +1 -0
- package/dist/core/engines/index.d.ts +16 -0
- package/dist/core/engines/index.d.ts.map +1 -0
- package/dist/core/engines/index.js +16 -0
- package/dist/core/engines/index.js.map +1 -0
- package/dist/core/engines/tinybench-engine.cjs +286 -0
- package/dist/core/engines/tinybench-engine.cjs.map +1 -0
- package/dist/core/engines/tinybench-engine.d.cts +18 -0
- package/dist/core/engines/tinybench-engine.d.cts.map +1 -0
- package/dist/core/engines/tinybench-engine.d.ts +18 -0
- package/dist/core/engines/tinybench-engine.d.ts.map +1 -0
- package/dist/core/engines/tinybench-engine.js +282 -0
- package/dist/core/engines/tinybench-engine.js.map +1 -0
- package/dist/core/error-manager.cjs +303 -0
- package/dist/core/error-manager.cjs.map +1 -0
- package/dist/core/error-manager.d.cts +77 -0
- package/dist/core/error-manager.d.cts.map +1 -0
- package/dist/core/error-manager.d.ts +77 -0
- package/dist/core/error-manager.d.ts.map +1 -0
- package/dist/core/error-manager.js +299 -0
- package/dist/core/error-manager.js.map +1 -0
- package/dist/core/loader.cjs +287 -0
- package/dist/core/loader.cjs.map +1 -0
- package/dist/core/loader.d.cts +55 -0
- package/dist/core/loader.d.cts.map +1 -0
- package/dist/core/loader.d.ts +55 -0
- package/dist/core/loader.d.ts.map +1 -0
- package/dist/core/loader.js +250 -0
- package/dist/core/loader.js.map +1 -0
- package/dist/core/stats-utils.cjs +99 -0
- package/dist/core/stats-utils.cjs.map +1 -0
- package/dist/core/stats-utils.d.cts +50 -0
- package/dist/core/stats-utils.d.cts.map +1 -0
- package/dist/core/stats-utils.d.ts +50 -0
- package/dist/core/stats-utils.d.ts.map +1 -0
- package/dist/core/stats-utils.js +94 -0
- package/dist/core/stats-utils.js.map +1 -0
- package/dist/index.cjs +64 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +22 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/progress/manager.cjs +325 -0
- package/dist/progress/manager.cjs.map +1 -0
- package/dist/progress/manager.d.cts +125 -0
- package/dist/progress/manager.d.cts.map +1 -0
- package/dist/progress/manager.d.ts +125 -0
- package/dist/progress/manager.d.ts.map +1 -0
- package/dist/progress/manager.js +321 -0
- package/dist/progress/manager.js.map +1 -0
- package/dist/reporters/csv.cjs +250 -0
- package/dist/reporters/csv.cjs.map +1 -0
- package/dist/reporters/csv.d.cts +92 -0
- package/dist/reporters/csv.d.cts.map +1 -0
- package/dist/reporters/csv.d.ts +92 -0
- package/dist/reporters/csv.d.ts.map +1 -0
- package/dist/reporters/csv.js +246 -0
- package/dist/reporters/csv.js.map +1 -0
- package/dist/reporters/human.cjs +516 -0
- package/dist/reporters/human.cjs.map +1 -0
- package/dist/reporters/human.d.cts +86 -0
- package/dist/reporters/human.d.cts.map +1 -0
- package/dist/reporters/human.d.ts +86 -0
- package/dist/reporters/human.d.ts.map +1 -0
- package/dist/reporters/human.js +509 -0
- package/dist/reporters/human.js.map +1 -0
- package/dist/reporters/index.cjs +17 -0
- package/dist/reporters/index.cjs.map +1 -0
- package/dist/reporters/index.d.cts +10 -0
- package/dist/reporters/index.d.cts.map +1 -0
- package/dist/reporters/index.d.ts +10 -0
- package/dist/reporters/index.d.ts.map +1 -0
- package/dist/reporters/index.js +10 -0
- package/dist/reporters/index.js.map +1 -0
- package/dist/reporters/json.cjs +215 -0
- package/dist/reporters/json.cjs.map +1 -0
- package/dist/reporters/json.d.cts +79 -0
- package/dist/reporters/json.d.cts.map +1 -0
- package/dist/reporters/json.d.ts +79 -0
- package/dist/reporters/json.d.ts.map +1 -0
- package/dist/reporters/json.js +211 -0
- package/dist/reporters/json.js.map +1 -0
- package/dist/reporters/registry.cjs +255 -0
- package/dist/reporters/registry.cjs.map +1 -0
- package/dist/reporters/registry.d.cts +155 -0
- package/dist/reporters/registry.d.cts.map +1 -0
- package/dist/reporters/registry.d.ts +155 -0
- package/dist/reporters/registry.d.ts.map +1 -0
- package/dist/reporters/registry.js +249 -0
- package/dist/reporters/registry.js.map +1 -0
- package/dist/reporters/simple.cjs +328 -0
- package/dist/reporters/simple.cjs.map +1 -0
- package/dist/reporters/simple.d.cts +51 -0
- package/dist/reporters/simple.d.cts.map +1 -0
- package/dist/reporters/simple.d.ts +51 -0
- package/dist/reporters/simple.d.ts.map +1 -0
- package/dist/reporters/simple.js +321 -0
- package/dist/reporters/simple.js.map +1 -0
- package/dist/schema/modestbench-config.schema.json +162 -0
- package/dist/storage/history.cjs +456 -0
- package/dist/storage/history.cjs.map +1 -0
- package/dist/storage/history.d.cts +99 -0
- package/dist/storage/history.d.cts.map +1 -0
- package/dist/storage/history.d.ts +99 -0
- package/dist/storage/history.d.ts.map +1 -0
- package/dist/storage/history.js +452 -0
- package/dist/storage/history.js.map +1 -0
- package/dist/types/cli.cjs +21 -0
- package/dist/types/cli.cjs.map +1 -0
- package/dist/types/cli.d.cts +296 -0
- package/dist/types/cli.d.cts.map +1 -0
- package/dist/types/cli.d.ts +296 -0
- package/dist/types/cli.d.ts.map +1 -0
- package/dist/types/cli.js +18 -0
- package/dist/types/cli.js.map +1 -0
- package/dist/types/core.cjs +14 -0
- package/dist/types/core.cjs.map +1 -0
- package/dist/types/core.d.cts +380 -0
- package/dist/types/core.d.cts.map +1 -0
- package/dist/types/core.d.ts +380 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +13 -0
- package/dist/types/core.js.map +1 -0
- package/dist/types/index.cjs +27 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +11 -0
- package/dist/types/index.d.cts.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/interfaces.cjs +10 -0
- package/dist/types/interfaces.cjs.map +1 -0
- package/dist/types/interfaces.d.cts +381 -0
- package/dist/types/interfaces.d.cts.map +1 -0
- package/dist/types/interfaces.d.ts +381 -0
- package/dist/types/interfaces.d.ts.map +1 -0
- package/dist/types/interfaces.js +9 -0
- package/dist/types/interfaces.js.map +1 -0
- package/dist/types/utility.cjs +92 -0
- package/dist/types/utility.cjs.map +1 -0
- package/dist/types/utility.d.cts +330 -0
- package/dist/types/utility.d.cts.map +1 -0
- package/dist/types/utility.d.ts +330 -0
- package/dist/types/utility.d.ts.map +1 -0
- package/dist/types/utility.js +78 -0
- package/dist/types/utility.js.map +1 -0
- package/package.json +211 -0
- package/src/bootstrap.ts +35 -0
- package/src/cli/commands/history.ts +569 -0
- package/src/cli/commands/init.ts +658 -0
- package/src/cli/commands/run.ts +346 -0
- package/src/cli/index.ts +642 -0
- package/src/config/manager.ts +387 -0
- package/src/config/schema.ts +188 -0
- package/src/constants.ts +21 -0
- package/src/core/benchmark-schema.ts +185 -0
- package/src/core/engine.ts +888 -0
- package/src/core/engines/accurate-engine.ts +408 -0
- package/src/core/engines/index.ts +16 -0
- package/src/core/engines/tinybench-engine.ts +335 -0
- package/src/core/error-manager.ts +372 -0
- package/src/core/loader.ts +324 -0
- package/src/core/stats-utils.ts +135 -0
- package/src/index.ts +46 -0
- package/src/progress/manager.ts +415 -0
- package/src/reporters/csv.ts +368 -0
- package/src/reporters/human.ts +707 -0
- package/src/reporters/index.ts +10 -0
- package/src/reporters/json.ts +302 -0
- package/src/reporters/registry.ts +349 -0
- package/src/reporters/simple.ts +459 -0
- package/src/storage/history.ts +600 -0
- package/src/types/cli.ts +312 -0
- package/src/types/core.ts +414 -0
- package/src/types/index.ts +18 -0
- package/src/types/interfaces.ts +451 -0
- package/src/types/utility.ts +446 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Provides {@link bootstrap} function to initialize the ModestBench engine with
|
|
4
|
+
* default dependencies.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.bootstrap = void 0;
|
|
10
|
+
const manager_js_1 = require("./config/manager.cjs");
|
|
11
|
+
const index_js_1 = require("./core/engines/index.cjs");
|
|
12
|
+
const error_manager_js_1 = require("./core/error-manager.cjs");
|
|
13
|
+
const loader_js_1 = require("./core/loader.cjs");
|
|
14
|
+
const manager_js_2 = require("./progress/manager.cjs");
|
|
15
|
+
const registry_js_1 = require("./reporters/registry.cjs");
|
|
16
|
+
const history_js_1 = require("./storage/history.cjs");
|
|
17
|
+
/**
|
|
18
|
+
* Initializes the ModestBench engine with default dependencies.
|
|
19
|
+
*
|
|
20
|
+
* Uses TinybenchEngine as the default concrete implementation.
|
|
21
|
+
*
|
|
22
|
+
* @returns {ModestBenchEngine} The initialized ModestBench engine.
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
const bootstrap = () => {
|
|
26
|
+
const engine = new index_js_1.TinybenchEngine({
|
|
27
|
+
configManager: new manager_js_1.ModestBenchConfigurationManager(),
|
|
28
|
+
errorManager: new error_manager_js_1.ModestBenchErrorManager(),
|
|
29
|
+
fileLoader: new loader_js_1.BenchmarkFileLoader(),
|
|
30
|
+
historyStorage: new history_js_1.FileHistoryStorage(),
|
|
31
|
+
progressManager: new manager_js_2.ModestBenchProgressManager(),
|
|
32
|
+
reporterRegistry: new registry_js_1.ModestBenchReporterRegistry(),
|
|
33
|
+
});
|
|
34
|
+
return engine;
|
|
35
|
+
};
|
|
36
|
+
exports.bootstrap = bootstrap;
|
|
37
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qDAAsE;AAEtE,uDAA0D;AAC1D,+DAAkE;AAClE,iDAAuD;AACvD,uDAAmE;AACnE,0DAAsE;AACtE,sDAA0D;AAE1D;;;;;;;GAOG;AACI,MAAM,SAAS,GAAG,GAAsB,EAAE;IAC/C,MAAM,MAAM,GAAG,IAAI,0BAAe,CAAC;QACjC,aAAa,EAAE,IAAI,4CAA+B,EAAE;QACpD,YAAY,EAAE,IAAI,0CAAuB,EAAE;QAC3C,UAAU,EAAE,IAAI,+BAAmB,EAAE;QACrC,cAAc,EAAE,IAAI,+BAAkB,EAAE;QACxC,eAAe,EAAE,IAAI,uCAA0B,EAAE;QACjD,gBAAgB,EAAE,IAAI,yCAA2B,EAAE;KACpD,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides {@link bootstrap} function to initialize the ModestBench engine with
|
|
3
|
+
* default dependencies.
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
import { type ModestBenchEngine } from "./core/engine.cjs";
|
|
8
|
+
/**
|
|
9
|
+
* Initializes the ModestBench engine with default dependencies.
|
|
10
|
+
*
|
|
11
|
+
* Uses TinybenchEngine as the default concrete implementation.
|
|
12
|
+
*
|
|
13
|
+
* @returns {ModestBenchEngine} The initialized ModestBench engine.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare const bootstrap: () => ModestBenchEngine;
|
|
17
|
+
//# sourceMappingURL=bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,iBAAiB,EAAE,0BAAyB;AAQ1D;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,QAAO,iBAU5B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides {@link bootstrap} function to initialize the ModestBench engine with
|
|
3
|
+
* default dependencies.
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
import { type ModestBenchEngine } from "./core/engine.js";
|
|
8
|
+
/**
|
|
9
|
+
* Initializes the ModestBench engine with default dependencies.
|
|
10
|
+
*
|
|
11
|
+
* Uses TinybenchEngine as the default concrete implementation.
|
|
12
|
+
*
|
|
13
|
+
* @returns {ModestBenchEngine} The initialized ModestBench engine.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare const bootstrap: () => ModestBenchEngine;
|
|
17
|
+
//# sourceMappingURL=bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,iBAAiB,EAAE,yBAAyB;AAQ1D;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,QAAO,iBAU5B,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides {@link bootstrap} function to initialize the ModestBench engine with
|
|
3
|
+
* default dependencies.
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
import { ModestBenchConfigurationManager } from "./config/manager.js";
|
|
8
|
+
import { TinybenchEngine } from "./core/engines/index.js";
|
|
9
|
+
import { ModestBenchErrorManager } from "./core/error-manager.js";
|
|
10
|
+
import { BenchmarkFileLoader } from "./core/loader.js";
|
|
11
|
+
import { ModestBenchProgressManager } from "./progress/manager.js";
|
|
12
|
+
import { ModestBenchReporterRegistry } from "./reporters/registry.js";
|
|
13
|
+
import { FileHistoryStorage } from "./storage/history.js";
|
|
14
|
+
/**
|
|
15
|
+
* Initializes the ModestBench engine with default dependencies.
|
|
16
|
+
*
|
|
17
|
+
* Uses TinybenchEngine as the default concrete implementation.
|
|
18
|
+
*
|
|
19
|
+
* @returns {ModestBenchEngine} The initialized ModestBench engine.
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export const bootstrap = () => {
|
|
23
|
+
const engine = new TinybenchEngine({
|
|
24
|
+
configManager: new ModestBenchConfigurationManager(),
|
|
25
|
+
errorManager: new ModestBenchErrorManager(),
|
|
26
|
+
fileLoader: new BenchmarkFileLoader(),
|
|
27
|
+
historyStorage: new FileHistoryStorage(),
|
|
28
|
+
progressManager: new ModestBenchProgressManager(),
|
|
29
|
+
reporterRegistry: new ModestBenchReporterRegistry(),
|
|
30
|
+
});
|
|
31
|
+
return engine;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,+BAA+B,EAAE,4BAA4B;AAEtE,OAAO,EAAE,eAAe,EAAE,gCAAgC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,gCAAgC;AAClE,OAAO,EAAE,mBAAmB,EAAE,yBAAyB;AACvD,OAAO,EAAE,0BAA0B,EAAE,8BAA8B;AACnE,OAAO,EAAE,2BAA2B,EAAE,gCAAgC;AACtE,OAAO,EAAE,kBAAkB,EAAE,6BAA6B;AAE1D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAsB,EAAE;IAC/C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,aAAa,EAAE,IAAI,+BAA+B,EAAE;QACpD,YAAY,EAAE,IAAI,uBAAuB,EAAE;QAC3C,UAAU,EAAE,IAAI,mBAAmB,EAAE;QACrC,cAAc,EAAE,IAAI,kBAAkB,EAAE;QACxC,eAAe,EAAE,IAAI,0BAA0B,EAAE;QACjD,gBAAgB,EAAE,IAAI,2BAA2B,EAAE;KACpD,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ModestBench History Command
|
|
4
|
+
*
|
|
5
|
+
* View and manage benchmark run history with subcommands for listing, showing,
|
|
6
|
+
* comparing, and cleaning historical data.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.handleHistoryCommand = void 0;
|
|
43
|
+
/**
|
|
44
|
+
* Handle history command
|
|
45
|
+
*/
|
|
46
|
+
const handleHistoryCommand = async (context, options) => {
|
|
47
|
+
try {
|
|
48
|
+
// Get the subcommand
|
|
49
|
+
const subcommand = options.subcommand;
|
|
50
|
+
switch (subcommand) {
|
|
51
|
+
case 'clean':
|
|
52
|
+
return await handleCleanCommand(context, options);
|
|
53
|
+
case 'compare':
|
|
54
|
+
return await handleCompareCommand(context, options);
|
|
55
|
+
case 'export':
|
|
56
|
+
return await handleExportCommand(context, options);
|
|
57
|
+
case 'list':
|
|
58
|
+
return await handleListCommand(context, options);
|
|
59
|
+
case 'show':
|
|
60
|
+
return await handleShowCommand(context, options);
|
|
61
|
+
case 'trends':
|
|
62
|
+
return await handleTrendsCommand(context, options);
|
|
63
|
+
default:
|
|
64
|
+
console.error(`Unknown history subcommand: ${subcommand || '(none)'}`);
|
|
65
|
+
console.error('Available subcommands: list, show, compare, trends, clean, export');
|
|
66
|
+
return 2; // Config error
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
console.error('History command failed:', error instanceof Error ? error.message : String(error));
|
|
71
|
+
return 2; // Configuration/runtime errors
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
exports.handleHistoryCommand = handleHistoryCommand;
|
|
75
|
+
/**
|
|
76
|
+
* Format bytes in human-readable format
|
|
77
|
+
*/
|
|
78
|
+
const formatBytes = (bytes) => {
|
|
79
|
+
const units = ['B', 'KB', 'MB', 'GB'];
|
|
80
|
+
let size = bytes;
|
|
81
|
+
let unitIndex = 0;
|
|
82
|
+
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
83
|
+
size /= 1024;
|
|
84
|
+
unitIndex++;
|
|
85
|
+
}
|
|
86
|
+
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Handle the clean subcommand
|
|
90
|
+
*/
|
|
91
|
+
const handleCleanCommand = async (context, options) => {
|
|
92
|
+
try {
|
|
93
|
+
// Build retention policy from arguments
|
|
94
|
+
const policy = {
|
|
95
|
+
...(options.maxAge && { maxAge: options.maxAge }),
|
|
96
|
+
...(options.maxRuns && { maxRuns: options.maxRuns }),
|
|
97
|
+
...(options.maxSize && { maxSize: options.maxSize }),
|
|
98
|
+
};
|
|
99
|
+
if (Object.keys(policy).length === 0) {
|
|
100
|
+
console.error('At least one cleanup criterion must be specified (--max-age, --max-runs, or --max-size)');
|
|
101
|
+
return 2;
|
|
102
|
+
}
|
|
103
|
+
// Show what would be cleaned unless confirmed
|
|
104
|
+
if (!options.confirm) {
|
|
105
|
+
console.log('This will clean up historical data based on the following policy:');
|
|
106
|
+
if (policy.maxAge) {
|
|
107
|
+
console.log(` - Remove runs older than ${policy.maxAge}ms`);
|
|
108
|
+
}
|
|
109
|
+
if (policy.maxRuns) {
|
|
110
|
+
console.log(` - Keep only the latest ${policy.maxRuns} runs`);
|
|
111
|
+
}
|
|
112
|
+
if (policy.maxSize) {
|
|
113
|
+
console.log(` - Remove runs until storage is under ${policy.maxSize} bytes`);
|
|
114
|
+
}
|
|
115
|
+
console.log();
|
|
116
|
+
console.log('Use --confirm to proceed with cleanup.');
|
|
117
|
+
return 0;
|
|
118
|
+
}
|
|
119
|
+
// Perform cleanup
|
|
120
|
+
const result = await context.historyStorage.cleanup(policy);
|
|
121
|
+
if (!options.quiet) {
|
|
122
|
+
console.log(`Cleanup completed:`);
|
|
123
|
+
console.log(` Removed ${result.removedRuns} run(s)`);
|
|
124
|
+
console.log(` Freed ${formatBytes(result.freedBytes)} of storage`);
|
|
125
|
+
if (options.verbose && result.removedFiles.length > 0) {
|
|
126
|
+
console.log(` Removed files:`);
|
|
127
|
+
for (const file of result.removedFiles) {
|
|
128
|
+
console.log(` ${file}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return 0;
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
console.error('Failed to clean history:', error instanceof Error ? error.message : String(error));
|
|
136
|
+
return 5;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Handle the compare subcommand
|
|
141
|
+
*/
|
|
142
|
+
const handleCompareCommand = async (context, options) => {
|
|
143
|
+
try {
|
|
144
|
+
// For compare command, IDs come from args after the subcommand
|
|
145
|
+
const id1 = options.args?.[0];
|
|
146
|
+
const id2 = options.args?.[1];
|
|
147
|
+
if (!id1 || !id2) {
|
|
148
|
+
console.error('Two run IDs are required for compare command');
|
|
149
|
+
console.error('Usage: modestbench history compare <run-id1> <run-id2>');
|
|
150
|
+
return 2;
|
|
151
|
+
}
|
|
152
|
+
const [run1, run2] = await Promise.all([
|
|
153
|
+
context.historyStorage.loadRun(id1),
|
|
154
|
+
context.historyStorage.loadRun(id2),
|
|
155
|
+
]);
|
|
156
|
+
if (!run1) {
|
|
157
|
+
console.error(`Run not found: ${id1}`);
|
|
158
|
+
return 1;
|
|
159
|
+
}
|
|
160
|
+
if (!run2) {
|
|
161
|
+
console.error(`Run not found: ${id2}`);
|
|
162
|
+
return 1;
|
|
163
|
+
}
|
|
164
|
+
if (options.format === 'json') {
|
|
165
|
+
const comparison = {
|
|
166
|
+
run1: { id: run1.id, summary: run1.summary },
|
|
167
|
+
run2: { id: run2.id, summary: run2.summary },
|
|
168
|
+
// TODO: Add detailed comparison logic
|
|
169
|
+
};
|
|
170
|
+
console.log(JSON.stringify(comparison, null, 2));
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
// Human format comparison
|
|
174
|
+
console.log(`Comparing runs:`);
|
|
175
|
+
console.log(` Run 1: ${run1.id} (${run1.startTime.toLocaleString()})`);
|
|
176
|
+
console.log(` Run 2: ${run2.id} (${run2.startTime.toLocaleString()})`);
|
|
177
|
+
console.log();
|
|
178
|
+
console.log('Summary comparison:');
|
|
179
|
+
console.log(` Files: ${run1.summary.totalFiles} vs ${run2.summary.totalFiles}`);
|
|
180
|
+
console.log(` Tasks: ${run1.summary.totalTasks} vs ${run2.summary.totalTasks}`);
|
|
181
|
+
console.log(` Passed: ${run1.summary.passedTasks} vs ${run2.summary.passedTasks}`);
|
|
182
|
+
console.log(` Failed: ${run1.summary.failedTasks} vs ${run2.summary.failedTasks}`);
|
|
183
|
+
// TODO: Add detailed performance comparison
|
|
184
|
+
console.log();
|
|
185
|
+
console.log('Note: Detailed performance comparison not yet implemented.');
|
|
186
|
+
}
|
|
187
|
+
return 0;
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
console.error('Failed to compare runs:', error instanceof Error ? error.message : String(error));
|
|
191
|
+
return 5;
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
/**
|
|
195
|
+
* Handle the export subcommand
|
|
196
|
+
*/
|
|
197
|
+
const handleExportCommand = async (context, options) => {
|
|
198
|
+
try {
|
|
199
|
+
const format = options.format || 'json';
|
|
200
|
+
// Build query for export
|
|
201
|
+
const query = {
|
|
202
|
+
...(options.since && { since: parseDate(options.since) }),
|
|
203
|
+
...(options.until && { until: parseDate(options.until) }),
|
|
204
|
+
};
|
|
205
|
+
const exportData = await context.historyStorage.export(format, query);
|
|
206
|
+
if (options.outputDir) {
|
|
207
|
+
// Write to file
|
|
208
|
+
const fs = await Promise.resolve().then(() => __importStar(require('node:fs/promises')));
|
|
209
|
+
await fs.writeFile(options.outputDir, exportData, 'utf8');
|
|
210
|
+
if (!options.quiet) {
|
|
211
|
+
console.log(`Exported history to ${options.outputDir}`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
// Write to stdout
|
|
216
|
+
console.log(exportData);
|
|
217
|
+
}
|
|
218
|
+
return 0;
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
console.error('Failed to export history:', error instanceof Error ? error.message : String(error));
|
|
222
|
+
return 5;
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Handle the list subcommand
|
|
227
|
+
*/
|
|
228
|
+
const handleListCommand = async (context, options) => {
|
|
229
|
+
try {
|
|
230
|
+
// Build query from command line arguments
|
|
231
|
+
let parsedSince;
|
|
232
|
+
let parsedUntil;
|
|
233
|
+
if (options.since) {
|
|
234
|
+
try {
|
|
235
|
+
parsedSince = parseDate(options.since);
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
console.error('Invalid since date:', error instanceof Error ? error.message : String(error));
|
|
239
|
+
return 2; // Invalid date format
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
if (options.until) {
|
|
243
|
+
try {
|
|
244
|
+
parsedUntil = parseDate(options.until);
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
console.error('Invalid until date:', error instanceof Error ? error.message : String(error));
|
|
248
|
+
return 2; // Invalid date format
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
const query = {
|
|
252
|
+
...(parsedSince && { since: parsedSince }),
|
|
253
|
+
...(parsedUntil && { until: parsedUntil }),
|
|
254
|
+
...(options.pattern && { pattern: options.pattern }),
|
|
255
|
+
...(options.tags && options.tags.length > 0 && { tags: options.tags }),
|
|
256
|
+
...(options.limit && { limit: options.limit }),
|
|
257
|
+
};
|
|
258
|
+
// Query historical runs
|
|
259
|
+
const runs = await context.historyStorage.queryRuns(query);
|
|
260
|
+
// Display results based on format
|
|
261
|
+
if (options.format === 'json') {
|
|
262
|
+
if (runs.length === 0) {
|
|
263
|
+
console.log('[]'); // Empty JSON array for no data
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
console.log(JSON.stringify(runs.map((run) => ({
|
|
267
|
+
duration: run.duration,
|
|
268
|
+
failed: run.summary.failedTasks,
|
|
269
|
+
files: run.summary.totalFiles,
|
|
270
|
+
id: run.id,
|
|
271
|
+
passed: run.summary.passedTasks,
|
|
272
|
+
startTime: run.startTime,
|
|
273
|
+
tasks: run.summary.totalTasks,
|
|
274
|
+
})), null, 2));
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
else if (options.format === 'csv') {
|
|
278
|
+
console.log('id,startTime,duration,files,tasks,passed,failed');
|
|
279
|
+
if (runs.length > 0) {
|
|
280
|
+
for (const run of runs) {
|
|
281
|
+
console.log(`${run.id},${run.startTime.toISOString()},${run.duration},${run.summary.totalFiles},${run.summary.totalTasks},${run.summary.passedTasks},${run.summary.failedTasks}`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
// For CSV, no additional message needed - header is sufficient
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
// Human format
|
|
288
|
+
if (runs.length === 0) {
|
|
289
|
+
if (!options.quiet) {
|
|
290
|
+
console.log('No historical data found matching criteria.');
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
console.log('Recent benchmark runs:');
|
|
295
|
+
console.log();
|
|
296
|
+
for (const run of runs) {
|
|
297
|
+
const dateStr = run.startTime.toLocaleString();
|
|
298
|
+
const durationStr = `${(run.duration / 1000).toFixed(1)}s`;
|
|
299
|
+
const statusStr = run.summary.failedTasks > 0
|
|
300
|
+
? `${run.summary.passedTasks} passed, ${run.summary.failedTasks} failed`
|
|
301
|
+
: `${run.summary.passedTasks} passed`;
|
|
302
|
+
console.log(` ${run.id.substring(0, 8)} - ${dateStr} (${durationStr})`);
|
|
303
|
+
console.log(` ${run.summary.totalFiles} files, ${run.summary.totalTasks} tasks: ${statusStr}`);
|
|
304
|
+
console.log();
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return 0;
|
|
309
|
+
}
|
|
310
|
+
catch (error) {
|
|
311
|
+
console.error('Failed to list history:', error instanceof Error ? error.message : String(error));
|
|
312
|
+
return 5;
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
/**
|
|
316
|
+
* Handle the show subcommand
|
|
317
|
+
*/
|
|
318
|
+
const handleShowCommand = async (context, options) => {
|
|
319
|
+
try {
|
|
320
|
+
// For show command, ID comes from the args after the subcommand
|
|
321
|
+
const runId = options.args?.[0];
|
|
322
|
+
if (!runId) {
|
|
323
|
+
console.error('Run ID is required for show command');
|
|
324
|
+
console.error('Usage: modestbench history show <run-id>');
|
|
325
|
+
return 2;
|
|
326
|
+
}
|
|
327
|
+
const run = await context.historyStorage.loadRun(runId);
|
|
328
|
+
if (!run) {
|
|
329
|
+
console.error(`Run not found: ${runId}`);
|
|
330
|
+
return 1;
|
|
331
|
+
}
|
|
332
|
+
if (options.format === 'json') {
|
|
333
|
+
console.log(JSON.stringify(run, null, 2));
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
// Human format
|
|
337
|
+
console.log(`Benchmark Run: ${run.id}`);
|
|
338
|
+
console.log(`Date: ${run.startTime.toLocaleString()}`);
|
|
339
|
+
console.log(`Duration: ${(run.duration / 1000).toFixed(1)}s`);
|
|
340
|
+
console.log(`Environment: Node.js ${run.environment.nodeVersion} on ${run.environment.platform}`);
|
|
341
|
+
if (run.git) {
|
|
342
|
+
console.log(`Git: ${run.git.branch}@${run.git.commit.substring(0, 8)}`);
|
|
343
|
+
}
|
|
344
|
+
console.log();
|
|
345
|
+
console.log('Summary:');
|
|
346
|
+
console.log(` Files: ${run.summary.totalFiles}`);
|
|
347
|
+
console.log(` Suites: ${run.summary.totalSuites}`);
|
|
348
|
+
console.log(` Tasks: ${run.summary.totalTasks}`);
|
|
349
|
+
console.log(` Passed: ${run.summary.passedTasks}`);
|
|
350
|
+
console.log(` Failed: ${run.summary.failedTasks}`);
|
|
351
|
+
// TODO: Show detailed file/suite/task results
|
|
352
|
+
console.log();
|
|
353
|
+
console.log('Detailed results:');
|
|
354
|
+
for (const file of run.files) {
|
|
355
|
+
console.log(` 📁 ${file.filePath}`);
|
|
356
|
+
for (const suite of file.suites) {
|
|
357
|
+
console.log(` 📊 ${suite.name}`);
|
|
358
|
+
for (const task of suite.tasks) {
|
|
359
|
+
const status = task.error ? '❌' : '✅';
|
|
360
|
+
const timing = task.error
|
|
361
|
+
? 'failed'
|
|
362
|
+
: `${(task.mean / 1000000).toFixed(2)}ms`;
|
|
363
|
+
console.log(` ${status} ${task.name} - ${timing}`);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
return 0;
|
|
369
|
+
}
|
|
370
|
+
catch (error) {
|
|
371
|
+
console.error('Failed to show run:', error instanceof Error ? error.message : String(error));
|
|
372
|
+
return 5;
|
|
373
|
+
}
|
|
374
|
+
};
|
|
375
|
+
/**
|
|
376
|
+
* Handle the trends subcommand
|
|
377
|
+
*/
|
|
378
|
+
const handleTrendsCommand = async (context, options) => {
|
|
379
|
+
try {
|
|
380
|
+
// Build query from command line arguments (same as list command)
|
|
381
|
+
let parsedSince;
|
|
382
|
+
let parsedUntil;
|
|
383
|
+
if (options.since) {
|
|
384
|
+
try {
|
|
385
|
+
parsedSince = parseDate(options.since);
|
|
386
|
+
}
|
|
387
|
+
catch (error) {
|
|
388
|
+
console.error('Invalid since date:', error instanceof Error ? error.message : String(error));
|
|
389
|
+
return 2; // Invalid date format
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
if (options.until) {
|
|
393
|
+
try {
|
|
394
|
+
parsedUntil = parseDate(options.until);
|
|
395
|
+
}
|
|
396
|
+
catch (error) {
|
|
397
|
+
console.error('Invalid until date:', error instanceof Error ? error.message : String(error));
|
|
398
|
+
return 2; // Invalid date format
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
// Get pattern from args or explicit pattern option
|
|
402
|
+
const pattern = options.args?.[0] || options.pattern;
|
|
403
|
+
const query = {
|
|
404
|
+
...(parsedSince && { since: parsedSince }),
|
|
405
|
+
...(parsedUntil && { until: parsedUntil }),
|
|
406
|
+
...(pattern && { pattern }),
|
|
407
|
+
...(options.tags && options.tags.length > 0 && { tags: options.tags }),
|
|
408
|
+
...(options.limit && { limit: options.limit }),
|
|
409
|
+
};
|
|
410
|
+
// Query historical runs
|
|
411
|
+
const runs = await context.historyStorage.queryRuns(query);
|
|
412
|
+
if (runs.length === 0) {
|
|
413
|
+
if (!options.quiet) {
|
|
414
|
+
console.log('No historical data found matching criteria');
|
|
415
|
+
}
|
|
416
|
+
return 0; // Success - no data is not an error
|
|
417
|
+
}
|
|
418
|
+
if (options.format === 'json') {
|
|
419
|
+
// TODO: Generate trends data in JSON format
|
|
420
|
+
const trendsData = {
|
|
421
|
+
runs: runs.length,
|
|
422
|
+
timespan: {
|
|
423
|
+
end: runs[0]?.startTime,
|
|
424
|
+
start: runs[runs.length - 1]?.startTime,
|
|
425
|
+
},
|
|
426
|
+
// TODO: Add actual trend calculations
|
|
427
|
+
};
|
|
428
|
+
console.log(JSON.stringify(trendsData, null, 2));
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
// Human format trends
|
|
432
|
+
if (!options.quiet) {
|
|
433
|
+
console.log(`Performance trends for ${runs.length} runs:`);
|
|
434
|
+
console.log(`Time range: ${runs[runs.length - 1]?.startTime} to ${runs[0]?.startTime}`);
|
|
435
|
+
// TODO: Add trend analysis and visualization
|
|
436
|
+
console.log('(Trend analysis not yet implemented)');
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
return 0; // Success
|
|
440
|
+
}
|
|
441
|
+
catch (error) {
|
|
442
|
+
console.error('Error showing trends:', error);
|
|
443
|
+
return 3; // Runtime error
|
|
444
|
+
}
|
|
445
|
+
};
|
|
446
|
+
/**
|
|
447
|
+
* Parse date string (ISO 8601 or relative)
|
|
448
|
+
*/
|
|
449
|
+
const parseDate = (dateStr) => {
|
|
450
|
+
// Try parsing as ISO 8601 first
|
|
451
|
+
const isoDate = new Date(dateStr);
|
|
452
|
+
if (!isNaN(isoDate.getTime())) {
|
|
453
|
+
return isoDate;
|
|
454
|
+
}
|
|
455
|
+
// TODO: Parse relative dates like "1 week ago", "3 days ago", etc.
|
|
456
|
+
// For now, throw error for invalid dates
|
|
457
|
+
throw new Error(`Invalid date format: "${dateStr}"`);
|
|
458
|
+
};
|
|
459
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/cli/commands/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModestBench History Command
|
|
3
|
+
*
|
|
4
|
+
* View and manage benchmark run history with subcommands for listing, showing,
|
|
5
|
+
* comparing, and cleaning historical data.
|
|
6
|
+
*/
|
|
7
|
+
import type { CliContext } from "../index.cjs";
|
|
8
|
+
/**
|
|
9
|
+
* History command options interface
|
|
10
|
+
*/
|
|
11
|
+
interface HistoryOptions {
|
|
12
|
+
args?: string[] | undefined;
|
|
13
|
+
confirm?: boolean | undefined;
|
|
14
|
+
cwd: string;
|
|
15
|
+
format?: 'csv' | 'human' | 'json' | undefined;
|
|
16
|
+
limit?: number | undefined;
|
|
17
|
+
maxAge?: number | undefined;
|
|
18
|
+
maxRuns?: number | undefined;
|
|
19
|
+
maxSize?: number | undefined;
|
|
20
|
+
outputDir?: string | undefined;
|
|
21
|
+
pattern?: string | undefined;
|
|
22
|
+
quiet?: boolean | undefined;
|
|
23
|
+
since?: string | undefined;
|
|
24
|
+
subcommand: 'clean' | 'compare' | 'export' | 'list' | 'show' | 'trends';
|
|
25
|
+
tags?: string[] | undefined;
|
|
26
|
+
until?: string | undefined;
|
|
27
|
+
verbose?: boolean | undefined;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Handle history command
|
|
31
|
+
*/
|
|
32
|
+
export declare const handleHistoryCommand: (context: CliContext, options: HistoryOptions) => Promise<number>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/history.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAoB;AAE9C;;GAEG;AACH,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,UAAU,EACnB,SAAS,cAAc,KACtB,OAAO,CAAC,MAAM,CAgChB,CAAC"}
|