/** * @file config * @description Configuration loader * @layer Shared */ import { readFileSync, existsSync } from "node:fs"; import { resolve } from "node:path"; import { ProxyConfigSchema, type ProxyConfig } from "./types/config.js"; export const defaultConfig: ProxyConfig = ProxyConfigSchema.parse({}); export function loadConfig(configPath?: string): ProxyConfig { const path = configPath ?? resolve(process.cwd(), "webproxy.config.json"); if (!existsSync(path)) { return defaultConfig; } const raw = readFileSync(path, "utf-8"); const json = JSON.parse(raw); return ProxyConfigSchema.parse(json); }