Skip to content

Commit 09a4851

Browse files
committed
chore: wip
1 parent 358e008 commit 09a4851

File tree

7 files changed

+986
-272
lines changed

7 files changed

+986
-272
lines changed

Diff for: src/cli/config-handler.ts

+25
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import type { ConfigOptions } from './types'
2+
import { readFile, writeFile } from 'node:fs/promises'
3+
import { homedir } from 'node:os'
4+
import { join } from 'node:path'
25
import { Logger } from '../index'
36
import { configManager } from '../storage/config-manager'
47

8+
const CONFIG_FILE = join(homedir(), '.clarity', 'config.json')
9+
510
export async function handleConfig(options: ConfigOptions): Promise<void> {
611
const logger = new Logger('cli:config')
712

@@ -39,3 +44,23 @@ export async function handleConfig(options: ConfigOptions): Promise<void> {
3944
logger.error('Invalid config action. Use get, set, or list')
4045
}
4146
}
47+
48+
export async function loadConfig(): Promise<Record<string, any>> {
49+
try {
50+
const content = await readFile(CONFIG_FILE, 'utf8')
51+
return JSON.parse(content)
52+
}
53+
catch {
54+
return {}
55+
}
56+
}
57+
58+
export async function saveConfig(config: Record<string, any>): Promise<void> {
59+
try {
60+
await writeFile(CONFIG_FILE, JSON.stringify(config, null, 2))
61+
}
62+
catch (error) {
63+
console.error('Failed to save config:', error instanceof Error ? error.message : String(error))
64+
process.exit(1)
65+
}
66+
}

0 commit comments

Comments
 (0)