diff options
| author | Billy Biggs <[email protected]> | 2025-06-13 09:19:08 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-13 09:19:08 -0700 |
| commit | 2a1ad1f5d961b9f9593a6016eea7dd398bdeed0b (patch) | |
| tree | 9e83f9421ef9b01f30454c5af3db90540381d1e3 /packages/cli/src/config/extension.ts | |
| parent | 34e0d9c0b65b91b12df4f205d9835e05913992b9 (diff) | |
Update contextFileName to support an optional list of strings (#1001)
Diffstat (limited to 'packages/cli/src/config/extension.ts')
| -rw-r--r-- | packages/cli/src/config/extension.ts | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/packages/cli/src/config/extension.ts b/packages/cli/src/config/extension.ts index 9dd33e1b..685c0b74 100644 --- a/packages/cli/src/config/extension.ts +++ b/packages/cli/src/config/extension.ts @@ -16,7 +16,7 @@ export interface ExtensionConfig { name: string; version: string; mcpServers?: Record<string, MCPServerConfig>; - contextFileName?: string; + contextFileName?: string | string[]; } export function loadExtensions(workspaceDir: string): ExtensionConfig[] { @@ -76,12 +76,15 @@ function loadExtensionsFromDir(dir: string): ExtensionConfig[] { } if (extensionConfig.contextFileName) { - const contextFilePath = path.join( - extensionDir, - extensionConfig.contextFileName, - ); - if (fs.existsSync(contextFilePath)) { - extensionConfig.contextFileName = contextFilePath; + const contextFileNames = Array.isArray(extensionConfig.contextFileName) + ? extensionConfig.contextFileName + : [extensionConfig.contextFileName]; + const resolvedPaths = contextFileNames + .map((fileName) => path.join(extensionDir, fileName)) + .filter((filePath) => fs.existsSync(filePath)); + if (resolvedPaths.length > 0) { + extensionConfig.contextFileName = + resolvedPaths.length === 1 ? resolvedPaths[0] : resolvedPaths; } } else { const contextFilePath = path.join(extensionDir, 'gemini.md'); |
