UNPKG

@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
"use strict"; 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