@syntropysoft/praetorian
Version:
Praetorian CLI – A universal multi-environment configuration validator for DevSecOps teams. Validate, compare, and secure YAML/ENV files with ease.
51 lines • 2.3 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const chalk_1 = __importDefault(require("chalk"));
const ConfigParser_1 = require("../../infrastructure/parsers/ConfigParser");
class Init extends core_1.Command {
async run() {
const { flags } = await this.parse(Init);
try {
const configParser = new ConfigParser_1.ConfigParser(flags.config);
if (configParser.exists()) {
this.log(chalk_1.default.yellow(`⚠️ Configuration file already exists: ${flags.config}`));
this.log(chalk_1.default.gray('Use --config to specify a different path'));
return;
}
// Create default configuration
configParser.createDefault();
this.log(chalk_1.default.green(`✅ Configuration file created: ${flags.config}`));
this.log(chalk_1.default.blue('\n📋 Next steps:'));
this.log(chalk_1.default.gray('1. Edit the configuration file to match your project'));
this.log(chalk_1.default.gray('2. Add your configuration files to the "files" section'));
this.log(chalk_1.default.gray('3. Run: praetorian validate'));
this.log(chalk_1.default.blue('\n📖 Example usage:'));
this.log(chalk_1.default.gray('$ praetorian validate'));
this.log(chalk_1.default.gray('$ praetorian validate --env dev'));
this.log(chalk_1.default.gray('$ praetorian validate config1.yaml config2.yaml'));
}
catch (error) {
this.error(error instanceof Error ? error.message : 'Unknown error');
this.exit(1);
}
}
}
Init.description = 'Initialize a new Praetorian configuration file';
Init.examples = [
'$ praetorian init',
'$ praetorian init --config my-config.yaml',
];
Init.flags = {
config: core_1.Flags.string({
char: 'c',
description: 'Path for the configuration file',
default: 'praetorian.yaml',
}),
help: core_1.Flags.help({ char: 'h' }),
};
exports.default = Init;
//# sourceMappingURL=init.js.map