diff --git a/packages/opencode/src/project/instance.ts b/packages/opencode/src/project/instance.ts index 3b99a5fa..ce9a57d1 100644 --- a/packages/opencode/src/project/instance.ts +++ b/packages/opencode/src/project/instance.ts @@ -12,7 +12,11 @@ const context = Context.create("instance") const cache = new Map() export const Instance = { - async provide(input: { directory: string; init?: () => Promise; fn: () => R }): Promise { + async provide(input: { + directory: string + init?: () => Promise + fn: () => R + }): Promise { let existing = cache.get(input.directory) if (!existing) { const project = await Project.fromDirectory(input.directory) @@ -24,8 +28,8 @@ export const Instance = { } return context.provide(existing, async () => { if (!cache.has(input.directory)) { - await input.init?.() cache.set(input.directory, existing) + await input.init?.() } return input.fn() })