diff --git a/packages/kit/src/utils/import.js b/packages/kit/src/utils/import.js index 1c55a14c9b2f..4a8e92971f16 100644 --- a/packages/kit/src/utils/import.js +++ b/packages/kit/src/utils/import.js @@ -11,10 +11,15 @@ export async function resolve_peer_dependency(dependency) { try { // @ts-expect-error the types are wrong const resolved = imr.resolve(dependency, pathToFileURL(process.cwd() + '/dummy.js')); - return await import(resolved).catch(() => import(dependency)); + return await import(resolved); } catch { - throw new Error( - `Could not resolve peer dependency "${dependency}" relative to your project — please install it and try again.` - ); + try { + // both imr.resolve and await import above can throw, which is why we can't just do import(resolved).catch(...) above + return await import(dependency); + } catch { + throw new Error( + `Could not resolve peer dependency "${dependency}" relative to your project — please install it and try again.` + ); + } } }