From 66a1a9ad1dcb800fd76b6378f4cfb61c99e5d2df Mon Sep 17 00:00:00 2001 From: jollyxenon <1378319314@qq.com> Date: Sat, 9 May 2026 00:51:37 +0800 Subject: [PATCH] fix(test): address review follow-ups for config dir layering --- src/features/claude-code-agent-loader/loader.test.ts | 6 ++++++ src/shared/opencode-config-dir.ts | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/features/claude-code-agent-loader/loader.test.ts b/src/features/claude-code-agent-loader/loader.test.ts index 06ad2b2e6..2a81b2d51 100644 --- a/src/features/claude-code-agent-loader/loader.test.ts +++ b/src/features/claude-code-agent-loader/loader.test.ts @@ -56,6 +56,7 @@ const NO_FRONTMATTER_AGENT = `Just a prompt with no frontmatter.`; describe("claude-code-agent-loader", () => { const dirs: string[] = []; const originalEnv = { + CLAUDE_CONFIG_DIR: process.env.CLAUDE_CONFIG_DIR, OPENCODE_CONFIG_DIR: process.env.OPENCODE_CONFIG_DIR, XDG_CONFIG_HOME: process.env.XDG_CONFIG_HOME, } @@ -65,6 +66,11 @@ describe("claude-code-agent-loader", () => { rmSync(dir, { recursive: true, force: true }); } dirs.length = 0; + if (originalEnv.CLAUDE_CONFIG_DIR === undefined) { + delete process.env.CLAUDE_CONFIG_DIR + } else { + process.env.CLAUDE_CONFIG_DIR = originalEnv.CLAUDE_CONFIG_DIR + } if (originalEnv.OPENCODE_CONFIG_DIR === undefined) { delete process.env.OPENCODE_CONFIG_DIR } else { diff --git a/src/shared/opencode-config-dir.ts b/src/shared/opencode-config-dir.ts index de51fbdf1..874b62c75 100644 --- a/src/shared/opencode-config-dir.ts +++ b/src/shared/opencode-config-dir.ts @@ -78,9 +78,11 @@ export function getOpenCodeConfigDirs(options: OpenCodeConfigDirOptions): string return [getOpenCodeConfigDir(options)] } + const customConfigDir = getCliCustomConfigDir() + return Array.from( new Set([ - ...(getCliCustomConfigDir() ? [getCliCustomConfigDir()!] : []), + ...(customConfigDir ? [customConfigDir] : []), getCliDefaultConfigDir(), ]), )