#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
const { program } = require('commander');
// Define default configuration file path
const defaultConfigPath = path.resolve('./config.json');
// Function to load configuration from file
function loadConfig(filePath) {
try {
const configData = fs.readFileSync(filePath, 'utf8');
return JSON.parse(configData);
} catch (error) {
console.error(`Error loading configuration from ${filePath}: ${error.message}`);
return {}; // Return empty object on error
}
}
// Load configuration
const config = loadConfig(defaultConfigPath);
// Define command-line options
program
.option('-o, --output <path>', 'Output file path')
.option('-n, --number <number>', 'Number of runs', Number)
.option('-t, --threshold <number>', 'Threshold value', Number);
program.parse(process.argv);
const options = program.opts();
// Merge command-line options with configuration values
const mergedConfig = { ...config, ...options };
// Use mergedConfig for scheduled runs
console.log('Using the following configuration:');
console.log(JSON.stringify(mergedConfig, null, 2));
//Example Usage - Replace with your actual scheduled run logic
if(mergedConfig.number){
console.log(`Running ${mergedConfig.number} times...`);
}
Add your comment