Spaces:
Build error
Build error
| import fs from "node:fs"; | |
| import path from "node:path"; | |
| import { resolveDefaultConfigPath } from "./home-paths.js"; | |
| const PAPERCLIP_CONFIG_BASENAME = "config.json"; | |
| const PAPERCLIP_ENV_FILENAME = ".env"; | |
| function findConfigFileFromAncestors(startDir: string): string | null { | |
| const absoluteStartDir = path.resolve(startDir); | |
| let currentDir = absoluteStartDir; | |
| while (true) { | |
| const candidate = path.resolve(currentDir, ".paperclip", PAPERCLIP_CONFIG_BASENAME); | |
| if (fs.existsSync(candidate)) { | |
| return candidate; | |
| } | |
| const nextDir = path.resolve(currentDir, ".."); | |
| if (nextDir === currentDir) break; | |
| currentDir = nextDir; | |
| } | |
| return null; | |
| } | |
| export function resolvePaperclipConfigPath(overridePath?: string): string { | |
| if (overridePath) return path.resolve(overridePath); | |
| if (process.env.PAPERCLIP_CONFIG) return path.resolve(process.env.PAPERCLIP_CONFIG); | |
| return findConfigFileFromAncestors(process.cwd()) ?? resolveDefaultConfigPath(); | |
| } | |
| export function resolvePaperclipEnvPath(overrideConfigPath?: string): string { | |
| return path.resolve(path.dirname(resolvePaperclipConfigPath(overrideConfigPath)), PAPERCLIP_ENV_FILENAME); | |
| } | |