Browse Source

resolve subpath only packages for plugins (#20555)

Sebastian 5 tháng trước cách đây
mục cha
commit
cc30bfc94b

+ 4 - 1
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,

+ 3 - 1
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