summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/npm/index.ts5
-rw-r--r--packages/opencode/src/provider/provider.ts4
2 files changed, 7 insertions, 2 deletions
diff --git a/packages/opencode/src/npm/index.ts b/packages/opencode/src/npm/index.ts
index 194c4b621..c17db86d4 100644
--- a/packages/opencode/src/npm/index.ts
+++ b/packages/opencode/src/npm/index.ts
@@ -25,7 +25,10 @@ export namespace Npm {
}
function resolveEntryPoint(name: string, dir: string) {
- const entrypoint = typeof Bun !== "undefined" ? import.meta.resolve(name, dir) : import.meta.resolve(dir)
+ let entrypoint: string | undefined
+ try {
+ entrypoint = typeof Bun !== "undefined" ? import.meta.resolve(name, dir) : import.meta.resolve(dir)
+ } catch {}
const result = {
directory: dir,
entrypoint,
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index 3803984d2..f8917b66c 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/packages/opencode/src/provider/provider.ts
@@ -1365,7 +1365,9 @@ export namespace Provider {
let installedPath: string
if (!model.api.npm.startsWith("file://")) {
- installedPath = await Npm.add(model.api.npm).then((item) => item.entrypoint)
+ const item = await Npm.add(model.api.npm)
+ if (!item.entrypoint) throw new Error(`Package ${model.api.npm} has no import entrypoint`)
+ installedPath = item.entrypoint
} else {
log.info("loading local provider", { pkg: model.api.npm })
installedPath = model.api.npm