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
|
@@ -212,7 +212,7 @@ export default {
|
|
|
212
212
|
/**
|
|
213
213
|
* Prompt user for confirmation with Y/n default to Yes
|
|
214
214
|
*/
|
|
215
|
-
const
|
|
215
|
+
const _promptUser = async (question) => {
|
|
216
216
|
const rl = createInterface({
|
|
217
217
|
input: process.stdin,
|
|
218
218
|
output: process.stdout,
|
|
@@ -231,7 +231,12 @@ const promptUser = async (question) => {
|
|
|
231
231
|
*/
|
|
232
232
|
export const handleInitCommand = async (context, options) => {
|
|
233
233
|
try {
|
|
234
|
-
|
|
234
|
+
// Apply defaults for required options
|
|
235
|
+
const type = options.type ?? 'basic';
|
|
236
|
+
const cwd = options.cwd ?? process.cwd();
|
|
237
|
+
const configType = options.configType ?? 'json';
|
|
238
|
+
const examples = options.examples ?? false;
|
|
239
|
+
const template = PROJECT_TEMPLATES[type];
|
|
235
240
|
if (!options.quiet) {
|
|
236
241
|
console.log(`Initializing ${template.name}...`);
|
|
237
242
|
console.log(template.description);
|
|
@@ -239,27 +244,30 @@ export const handleInitCommand = async (context, options) => {
|
|
|
239
244
|
}
|
|
240
245
|
// Check if project already exists
|
|
241
246
|
if (!options.force) {
|
|
242
|
-
const hasConflicts = await checkForConflicts(
|
|
247
|
+
const hasConflicts = await checkForConflicts(cwd, configType);
|
|
243
248
|
if (hasConflicts) {
|
|
244
249
|
console.error('Project files already exist. Use --force to overwrite.');
|
|
245
250
|
return 1; // Already initialized
|
|
246
251
|
}
|
|
247
252
|
}
|
|
248
253
|
// Create directory structure
|
|
249
|
-
await createDirectories(template.directories,
|
|
254
|
+
await createDirectories(template.directories, cwd);
|
|
250
255
|
// Create configuration file
|
|
251
|
-
await createConfigFile(template.configOptions,
|
|
256
|
+
await createConfigFile(template.configOptions, cwd, configType);
|
|
252
257
|
// Create example benchmarks if requested
|
|
253
|
-
if (
|
|
254
|
-
await createExampleBenchmarks(
|
|
258
|
+
if (examples) {
|
|
259
|
+
await createExampleBenchmarks(cwd);
|
|
255
260
|
}
|
|
256
261
|
// Create additional files
|
|
257
|
-
await createAdditionalFiles(
|
|
262
|
+
await createAdditionalFiles(cwd, {
|
|
263
|
+
quiet: options.quiet,
|
|
264
|
+
yes: options.yes,
|
|
265
|
+
});
|
|
258
266
|
if (!options.quiet) {
|
|
259
267
|
console.log('✅ Project initialized successfully!');
|
|
260
268
|
console.log();
|
|
261
269
|
console.log('Next steps:');
|
|
262
|
-
if (
|
|
270
|
+
if (examples) {
|
|
263
271
|
console.log(' 1. Run example benchmarks: modestbench run');
|
|
264
272
|
}
|
|
265
273
|
else {
|
|
@@ -284,14 +292,11 @@ export const handleInitCommand = async (context, options) => {
|
|
|
284
292
|
/**
|
|
285
293
|
* Check for existing files that would conflict
|
|
286
294
|
*/
|
|
287
|
-
const checkForConflicts = async (
|
|
288
|
-
const filesToCheck = [
|
|
289
|
-
'modestbench.config.' + options.configType,
|
|
290
|
-
'benchmarks',
|
|
291
|
-
];
|
|
295
|
+
const checkForConflicts = async (cwd, configType) => {
|
|
296
|
+
const filesToCheck = ['modestbench.config.' + configType, 'benchmarks'];
|
|
292
297
|
for (const file of filesToCheck) {
|
|
293
298
|
try {
|
|
294
|
-
await access(resolve(
|
|
299
|
+
await access(resolve(cwd, file));
|
|
295
300
|
return true; // File exists, conflict detected
|
|
296
301
|
}
|
|
297
302
|
catch {
|
|
@@ -300,118 +305,10 @@ const checkForConflicts = async (options) => {
|
|
|
300
305
|
}
|
|
301
306
|
return false;
|
|
302
307
|
};
|
|
303
|
-
/**
|
|
304
|
-
* Handle .gitignore file creation or modification
|
|
305
|
-
*/
|
|
306
|
-
const handleGitignore = async (options) => {
|
|
307
|
-
const gitignorePath = resolve(options.cwd, '.gitignore');
|
|
308
|
-
const modestbenchEntry = '.modestbench/';
|
|
309
|
-
// Default .gitignore content for new files
|
|
310
|
-
const defaultGitignoreContent = `# ModestBench
|
|
311
|
-
benchmark-results/
|
|
312
|
-
.modestbench/
|
|
313
|
-
|
|
314
|
-
# Dependencies
|
|
315
|
-
node_modules/
|
|
316
|
-
|
|
317
|
-
# Environment
|
|
318
|
-
.env
|
|
319
|
-
.env.local
|
|
320
|
-
|
|
321
|
-
# Logs
|
|
322
|
-
*.log
|
|
323
|
-
npm-debug.log*
|
|
324
|
-
yarn-debug.log*
|
|
325
|
-
yarn-error.log*
|
|
326
|
-
|
|
327
|
-
# OS
|
|
328
|
-
.DS_Store
|
|
329
|
-
Thumbs.db
|
|
330
|
-
`;
|
|
331
|
-
try {
|
|
332
|
-
// Check if .gitignore exists
|
|
333
|
-
let gitignoreExists = false;
|
|
334
|
-
try {
|
|
335
|
-
await access(gitignorePath);
|
|
336
|
-
gitignoreExists = true;
|
|
337
|
-
}
|
|
338
|
-
catch {
|
|
339
|
-
// File doesn't exist
|
|
340
|
-
}
|
|
341
|
-
if (!gitignoreExists) {
|
|
342
|
-
// Create new .gitignore with full content
|
|
343
|
-
await writeFile(gitignorePath, defaultGitignoreContent, 'utf8');
|
|
344
|
-
if (options.verbose) {
|
|
345
|
-
console.log(' ✓ .gitignore');
|
|
346
|
-
}
|
|
347
|
-
return;
|
|
348
|
-
}
|
|
349
|
-
// File exists, check if .modestbench/ is already present
|
|
350
|
-
const existingContent = await readFile(gitignorePath, 'utf8');
|
|
351
|
-
// Check if .modestbench/ is already in the file
|
|
352
|
-
const hasModestbenchEntry = existingContent
|
|
353
|
-
.split('\n')
|
|
354
|
-
.some((line) => line.trim() === modestbenchEntry);
|
|
355
|
-
if (hasModestbenchEntry) {
|
|
356
|
-
// Already has the entry, nothing to do
|
|
357
|
-
if (options.verbose) {
|
|
358
|
-
console.log(' ✓ .gitignore (already contains .modestbench/)');
|
|
359
|
-
}
|
|
360
|
-
return;
|
|
361
|
-
}
|
|
362
|
-
// Determine if we should prompt or auto-add
|
|
363
|
-
let shouldAdd = false;
|
|
364
|
-
if (options.yes || options.quiet) {
|
|
365
|
-
// Auto-accept in non-interactive mode
|
|
366
|
-
shouldAdd = true;
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
// Prompt the user
|
|
370
|
-
console.log();
|
|
371
|
-
console.log('The .modestbench/ directory stores benchmark history and should typically');
|
|
372
|
-
console.log('not be committed to version control.');
|
|
373
|
-
console.log();
|
|
374
|
-
shouldAdd = await promptUser('Would you like to add .modestbench/ to .gitignore? (Y/n) ');
|
|
375
|
-
}
|
|
376
|
-
if (shouldAdd) {
|
|
377
|
-
// Append .modestbench/ to existing .gitignore
|
|
378
|
-
let contentToAppend = '';
|
|
379
|
-
// Ensure file ends with newline
|
|
380
|
-
if (!existingContent.endsWith('\n')) {
|
|
381
|
-
contentToAppend += '\n';
|
|
382
|
-
}
|
|
383
|
-
// Add a blank line if the file doesn't end with one
|
|
384
|
-
if (!existingContent.endsWith('\n\n') && existingContent.trim() !== '') {
|
|
385
|
-
contentToAppend += '\n';
|
|
386
|
-
}
|
|
387
|
-
// Add comment and entry
|
|
388
|
-
contentToAppend += '# ModestBench history\n';
|
|
389
|
-
contentToAppend += modestbenchEntry + '\n';
|
|
390
|
-
await appendFile(gitignorePath, contentToAppend, 'utf8');
|
|
391
|
-
if (options.verbose || !options.quiet) {
|
|
392
|
-
console.log(' ✓ Added .modestbench/ to .gitignore');
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
else {
|
|
396
|
-
if (options.verbose) {
|
|
397
|
-
console.log(' ⊘ Skipped adding .modestbench/ to .gitignore');
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
catch (error) {
|
|
402
|
-
// Non-critical, just warn
|
|
403
|
-
console.warn('Warning: Could not create/modify .gitignore file:', error instanceof Error ? error.message : String(error));
|
|
404
|
-
}
|
|
405
|
-
};
|
|
406
308
|
/**
|
|
407
309
|
* Create additional project files
|
|
408
310
|
*/
|
|
409
|
-
const createAdditionalFiles = async (options) => {
|
|
410
|
-
if (!options.quiet) {
|
|
411
|
-
console.log('Creating additional files...');
|
|
412
|
-
}
|
|
413
|
-
// Handle .gitignore
|
|
414
|
-
await handleGitignore(options);
|
|
311
|
+
const createAdditionalFiles = async (cwd, options) => {
|
|
415
312
|
// Create README.md
|
|
416
313
|
const readmeContent = `# Benchmark Project
|
|
417
314
|
|
|
@@ -443,28 +340,79 @@ See \`modestbench.config.*\` for benchmark configuration options.
|
|
|
443
340
|
Create new benchmark files in the \`benchmarks/\` directory. See the examples for the expected format.
|
|
444
341
|
`;
|
|
445
342
|
try {
|
|
446
|
-
const readmePath = resolve(
|
|
343
|
+
const readmePath = resolve(cwd, 'README.md');
|
|
447
344
|
await writeFile(readmePath, readmeContent, 'utf8');
|
|
448
|
-
if (options.verbose) {
|
|
449
|
-
console.log(' ✓ README.md');
|
|
450
|
-
}
|
|
451
345
|
}
|
|
452
346
|
catch {
|
|
453
347
|
// Non-critical, just warn
|
|
454
348
|
console.warn('Warning: Could not create README.md file');
|
|
455
349
|
}
|
|
350
|
+
// Create or update .gitignore
|
|
351
|
+
await createOrUpdateGitignore(cwd, options);
|
|
456
352
|
};
|
|
457
353
|
/**
|
|
458
|
-
* Create
|
|
354
|
+
* Create or update .gitignore file to include ModestBench directories
|
|
459
355
|
*/
|
|
460
|
-
const
|
|
461
|
-
const
|
|
462
|
-
const
|
|
463
|
-
|
|
464
|
-
|
|
356
|
+
const createOrUpdateGitignore = async (cwd, options) => {
|
|
357
|
+
const gitignorePath = resolve(cwd, '.gitignore');
|
|
358
|
+
const modestbenchEntry = '.modestbench/';
|
|
359
|
+
const modestbenchSection = `\n# ModestBench history\n${modestbenchEntry}\n`;
|
|
360
|
+
try {
|
|
361
|
+
// Check if .gitignore exists
|
|
362
|
+
let existingContent = '';
|
|
363
|
+
try {
|
|
364
|
+
existingContent = await readFile(gitignorePath, 'utf8');
|
|
365
|
+
}
|
|
366
|
+
catch {
|
|
367
|
+
// File doesn't exist, will create new one
|
|
368
|
+
}
|
|
369
|
+
if (existingContent) {
|
|
370
|
+
// File exists, check if .modestbench/ is already present
|
|
371
|
+
if (existingContent.includes(modestbenchEntry)) {
|
|
372
|
+
// Already present, nothing to do
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
// Append .modestbench/ entry (--yes or --quiet means auto-accept)
|
|
376
|
+
if (options?.yes || options?.quiet) {
|
|
377
|
+
// Ensure content ends with newline
|
|
378
|
+
const contentToAppend = existingContent.endsWith('\n')
|
|
379
|
+
? modestbenchSection
|
|
380
|
+
: `\n${modestbenchSection}`;
|
|
381
|
+
await appendFile(gitignorePath, contentToAppend, 'utf8');
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
// Create new .gitignore with common entries
|
|
386
|
+
const newContent = `# Dependencies
|
|
387
|
+
node_modules/
|
|
388
|
+
|
|
389
|
+
# Build output
|
|
390
|
+
dist/
|
|
391
|
+
build/
|
|
392
|
+
*.log
|
|
393
|
+
|
|
394
|
+
# Test coverage
|
|
395
|
+
coverage/
|
|
396
|
+
|
|
397
|
+
# Benchmark output
|
|
398
|
+
benchmark-results/
|
|
399
|
+
${modestbenchSection}`;
|
|
400
|
+
await writeFile(gitignorePath, newContent, 'utf8');
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
catch {
|
|
404
|
+
// Non-critical, just warn
|
|
405
|
+
console.warn('Warning: Could not create/update .gitignore file');
|
|
465
406
|
}
|
|
407
|
+
};
|
|
408
|
+
/**
|
|
409
|
+
* Create configuration file
|
|
410
|
+
*/
|
|
411
|
+
const createConfigFile = async (configOptions, cwd, configType) => {
|
|
412
|
+
const filename = `modestbench.config.${configType}`;
|
|
413
|
+
const filePath = resolve(cwd, filename);
|
|
466
414
|
let content;
|
|
467
|
-
switch (
|
|
415
|
+
switch (configType) {
|
|
468
416
|
case 'js':
|
|
469
417
|
content = `export default ${JSON.stringify(configOptions, null, 2)};\n`;
|
|
470
418
|
break;
|
|
@@ -484,13 +432,10 @@ export default config;
|
|
|
484
432
|
content = generateSimpleYaml(configOptions);
|
|
485
433
|
break;
|
|
486
434
|
default:
|
|
487
|
-
throw new UnsupportedConfigFormatError(`Unsupported config format: ${
|
|
435
|
+
throw new UnsupportedConfigFormatError(`Unsupported config format: ${configType}`);
|
|
488
436
|
}
|
|
489
437
|
try {
|
|
490
438
|
await writeFile(filePath, content, 'utf8');
|
|
491
|
-
if (options.verbose) {
|
|
492
|
-
console.log(` ✓ ${filename}`);
|
|
493
|
-
}
|
|
494
439
|
}
|
|
495
440
|
catch (error) {
|
|
496
441
|
throw new InvalidArgumentError(`Failed to create config file: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
@@ -499,17 +444,11 @@ export default config;
|
|
|
499
444
|
/**
|
|
500
445
|
* Create directory structure
|
|
501
446
|
*/
|
|
502
|
-
const createDirectories = async (directories,
|
|
503
|
-
if (!options.quiet) {
|
|
504
|
-
console.log('Creating directories...');
|
|
505
|
-
}
|
|
447
|
+
const createDirectories = async (directories, cwd) => {
|
|
506
448
|
for (const dir of directories) {
|
|
507
|
-
const dirPath = resolve(
|
|
449
|
+
const dirPath = resolve(cwd, dir);
|
|
508
450
|
try {
|
|
509
451
|
await mkdir(dirPath, { recursive: true });
|
|
510
|
-
if (options.verbose) {
|
|
511
|
-
console.log(` ✓ ${dir}/`);
|
|
512
|
-
}
|
|
513
452
|
}
|
|
514
453
|
catch (error) {
|
|
515
454
|
throw new InvalidArgumentError(`Failed to create directory ${dir}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
@@ -519,18 +458,12 @@ const createDirectories = async (directories, options) => {
|
|
|
519
458
|
/**
|
|
520
459
|
* Create example benchmark files
|
|
521
460
|
*/
|
|
522
|
-
const createExampleBenchmarks = async (
|
|
523
|
-
|
|
524
|
-
console.log('Creating example benchmarks...');
|
|
525
|
-
}
|
|
526
|
-
const benchmarksDir = resolve(options.cwd, 'benchmarks');
|
|
461
|
+
const createExampleBenchmarks = async (cwd) => {
|
|
462
|
+
const benchmarksDir = resolve(cwd, 'benchmarks');
|
|
527
463
|
for (const [name, example] of Object.entries(EXAMPLE_BENCHMARKS)) {
|
|
528
464
|
const filePath = join(benchmarksDir, example.filename);
|
|
529
465
|
try {
|
|
530
466
|
await writeFile(filePath, example.content, 'utf8');
|
|
531
|
-
if (options.verbose) {
|
|
532
|
-
console.log(` ✓ ${example.filename}`);
|
|
533
|
-
}
|
|
534
467
|
}
|
|
535
468
|
catch (error) {
|
|
536
469
|
throw new InvalidArgumentError(`Failed to create example ${name}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|