From 90422f42062693067284b354b4286c7a24f80817 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sun, 1 Feb 2026 01:45:01 +0000 Subject: [PATCH] fix: resolve CI test failures --- .ai-context-generator-cli/src/utils/cli.ts | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .ai-context-generator-cli/src/utils/cli.ts diff --git a/.ai-context-generator-cli/src/utils/cli.ts b/.ai-context-generator-cli/src/utils/cli.ts new file mode 100644 index 0000000..a0c88d9 --- /dev/null +++ b/.ai-context-generator-cli/src/utils/cli.ts @@ -0,0 +1,39 @@ +import * as path from 'path'; + +export class CLIUtils { + static resolveDirectory(dir: string): string { + if (path.isAbsolute(dir)) { + return dir; + } + return path.resolve(process.cwd(), dir); + } + + static resolveOutputPath( + output: string, + format: 'json' | 'yaml' + ): string { + if (path.isAbsolute(output)) { + return output; + } + + if (!output.endsWith(`.${format}`)) { + return `${output}.${format}`; + } + + return output; + } + + static formatBytes(bytes: number): string { + if (bytes === 0) return '0 B'; + const k = 1024; + const sizes = ['B', 'KB', 'MB', 'GB']; + const i = Math.floor(Math.log(bytes) / Math.log(k)); + return `${parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${sizes[i]}`; + } + + static sanitizePattern(pattern: string): string { + return pattern + .replace(/\*/g, '.*') + .replace(/\?/g, '.'); + } +}