| 41 | } |
| 42 | |
| 43 | export function path() { |
| 44 | if (Flag.OPENCODE_DB) { |
| 45 | if (Flag.OPENCODE_DB === ":memory:" || isAbsolute(Flag.OPENCODE_DB)) return Flag.OPENCODE_DB |
| 46 | return join(Global.Path.data, Flag.OPENCODE_DB) |
| 47 | } |
| 48 | if ( |
| 49 | ["latest", "beta", "prod"].includes(InstallationChannel) || |
| 50 | process.env.OPENCODE_DISABLE_CHANNEL_DB === "1" || |
| 51 | process.env.OPENCODE_DISABLE_CHANNEL_DB === "true" |
| 52 | ) |
| 53 | return join(Global.Path.data, "opencode.db") |
| 54 | return join(Global.Path.data, `opencode-${InstallationChannel.replace(/[^a-zA-Z0-9._-]/g, "-")}.db`) |
| 55 | } |
| 56 | |
| 57 | export const node = makeGlobalNode({ service: Service, layer: layerFromPath(path()), deps: [] }) |