summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/global/global.ts56
-rw-r--r--packages/opencode/src/global/index.ts59
2 files changed, 57 insertions, 58 deletions
diff --git a/packages/opencode/src/global/global.ts b/packages/opencode/src/global/global.ts
new file mode 100644
index 000000000..1bbb5968c
--- /dev/null
+++ b/packages/opencode/src/global/global.ts
@@ -0,0 +1,56 @@
+import fs from "fs/promises"
+import { xdgData, xdgCache, xdgConfig, xdgState } from "xdg-basedir"
+import path from "path"
+import os from "os"
+import { Filesystem } from "../util/filesystem"
+import { Flock } from "@opencode-ai/shared/util/flock"
+
+const app = "opencode"
+
+const data = path.join(xdgData!, app)
+const cache = path.join(xdgCache!, app)
+const config = path.join(xdgConfig!, app)
+const state = path.join(xdgState!, app)
+
+export const Path = {
+ // Allow override via OPENCODE_TEST_HOME for test isolation
+ get home() {
+ return process.env.OPENCODE_TEST_HOME || os.homedir()
+ },
+ data,
+ bin: path.join(cache, "bin"),
+ log: path.join(data, "log"),
+ cache,
+ config,
+ state,
+}
+
+// Initialize Flock with global state path
+Flock.setGlobal({ state })
+
+await Promise.all([
+ fs.mkdir(Path.data, { recursive: true }),
+ fs.mkdir(Path.config, { recursive: true }),
+ fs.mkdir(Path.state, { recursive: true }),
+ fs.mkdir(Path.log, { recursive: true }),
+ fs.mkdir(Path.bin, { recursive: true }),
+])
+
+const CACHE_VERSION = "21"
+
+const version = await Filesystem.readText(path.join(Path.cache, "version")).catch(() => "0")
+
+if (version !== CACHE_VERSION) {
+ try {
+ const contents = await fs.readdir(Path.cache)
+ await Promise.all(
+ contents.map((item) =>
+ fs.rm(path.join(Path.cache, item), {
+ recursive: true,
+ force: true,
+ }),
+ ),
+ )
+ } catch {}
+ await Filesystem.write(path.join(Path.cache, "version"), CACHE_VERSION)
+}
diff --git a/packages/opencode/src/global/index.ts b/packages/opencode/src/global/index.ts
index df4639781..9262bf2a9 100644
--- a/packages/opencode/src/global/index.ts
+++ b/packages/opencode/src/global/index.ts
@@ -1,58 +1 @@
-import fs from "fs/promises"
-import { xdgData, xdgCache, xdgConfig, xdgState } from "xdg-basedir"
-import path from "path"
-import os from "os"
-import { Filesystem } from "../util/filesystem"
-import { Flock } from "@opencode-ai/shared/util/flock"
-
-const app = "opencode"
-
-const data = path.join(xdgData!, app)
-const cache = path.join(xdgCache!, app)
-const config = path.join(xdgConfig!, app)
-const state = path.join(xdgState!, app)
-
-export namespace Global {
- export const Path = {
- // Allow override via OPENCODE_TEST_HOME for test isolation
- get home() {
- return process.env.OPENCODE_TEST_HOME || os.homedir()
- },
- data,
- bin: path.join(cache, "bin"),
- log: path.join(data, "log"),
- cache,
- config,
- state,
- }
-}
-
-// Initialize Flock with global state path
-Flock.setGlobal({ state })
-
-await Promise.all([
- fs.mkdir(Global.Path.data, { recursive: true }),
- fs.mkdir(Global.Path.config, { recursive: true }),
- fs.mkdir(Global.Path.state, { recursive: true }),
- fs.mkdir(Global.Path.log, { recursive: true }),
- fs.mkdir(Global.Path.bin, { recursive: true }),
-])
-
-const CACHE_VERSION = "21"
-
-const version = await Filesystem.readText(path.join(Global.Path.cache, "version")).catch(() => "0")
-
-if (version !== CACHE_VERSION) {
- try {
- const contents = await fs.readdir(Global.Path.cache)
- await Promise.all(
- contents.map((item) =>
- fs.rm(path.join(Global.Path.cache, item), {
- recursive: true,
- force: true,
- }),
- ),
- )
- } catch {}
- await Filesystem.write(path.join(Global.Path.cache, "version"), CACHE_VERSION)
-}
+export * as Global from "./global"