Browse Source

config: escape file: string content

Dax Raad 7 months ago
parent
commit
49de703ba1
1 changed files with 3 additions and 3 deletions
  1. 3 3
      packages/opencode/src/config/config.ts

+ 3 - 3
packages/opencode/src/config/config.ts

@@ -207,14 +207,14 @@ export namespace Config {
       return process.env[varName] || ""
     })
 
-    const fileMatches = text.match(/\{file:([^}]+)\}/g)
+    const fileMatches = text.match(/"?\{file:([^}]+)\}"?/g)
     if (fileMatches) {
       const configDir = path.dirname(configPath)
       for (const match of fileMatches) {
-        const filePath = match.slice(6, -1)
+        const filePath = match.replace(/^"?\{file:/, "").replace(/\}"?$/, "")
         const resolvedPath = path.isAbsolute(filePath) ? filePath : path.resolve(configDir, filePath)
         const fileContent = await Bun.file(resolvedPath).text()
-        text = text.replace(match, fileContent)
+        text = text.replace(match, JSON.stringify(fileContent))
       }
     }