UNPKG

dnssweeper-cli

Version:

CLI tool for detecting and analyzing unused DNS records

53 lines 2.32 kB
#!/usr/bin/env node "use strict"; /** * DNSweeper CLI - メインエントリーポイント * 未使用DNSレコードの検出・分析ツール */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.main = main; const commander_1 = require("commander"); const chalk_1 = __importDefault(require("chalk")); const analyze_1 = require("./commands/analyze"); // バージョン情報 const packageJson = require('../package.json'); // メイン関数 async function main() { try { // コマンドライン設定 commander_1.program .name('dnssweeper') .description('未使用DNSレコードの検出・分析ツール') .version(packageJson.version); // analyzeコマンドの追加 commander_1.program .command('analyze') .description('CSVファイルを分析して未使用DNSレコードを検出') .argument('<file>', 'CloudflareからエクスポートしたCSVファイル') .option('-o, --output <format>', '出力形式 (table, json, csv)', 'table') .option('-e, --english', '英語で出力') .option('-v, --verbose', '詳細な出力') .option('-r, --risk-level <level>', '指定リスクレベル以上のレコードのみ表示 (critical, high, medium, low)') .option('-f, --output-file <file>', '分析結果を運用フロー対応CSVファイルに出力(月次DNS棚卸し用)') .action(analyze_1.analyzeCommand); // 引数なしで実行された場合、ヘルプを表示して正常終了 if (process.argv.length === 2) { commander_1.program.outputHelp(); process.exit(0); } // コマンドラインの解析と実行 await commander_1.program.parseAsync(process.argv); } catch (error) { console.error(chalk_1.default.red('エラー:', error instanceof Error ? error.message : String(error))); process.exit(1); } } // スクリプトが直接実行された場合のみmain関数を実行 if (require.main === module) { main(); } //# sourceMappingURL=index.js.map