modestbench 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +131 -34
- package/dist/cli/commands/analyze.cjs +60 -0
- package/dist/cli/commands/analyze.cjs.map +1 -0
- package/dist/cli/commands/analyze.d.cts +35 -0
- package/dist/cli/commands/analyze.d.cts.map +1 -0
- package/dist/cli/commands/analyze.d.ts +35 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -0
- package/dist/cli/commands/analyze.js +56 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/baseline.cjs +404 -0
- package/dist/cli/commands/baseline.cjs.map +1 -0
- package/dist/cli/commands/baseline.d.cts +72 -0
- package/dist/cli/commands/baseline.d.cts.map +1 -0
- package/dist/cli/commands/baseline.d.ts +72 -0
- package/dist/cli/commands/baseline.d.ts.map +1 -0
- package/dist/cli/commands/baseline.js +396 -0
- package/dist/cli/commands/baseline.js.map +1 -0
- package/dist/cli/commands/history.d.cts +1 -1
- package/dist/cli/commands/history.d.cts.map +1 -1
- package/dist/cli/commands/history.d.ts +1 -1
- package/dist/cli/commands/history.d.ts.map +1 -1
- package/dist/cli/commands/init.cjs +88 -155
- package/dist/cli/commands/init.cjs.map +1 -1
- package/dist/cli/commands/init.d.cts +4 -4
- package/dist/cli/commands/init.d.cts.map +1 -1
- package/dist/cli/commands/init.d.ts +4 -4
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +88 -155
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/run.cjs +132 -114
- package/dist/cli/commands/run.cjs.map +1 -1
- package/dist/cli/commands/run.d.cts +16 -3
- package/dist/cli/commands/run.d.cts.map +1 -1
- package/dist/cli/commands/run.d.ts +16 -3
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +131 -80
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/index.cjs +583 -394
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +4 -16
- package/dist/cli/index.d.cts.map +1 -1
- package/dist/cli/index.d.ts +4 -16
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +575 -386
- package/dist/cli/index.js.map +1 -1
- package/dist/config/budget-schema.cjs +172 -0
- package/dist/config/budget-schema.cjs.map +1 -0
- package/dist/config/budget-schema.d.cts +59 -0
- package/dist/config/budget-schema.d.cts.map +1 -0
- package/dist/config/budget-schema.d.ts +59 -0
- package/dist/config/budget-schema.d.ts.map +1 -0
- package/dist/config/budget-schema.js +166 -0
- package/dist/config/budget-schema.js.map +1 -0
- package/dist/config/schema.cjs +182 -2
- package/dist/config/schema.cjs.map +1 -1
- package/dist/config/schema.d.cts +122 -3
- package/dist/config/schema.d.cts.map +1 -1
- package/dist/config/schema.d.ts +122 -3
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +180 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/constants.cjs +45 -2
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +41 -0
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.ts +41 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +44 -1
- package/dist/constants.js.map +1 -1
- package/dist/core/engine.cjs +103 -21
- package/dist/core/engine.cjs.map +1 -1
- package/dist/core/engine.d.cts +7 -7
- package/dist/core/engine.d.cts.map +1 -1
- package/dist/core/engine.d.ts +7 -7
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +104 -22
- package/dist/core/engine.js.map +1 -1
- package/dist/core/output-path-resolver.cjs +8 -1
- package/dist/core/output-path-resolver.cjs.map +1 -1
- package/dist/core/output-path-resolver.d.cts.map +1 -1
- package/dist/core/output-path-resolver.d.ts.map +1 -1
- package/dist/core/output-path-resolver.js +9 -2
- package/dist/core/output-path-resolver.js.map +1 -1
- package/dist/errors/base.cjs +12 -3
- package/dist/errors/base.cjs.map +1 -1
- package/dist/errors/base.d.cts +7 -0
- package/dist/errors/base.d.cts.map +1 -1
- package/dist/errors/base.d.ts +7 -0
- package/dist/errors/base.d.ts.map +1 -1
- package/dist/errors/base.js +10 -2
- package/dist/errors/base.js.map +1 -1
- package/dist/errors/budget.cjs +37 -0
- package/dist/errors/budget.cjs.map +1 -0
- package/dist/errors/budget.d.cts +31 -0
- package/dist/errors/budget.d.cts.map +1 -0
- package/dist/errors/budget.d.ts +31 -0
- package/dist/errors/budget.d.ts.map +1 -0
- package/dist/errors/budget.js +33 -0
- package/dist/errors/budget.js.map +1 -0
- package/dist/errors/index.cjs +4 -1
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.cts +1 -0
- package/dist/errors/index.d.cts.map +1 -1
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/index.cjs +13 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/reporters/csv.cjs +37 -17
- package/dist/reporters/csv.cjs.map +1 -1
- package/dist/reporters/csv.d.cts +3 -6
- package/dist/reporters/csv.d.cts.map +1 -1
- package/dist/reporters/csv.d.ts +3 -6
- package/dist/reporters/csv.d.ts.map +1 -1
- package/dist/reporters/csv.js +37 -17
- package/dist/reporters/csv.js.map +1 -1
- package/dist/reporters/human.cjs +66 -40
- package/dist/reporters/human.cjs.map +1 -1
- package/dist/reporters/human.d.cts +14 -13
- package/dist/reporters/human.d.cts.map +1 -1
- package/dist/reporters/human.d.ts +14 -13
- package/dist/reporters/human.d.ts.map +1 -1
- package/dist/reporters/human.js +66 -40
- package/dist/reporters/human.js.map +1 -1
- package/dist/reporters/json.cjs +23 -48
- package/dist/reporters/json.cjs.map +1 -1
- package/dist/reporters/json.d.cts +2 -28
- package/dist/reporters/json.d.cts.map +1 -1
- package/dist/reporters/json.d.ts +2 -28
- package/dist/reporters/json.d.ts.map +1 -1
- package/dist/reporters/json.js +25 -50
- package/dist/reporters/json.js.map +1 -1
- package/dist/reporters/profile-human.cjs +149 -0
- package/dist/reporters/profile-human.cjs.map +1 -0
- package/dist/reporters/profile-human.d.cts +44 -0
- package/dist/reporters/profile-human.d.cts.map +1 -0
- package/dist/reporters/profile-human.d.ts +44 -0
- package/dist/reporters/profile-human.d.ts.map +1 -0
- package/dist/reporters/profile-human.js +142 -0
- package/dist/reporters/profile-human.js.map +1 -0
- package/dist/reporters/simple.cjs +64 -44
- package/dist/reporters/simple.cjs.map +1 -1
- package/dist/reporters/simple.d.cts +14 -14
- package/dist/reporters/simple.d.cts.map +1 -1
- package/dist/reporters/simple.d.ts +14 -14
- package/dist/reporters/simple.d.ts.map +1 -1
- package/dist/reporters/simple.js +64 -44
- package/dist/reporters/simple.js.map +1 -1
- package/dist/schema/modestbench-config.schema.json +153 -0
- package/dist/services/baseline-storage.cjs +151 -0
- package/dist/services/baseline-storage.cjs.map +1 -0
- package/dist/services/baseline-storage.d.cts +55 -0
- package/dist/services/baseline-storage.d.cts.map +1 -0
- package/dist/services/baseline-storage.d.ts +55 -0
- package/dist/services/baseline-storage.d.ts.map +1 -0
- package/dist/services/baseline-storage.js +147 -0
- package/dist/services/baseline-storage.js.map +1 -0
- package/dist/services/budget-evaluator.cjs +146 -0
- package/dist/services/budget-evaluator.cjs.map +1 -0
- package/dist/services/budget-evaluator.d.cts +29 -0
- package/dist/services/budget-evaluator.d.cts.map +1 -0
- package/dist/services/budget-evaluator.d.ts +29 -0
- package/dist/services/budget-evaluator.d.ts.map +1 -0
- package/dist/services/budget-evaluator.js +142 -0
- package/dist/services/budget-evaluator.js.map +1 -0
- package/dist/services/config-manager.cjs +23 -9
- package/dist/services/config-manager.cjs.map +1 -1
- package/dist/services/config-manager.d.cts +6 -1
- package/dist/services/config-manager.d.cts.map +1 -1
- package/dist/services/config-manager.d.ts +6 -1
- package/dist/services/config-manager.d.ts.map +1 -1
- package/dist/services/config-manager.js +23 -9
- package/dist/services/config-manager.js.map +1 -1
- package/dist/services/file-loader.cjs +3 -6
- package/dist/services/file-loader.cjs.map +1 -1
- package/dist/services/file-loader.d.cts.map +1 -1
- package/dist/services/file-loader.d.ts.map +1 -1
- package/dist/services/file-loader.js +3 -6
- package/dist/services/file-loader.js.map +1 -1
- package/dist/services/profiler/profile-filter.cjs +113 -0
- package/dist/services/profiler/profile-filter.cjs.map +1 -0
- package/dist/services/profiler/profile-filter.d.cts +20 -0
- package/dist/services/profiler/profile-filter.d.cts.map +1 -0
- package/dist/services/profiler/profile-filter.d.ts +20 -0
- package/dist/services/profiler/profile-filter.d.ts.map +1 -0
- package/dist/services/profiler/profile-filter.js +109 -0
- package/dist/services/profiler/profile-filter.js.map +1 -0
- package/dist/services/profiler/profile-parser.cjs +139 -0
- package/dist/services/profiler/profile-parser.cjs.map +1 -0
- package/dist/services/profiler/profile-parser.d.cts +18 -0
- package/dist/services/profiler/profile-parser.d.cts.map +1 -0
- package/dist/services/profiler/profile-parser.d.ts +18 -0
- package/dist/services/profiler/profile-parser.d.ts.map +1 -0
- package/dist/services/profiler/profile-parser.js +132 -0
- package/dist/services/profiler/profile-parser.js.map +1 -0
- package/dist/services/profiler/profile-runner.cjs +90 -0
- package/dist/services/profiler/profile-runner.cjs.map +1 -0
- package/dist/services/profiler/profile-runner.d.cts +29 -0
- package/dist/services/profiler/profile-runner.d.cts.map +1 -0
- package/dist/services/profiler/profile-runner.d.ts +29 -0
- package/dist/services/profiler/profile-runner.d.ts.map +1 -0
- package/dist/services/profiler/profile-runner.js +86 -0
- package/dist/services/profiler/profile-runner.js.map +1 -0
- package/dist/services/reporter-registry.cjs +18 -24
- package/dist/services/reporter-registry.cjs.map +1 -1
- package/dist/services/reporter-registry.d.cts +18 -40
- package/dist/services/reporter-registry.d.cts.map +1 -1
- package/dist/services/reporter-registry.d.ts +18 -40
- package/dist/services/reporter-registry.d.ts.map +1 -1
- package/dist/services/reporter-registry.js +18 -24
- package/dist/services/reporter-registry.js.map +1 -1
- package/dist/types/budgets.cjs +8 -0
- package/dist/types/budgets.cjs.map +1 -0
- package/dist/types/budgets.d.cts +149 -0
- package/dist/types/budgets.d.cts.map +1 -0
- package/dist/types/budgets.d.ts +149 -0
- package/dist/types/budgets.d.ts.map +1 -0
- package/dist/types/budgets.js +7 -0
- package/dist/types/budgets.js.map +1 -0
- package/dist/types/cli.cjs +2 -11
- package/dist/types/cli.cjs.map +1 -1
- package/dist/types/cli.d.cts +3 -227
- package/dist/types/cli.d.cts.map +1 -1
- package/dist/types/cli.d.ts +3 -227
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/cli.js +2 -11
- package/dist/types/cli.js.map +1 -1
- package/dist/types/core.cjs +6 -1
- package/dist/types/core.cjs.map +1 -1
- package/dist/types/core.d.cts +13 -2
- package/dist/types/core.d.cts.map +1 -1
- package/dist/types/core.d.ts +13 -2
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +2 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/index.cjs +5 -0
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +2 -0
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/interfaces.d.cts +15 -8
- package/dist/types/interfaces.d.cts.map +1 -1
- package/dist/types/interfaces.d.ts +15 -8
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/profiler.cjs +11 -0
- package/dist/types/profiler.cjs.map +1 -0
- package/dist/types/profiler.d.cts +100 -0
- package/dist/types/profiler.d.cts.map +1 -0
- package/dist/types/profiler.d.ts +100 -0
- package/dist/types/profiler.d.ts.map +1 -0
- package/dist/types/profiler.js +10 -0
- package/dist/types/profiler.js.map +1 -0
- package/dist/types/utility.cjs.map +1 -1
- package/dist/types/utility.d.cts +0 -8
- package/dist/types/utility.d.cts.map +1 -1
- package/dist/types/utility.d.ts +0 -8
- package/dist/types/utility.d.ts.map +1 -1
- package/dist/types/utility.js.map +1 -1
- package/dist/utils/identifiers.cjs +32 -0
- package/dist/utils/identifiers.cjs.map +1 -0
- package/dist/utils/identifiers.d.cts +32 -0
- package/dist/utils/identifiers.d.cts.map +1 -0
- package/dist/utils/identifiers.d.ts +32 -0
- package/dist/utils/identifiers.d.ts.map +1 -0
- package/dist/utils/identifiers.js +27 -0
- package/dist/utils/identifiers.js.map +1 -0
- package/dist/utils/package.cjs +40 -0
- package/dist/utils/package.cjs.map +1 -0
- package/dist/utils/package.d.cts +15 -0
- package/dist/utils/package.d.cts.map +1 -0
- package/dist/utils/package.d.ts +15 -0
- package/dist/utils/package.d.ts.map +1 -0
- package/dist/utils/package.js +33 -0
- package/dist/utils/package.js.map +1 -0
- package/dist/utils/type-guards.cjs +48 -0
- package/dist/utils/type-guards.cjs.map +1 -0
- package/dist/utils/type-guards.d.cts +22 -0
- package/dist/utils/type-guards.d.cts.map +1 -0
- package/dist/utils/type-guards.d.ts +22 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +43 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/package.json +10 -10
- package/src/cli/commands/analyze.ts +101 -0
- package/src/cli/commands/baseline.ts +577 -0
- package/src/cli/commands/history.ts +1 -1
- package/src/cli/commands/init.ts +105 -183
- package/src/cli/commands/run.ts +167 -98
- package/src/cli/index.ts +425 -183
- package/src/config/budget-schema.ts +189 -0
- package/src/config/schema.ts +260 -1
- package/src/constants.ts +53 -1
- package/src/core/engine.ts +151 -20
- package/src/core/output-path-resolver.ts +10 -2
- package/src/errors/base.ts +11 -2
- package/src/errors/budget.ts +38 -0
- package/src/errors/index.ts +3 -0
- package/src/index.ts +9 -0
- package/src/reporters/csv.ts +54 -25
- package/src/reporters/human.ts +88 -47
- package/src/reporters/json.ts +26 -71
- package/src/reporters/profile-human.ts +204 -0
- package/src/reporters/simple.ts +84 -53
- package/src/services/baseline-storage.ts +199 -0
- package/src/services/budget-evaluator.ts +182 -0
- package/src/services/config-manager.ts +23 -8
- package/src/services/file-loader.ts +3 -6
- package/src/services/profiler/profile-filter.ts +143 -0
- package/src/services/profiler/profile-parser.ts +194 -0
- package/src/services/profiler/profile-runner.ts +121 -0
- package/src/services/reporter-registry.ts +46 -81
- package/src/types/budgets.ts +180 -0
- package/src/types/cli.ts +5 -238
- package/src/types/core.ts +50 -10
- package/src/types/index.ts +5 -0
- package/src/types/interfaces.ts +16 -6
- package/src/types/profiler.ts +132 -0
- package/src/types/utility.ts +0 -10
- package/src/utils/identifiers.ts +58 -0
- package/src/utils/package.ts +35 -0
- package/src/utils/type-guards.ts +51 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/services/config-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAEjB,gBAAgB,EAEjB,2BAA0B;AAoD3B;;;;;;GAMG;AACH,qBAAa,+BAAgC,YAAW,oBAAoB;IAC1E;;OAEG;WACW,kBAAkB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,iBAAiB;IA6BpB;;OAEG;IACH,WAAW,IAAI,iBAAiB;IAIhC
|
|
1
|
+
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/services/config-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAEjB,gBAAgB,EAEjB,2BAA0B;AAoD3B;;;;;;GAMG;AACH,qBAAa,+BAAgC,YAAW,oBAAoB;IAC1E;;OAEG;WACW,kBAAkB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,iBAAiB;IA6BpB;;OAEG;IACH,WAAW,IAAI,iBAAiB;IAIhC;;;;;;;OAOG;IACG,IAAI,CACR,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,eAAe,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC3C,OAAO,CAAC,iBAAiB,CAAC;IAkF7B;;OAEG;IACH,KAAK,CAAC,GAAG,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,GAAG,iBAAiB;IAqClE;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,gBAAgB;IAsDrD;;OAEG;IACH,OAAO,CAAC,cAAc;IAoCtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAyDzB"}
|
|
@@ -24,8 +24,13 @@ export declare class ModestBenchConfigurationManager implements ConfigurationMan
|
|
|
24
24
|
getDefaults(): ModestBenchConfig;
|
|
25
25
|
/**
|
|
26
26
|
* Load configuration from various sources with precedence
|
|
27
|
+
*
|
|
28
|
+
* @param configPath - Optional path to configuration file
|
|
29
|
+
* @param cliArgs - Optional CLI arguments to merge
|
|
30
|
+
* @param commandDefaults - Command-specific defaults (fallback to
|
|
31
|
+
* DEFAULT_CONFIG)
|
|
27
32
|
*/
|
|
28
|
-
load(configPath?: string, cliArgs?: Record<string, unknown>): Promise<ModestBenchConfig>;
|
|
33
|
+
load(configPath?: string, cliArgs?: Record<string, unknown>, commandDefaults?: Partial<ModestBenchConfig>): Promise<ModestBenchConfig>;
|
|
29
34
|
/**
|
|
30
35
|
* Merge multiple configuration objects with precedence
|
|
31
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/services/config-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAEjB,gBAAgB,EAEjB,0BAA0B;AAoD3B;;;;;;GAMG;AACH,qBAAa,+BAAgC,YAAW,oBAAoB;IAC1E;;OAEG;WACW,kBAAkB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,iBAAiB;IA6BpB;;OAEG;IACH,WAAW,IAAI,iBAAiB;IAIhC
|
|
1
|
+
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/services/config-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAEjB,gBAAgB,EAEjB,0BAA0B;AAoD3B;;;;;;GAMG;AACH,qBAAa,+BAAgC,YAAW,oBAAoB;IAC1E;;OAEG;WACW,kBAAkB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,iBAAiB;IA6BpB;;OAEG;IACH,WAAW,IAAI,iBAAiB;IAIhC;;;;;;;OAOG;IACG,IAAI,CACR,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,eAAe,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC3C,OAAO,CAAC,iBAAiB,CAAC;IAkF7B;;OAEG;IACH,KAAK,CAAC,GAAG,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,GAAG,iBAAiB;IAqClE;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,gBAAgB;IAsDrD;;OAEG;IACH,OAAO,CAAC,cAAc;IAoCtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAyDzB"}
|
|
@@ -48,7 +48,7 @@ const DEFAULT_CONFIG = {
|
|
|
48
48
|
limitBy: 'iterations', // Default to limiting by iteration count
|
|
49
49
|
metadata: {},
|
|
50
50
|
outputDir: './benchmark-results',
|
|
51
|
-
pattern: '
|
|
51
|
+
pattern: 'bench/**/*.bench.{js,ts,mjs,cjs,mts,cts}', // Search bench/ directory recursively
|
|
52
52
|
quiet: false,
|
|
53
53
|
reporterConfig: {},
|
|
54
54
|
reporters: [getDefaultReporter()],
|
|
@@ -104,8 +104,13 @@ export class ModestBenchConfigurationManager {
|
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
106
|
* Load configuration from various sources with precedence
|
|
107
|
+
*
|
|
108
|
+
* @param configPath - Optional path to configuration file
|
|
109
|
+
* @param cliArgs - Optional CLI arguments to merge
|
|
110
|
+
* @param commandDefaults - Command-specific defaults (fallback to
|
|
111
|
+
* DEFAULT_CONFIG)
|
|
107
112
|
*/
|
|
108
|
-
async load(configPath, cliArgs) {
|
|
113
|
+
async load(configPath, cliArgs, commandDefaults) {
|
|
109
114
|
try {
|
|
110
115
|
// Create a fresh explorer for each load to avoid module caching issues
|
|
111
116
|
const explorer = this.createExplorer();
|
|
@@ -139,17 +144,26 @@ export class ModestBenchConfigurationManager {
|
|
|
139
144
|
result = await explorer.search();
|
|
140
145
|
}
|
|
141
146
|
const fileConfig = (result?.config || {});
|
|
142
|
-
// 2. Merge: defaults <- file <- CLI args
|
|
147
|
+
// 2. Merge: command defaults <- file <- CLI args
|
|
148
|
+
// Use command-specific defaults if provided, otherwise use DEFAULT_CONFIG
|
|
149
|
+
const baseDefaults = commandDefaults
|
|
150
|
+
? this.merge(DEFAULT_CONFIG, commandDefaults)
|
|
151
|
+
: DEFAULT_CONFIG;
|
|
143
152
|
const normalizedCliArgs = cliArgs ? this.normalizeCliArgs(cliArgs) : {};
|
|
144
|
-
const merged = this.merge(
|
|
153
|
+
const merged = this.merge(baseDefaults, fileConfig, normalizedCliArgs);
|
|
145
154
|
// 2.5. Apply smart defaults for limitBy if not explicitly provided
|
|
146
155
|
const finalConfig = ModestBenchConfigurationManager.applySmartDefaults(merged, cliArgs || {}, fileConfig);
|
|
147
|
-
// 3. Validate final configuration
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
156
|
+
// 3. Validate final configuration and get transformed config
|
|
157
|
+
// The validation also transforms budgets from nested to flat format
|
|
158
|
+
const validation = safeParseConfig(finalConfig);
|
|
159
|
+
if (!validation.success) {
|
|
160
|
+
const errors = validation.error.issues.map((issue) => {
|
|
161
|
+
const path = issue.path.join('.');
|
|
162
|
+
return `${path ? `${path}: ` : ''}${issue.message}`;
|
|
163
|
+
});
|
|
164
|
+
throw new ConfigValidationError(`Configuration validation failed: ${errors.join(', ')}`);
|
|
151
165
|
}
|
|
152
|
-
return
|
|
166
|
+
return validation.data;
|
|
153
167
|
}
|
|
154
168
|
catch (error) {
|
|
155
169
|
// Re-throw our custom errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/services/config-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;;;;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,OAAO,EAAE,eAAe,EAAE,4BAA4B;AACtD,OAAO,EAAE,UAAU,EAAE,wBAAwB;AAC7C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,2BAA2B;AAE5E;;GAEG;AACH,MAAM,kBAAkB,GAAG,GAAW,EAAE;IACtC,uEAAuE;IACvE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,aAAa,GAAG,GAAY,EAAE;IAClC,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS;QACrC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG;QAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CACnC,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,cAAc,GAAsB;IACxC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;IACvC,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,GAAG,EAAE,gDAAgD;IACjE,OAAO,EAAE,YAAY,EAAE,yCAAyC;IAChE,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,qBAAqB;IAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/services/config-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,8 +68,7 @@ class BenchmarkFileLoader {
|
|
|
68
68
|
// Handle empty patterns - use sensible defaults
|
|
69
69
|
if (patterns.length === 0) {
|
|
70
70
|
patterns = [
|
|
71
|
-
|
|
72
|
-
`bench/*${constants_js_1.BENCHMARK_FILE_PATTERN}`, // top-level bench/ directory
|
|
71
|
+
`bench/**/*${constants_js_1.BENCHMARK_FILE_PATTERN}`, // bench/ directory (recursive)
|
|
73
72
|
];
|
|
74
73
|
}
|
|
75
74
|
// Expand directory paths to recursive glob patterns
|
|
@@ -139,10 +138,8 @@ class BenchmarkFileLoader {
|
|
|
139
138
|
module = (await loader(filePath, content));
|
|
140
139
|
}
|
|
141
140
|
else {
|
|
142
|
-
// Use native dynamic import for JavaScript files
|
|
143
|
-
|
|
144
|
-
const timestamp = Date.now();
|
|
145
|
-
module = (await Promise.resolve(`${__rewriteRelativeImportExtension(`${filePath}?t=${timestamp}`)}`).then(s => __importStar(require(s))));
|
|
141
|
+
// Use native dynamic import for JavaScript files
|
|
142
|
+
module = (await Promise.resolve(`${__rewriteRelativeImportExtension(filePath)}`).then(s => __importStar(require(s))));
|
|
146
143
|
}
|
|
147
144
|
const exports = module.default || module;
|
|
148
145
|
// Validate the loaded exports structure with Zod
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-loader.js","sourceRoot":"","sources":["../../src/services/file-loader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+BAA4B;AAC5B,+CAA0D;AAC1D,yCAAoC;AAWpC,mDAGyB;AACzB,sEAAkE;AAClE,kDAI4B;AAkB5B;;GAEG;AACH,MAAa,mBAAmB;IACb,mBAAmB,GAAG,wCAAyB,CAAC;IAEjE;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,UAAoB,EAAE;QAEtB,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE5D,gDAAgD;YAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,QAAQ,GAAG;oBACT,
|
|
1
|
+
{"version":3,"file":"file-loader.js","sourceRoot":"","sources":["../../src/services/file-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-loader.d.ts","sourceRoot":"","sources":["../../src/services/file-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EAEV,gBAAgB,EAEjB,2BAA0B;AAa3B;;GAEG;AACH,UAAU,UAAU;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CACjD;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAEjE;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"file-loader.d.ts","sourceRoot":"","sources":["../../src/services/file-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EAEV,gBAAgB,EAEjB,2BAA0B;AAa3B;;GAEG;AACH,UAAU,UAAU;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CACjD;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAEjE;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC;IA4DpB;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkFpD;;OAEG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmB5D;;;OAGG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoD3D;;OAEG;IACH,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,GACzC,WAAW;IAUd;;;OAGG;IACH,OAAO,CAAC,eAAe;CAwCxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-loader.d.ts","sourceRoot":"","sources":["../../src/services/file-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EAEV,gBAAgB,EAEjB,0BAA0B;AAa3B;;GAEG;AACH,UAAU,UAAU;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CACjD;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAEjE;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"file-loader.d.ts","sourceRoot":"","sources":["../../src/services/file-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EAEV,gBAAgB,EAEjB,0BAA0B;AAa3B;;GAEG;AACH,UAAU,UAAU;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CACjD;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAEjE;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC;IA4DpB;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkFpD;;OAEG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmB5D;;;OAGG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoD3D;;OAEG;IACH,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,GACzC,WAAW;IAUd;;;OAGG;IACH,OAAO,CAAC,eAAe;CAwCxB"}
|
|
@@ -32,8 +32,7 @@ export class BenchmarkFileLoader {
|
|
|
32
32
|
// Handle empty patterns - use sensible defaults
|
|
33
33
|
if (patterns.length === 0) {
|
|
34
34
|
patterns = [
|
|
35
|
-
|
|
36
|
-
`bench/*${BENCHMARK_FILE_PATTERN}`, // top-level bench/ directory
|
|
35
|
+
`bench/**/*${BENCHMARK_FILE_PATTERN}`, // bench/ directory (recursive)
|
|
37
36
|
];
|
|
38
37
|
}
|
|
39
38
|
// Expand directory paths to recursive glob patterns
|
|
@@ -103,10 +102,8 @@ export class BenchmarkFileLoader {
|
|
|
103
102
|
module = (await loader(filePath, content));
|
|
104
103
|
}
|
|
105
104
|
else {
|
|
106
|
-
// Use native dynamic import for JavaScript files
|
|
107
|
-
|
|
108
|
-
const timestamp = Date.now();
|
|
109
|
-
module = (await import(__rewriteRelativeImportExtension(`${filePath}?t=${timestamp}`)));
|
|
105
|
+
// Use native dynamic import for JavaScript files
|
|
106
|
+
module = (await import(__rewriteRelativeImportExtension(filePath)));
|
|
110
107
|
}
|
|
111
108
|
const exports = module.default || module;
|
|
112
109
|
// Validate the loaded exports structure with Zod
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-loader.js","sourceRoot":"","sources":["../../src/services/file-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,wBAAwB;AACzB,OAAO,EAAE,mBAAmB,EAAE,oCAAoC;AAClE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,wBAAwB,GACzB,2BAA2B;AAkB5B;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACb,mBAAmB,GAAG,yBAAyB,CAAC;IAEjE;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,UAAoB,EAAE;QAEtB,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE5D,gDAAgD;YAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,QAAQ,GAAG;oBACT,
|
|
1
|
+
{"version":3,"file":"file-loader.js","sourceRoot":"","sources":["../../src/services/file-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Profile Filter Service
|
|
4
|
+
*
|
|
5
|
+
* Filters and sorts profiled functions based on configuration. Implements smart
|
|
6
|
+
* detection to focus on user code by excluding node_modules and Node.js
|
|
7
|
+
* internals.
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.filterProfile = void 0;
|
|
13
|
+
const minimatch_1 = require("minimatch");
|
|
14
|
+
/**
|
|
15
|
+
* Filter profile data based on configuration
|
|
16
|
+
*
|
|
17
|
+
* @param data - Raw profile data
|
|
18
|
+
* @param config - Filter configuration
|
|
19
|
+
* @param packageRoot - Package root directory for smart detection
|
|
20
|
+
* @returns Filtered profile data
|
|
21
|
+
*/
|
|
22
|
+
const filterProfile = (data, config, packageRoot) => {
|
|
23
|
+
let filtered = data.functions.filter((fn) => {
|
|
24
|
+
// Only JavaScript functions
|
|
25
|
+
if (fn.category !== 'JavaScript') {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
// Apply smart detection if enabled
|
|
29
|
+
if (config.smartDetection && !config.focus?.length) {
|
|
30
|
+
if (!isUserCode(fn.file, packageRoot)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Apply focus patterns (if provided, overrides smart detection)
|
|
35
|
+
if (config.focus?.length) {
|
|
36
|
+
if (!matchesAnyPattern(fn.file, config.focus)) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Apply exclude patterns (always applied if provided)
|
|
41
|
+
if (config.exclude?.length) {
|
|
42
|
+
if (matchesAnyPattern(fn.file, config.exclude)) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
});
|
|
48
|
+
// Apply percentage threshold
|
|
49
|
+
const minPercent = config.minExecutionPercent ?? 0.5;
|
|
50
|
+
filtered = filtered.filter((fn) => fn.percentage >= minPercent);
|
|
51
|
+
// Sort by percentage (highest first)
|
|
52
|
+
filtered.sort((a, b) => b.percentage - a.percentage);
|
|
53
|
+
// Limit to topN
|
|
54
|
+
const topN = config.topN ?? 25;
|
|
55
|
+
filtered = filtered.slice(0, topN);
|
|
56
|
+
// Group by file if requested
|
|
57
|
+
let groupedByFile;
|
|
58
|
+
if (config.groupByFile) {
|
|
59
|
+
groupedByFile = groupByFile(filtered);
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
functions: filtered,
|
|
63
|
+
groupedByFile,
|
|
64
|
+
summary: data.summary,
|
|
65
|
+
totalFiltered: data.functions.length,
|
|
66
|
+
totalShown: filtered.length,
|
|
67
|
+
totalTicks: data.totalTicks,
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
exports.filterProfile = filterProfile;
|
|
71
|
+
/**
|
|
72
|
+
* Check if a file path is user code (not node_modules or internals)
|
|
73
|
+
*/
|
|
74
|
+
const isUserCode = (filePath, packageRoot) => {
|
|
75
|
+
// Exclude node_modules
|
|
76
|
+
if (filePath.includes('/node_modules/') ||
|
|
77
|
+
filePath.includes('\\node_modules\\')) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
// Exclude Node.js internals
|
|
81
|
+
if (filePath.startsWith('node:') || filePath.startsWith('internal/')) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
// Allow <unknown> files (could be eval'd code or other user code without file paths)
|
|
85
|
+
if (filePath === '<unknown>' || filePath === '[eval]') {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
// Must be within package root
|
|
89
|
+
return filePath.startsWith(packageRoot);
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Check if a file path matches any of the given glob patterns
|
|
93
|
+
*/
|
|
94
|
+
const matchesAnyPattern = (filePath, patterns) => {
|
|
95
|
+
return patterns.some((pattern) => (0, minimatch_1.minimatch)(filePath, pattern));
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Group functions by file path
|
|
99
|
+
*/
|
|
100
|
+
const groupByFile = (functions) => {
|
|
101
|
+
const grouped = new Map();
|
|
102
|
+
for (const fn of functions) {
|
|
103
|
+
const existing = grouped.get(fn.file) || [];
|
|
104
|
+
existing.push(fn);
|
|
105
|
+
grouped.set(fn.file, existing);
|
|
106
|
+
}
|
|
107
|
+
// Sort functions within each file by percentage
|
|
108
|
+
for (const [, fns] of grouped.entries()) {
|
|
109
|
+
fns.sort((a, b) => b.percentage - a.percentage);
|
|
110
|
+
}
|
|
111
|
+
return grouped;
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=profile-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-filter.js","sourceRoot":"","sources":["../../../src/services/profiler/profile-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile Filter Service
|
|
3
|
+
*
|
|
4
|
+
* Filters and sorts profiled functions based on configuration. Implements smart
|
|
5
|
+
* detection to focus on user code by excluding node_modules and Node.js
|
|
6
|
+
* internals.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
import type { FilteredProfileData, ProfileConfig, RawProfileData } from "../../types/profiler.cjs";
|
|
11
|
+
/**
|
|
12
|
+
* Filter profile data based on configuration
|
|
13
|
+
*
|
|
14
|
+
* @param data - Raw profile data
|
|
15
|
+
* @param config - Filter configuration
|
|
16
|
+
* @param packageRoot - Package root directory for smart detection
|
|
17
|
+
* @returns Filtered profile data
|
|
18
|
+
*/
|
|
19
|
+
export declare const filterProfile: (data: RawProfileData, config: ProfileConfig, packageRoot: string) => FilteredProfileData;
|
|
20
|
+
//# sourceMappingURL=profile-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-filter.d.ts","sourceRoot":"","sources":["../../../src/services/profiler/profile-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EAEb,cAAc,EACf,iCAAgC;AAEjC;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,cAAc,EACpB,QAAQ,aAAa,EACrB,aAAa,MAAM,KAClB,mBAwDF,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile Filter Service
|
|
3
|
+
*
|
|
4
|
+
* Filters and sorts profiled functions based on configuration. Implements smart
|
|
5
|
+
* detection to focus on user code by excluding node_modules and Node.js
|
|
6
|
+
* internals.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
import type { FilteredProfileData, ProfileConfig, RawProfileData } from "../../types/profiler.js";
|
|
11
|
+
/**
|
|
12
|
+
* Filter profile data based on configuration
|
|
13
|
+
*
|
|
14
|
+
* @param data - Raw profile data
|
|
15
|
+
* @param config - Filter configuration
|
|
16
|
+
* @param packageRoot - Package root directory for smart detection
|
|
17
|
+
* @returns Filtered profile data
|
|
18
|
+
*/
|
|
19
|
+
export declare const filterProfile: (data: RawProfileData, config: ProfileConfig, packageRoot: string) => FilteredProfileData;
|
|
20
|
+
//# sourceMappingURL=profile-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-filter.d.ts","sourceRoot":"","sources":["../../../src/services/profiler/profile-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EAEb,cAAc,EACf,gCAAgC;AAEjC;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,cAAc,EACpB,QAAQ,aAAa,EACrB,aAAa,MAAM,KAClB,mBAwDF,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile Filter Service
|
|
3
|
+
*
|
|
4
|
+
* Filters and sorts profiled functions based on configuration. Implements smart
|
|
5
|
+
* detection to focus on user code by excluding node_modules and Node.js
|
|
6
|
+
* internals.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
import { minimatch } from 'minimatch';
|
|
11
|
+
/**
|
|
12
|
+
* Filter profile data based on configuration
|
|
13
|
+
*
|
|
14
|
+
* @param data - Raw profile data
|
|
15
|
+
* @param config - Filter configuration
|
|
16
|
+
* @param packageRoot - Package root directory for smart detection
|
|
17
|
+
* @returns Filtered profile data
|
|
18
|
+
*/
|
|
19
|
+
export const filterProfile = (data, config, packageRoot) => {
|
|
20
|
+
let filtered = data.functions.filter((fn) => {
|
|
21
|
+
// Only JavaScript functions
|
|
22
|
+
if (fn.category !== 'JavaScript') {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
// Apply smart detection if enabled
|
|
26
|
+
if (config.smartDetection && !config.focus?.length) {
|
|
27
|
+
if (!isUserCode(fn.file, packageRoot)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// Apply focus patterns (if provided, overrides smart detection)
|
|
32
|
+
if (config.focus?.length) {
|
|
33
|
+
if (!matchesAnyPattern(fn.file, config.focus)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Apply exclude patterns (always applied if provided)
|
|
38
|
+
if (config.exclude?.length) {
|
|
39
|
+
if (matchesAnyPattern(fn.file, config.exclude)) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
});
|
|
45
|
+
// Apply percentage threshold
|
|
46
|
+
const minPercent = config.minExecutionPercent ?? 0.5;
|
|
47
|
+
filtered = filtered.filter((fn) => fn.percentage >= minPercent);
|
|
48
|
+
// Sort by percentage (highest first)
|
|
49
|
+
filtered.sort((a, b) => b.percentage - a.percentage);
|
|
50
|
+
// Limit to topN
|
|
51
|
+
const topN = config.topN ?? 25;
|
|
52
|
+
filtered = filtered.slice(0, topN);
|
|
53
|
+
// Group by file if requested
|
|
54
|
+
let groupedByFile;
|
|
55
|
+
if (config.groupByFile) {
|
|
56
|
+
groupedByFile = groupByFile(filtered);
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
functions: filtered,
|
|
60
|
+
groupedByFile,
|
|
61
|
+
summary: data.summary,
|
|
62
|
+
totalFiltered: data.functions.length,
|
|
63
|
+
totalShown: filtered.length,
|
|
64
|
+
totalTicks: data.totalTicks,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Check if a file path is user code (not node_modules or internals)
|
|
69
|
+
*/
|
|
70
|
+
const isUserCode = (filePath, packageRoot) => {
|
|
71
|
+
// Exclude node_modules
|
|
72
|
+
if (filePath.includes('/node_modules/') ||
|
|
73
|
+
filePath.includes('\\node_modules\\')) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
// Exclude Node.js internals
|
|
77
|
+
if (filePath.startsWith('node:') || filePath.startsWith('internal/')) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
// Allow <unknown> files (could be eval'd code or other user code without file paths)
|
|
81
|
+
if (filePath === '<unknown>' || filePath === '[eval]') {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
// Must be within package root
|
|
85
|
+
return filePath.startsWith(packageRoot);
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Check if a file path matches any of the given glob patterns
|
|
89
|
+
*/
|
|
90
|
+
const matchesAnyPattern = (filePath, patterns) => {
|
|
91
|
+
return patterns.some((pattern) => minimatch(filePath, pattern));
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Group functions by file path
|
|
95
|
+
*/
|
|
96
|
+
const groupByFile = (functions) => {
|
|
97
|
+
const grouped = new Map();
|
|
98
|
+
for (const fn of functions) {
|
|
99
|
+
const existing = grouped.get(fn.file) || [];
|
|
100
|
+
existing.push(fn);
|
|
101
|
+
grouped.set(fn.file, existing);
|
|
102
|
+
}
|
|
103
|
+
// Sort functions within each file by percentage
|
|
104
|
+
for (const [, fns] of grouped.entries()) {
|
|
105
|
+
fns.sort((a, b) => b.percentage - a.percentage);
|
|
106
|
+
}
|
|
107
|
+
return grouped;
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=profile-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-filter.js","sourceRoot":"","sources":["../../../src/services/profiler/profile-filter.ts"],"names":[],"mappings":"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"}
|