/** * Pure script utilities — no Node.js dependencies. * Safe to import from browser bundles and Vite SSR. */ /** * Parse CLI args in --key value format. * Supports: --key value, --key=value, --flag (boolean true) */ export function parseArgs(args: string[]): Record { const result: Record = {}; for (let i = 0; i < args.length; i++) { const arg = args[i]; if (!arg.startsWith("--")) continue; const eqIndex = arg.indexOf("="); if (eqIndex !== -1) { const key = arg.slice(2, eqIndex); result[key] = arg.slice(eqIndex + 1); } else { const key = arg.slice(2); const next = args[i + 1]; if (next !== undefined && !next.startsWith("--")) { result[key] = next; i++; } else { result[key] = "true"; } } } return result; } /** * Convert kebab-case keys to camelCase. */ export function camelCaseArgs( args: Record, ): Record { const result: Record = {}; for (const [key, value] of Object.entries(args)) { const camel = key.replace(/-([a-z])/g, (_, c) => c.toUpperCase()); result[camel] = value; } return result; }